]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
[grub2.git] / ChangeLog
CommitLineData
488f71f1
VS
12011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4 CTRL.
5
18a38098
VS
62011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7
8 The E820 type 5 is BADRAM, not EXEC_CODE.
9
10 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11 (GRUB_E820_BADRAM): New define.
12 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13 into reserved. Propagate BADRAM.
14 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15 (GRUB_E820_BADRAM): New define.
16
9eae2084
VS
172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20 Ignore the memory post-4G.
21 (grub_relocator_firmware_alloc_region): Additional debug statement.
22
ebc71d28
VS
232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
26 names.
27 Reported by: David Pravec.
28
446fa400
VS
292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
32 BIOSes.
33
a0159f37
VS
342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
37 Prevent overflow.
38 (grub_reed_solomon_recover): Likewise.
39
e5146ca1
VS
402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
43
442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
45
46 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
47 variable.
48
5b1bdf12
CW
492011-01-04 Colin Watson <cjwatson@ubuntu.com>
50
51 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
52 descriptions of extract_legacy_entries_source and
53 extract_legacy_entries_configfile.
54 Reported by: Seung Soo, Ha.
55
99d925aa
CW
562011-01-03 Colin Watson <cjwatson@ubuntu.com>
57
58 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
59 on devices that do not implement function 0.
60
4af0504b
DV
612011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
62
63 * grub-core/fs/hfsplus.c: Make parent unsigned.
64 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
65 overflows.
66 (grub_hfsplus_cmp_extkey): Likewise
67
469ee10a
VS
682011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * util/grub-install.in: Correctly use bootloader_id and not
71 GRUB_DISTRIBUTOR on efibootmgr line.
72
323a8e9c
VS
732011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
76
1b394975
IC
772010-12-31 Ian Campbell <ijc@hellion.org.uk>
78
79 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
80 Xen and reorder menu item wording to make it clearer that this entry
81 will launch Xen. Print separate messages when loading Xen and
82 Linux.
83
275bff5f
VS
842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
87 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
88 loop in case of incorrect amiga partmap.
89
307806cb
VS
902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
93 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
94 Reported by:EHeM.
95
b12b923e
VS
962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
99 spurious warning.
100 Reported by: crocket
101
14b48a19
VS
1022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
105 Preload EFIemu.
106 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
107
693db2df
VS
1082010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
111 is loaded
112 (grub_cmd_xnu_kextdir): Likewise.
113 (grub_cmd_xnu_splash): Likewise.
114
c7638645
VS
1152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
116
117 Avoid using Reed-Solomon with 0 redundancy.
118
119 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
120 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
121 or 0 redundancy.
122 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
123 (grub_reed_solomon_recover): Likewise.
124
25dd4780
VS
1252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Don't use disk subsystem in freebsd_boot.
128
129 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
130 (freebsd_biosdev): Likewise.
131 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
132 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
133
0b2db943
VS
1342010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Handling of files of unknown size is currently limited. They can't be
137 used e.g. for initrd or modules. Moreover gzip handling of not
138 easily seekable files is buggy. Disable unknown file size for now. May
139 be inefficient but works.
140
141 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
142 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
143
5c408d0f
MP
1442010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
145
146 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
147 floppy probe.
148
190a011a
JD
1492010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
150
151 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
152
022d01b8
SL
1532010-12-25 Shea Levy <shlevy>
154
155 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
156
c4855fdc
VS
1572010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
160 Windows Server 2008.
161 Reported by: Devin Giddings.
162
0354b867
VS
1632010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
166 writing an error message because of async power management.
167 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
168 (grub_reboot): Likewise.
169
ab66c69f
JU
1702010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
171
172 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
173 keep unit tests from failing when they shouldn't.
174
1426ef35
CW
1752010-12-21 Colin Watson <cjwatson@ubuntu.com>
176
177 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
178 previous patch increased the size of the RS code by 20 bytes (at
179 least with gcc-4.4), so increase this by 20 bytes to match.
180 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
181
20641b6b
CW
1822010-12-21 Colin Watson <cjwatson@ubuntu.com>
183
184 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
185 scratch area. Make sure to initialise chosen in standalone mode as
186 well as non-standalone.
187 Reported by: Robert Hooker and Andy Whitcroft.
188 Tested by: Andy Whitcroft.
189
d060ad60
CW
1902010-12-21 Colin Watson <cjwatson@ubuntu.com>
191
192 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
193 constructing a new unescaped string and passing it to grub_xputs in
194 one go, rather than passing characters to grub_printf one at a time.
195
b889cfad
CW
1962010-12-21 Colin Watson <cjwatson@ubuntu.com>
197
198 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
199 initialising utf16.
200
4e01b6c8
CW
2012010-12-21 Colin Watson <cjwatson@ubuntu.com>
202
203 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
204 comment. Add an extra layer of quotation, requiring the output of
205 this function to be used in a printf format string.
206 (gettext_printf): New function.
207 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
208 Extract translatable strings from here-documents and use a temporary
209 variable instead, so that xgettext can find them.
210 * util/grub.d/10_kfreebsd.in: Likewise.
211 * util/grub.d/10_linux.in: Likewise.
212 * util/grub.d/20_linux_xen.in: Likewise.
213
214 * po/grub.d.sed: New file.
215 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
216 arguments. Set c-format flags on all strings extracted from
217 util/grub.d/ (xgettext refuses to include these itself for strings
218 it extracted from a shell file, but these really are c-format).
219
5318fe98
VS
2202010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
223 Avoid next pointing to nowhere.
224
6c85b743
VS
2252010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
228 rather than assuming than rootblock is exactly in the middle.
229 (grub_affs_label): Likewise.
230
a2a08a35
VS
2312010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
234 reserved_first_sector to 0.
235 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
236 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
237 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
238
7059d1ec
VS
2392010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Fix handling of UTF-16 UDF labels.
242
243 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
244 (read_string): .. here.
245 (grub_udf_label): Use read_string.
246
30aff4cb
BC
2472010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
248
249 * grub-core/normal/menu_entry.c (run): Execute commands from menu
250 editor under argument scope.
251 Reported by: Jordan Uggla
252
5cf86f4b
VS
2532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
256
32570200
CW
2572010-12-18 Colin Watson <cjwatson@ubuntu.com>
258
259 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
260 line, and other keys scroll an entire page (previous handling was
261 for \r and \n to scroll a page and other keys to scroll two lines).
262
e1dffcf2
VS
2632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
266 Set ptrdest to correct get_physical_target_address rather than
267 incorrect get_virtual_current_address.
268
b04298cf 2692010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
270
271 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
272 correct cat to grub_uint8_t * rather than grub_uint32_t *.
273
5367ecd3
CW
2742010-12-10 Colin Watson <cjwatson@ubuntu.com>
275
276 * .bzrignore: Ignore grub-core/rs_decoder.S.
277
1fb430f8
CW
2782010-12-10 Colin Watson <cjwatson@ubuntu.com>
279
280 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
281 .mo/.mo.gz opening sequence to ...
282 (grub_mofile_open_lang): ... here.
283 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
284 * util/grub.d/00_header.in (grub_lang): Include country part of
285 locale.
286 Reported by: Mario Limonciello.
287
a94a6671
RM
2882010-12-09 Robert Millan <rmh@gnu.org>
289
290 * NEWS: Document addition of ZFS support.
291
24b7938b
CW
2922010-12-04 Colin Watson <cjwatson@ubuntu.com>
293
294 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
295 rather than `/ 2', as the latter requires -Wa,--divide which would
296 require bumping our minimum binutils version.
297
bddc3ef6
BC
2982010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
299
300 * util/grub-script-check.c (main): Print script line number on
301 error.
302
bf78d5b2
RM
3032010-12-01 Robert Millan <rmh@gnu.org>
304
305 * grub-core/fs/zfs/zfs.c: New file.
306 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
307 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
308 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
309 * grub-core/fs/zfs/zfsinfo.c: Likewise.
310
311 * include/grub/zfs/dmu.h: Likewise.
312 * include/grub/zfs/dmu_objset.h: Likewise.
313 * include/grub/zfs/dnode.h: Likewise.
314 * include/grub/zfs/dsl_dataset.h: Likewise.
315 * include/grub/zfs/dsl_dir.h: Likewise.
316 * include/grub/zfs/sa_impl.h: Likewise.
317 * include/grub/zfs/spa.h: Likewise.
318 * include/grub/zfs/uberblock_impl.h: Likewise.
319 * include/grub/zfs/vdev_impl.h: Likewise.
320 * include/grub/zfs/zap_impl.h: Likewise.
321 * include/grub/zfs/zap_leaf.h: Likewise.
322 * include/grub/zfs/zfs.h: Likewise.
323 * include/grub/zfs/zfs_acl.h: Likewise.
324 * include/grub/zfs/zfs_znode.h: Likewise.
325 * include/grub/zfs/zil.h: Likewise.
326 * include/grub/zfs/zio.h: Likewise.
327 * include/grub/zfs/zio_checksum.h: Likewise.
328
329 * Makefile.util.def: Build ZFS into libgrubmods.
330 * grub-core/Makefile.core.def: Build zfs.mod.
331
3f0f3831
SJ
3322010-11-30 Szymon Janc <szymon@janc.net.pl>
333
334 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
335 variable.
336 * grub-core/commands/wildcard.c (match_files): Likewise.
337
3a4253b2
RM
3382010-11-30 Robert Millan <rmh@gnu.org>
339
340 * grub-core/loader/i386/bsd.c
341 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
342 whether kernel is loaded using grub_loader_is_loaded(), rather
343 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
344 certain error conditions.
345
8c317b27
RM
3462010-11-30 Robert Millan <rmh@gnu.org>
347
c5c9cd3e
RM
348 * grub-core/commands/echo.c: Include `<grub/term.h>'.
349 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 350
49d3ab46
VS
3512010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
352
353 Avoid using tricks for initialising endian variables.
354
355 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
356 Make const.
357 (GRUB_MOD_INIT): Don't byte-swap.
358 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
359 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
360 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
361 (grub_swap_bytes32_compile_time): Likewise.
362 (grub_cpu_to_le32_compile_time): Likewise.
363 (grub_cpu_to_le16_compile_time): Likewise.
364
f420a804
VS
3652010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/grub-setup.c (setup): Stop recommending --force. People who
368 understand the dangers of blocklists are able to find this option
369 anyway and the ones who don't shouldn't use it anyway.
370
4e7db17b
RM
3712010-11-26 Robert Millan <rmh@gnu.org>
372
373 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
374 Update all users.
375
9be57a0d
CW
3762010-11-26 Colin Watson <cjwatson@ubuntu.com>
377
378 Fix LVM-on-RAID probing.
379
380 * util/grub-probe.c (probe): Remember which disk was detected as
381 RAID (perhaps an LVM physical volume). Use that disk's raidname
382 rather than that of the top-level disk.
383
2c7859b3 3842010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 385
d7647bb6
BC
386 Fix cmdline argument quotes for setparams command of menuentry
387 definitions.
7e623b0d
BC
388
389 * grub-core/commands/menuentry.c (setparams_prefix): Use single
390 quotes for arguments.
f866fe80 391 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 392 grub_strchrsub function instead.
f866fe80 393
7955bea0 394 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 395
74f72a64
CW
3962010-11-24 Colin Watson <cjwatson@ubuntu.com>
397
398 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
399 effort by skipping "." and ".." entries up-front.
400 Suggested by: Michael Lazarev.
401
5a407278
CW
4022010-11-24 Colin Watson <cjwatson@ubuntu.com>
403
404 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
405 ldflags to ldadd, to fix link line ordering.
406 (none_decompress): Likewise.
407
3030d8ec
CW
4082010-11-24 Colin Watson <cjwatson@ubuntu.com>
409
410 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
411 platforms.
412 (grub-emu-lite): Remove kern/emu/cache.S.
413
b7fbac12
CW
4142010-11-23 Colin Watson <cjwatson@ubuntu.com>
415
416 * util/deviceiter.c (compare_devices): If the by-id link for a
417 device couldn't be resolved, fall back to sorting by the by-id link
418 rather than segfaulting.
419 Reported and tested by: Daniel Mierswa.
420
5225f328
CW
4212010-11-23 Colin Watson <cjwatson@ubuntu.com>
422
423 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
424 ldflags, to fix link line ordering.
425
038b3ce8
CW
4262010-11-23 Colin Watson <cjwatson@ubuntu.com>
427
428 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
429 linkers are picky about this.
430
bf16e98e
CW
4312010-11-23 Colin Watson <cjwatson@ubuntu.com>
432
433 * grub-core/Makefile.am (command.lst): Adjust sed expression
434 ordering so that extended and priority commands aren't treated as
435 ordinary commands.
436
7242bab6
CW
4372010-11-23 Colin Watson <cjwatson@ubuntu.com>
438
439 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
440 Remove byte-swapping function calls, which are not valid in
441 structure initialisers.
442 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
443 non-const.
444 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
445 grub_gpt_partition_type_bios_boot.
446
14e8b279
CW
4472010-11-22 Colin Watson <cjwatson@ubuntu.com>
448
449 Fix test program build on GNU/kFreeBSD.
450
451 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
452 $(LIBNVPAIR)' library dependencies.
453
e6f63338 4542010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
455
456 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
457
cf8ffc38
CW
4582010-11-22 Colin Watson <cjwatson@ubuntu.com>
459
460 * util/grub-install.in: Remove excessive quoting that broke
461 installations to RAID devices.
462
7f8b0fd7
VS
4632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
466 bootloader version instead of 0.
467
dfd240b1
VS
4682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
471 warning.
472
7b61e609
VS
4732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
476 retrieve the metadat sector if size isn't known.
477 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
478
9dfe92d0
RM
4792010-11-18 Robert Millan <rmh@gnu.org>
480
481 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
482 with grub_memcmp().
483
41cc919e
VS
4842010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
487 arrow.
488 Reported by: Jordan Uggla.
489
1afcc914
VS
4902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Make better UTF compliant.
493
494 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
495 sequences as incorrect.
496 (grub_is_valid_utf8): Likewise.
497 (grub_utf8_to_ucs4): Likewise.
498 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
499 (grub_ucs4_to_utf8_alloc): Likewise.
500 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
501
f1808884
VS
5022010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Make legacy_source behave like source.
505
506 * grub-core/commands/legacycfg.c (legacy_file): Don't call
507 grub_show_menu.
508 (grub_cmd_legacy_source): Call grub_show_menu if needed.
509
24ec575b
CW
5102010-11-16 Colin Watson <cjwatson@debian.org>
511
512 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
513 (-Wunused implies -Wunused-parameter, but not vice versa).
514
72b7c7aa
CW
5152010-11-16 Colin Watson <cjwatson@ubuntu.com>
516
517 * configure.ac: Make error messages less confusing by testing for
518 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
519 accepted, but produces a diagnostic if something else is wrong).
520
e98937aa
VS
5212010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
524 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
525 (now unused).
526 (grub_keyboard_controller_init)
527 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
528 read the initial state since controller isn't inited yet.
529
f6bbabc3
VS
5302010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
533 allocate_regbeg may need to create new chunk header.
534
22e7dbb2
VS
5352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Fix quoting in legacy parser.
538
539 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
540 single quotes.
541 (grub_legacy_parse): Likewise.
542 Reported by: Jordan Uggla.
543 Tested by: Jordan Uggla.
544
03f80960
VS
5452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Don't add -lgcc on i386 and x86_64.
548
549 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
550 * conf/Makefile.common (LDADD_KERNEL): Likewise.
551 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
552
779dc15b
VS
5532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * configure.ac: Add -Wno-trampolines when supported.
556
d20a3b37
MV
5572010-11-14 Modestas Vainius <modax@debian.org>
558
559 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
560 fakeraid.
561
e5360933
GC
5622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
563
564 Add generic logical block size support for UDF.
565
566 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
567 (GRUB_UDF_BLKSZ): Removed.
568 (struct grub_udf_data): New field "lbshift" to hold the logical block
569 size of the file system in log2 format. All users updated.
570 (sblocklist): Change type to unsigned.
571 (grub_udf_mount): Change type of "sblklist" to unsigned.
572 Move AVDP search before VRS recognition, because the latter requires
573 knowledge of the logical block size, which is detected during the
574 former.
575 Detect and validate logical block size during AVDP search, adding
576 support for block sizes 512, 1024 and 4096.
577 Make VRS recognition independent of block size.
578
cb0229c5
GC
5792010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
580
581 Properly handle deleted files on UDF.
582
583 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
584 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
585 set.
586
406858a8
GC
5872010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
588
589 Support reading files larger than 2 GiB.
590
591 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
592 "offset" to grub_off_t.
593 (grub_udf_read_file): Likewise for parameter "pos".
594
130da6a7
VS
5952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
598 unavailable.
599 (Simple configuration): Refer to Changes from GRUB Legacy about
600 save_env availability.
601
65e93f6b
VS
6022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * util/grub-install.in: Ignore empty partition table detection
605 instead of trying to include part_ module.
606
1fd08bf1
VS
6072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
610 LVM on RAID support.
611
de1a024f
VS
6122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
613
614 Properly define WORDS_BIGENDIAN in wrapped environments.
615
616 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
617 definition.
618 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
619
620 Reported by: Manoel Rebelo Abranches.
621 Tested by: Manoel Rebelo Abranches.
622
bc5dd0b9
VS
6232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * util/grub-mkconfig.in: Fix quoting.
626
58c184be
VS
6272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
628
629 Support big ext2 files.
630
631 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
632 (grub_ext2_read_block): Support triple indirect blocks.
633 (grub_ext2_read_file): Use 64-bit types and read size_high.
634 (grub_ext2_open): Read size_high.
635 Reported by: Ximin Luo.
636 Tested by: Manoel Rebelo Abranches.
637
5f0c02b3
VS
6382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * util/grub-install.in: Handle filenames containing spaces.
641 Reported by: Jordan Uggla.
642 Tested by: Jordan Uggla.
643
4417aae6
VS
6442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-mkconfig.in (grub_script_check): New variable.
647 Use grub_script_check instead of grub-script-check.
648 Reported by: Barry Jackson.
649
7625a68e
VS
6502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * docs/grub.texi (menu): Correct the order.
653 Reported by: D. Hugh Redelmeier.
654
10001ac5
VS
6552010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
658 jump.
659
9c4cf53b
MRA
6602010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
661
10001ac5
VS
662 * include/grub/elfload.h (grub_elf32_size): New parameter.
663 All users updated.
9c4cf53b
MRA
664 Return maximum segments alignment.
665 (grub_elf64_size): Likewise.
666 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
667 Return maximum segments alignment.
668 (grub_elf64_size): Likewise.
669 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
670 (grub_linux_claimmap_iterate): New function. Uses the
671 "available" property in the "memory" node for memory allocation
672 for kernel in the PowerPC loader.
9c4cf53b
MRA
673 (grub_linux_load32): Correctly find linux entry point offset.
674 (grub_linux_load64): Likewise.
675
d2bf06bf
RM
6762010-11-07 Robert Millan <rmh@gnu.org>
677
678 On mips-yeeloong, build with -march=loongson2f when this flag is
679 available (GCC >= 4.4).
680 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
681 `-march=mips3'.
682 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
683 or otherwise add -march=mips3.
684
898c99a2
BC
6852010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
686
87220a68
BC
687 Suppress shell expansion on echo '*' and echo "*" like cases.
688 Reported by: Jordan Uggla.
898c99a2
BC
689
690 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
691 string arguments before shell expansion.
692 * tests/grub_cmd_echo.in: New testcases.
693
4f9b406a
RM
6942010-11-07 Robert Millan <rmh@gnu.org>
695
696 * conf/mips-qemu-mips.rmk: Remove stale file from previous
697 transition.
698
80c6d25e
VS
6992010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/kern/emu/hostdisk.c
702 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
703
4a1a0153
VS
7042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
707 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
708 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
709
34706ddc
VS
7102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
713
6972dea9
VS
7142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * util/grub-install.in: Replace useless recomendation to pass
717 --modules with a recomendation to report a bug.
718
9c693bd6
VS
7192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
720
721 Properly register serial terminfo.
722 Reported by: Jordan Uggla
723
724 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
725 const.
726 (grub_serial_terminfo_output_template): Likewise.
727 (grub_cmd_serial): Register "serial" with terminfo.
728 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
729 grub_serial_terminfo_output.
730
6c9e4c0c
RM
7312010-11-05 Robert Millan <rmh@gnu.org>
732
733 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
734 needed).
735
b9b3839f
RM
7362010-11-05 Robert Millan <rmh@gnu.org>
737
738 On Yeeloong, pass machine type information to Linux.
739
740 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
741 (LOONGSON_MACHTYPE): New macro, set to
742 "machtype=lemote-yeeloong-2f-8.9inches".
743 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
744 additional argument to Linux.
745
1a3aaff4
RM
7462010-11-04 Robert Millan <rmh@gnu.org>
747
748 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
749 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
750 (its SATA disks are detected as slaveless IDE master drives on
751 kFreeBSD).
752 Reported by Carsten Aulbert.
753
a75f4f62
CW
7542010-11-02 Colin Watson <cjwatson@ubuntu.com>
755
756 * util/bin2h.c (main): Fix spelling error in generated output.
757
33b4b0c6
GS
7582010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
759
760 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
761
2b36fbf4
VS
7622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
765 vga= option is supplied.
766
74aaf558
VS
7672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
770 * util/grub.d/10_kfreebsd.in: Likewise.
771 * util/grub.d/10_linux.in: Likewise.
772 * util/grub.d/20_linux_xen.in: Likewise.
773
6428dec3
VS
7742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
777 argument as an argument to no-argument option.
778
f8729d98
VS
7792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * util/grub.d/10_linux.in: Add missing load_video with explicit
782 GRUB_GFXPAYLOAD_LINUX.
783
89d68fa6
VS
7842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
787
3a1197cd
VS
7882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
791 elements with invlid index.
792 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
793 * grub-core/disk/raid.c (insert_array): Automatically reallocate
794 members.
795 * include/grub/raid.h (grub_raid_member): New struct.
796 (grub_raid_array): Transform devices and start_sector into usage of
797 grub_raid_member. All users updated
798 (allocated_devs): New member.
799
71574288
VS
8002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
803 is modified
804
8d40ec65
BC
8052010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
806
807 NetBSD build fix for getline function conflict from gnulib.
808
809 * Makefile.util.def (libgrubkern.a): New library for grub kernel
810 components that depend on gnulib headers.
811 (libgrubmods.a): Renamed from earlier libgrub.a.
812 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
813
95b9257e
VS
8142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
817 install rather than creating a broken install.
818
26c53dc6
VS
8192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * util/grub-setup.c (argp): Remove misleading example of installing to
822 a partition.
823
4171b3c5
VS
8242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * util/grub-setup.c (setup): Clarify the error message.
827
18568d18
VS
8282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
831
4f6a2e21
VS
8322010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/kern/emu/misc.c
835 (grub_make_system_path_relative_to_its_root)
836 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
837
8382010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
839
840 * grub-core/kern/emu/misc.c
841 (grub_make_system_path_relative_to_its_root): Revert r2882.
842
e138c458
VS
8432010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
846 useless field head. All users updated.
847 (free_subchunk): Correct handling of IN_REGION subchunk.
848
0cbcdf0e
CW
8492010-10-22 Colin Watson <cjwatson@ubuntu.com>
850
851 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
852 (Supported kernels): Likewise.
853
b65ea155
GS
8542010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
855
856 Make mktemp invocations portable.
857
858 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
859 exit if mktemp fails.
860 * tests/grub_script_blockarg.in: Likewise.
861 * tests/partmap_test.in: Likewise.
862 * tests/util/grub-shell-tester.in: Likewise.
863 * tests/util/grub-shell.in: Likewise.
864 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
865 * Makefile.am: Likewise, and chain shell commands with `&&'
866 instead of ';'.
867 * util/grub-mkrescue.in: Use the same explicit template as above, and
868 exit if mktemp fails.
869
05f43cdd
BC
8702010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
871
872 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
873 Linux kernel, reported by Dennis Schridde.
874
800e6a9b
SJ
8752010-10-17 Szymon Janc <szymon@janc.net.pl>
876
877 * grub-core/normal/auth.c (grub_auth_check_authentication):
878 Set-but-not-used variable removed.
879
d82df574
VS
8802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * docs/grub.texi (GNU/Linux): Document APM unavailability with
883 32-bit linux protocol.
884
7bced458
VS
8852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
888 cursor shape for sanity.
889
5b027690
VS
8902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * docs/grub.texi (Installation): Document buggy BIOS install.
893
ba5f65cf
VS
8942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * docs/grub.texi (Installation): Indent.
897
fdf2ec9c
VS
8982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * util/grub-setup.c (setup): New parameter allow_floppy.
901 (arguments): New member allow_floppy.
902 (argp_parser): Handle --allow-floppy.
903 (main): Pass allow_floppy.
904 * util/grub-install.in: New option --allow-floppy passed though to
905 grub-setup.
906
861dfd4c
VS
9072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * util/grub-install.in: Handle partitionless disks.
910
f77a8c24
VS
9112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * util/grub-setup.c (setup): Don't clean blocklists before readability
914 verfification.
915
27d9ee32
VS
9162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * docs/grub.texi (Installation): Document embedding zone. Remove
919 obsolete grub-install example.
920
6bdda8f8
SJ
9212010-10-16 Szymon Janc <szymon@janc.net.pl>
922
923 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
924 Set-but-not-used variable ifdef'ed.
925 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
926 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
927 variable removed.
928 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
929 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
930 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
931 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
932 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
933 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
934 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
935 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
936 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
937 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
938 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
939 Likewise.
940
e19b016b
VS
9412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
944 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
945 enum value.
946
6c8d3002
VS
9472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
950 synonym to _S5_. Needed for some DSDTs.
951
c32b51c9
VS
9522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Userspace ACPI parser debugging.
955
956 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
957 headers and add relevant defines. Don't include standard headers.
958 (main) [GRUB_DSDT_TEST]: New function.
959 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
960 Don't declare functions.
961
fbfbeb39
VS
9622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Remove dead grub_efi_mm_fini.
965
966 * grub-core/kern/efi/mm.c (allocated_page): Removed.
967 (ALLOCATED_PAGES_SIZE): Likewise.
968 (MAX_ALLOCATED_PAGES): Likewise.
969 (allocated_pages): Likewise.
970 (grub_efi_allocate_pages): Don't record allocated pages.
971 (grub_efi_free_pages): Likewise.
972 (grub_efi_mm_init): Likewise.
973 (grub_efi_mm_fini): Removed.
974
65f7ed7c
VS
9752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
978 (grub_efi_mm_init): Take into account the memory map size increase.
979
24977b44
VS
9802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
983 (serial_hw_put): Wait based on real time rather than port reads. Don't
984 roken ports.
985 * include/grub/serial.h (grub_serial_port): New field broken.
986
1eb01cd2
RM
9872010-10-16 Robert Millan <rmh@gnu.org>
988
989 * grub-core/kern/emu/misc.c
990 (grub_make_system_path_relative_to_its_root): Fix premature return
991 when processing non-root ZFS filesystems.
5f8b440b 992 Reported by Sergio Talens-Oliag.
1eb01cd2 993
2d5fed60
RM
9942010-10-15 Robert Millan <rmh@gnu.org>
995
996 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
997 guarantee compressed ones are processed first.
998
d0f4c1ea
VS
9992010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1002 grub_efiemu_autocore.
1003
d87c681f
VS
10042010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1007 rather than 0x1b.
1008 (grub_console_getkey): Use correct jae opcode rather than ja.
1009
219b3564
RM
10102010-10-12 Robert Millan <rmh@gnu.org>
1011
1012 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1013 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1014 variable. All references updated.
1015
1016 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1017
20c6bb7e
VS
10182010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Correctly distinguish mdraid flavours.
1021
1022 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1023 (insert_array): New argument raid.
1024 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1025 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1026 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1027
74baff84
VS
10282010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1031 handling of special keys.
1032
3ef068df 10332010-10-02 Aleš Nesrsta <starous@volny.cz>
1034
c7980ad9
VS
1035 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1036 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 1037
a9455194 10382010-10-02 Aleš Nesrsta <starous@volny.cz>
1039
c7980ad9
VS
1040 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1041 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1042 users updated.
a9455194 1043 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 1044 Use right endpoint when querying descriptor.
a9455194 1045
441cfe65
VS
10462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Clear out 0x80 color bit on EFI.
1049 Tested by: decoder
1050 Reported by: decoder and meta tech.
1051
1052 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1053 (grub_console_setcolorstate): Clear out 0x80 bit.
1054 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1055 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1056 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1057
bf26bcc4
VS
10582010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1061 Set to "auto".
1062
6e3c515d
VS
10632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1066 mo_file after freeing.
1067
e6d983ba
VS
10682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1071
74ccb5b5
VS
10722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1075 flags.
1076
17821956
VS
10772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1080 usage.
1081
ee74fa48
VS
10822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1085
1086 * gentpl.py: New groups terminfoinkernel and terminfomodule.
1087 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
1088 and terminfo.h when needed.
1089 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
1090 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
1091 (terminfo): Enable only on terminfokernel.
1092 (extcmd): Likewise.
1093 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
1094 * include/grub/lib/arg.h: Likewise.
1095 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
1096 incorrect usage of ->.
1097
aa438e68
VS
10982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
1101 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
1102
57994012
VS
11032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Fix coreboot compilation.
1106
1107 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1108 Take VBE info into account even if only text is supported.
1109 (fill_vbe_info): Take into account the case when only VGA text
1110 is supported.
1111 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
1112 on coreboot, multiboot and qemu.
1113
2a406611
VS
11142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
1117 debug messages.
1118 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
1119
d33613fc
VS
11202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
1123 parameters.
1124
44a1b432
VS
11252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
1128 if they were BSD-style.
1129
edde54e6
VS
11302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/boot/i386/pc/lnxboot.S: Replace
1133 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
1134 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
1135
b65830fa
VS
11362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 Write embedding zone using Reed-Solomon.
1139
1140 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
1141 * grub-core/Makefile.am (rs_decoder.S): New target.
1142 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
1143 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
1144 (multiboot): Move to RS part.
1145 (post_reed_solomon): New label.
1146 (grub_boot_drive): Move to non-RS part since it's modified in memory
1147 on boot.
1148 Include rs_decoder.S.
1149 * grub-core/lib/reed_solomon.c: New file.
1150 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
1151 New definition.
1152 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
1153 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
1154 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
1155 * include/grub/partition.h (grub_partition_map): Change prototype of
1156 embed to allow returning additional sectors.
1157 * include/grub/reed_solomon.h: New file.
1158 * util/grub-setup.c (setup): Handle Reed-Solomon.
1159
0b4b227f
CW
11602010-09-28 Colin Watson <cjwatson@ubuntu.com>
1161
1162 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1163 i386 and x86-64 definedness tests.
1164
f772623b
YB
11652010-09-27 Yves Blusseau <blusseau@zetam.org>
1166
1167 Fix generation of kernel_syms.lst
1168
1169 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
1170 ASM_PREFIX
1171
8e57a6ca
RM
11722010-09-26 Robert Millan <rmh@gnu.org>
1173
1174 Support degraded ZFS arrays in "grub-probe -t device" resolution.
1175
1176 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
1177 the pool is an array of devices, iterate through it and return the
1178 first device that passes a stat() test (instead of blindly returning
1179 the first one).
1180
f9130836
RM
11812010-09-26 Robert Millan <rmh@gnu.org>
1182
1183 Build fixes for GNU/kFreeBSD.
1184
1185 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
1186 to programs that require ZFS conversion.
1187 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
1188 kernels that don't have FLOPPY_MAJOR.
1189
96510faf
BC
11902010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1191
1192 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
1193
449333eb
BC
11942010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1195
1196 Fix grub-emu build.
1197
1198 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
1199 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
1200 mdraid09 and mdraid1x.
1201
e1fd1939
CW
12022010-09-24 Colin Watson <cjwatson@ubuntu.com>
1203
1204 Re-enable grub-extras.
1205
1206 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
1207 avoid confusing Automake. Run autogen only twice, once for the top
1208 level and once for grub-core. Add Makefile.util.def and
1209 Makefile.core.def from extra modules to the appropriate autogen
1210 invocations. If Makefile.common exists in an extra module, include
1211 it in both Makefile.util.am and grub-core/Makefile.core.am;
1212 similarly, include any Makefile.util.common file in Makefile.util.am
1213 and any Makefile.core.common file in grub-core/Makefile.core.am.
1214 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
1215 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
1216 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
1217 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
1218
1219 * gentpl.py (gvar_add): Turn GVARS into a set.
1220 (global_variable_initializers): Sort global variables on output.
1221 (vars_init): New function.
1222 (first_time): Likewise.
1223 (library): Ensure that non-global variable initialisations are
1224 emitted before the first time we emit code for a library block.
1225 Append to variables rather than setting them. Only emit
1226 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1227 each conditional path.
1228 (program): installdir() emits an Autogen macro, so must be passed to
1229 var_add rather than gvar_add.
1230 (data): Likewise.
1231 (script): Likewise.
1232 (rules): New function, centralising handling for different target
1233 types. Set up Guile association lists for first_time and vars_init,
1234 and send most output to a diversion so that variable initialisations
1235 can be emitted first.
1236 (module_rules): Use new rules function.
1237 (kernel_rules): Likewise.
1238 (image_rules): Likewise.
1239 (library_rules): Likewise.
1240 (program_rules): Likewise.
1241 (script_rules): Likewise.
1242 (data_rules): Likewise.
1243
1244 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1245
1246 * .bzrignore: Add contrib and grub-core/contrib. Remove
1247 grub-core/Makefile.gcry.am.
1248
1d12cf29
YB
12492010-09-24 Yves Blusseau <blusseau@zetam.org>
1250
1251 * grub-core/lib/LzFind.c: Add missing include.
1252 * grub-core/lib/LzmaEnc.c: Likewise.
1253 * grub-core/script/lexer.c: Likewise.
1254 * grub-core/script/yylex.l: Likewise.
1255 * util/grub-macho2img.c: Likewise.
1256 * util/grub-menulst2cfg.c: Likewise.
1257 * util/grub-mklayout.c: Likewise.
1258 * util/grub-mkpasswd-pbkdf2.c
1259 * util/grub-mkrelpath.c: Likewise.
1260 * util/resolve.c: Likewise.
1261
dd363028
BC
12622010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1263
1264 * Makefile.util.def (example_unit_test): Add
1265 grub-core/gnulib/libgnu.a.
1266
f5a109e2
GS
12672010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1268
1269 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1270
6d0fa83c
VS
12712010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Support xz compression on yeeloong.
1274
1275 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1276 * configure.ac: Check for LZMA.
1277 * grub-core/Makefile.core.def (xz_decompress): New target.
1278 (none_decompress): Likewise.
1279 * grub-core/boot/decompressor/minilib.c: New file.
1280 * grub-core/boot/decompressor/none.c: Likewise.
1281 * grub-core/boot/decompressor/xz.c: Likewise.
1282 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1283 * grub-core/kern/mips/cache_flush.S: Likewise.
1284 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1285 * grub-core/kern/mips/startup.S: Move first stage to ...
1286 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1287 nomacro.
1288 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1289 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1290 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1291 Allocate statically.
1292 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1293 Allocate statically or use scratch. Don't check CRC32.
1294 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1295 Allocate statically. Don't check CRC32.
1296 * include/grub/decompressor.h: New file.
1297 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1298 Removed.
1299 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1300 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1301 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1302 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1303 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1304 * util/grub-mkimage.c (grub_compression_t): New type.
1305 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1306 (image_target_desc): New field default_compression.
1307 (image_targets): Adjust yeeloong targets.
1308 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1309 (compress_kernel): New parameter comp.
1310 (generate_image): Likewise. Handle new compression case.
1311 (options): New option --compression
1312 (help): Likewise.
1313 (main): Handle new option.
1314
1b655af6
GS
13152010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1316
1317 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1318
8f03f0b5
CW
13192010-09-22 Colin Watson <cjwatson@ubuntu.com>
1320
1321 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1322 typo in __i386__ conditional.
1323
7835dfd3
VS
13242010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1327 include.
1328
e255597e
VS
13292010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1330
6d0fa83c 1331 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1332
1333 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1334 new tags as supported.
1335 (acpiv2_size): New function.
1336 (grub_multiboot_get_mbi_size): Take new tags into account.
1337 (grub_multiboot_make_mbi): Add new tags.
1338 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1339
6cc14051 13402010-09-21 Aleš Nesrsta <starous@volny.cz>
1341
1342 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1343 Added missing configuration of USB device.
1344
df7769d8
CW
13452010-09-21 Colin Watson <cjwatson@ubuntu.com>
1346
1347 * grub-core/normal/menu_entry.c (run): Make sure we always return
1348 a value.
1349
b031012d
CW
13502010-09-21 Colin Watson <cjwatson@ubuntu.com>
1351
1352 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1353 NumberOfPages is UINT64 according to the UEFI specification, not
1354 UINTN. Fix printf format.
1355
174de8f3
CW
13562010-09-21 Colin Watson <cjwatson@ubuntu.com>
1357
1358 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1359 `err' to grub_usb_err_t.
1360 Reported and tested by: KESHAV P.R.
1361
d7dbe923
CW
13622010-09-21 Colin Watson <cjwatson@ubuntu.com>
1363
1364 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1365 tpart non-const, so that we can assign to it. (Since this is a
1366 typedef, the constness refers to the pointer rather than what it
1367 points to.)
1368
8d5e2af3
CW
13692010-09-21 Colin Watson <cjwatson@ubuntu.com>
1370
1371 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1372 $(top_srcdir)/grub-core/gnulib as well as
1373 $(top_builddir)/grub-core/gnulib.
1374 Reported by: KESHAV P.R.
1375
5c527783
CW
13762010-09-21 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * util/grub-install.in: Fix the bootloader ID option to be
1379 consistently --bootloader-id, not --bootloader_id.
1380 Reported by: KESHAV P.R.
1381
d309a16e
CW
13822010-09-21 Colin Watson <cjwatson@ubuntu.com>
1383
1384 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1385 check hash checksum." consistently translatable.
1386
b830cd16
YB
13872010-09-21 Yves Blusseau <blusseau@zetam.org>
1388
1389 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1390 $(top_builddir).
1391
c4fe27a8
CW
13922010-09-21 Colin Watson <cjwatson@ubuntu.com>
1393
1394 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1395 (GRUB_MOD_INIT): Register sha1sum command.
1396 (GRUB_MOD_FINI): Unregister sha1sum command.
1397
a4c1d277
YB
13982010-09-21 Yves Blusseau <blusseau@zetam.org>
1399
1400 Keep boot and grub directory names in sync with utils scripts
1401
1402 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1403 * config.h.in: Add previous macros.
1404 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1405 * util/grub-install.in: Use $bootdir and $grubdir variables.
1406
4eff79d2
CW
14072010-09-21 Colin Watson <cjwatson@ubuntu.com>
1408
1409 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1410 convert partition names to disk names if the new `convert' parameter
1411 is set.
1412 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1413 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1414 disk in its own right. This can happen with Xen disk images.
1415
934d7e44
YB
14162010-09-21 Yves Blusseau <blusseau@zetam.org>
1417
1418 * util/grub-editenv.c: Update strings to avoid warnings when generating
1419 grub.pot file.
1420 * util/grub-setup.c: Likewise.
934d7e44 1421
df3367cc
VS
14222010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * configure.ac: Change version to 1.99~beta0.
1425
77a94e98
VS
14262010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1429 Add BADRAM.
1430 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1431 Likewise.
1432 * include/multiboot.h: Resynced with specification.
1433 * include/multiboot2.h: Likewise.
1434
269004c1
CW
14352010-09-21 Colin Watson <cjwatson@ubuntu.com>
1436
1437 Fix po directory handling.
1438
1439 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1440 * grub-core/gnulib/Makefile.am: Import gettext module.
1441 * m4/gnulib-cache.m4: Likewise.
1442 * m4/gnulib-comp.m4: Likewise.
1443 * m4/gettext.m4: New file, from gnulib.
1444 * m4/glibc2.m4: Likewise.
1445 * m4/iconv.m4: Likewise.
1446 * m4/intdiv0.m4: Likewise.
1447 * m4/intl.m4: Likewise.
1448 * m4/intldir.m4: Likewise.
1449 * m4/intlmacosx.m4: Likewise.
1450 * m4/intmax.m4: Likewise.
1451 * m4/inttypes-pri.m4: Likewise.
1452 * m4/lcmessage.m4: Likewise.
1453 * m4/lib-ld.m4: Likewise.
1454 * m4/lib-link.m4: Likewise.
1455 * m4/lib-prefix.m4: Likewise.
1456 * m4/lock.m4: Likewise.
1457 * m4/nls.m4: Likewise.
1458 * m4/po.m4: Likewise.
1459 * m4/printf-posix.m4: Likewise.
1460 * m4/progtest.m4: Likewise.
1461 * m4/threadlib.m4: Likewise.
1462 * m4/uintmax_t.m4: Likewise.
1463 * m4/visibility.m4: Likewise.
1464 * po/Makefile.am: Remove.
1465 * po/Makefile.in.in: New file, from gettext.
1466 ($(DOMAIN).pot-update): Support POTFILES-shell.
1467 * po/Makevars: New file.
1468 * po/POTFILES-shell: Rename to ...
1469 * po/POTFILES-shell.in: ... this. Update.
1470 * po/POTFILES: Rename to ...
1471 * po/POTFILES.in: ... this. Update.
1472 * po/Rules-quot: New file, from gettext.
1473 * po/boldquot.sed: Likewise.
1474 * po/en@boldquot.header: Likewise.
1475 * po/en@quot.header: Likewise.
1476 * po/insert-header.sin: Likewise.
1477 * po/quot.sed: Likewise.
1478 * po/remove-potcdate.sin: Likewise.
1479
3e0fa5d0
VS
14802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
1483
ade9bd66
VS
14842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * util/grub.d/20_linux_xen.in: Use submenus.
1487
fc55cc4c
VS
14882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 Support submenus.
1491
1492 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
1493 parameter submenu. All users updated.
1494 * grub-core/normal/main.c (free_menu): Rename to ...
1495 (grub_normal_free_menu): ... this. Made global.
1496 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
1497 if requested.
1498 * grub-core/normal/menu_entry.c (screen): New field submenu.
1499 (make_screen): Set submenu.
1500 (run): Open new context if requested.
1501 * include/grub/menu.h (grub_menu_entry): New field submenu.
1502 * include/grub/normal.h (grub_normal_free_menu): New proto.
1503
600cedf7
VS
15042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 Menu entries extractor.
1507
1508 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
1509 variants.
1510 (GRUB_MOD_INIT): Register new variants.
1511 (GRUB_MOD_FINI): Unregister new variants.
1512 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
1513 into grub_cmd_legacy_source.
1514 (grub_cmd_legacy_source): Implement extractor variants.
1515 (GRUB_MOD_INIT): Register new variants.
1516 (GRUB_MOD_FINI): Unregister new variants.
1517 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
1518 as an extractor.
1519 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1520 search as an extractor.
1521 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1522 test as an extractor.
1523 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1524 as an extractor.
1525 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1526 (grub_env_new_context): New function.
1527 (grub_env_context_open): Likewise.
1528 (grub_env_extractor_open): Likewise.
1529 (grub_env_extractor_close): Likewise.
1530 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1531 grub_extractor_level.
1532 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1533 * include/grub/env.h (grub_env_extractor_open): New proto.
1534 (grub_env_extractor_close): Likewise.
1535 * include/grub/normal.h (grub_extractor_level): New external variable.
1536
7bda3a87
VS
15372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Make cutmem accept a region specification.
1540 Suggested by: Samuel Thibault
1541
1542 * grub-core/mmap/mmap.c (parsemem): New function.
1543 (grub_cmd_cutmem): Handle new arguments.
1544
2ea57f88
VS
15452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 New command cutmem.
1548
1549 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1550 (GRUB_MOD_INIT): Register new command.
1551 (GRUB_MOD_FINI): Unregister new command.
1552
74342e31
VS
15532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Support some annoying BSD and Minix subpartitions.
1556
1557 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1558 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1559 Properly handle concatenation.
1560 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1561 * grub-core/normal/completion.c (iterate_partition): Likewise.
1562 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1563 contain partition. All users updated.
1564 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1565 struct.
1566 (grub_openbsdlabel_partition_map): Likewise.
1567 (bsdlabel_partition_map_iterate): Rename to ..
1568 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1569 (bsdlabel_partition_map_iterate): New function.
1570 (netopenbsdlabel_partition_map_iterate): Likewise.
1571 (netbsdlabel_partition_map_iterate): Likewise.
1572 (openbsdlabel_partition_map_iterate): Likewise.
1573 (GRUB_MOD_INIT): Register new partmaps.
1574 (GRUB_MOD_FINI): Unregister new partmaps.
1575 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1576 (grub_partition_msdos_iterate): ... this. All users updated.
1577 Don't support embedding other than in a minix partition.
1578 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1579 proto.
1580 * include/grub/partition.h (grub_partition): New field msdostype.
1581 * util/grub-install.in: Handle openbsd and netbsd types being in
1582 part_bsd module.
1583
1e8d555b
VS
15842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1587
1588 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1589 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1590 (mdraid09): ... this.
1591 (mdraid1x): New module.
1592 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1593 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1594
899d8af4
VS
15952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1598 vsprintf.
1599
40901acd
CW
16002010-09-20 Colin Watson <cjwatson@ubuntu.com>
1601
1602 * grub-core/commands/efi/lsefimmap.c: Correct header.
1603 * NEWS: Update.
1604
dfe3b247
CW
16052010-09-20 Colin Watson <cjwatson@ubuntu.com>
1606
1607 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1608 as printf format strings; the translations might contain '%' which
1609 could cause a crash.
1610 (main): Likewise.
1611 * util/grub-fstest.c (argp_parser): Likewise.
1612 * util/grub-setup.c (argp_parser): Likewise.
1613 (main): Likewise.
1614
3286a4b4
VS
16152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 Use argp in grub-fstest.
1618
1619 * util/grub-fstest.c: Don't include getopt.h.
1620 Include argp.h.
1621 (root): New variable.
1622 (args_count): Likewise.
1623 (nparm): Likewise.
1624 (num_disks): Likewise.
1625 (images): Likewise.
1626 (cmd): Likewise.
1627 (debug_str): Likewise.
1628 (args): Likewise.
1629 (options): Transformed to argp.
1630 (usage): Removed.
1631 (main): Split argument parsing into ...
1632 (argp_parser): ... this. Changed to argp format.
1633 (argp): New variable.
1634 (main): Use argp_parse.
1635
3dccbe4b
TG
16362010-09-20 Tristan Gingold <gingold@free.fr>
16372010-09-20 Robert Millan <rmh.grub@aybabtu.com>
16382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/commands/efi/lsefimmap.c: New file.
1641 * grub-core/Makefile.core.def (lsefimmap): New module.
1642 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1643
38c259a7
VS
16442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 Pause the execution (10s max) if any errors are displayed so the user
1647 has a chance to see them.
1648
1649 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1650 (grub_print_error): Increment grub_err_printed_errors.
1651 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1652 execution if any errors were displayed.
1653 (show_menu): Remove old code for pause.
1654 * grub-core/normal/menu_entry.c (run): Likewise.
1655 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1656 users updated.
1657 (grub_normal_get_char_counter): Likewise.
1658 * include/grub/err.h (grub_err_printed_errors): New external variable.
1659 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1660
f218b09c
VS
16612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Support multiboot VBE info.
1664
1665 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1666 Take VBE info into account.
1667 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1668 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1669 Call fill_vbe_info when appropriate.
1670 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1671 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1672 as supported.
1673 (grub_multiboot_get_mbi_size): Take new tags into account.
1674 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1675 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1676 Call fill_vbe_tag when appropriate.
1677 (grub_multiboot_make_mbi): Properly align tags.
1678 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1679 function.
1680 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1681 proto.
1682 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1683
a9cc5438
VS
16842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 Suport manual terminal geometry specification.
1687
1688 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1689 Save state in grub_ofconsole_terminfo_output.
1690 (grub_ofconsole_term): Use grub_terminfo_getwh.
1691 (grub_ofconsole_getwh): Removed.
1692 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1693 (grub_serial_term): Use grub_terminfo_getwh.
1694 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1695 (options): New struct.
1696 (OPTION_*): New enum.
1697 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1698 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1699 width and height.
1700 (grub_terminfo_getwh): New proto.
1701 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1702
1a8fed20
VS
17032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Handle legacy "terminal" command.
1706
1707 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1708 and FLAG_TERMINAL.
1709 (legacy_commands): Add terminal and title.
1710 (grub_legacy_parse): Handle terminal. Simplify title handling.
1711
41e9c57d
VS
17122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1715 parameters overflow.
1716
61c874c5
CW
17172010-09-20 Colin Watson <cjwatson@ubuntu.com>
1718
1719 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1720 widthspec.h.
1721
1722 * docs/grub.texi (Shell-like scripting): Document `!'.
1723 (Network): Simplify using new i386-pc-pxe format. Mention
1724 grub-mknetdir.
1725
1726 * NEWS: Update.
1727
943682b4
CW
17282010-09-20 Colin Watson <cjwatson@ubuntu.com>
1729
1730 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1731 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1732 when needed.
1733
6d3d698d
CW
17342010-09-20 Colin Watson <cjwatson@ubuntu.com>
1735
1736 * grub-core/commands/efi/lsefisystab.c: Correct header.
1737 * grub-core/commands/efi/lssal.c: Likewise.
1738 * grub-core/commands/testload.c: Likewise.
1739
c982589f
CW
17402010-09-20 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * util/grub-mkrescue.in: Add explicit root argument to --set to
1743 prevent the UUID being interpreted as an argument to --set (matches
1744 previous change to prepare_grub_to_access_device).
1745
a63c31b6
CW
17462010-09-20 Colin Watson <cjwatson@ubuntu.com>
1747
1748 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1749 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1750 the verbosity of later #ifs.
1751 (find_partition_start): Define this function on FreeBSD too.
1752 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1753 function.
1754 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1755 on FreeBSD.
1756
6439b8ee
YB
17572010-09-20 Yves Blusseau <blusseau@zetam.org>
1758
1759 * util/grub-editenv.c: Use argp instead of getopt.
1760
c5930ec8
YB
17612010-09-20 Yves Blusseau <blusseau@zetam.org>
1762
1763 * util/grub-setup.c: Use argp instead of getopt.
1764
15c69261
YB
17652010-09-20 Yves Blusseau <blusseau@zetam.org>
1766
1767 Use gnulib-tool to create gnulib source files.
1768
1769 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1770 grub-core/gnulib directories
1771 * .bzignore: Add **/.deps and autogenerated gnulib files
1772 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1773 of gnulib macros, add grub-core/gnulib/Makefile
1774 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1775 include m4 directory to aclocal.
1776 * Makefile.util.def: Remove direct compilation of gnulib source files
1777 and use the new grub-core/gnulib/libgnu.a.
1778 * build-aux/config.rpath: move config.rpath from top directory to
1779 build-aux
1780 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1781 in gnulib headers
1782 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1783 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1784 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1785 header.
1786 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1787 string.
1788
e511c9f5
YB
17892010-09-20 Yves Blusseau <blusseau@zetam.org>
1790
1791 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1792 grub-core/genmod.sh and grub-core/gensyminfo.sh
1793
c2dede05
BC
17942010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1795
1796 Add a test for echo command options.
1797
1798 * tests/grub_cmd_echo.in: New test.
1799 * Makefile.util.def: Rules for new test.
1800
c55f5018
SJ
18012010-09-20 Szymon Janc <szymon@janc.net.pl>
1802
1803 Remove crc.mod and move crc command to hashsum.mod.
1804 Remove lib/crc.c - users updated to use gcrypt implementation.
1805
1806 * grub-core/commands/crc.c: Removed.
1807 * grub-core/Makefile.core.def (crc): Module removed.
1808 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1809 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1810 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1811 * grub-core/lib/crc.c: Removed.
1812 * include/grub/lib/crc.h: Removed.
1813 * Makefile.util.def (crc): Remove lib/crc.c
1814 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1815 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1816 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1817 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1818 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1819 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1820
e0337366
VS
18212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1824
742f9232
VS
18252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 Split config.h for util and core.
1828
1829 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1830 (ADDR32): Likewise.
1831 (DATA32): Likewise.
1832 (BSS_START_SYMBOL): Likewise.
1833 (END_SYMBOL): Likewise.
1834 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1835 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1836 * config.h.in: New file.
1837 * configure.ac: Use config-util.h as config define file.
1838 Rename MACHINE into GRUB_MACHINE. All users updated.
1839 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1840 updated.
1841 (NESTED_FUNC_ATTR): Likewise.
1842 Substitue new variables.
1843 (COND_HAVE_ASM_USCORE): New conditional.
1844 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1845 (kernel_syms.lst): Use ASM_PREFIX.
1846 * grub-core/kern/emu/console.c: Include config-util.h.
1847 * grub-core/kern/emu/misc.c: Likewise.
1848 * grub-core/kern/emu/mm.c: Likewise.
1849 * include/grub/emu/misc.h: Likewise.
1850 * include/grub/libgcc.h: Likewise.
1851
39feb0e8
VS
18522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1855 constants usage.
1856 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1857 Fix GRUB_TERM_KEY_* constants usage.
1858 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1859
9af6dac3
VS
18602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1863 print pointer.
1864 * grub-core/bus/usb/uhci.c: Remove empty define.
1865 (grub_uhci_check_transfer): Add missing cast.
1866 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1867 print pointer.
1868 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1869 PRIuGRUB_SIZE.
1870 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1871
d6d94820
VS
18722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/Makefile.core.def (legacycfg): Add
1875 lib/i386/pc/vesa_modes_table.c on emu.
1876
3572f2b6
BC
18772010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1878
1879 Reduce number of temporary files generated by build system.
1880
1881 * grub-core/gencmdlist.sh: Removed.
1882 * grub-core/genfslist.sh: Removed.
1883 * grub-core/genhandlerlist.sh: Removed.
1884 * grub-core/genmodsrc.sh: Removed.
1885 * grub-core/genpartmaplist.sh: Removed.
1886 * grub-core/genparttoollist.sh: Removed.
1887 * grub-core/gentermiinallist.sh: Removed.
1888 * grub-core/genvideolist.sh: Removed.
1889
1890 * grub-core/genmod.sh.in: New file.
1891 * grub-core/gensyminfo.sh.in: New file.
1892
1893 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1894 * conf/Makefile.extra-dist: Update with new files.
1895 * gentpl.py: Remove rules related to unnecessary temporary files.
1896 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1897 and und-* files.
1898 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1899 genmod.sh scripts.
1900 * grub-core/bus/usb/uhci.c: Remove empty #define.
1901 * grub-core/genmoddep.awk: Updated with new syminfo format.
1902 * util/bash-completion.d/Makefile.am: Add config.log to
1903 CLEANFILES.
1904
c836b030
YB
19052010-09-19 Yves Blusseau <blusseau@zetam.org>
1906
1907 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1908
2f4e8053
BC
19092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1910
1911 * util/grub-mkconfig.in: Check the config script for syntax errors
1912 before saving.
1913
75831c34
CW
19142010-09-19 Colin Watson <cjwatson@ubuntu.com>
19152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1918 platforms.
1919 * util/grub-install.in: Add EFI and IEEE1275 support.
1920 * util/i386/efi/grub-install.in: Removed.
1921 * util/ieee1275/grub-install.in: Likewise.
1922
eaf41b25
VS
19232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1926 (grub_cmd_cmosclean): Likewise.
1927 (GRUB_MOD_INIT): Register command cmosclean.
1928 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1929 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1930
1a9130dd
CPE
19312010-09-18 Carles Pina i Estany <carles@pina.cat>
19322010-09-18 Aleš Nesrsta <starous@volny.cz>
19332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 Add keyboard layouts support.
1936
1937 * Makefile.util.def (grub-mklayout): New file.
1938 (grub-kbdcomp): New script.
1939 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1940 Add keyboard_layouts.h.
1941 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1942 commands/boot.c on yeeloong.
1943 (keylayouts): New module.
1944 * grub-core/bus/usb/ohci.c
1945 * grub-core/bus/usb/uhci.c
1946 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1947 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1948 (attach_root_port): Likewise.
1949 (poll_nonroot_hub): Likewise.
1950 (grub_usb_poll_devices): Likewise.
1951 (detach_device): Close transfer.
1952 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1953 function.
1954 (grub_usb_bulk_setup_readwrite): Likewise.
1955 (grub_usb_bulk_finish_readwrite): Likewise.
1956 * grub-core/commands/keylayouts.c: New file.
1957 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1958 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1959 aliases.
1960 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1961 support scancode 2.
1962 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1963 * include/grub/keyboard_layouts.h: New file.
1964 * util/grub-mklayout.c: New file.
1965 * util/grub-kbdcomp.in: Likewise.
1966
a1d84a5e
VS
19672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Unify memory types.
1970
1971 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1972 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1973 types.
1974 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1975 (grub_upper_mem): Likewise.
1976 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1977 * include/grub/memory.h (grub_memory_type_t): New enum.
1978 All users updated.
1979
9696382e
VS
19802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/Makefile.core.def (lsapm): New module.
1983 * grub-core/commands/i386/pc/lsapm.c: New file.
1984 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1985 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1986 Likewise.
1987 * include/grub/i386/pc/apm.h: New file.
1988 * include/multiboot.h (multiboot_apm_info): New struct.
1989
19902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 GRUB-legacy configuration file support.
1993
1994 * Makefile.util.def (grub-menulst2cfg): New util.
1995 * docs/man/grub-menulst2cfg.h2m: New file.
1996 * grub-core/Makefile.core.def (legacycfg): New module.
1997 * grub-core/commands/legacycfg.c: New file.
1998 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1999 (grub_normal_add_menu_entry): ... this.
2000 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2001 (grub_normal_set_password): ...this.
2002 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2003 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2004 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2005 * grub-core/lib/legacy_parse.c: New file.
2006 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2007 * include/grub/i386/pc/vesa_modes_table.h: New file.
2008 * include/grub/legacy_parse.h: Likewise.
2009 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2010 * util/grub-menulst2cfg.c: New file.
2011
bf8d1338
CW
20122010-09-17 Colin Watson <cjwatson@ubuntu.com>
2013
2014 * grub-core/kern/emu/hostdisk.c
2015 (convert_system_partition_to_system_disk): Initialise node.
2016
9c0bad2e
CW
20172010-09-17 Colin Watson <cjwatson@ubuntu.com>
2018
2019 * grub-core/kern/emu/hostdisk.c
2020 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2021 leak.
2022 Reported and based on patch by: Modestas Vainius.
2023
a939d135
CW
20242010-09-17 Colin Watson <cjwatson@ubuntu.com>
2025
2026 Fix DM-RAID probing with recent versions of device-mapper udev
2027 rules.
2028
2029 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2030 canonicalise device paths under /dev/mapper/.
2031 (convert_system_partition_to_system_disk): Compare the
2032 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2033 path, since device nodes under /dev/mapper/ are often symlinks.
2034
0f7ee3c9
YB
20352010-09-17 Yves Blusseau <blusseau@zetam.org>
2036
2037 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2038
10854d0d
YB
20392010-09-16 Yves Blusseau <blusseau@zetam.org>
2040
2041 * configure.ac: Avoid some annoying error messages if freetype-config
2042 program is not found.
2043
108538d8
CW
20442010-09-16 Colin Watson <cjwatson@ubuntu.com>
2045
2046 Support RAID on virtio devices, and others.
2047
2048 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2049 Rename to ...
2050 [__MINGW32__] (grub_find_device): ... this.
2051 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2052 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2053 reasonable default if dir is NULL.
2054 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2055 ...
2056 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2057 (grub_guess_root_device): Update callers.
2058 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2059
2060 * util/raid.c (grub_util_getdiskname): Remove.
2061 (grub_util_raid_getmembers): Use grub_find_device rather than
2062 grub_util_getdiskname.
2063
e5bfc130
CW
20642010-09-16 Colin Watson <cjwatson@ubuntu.com>
2065
2066 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2067 needing to be compiled with serial support.
2068 (ls): Indicate that multiple files are accepted.
2069 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2070 indicate that multiple files are accepted.
2071
be458ae2
CW
20722010-09-16 Colin Watson <cjwatson@ubuntu.com>
2073
2074 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2075 libgrub_a_init.c, and util/bash-completion.d/grub.
2076
cb731b5e
VS
20772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * util/grub-setup.c (setup): Fix incorrect container semantics.
2080
35139e8a
VS
20812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2084 misusage.
2085 Reported by: J. Nick Terry
2086
e50fca4a
VS
20872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Move embedding routines to partmap sources files.
2090
2091 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
2092 [GRUB_UTIL]: New variable.
2093 (gpt_partition_map_iterate): Set part.parent.
2094 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
2095 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
2096 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
2097 New function.
2098 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
2099 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
2100 (grub_partition_map) [GRUB_UTIL]: New field embed.
2101 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
2102 (setup): Use ->embed.
2103
f00478b7
VS
21042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
2107 function.
2108 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
2109 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2110
2b94e3ff
YB
21112010-09-15 Yves Blusseau <blusseau@zetam.org>
2112
2113 Add function to get completions from usage.
2114
2115 * util/bash-completion.d/grub-completion.bash.in: Add function to get
2116 completions from usage. Use LC_ALL=C to get options properly.
2117
2e04a006
VS
21182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/gnulib/basename-lgpl.c: Imported.
2121 * grub-core/gnulib/basename.c: Likewise.
2122 * grub-core/gnulib/dirname-lgpl.c: Likewise.
2123 * grub-core/gnulib/dirname.c: Likewise.
2124 * grub-core/gnulib/dirname.h: Likewise.
2125 * grub-core/gnulib/stripslash.c: Likewise.
2126
5dcdf93a
VS
21272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/gnulib/error.c: Resynced.
2130 * grub-core/gnulib/getopt.c: Likewise.
2131 * grub-core/gnulib/getopt_int.h: Likewise.
2132 * grub-core/gnulib/regex.h: Likewise.
2133 * grub-core/gnulib/regex_internal.c: Likewise.
2134 * grub-core/gnulib/regex_internal.h: Likewise.
2135
014f47b7
SJ
21362010-09-15 Szymon Janc <szymon@janc.net.pl>
2137
2138 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
2139 CRC calculations and validity checks.
2140 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
2141 calculations.
2142
dd521a4a
SJ
21432010-09-15 Szymon Janc <szymon@janc.net.pl>
2144
2145 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2146
79c4eeb9
VS
21472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 Fix incorrect echo options handling.
2150 Reported by: Yves Blusseau.
2151
2152 * include/grub/command.h (grub_command_flags_t): New flags
2153 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
2154 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
2155 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2156
ed80f7d5
VS
21572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
2160 users updated.
2161 (GRUB_COMMAND_FLAG_MENU): Likewise.
2162 (GRUB_COMMAND_FLAG_BOTH): Likewise.
2163 (GRUB_COMMAND_FLAG_TITLE): Removed.
2164 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
2165 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
2166 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
2167 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
2168 (grub_command_flags_t): New enum. All users updated.
2169
5fe7620a
SG
21702010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
2171
2172 Fix solaris compilation.
2173
2174 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
2175 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
2176 (grub-emu-list): Likewise.
2177
545b752f
VS
21782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 Remove deprecated root command.
2181
2182 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
2183 updated.
2184
6c1a338c
VS
21852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * util/i386/pc/grub-setup.c: Merge this ...
2188 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
2189 * util/grub-setup.c: ... into this.
2190 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
2191 New struct.
2192
21932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
2196 possible.
2197
d2ea4551
VS
21982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
2201 allocate p.
2202
3c3b5040
VS
22032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2206 explicit root argument to set to prevent UUID to be interpreted as
2207 argument to set.
2208
b71c3fae
VS
22092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
2212
275433e6
VS
22132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 Don't export grub_gate_a20.
2216
2217 * grub-core/kern/i386/pc/init.c: Remove leftovers.
2218 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2219 to ...
2220 (grub_gate_a20): ... this. All users updated.
2221 * include/grub/i386/pc/init.h: Removed. All users updated.
2222
a5dbb1f1
VS
22232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Create euro.pf2 which supports most European languages.
2226
2227 * Makefile.am (grubdata_DATA): Add euro.pf2.
2228 (euro.pf2): New target.
2229 (CLEANFILES): Add euro.pf2.
2230
62a747cb
VS
22312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * configure.ac: Disable emu-usb by default to prevent inadvertent
2234 device takeover.
2235
608e43b1
VS
22362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Disable usbserial on grub-emu since our libusb code isn't good enough
2239 yet.
2240
2241 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2242 (usbserial_pl2303): Likewise.
2243 (usbserial_ftdi): Likewise.
2244
94564f81
VS
22452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * include/grub/disk.h (grub_disk): Remove has_partitions.
2248 All users updated.
2249 * disk/loopback.c (grub_loopback): Remove has_partitions.
2250 All users updated.
2251 (options): Remove partitions. All users updated.
2252 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2253 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2254 actual partition table is found.
2255
3352800b
VS
22562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Remove readability checks (too many false negatives).
2259
2260 * util/grub-install.in: Remove readability checks.
2261 * util/grub-mkconfig.in: Likewise.
2262 * util/grub.d/10_hurd.in: Likewise.
2263 * util/grub.d/10_kfreebsd.in: Likewise.
2264 * util/grub.d/10_linux.in: Likewise.
2265 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2266 way.
2267
2419f17a
VS
22682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Enable acpi shutdown on all ACPI platforms.
2271
2272 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2273 on coreboo, multiboot and EFI.
2274 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2275 (grub_acpi_halt): Likewise.
2276 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2277 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2278 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2279 * grub-core/lib/i386/halt.c (grub_halt)
2280 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2281
0575c7c3
VS
22822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2285 context.
2286
54ac3cd1
VS
22872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2290 * grub-core/video/efi_uga.c: Likewise.
2291
b2a30ac5
VS
22922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Filter devaliases and never open same device twice.
2295
2296 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2297 (last_ihandle): Likewise.
2298 (ofdisk_hash_ent): New member shortest.
2299 (ofdisk_hash_add): Add canonical path too.
2300 (scan): New function.
2301 (grub_ofdisk_iterate): Iterate over hashed entries.
2302 (compute_dev_path): Don't add :0.
2303 (grub_ofdisk_open): Don't really open the disk.
2304 (grub_ofdisk_close): Avoid closing unrelated disk.
2305 (grub_ofdisk_read): Implement reopen logic.
2306 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2307 New function.
2308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2309 New proto.
2310
fb53b340
VS
23112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 Fix sparc64.
2314
2315 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2316 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2317 right address. Add sparc64_ieee1275_ldflags.
2318 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2319 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2320 to grub_host_to_target_addr
2321 (load_image): Likewise.
2322
f452b040
VS
23232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/normal/completion.c (complete_file): Handle device
2326 containing slash.
2327 Fix based on patch by Doug Nazar.
2328
9b5b2541
VS
23292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 grub-mknetdir script.
2332
2333 * Makefile.util.def (grub-mknetdir): New module.
2334 * tests/util/grub-shell.in: Support boot=net
2335 * util/grub-mknetdir.in: New file.
2336
9d2be652
VS
23372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 videoinfo on non-vbe.
2340
2341 * grub-core/Makefile.core.def (vbeinfo): Removed.
2342 (vbetest): Removed.
2343 (videoinfo): New module.
2344 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2345 * grub-core/commands/i386/pc/vbetest.c: Removed.
2346 * grub-core/commands/videoinfo.c: New file.
2347 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2348 specification.
2349 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2350 as vbetest.
2351 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2352 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2353 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2354 mode_number. New parameter mode. All users updated.
2355 (grub_video_gop_iterate): New function.
2356 (grub_video_efi_gop): New member iterate.
2357 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2358 (grub_vbe_set_video_mode): Remove setting useless fields.
2359 (vbe2videoinfo): New function.
2360 (grub_video_vbe_iterate): Likewise.
2361 (grub_video_vbe_setup): Use vbe2videoinfo.
2362 (grub_video_vbe_print_adapter_specific_info): New function.
2363 (grub_video_vbe_adapter): New fields iterate and
2364 print_adapter_specific_info.
2365 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2366 All users updated.
2367 (grub_video_mode_info): New field mode_number.
2368 (grub_video_adapter): New fields iterate and
2369 print_adapter_specific_info.
2370
179503f5
TG
23712010-09-13 Tristan Gingold <gingold@free.fr>
23722010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/commands/efi/lsefisystab.c: New file.
2376 * grub-core/commands/efi/lssal.c: Likewise.
2377 * grub-core/Makefile.core.def (lsacpi): New module.
2378 (lsefisystab): Likewise.
2379 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2380 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2381 (grub_efi_sal_system_table): New struct.
2382 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2383 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2384 (grub_efi_sal_system_table_platform_features): Likewise.
2385 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2386 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2387 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2388 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2389
cf9827de
VS
23902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Support explicit user claim that a device is BIOS-visible.
2393
2394 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2395 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2396 * grub-core/kern/emu/hostdisk.c
2397 (convert_system_partition_to_system_disk): Support mdX.
2398 (find_system_device): New parameter add. All users updated.
2399 (grub_util_biosdisk_is_present): New function.
2400 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2401 proto.
2402
53f0eb1f
VS
24032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Search hints support.
2406
2407 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2408 All users updated.
2409
b23ffd70
YB
24102010-09-13 Yves Blusseau <blusseau@zetam.org>
2411
2412 Bash completion script for util commands
2413
2414 * Makefile.am: Add util/bash-completion.d directory
2415 * configure.ac: Likewise.
2416 * util/bash-completion.d/Makefile.am: New file.
2417 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2418
d547dc28
VS
24192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2422 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2423 Reported by: Yves Blusseau.
2424
2fc8ccb9
VS
24252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2428 partition size and offset.
2429
d8a84076
VS
24302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2433
84fb3b3d
VS
24342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2437
768ec2e2
VS
24382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2441 (grub_xvasprintf): Likewise.
2442
4870900f
VS
24432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2446
faca6bec
VS
24472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2450 args ending with NULL.
2451
24522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
2453
2454 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
2455 pointer.
2456
3c70f225
SJ
24572010-09-11 Szymon Janc <szymon@janc.net.pl>
2458
2459 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
2460
4df7996d
VS
24612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Shutdown using ACPI.
2464
2465 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
2466 * grub-core/commands/acpihalt.c: New file.
2467 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
2468 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
2469 (grub_acpi_halt): New proto.
2470 (GRUB_ACPI_SLP_EN): New const.
2471 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
2472 (GRUB_ACPI_OPCODE_*): New enum.
2473 (GRUB_ACPI_EXTOPCODE_*): Likewise.
2474
126b4c32
TG
24752010-09-11 Tristan Gingold <gingold@free.fr>
24762010-09-11 Robert Millan <rmh.grub@aybabtu.com>
24772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * commands/lsacpi.c: New file.
2480 * grub-core/Makefile.core.def (lsacpi): New module.
2481 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
2482 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
2483 (grub_acpi_madt_entry_header): New struct.
2484 (grub_acpi_madt): Likewise.
2485 (grub_acpi_madt_entry_interrupt_override): Likewise.
2486 (grub_acpi_madt_entry_sapic): Likewise.
2487 (grub_acpi_madt_entry_lsapic): Likewise.
2488 (grub_acpi_madt_entry_platform_int_source): Likewise.
2489 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
2490 (PRIuGRUB_UINT32_T): Likewise.
2491 (PRIxGRUB_UINT64_T): Likewise.
2492
1aa4fe88
VS
24932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Implement loading palette on ieee1275_fb.
2496
2497 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
2498 (have_setcolors): Likewise.
2499 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
2500 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
2501 (grub_video_ieee1275_set_palette): Implement.
2502
25761e13
VS
25032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
25042010-09-11 Colin Watson <cjwatson@ubuntu.com>
2505
2506 * util/grub-install.in (grub_partition): New variable.
2507 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
2508 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
2509 Fixes a bug reported by Yves Blusseau.
2510
050abaea
VS
25112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Fix emu on mipsel.
2514
2515 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
2516 =grub_cpu_flush_cache on all mips and not only yeeloong.
2517 * configure.ac (COND_mips): New conditional.
2518 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
2519 platforms.
2520 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2521 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2522 [GRUB_LINKER_HAVE_INIT]: New function.
2523 (grub_emu_post_init): Likewise.
2524 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2525 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2526 * include/grub/cache.h (_mips): Include mips/cache.h.
2527 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2528 LVM and RAID prototypes.
2529 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2530 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2531 function.
2532
5ed7d816
CW
25332010-09-10 Colin Watson <cjwatson@ubuntu.com>
2534
2535 * util/grub-install.in: Don't try to verify core.img until after
2536 running grub-mkimage to create it.
2537
90367e04
RM
25382010-09-10 Robert Millan <rmh@gnu.org>
2539
2540 * util/grub.d/10_hurd.in: Add misc readability checks.
2541 * util/grub.d/10_kfreebsd.in: Likewise.
2542 * util/grub.d/10_linux.in: Likewise.
2543
c452fa66
CW
25442010-09-10 Colin Watson <cjwatson@ubuntu.com>
2545
2546 * util/grub-install.in: ${imgext} won't be defined here until the
2547 install branch is merged. For the meantime, only verify core.img on
2548 i386-pc and sparc64-ieee1275 platforms.
2549
c38fe9f4
RM
25502010-09-10 Robert Millan <rmh@gnu.org>
2551
2552 Solaris support in grub_find_zpool_from_dir(). Thanks
2553 Seth Goldberg for referring to getextmntent() facility.
2554
2555 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2556 `sys/mkdev.h'.
2557 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2558 `<sys/mnttab.h>'.
2559 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2560 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2561 method for finding zpool name.
2562
905f7773
CW
25632010-09-10 Colin Watson <cjwatson@ubuntu.com>
2564
2565 grub-fstest needs the host and hostfs modules while other utilities
2566 actively require those modules to be absent, so grub-fstest needs
2567 its own initialisation and finalisation code.
2568
2569 * Makefile.am (grub_fstest.pp): New target.
2570 (grub_fstest_init.lst): Likewise.
2571 (grub_fstest_init.c): Likewise.
2572 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2573
fb90b546
RM
25742010-09-10 Robert Millan <rmh@gnu.org>
2575
2576 * configure.ac: Check for `struct statfs.f_fstypename' and
2577 `struct statfs.f_mntfromname'.
2578
2579 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2580 kFreeBSD-specific code.
2581
66d4bea5
RM
25822010-09-10 Robert Millan <rmh@gnu.org>
2583
2584 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2585 on ZFS. Now non-main filesystems are supported as / too.
2586
b6a690ee
CW
25872010-09-09 Colin Watson <cjwatson@ubuntu.com>
2588
2589 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2590 and grub-core/disk/host.c to ...
2591 (grub-fstest): ... here. Having the host disk implementation
2592 present confuses grub-probe and other utility programs.
2593
2594 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2595 when writing to a file, not when writing to stdout.
2596
8901b00c 25972010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2598
2599 * tests/partmap_test.in: New test for partitions.
2600 * Makefile.util.def: Rules for new test.
2601
7bf45fdd
RM
26022010-09-09 Robert Millan <rmh@gnu.org>
2603
2604 * util/grub-probe.c (probe): Fix a pair of unhandled error
2605 conditions.
2606
4dfbc574
RM
26072010-09-09 Robert Millan <rmh@gnu.org>
2608
2609 Basic Btrfs support (detection and UUID).
2610
2611 * grub-core/fs/btrfs.c: New file.
2612 * Makefile.util.def (library): Register btrfs.c.
2613 * grub-core/Makefile.core.def: Likewise.
2614
6b8e78ae
RM
26152010-09-08 Robert Millan <rmh@gnu.org>
2616
2617 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2618 with (optional) parameters to specify device and relative path.
2619 * util/grub-install.in: Use is_path_readable_by_grub() to
2620 verify readability of a few critical files.
2621 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2622 verify readability of grub.cfg.new.
2623
27f21a8b
VS
26242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 Split minix.mod into minix.mod and minix2.mod.
2627
2628 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2629 * grub-core/Makefile.core.def (minix2): New module.
2630 * grub-core/fs/minix.c: Use definitions instead of runtime version
2631 checking.
2632 * grub-core/fs/minix2.c: New file.
2633
c0e53ea5
YB
26342010-09-08 Yves Blusseau <blusseau@zetam.org>
2635
2636 Add new --boot-directory option to replace --root-directory
2637
2638 * util/grub-install.in: Add new --boot-directory option
2639 * util/grub-reboot.in: Likewise.
2640 * util/grub-set-default.in: Likewise.
2641
b9fe6ea2
YB
26422010-09-08 Yves Blusseau <blusseau@zetam.org>
2643
2644 * util/grub-mkconfig.in: Use new variable.
2645
d87aedff
YB
26462010-09-08 Yves Blusseau <blusseau@zetam.org>
2647
2648 * configure.ac: Define some useful variables.
2649
e55e8495
VS
26502010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2653 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2654 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2655 Use terminfo and don't use cursor-on/cursor-off unless it's known
2656 to work.
2657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2658 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2659
6fa6d675
CW
26602010-09-08 Colin Watson <cjwatson@ubuntu.com>
2661
2662 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2663 starts with "(,", fill the drive containing the loaded image in
2664 between those two characters, but expect that a full partition
2665 specification including partition map names will follow.
2666
92f2aef0
RM
26672010-09-08 Robert Millan <rmh@gnu.org>
2668
2669 * configure.ac: Remove `--enable-grub-fstest' option.
2670 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2671
2672 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2673 `grub-fstest' instead of `grub-probe' for readability verification.
2674 * util/grub-probe.c (probe): Remove readability verification kludge.
2675
99fd620d
RM
26762010-09-08 Robert Millan <rmh@gnu.org>
2677
2678 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2679 initializing `GRUB_FS'.
2680
058e30ac 26812010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2682
2683 Not command (!) support to GRUB script.
2684
2685 * tests/grub_script_not.in: New test.
2686 * Makefile.util.def: Rules for new test.
2687
2688 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2689 ! command as a special case.
2690 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2691
b61d05ed 26922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2693
058e30ac 2694 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2695 grub_free.
b61d05ed 2696
4d69c786 26972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2698
2699 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2700
aa3119c4 27012010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2702
2703 * docs/grub.texi (Shell-like scripting): Documentation for break,
2704 continue, shift and return commands.
2705
db0f7e3d
VS
27062010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 Rename CD-ROM to cd on BIOS.
2709
2710 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2711 "cd".
2712 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2713
88b87c93
VS
27142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2717 * util/grub-probe.c (main): Likewise.
2718 * util/i386/pc/grub-setup.c (main): Likewise.
2719 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2720 Reported and debugged by: alexxy
2721
294f324d
VS
27222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2725 diagnostic info.
2726
d7ee3441
JS
27272010-09-05 Jo Shields <directhex@apebox.org>
2728
2729 * util/grub.d/30_os-prober.in: Add missing classes.
2730
d7e06c1f
VS
27312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * docs/grub.texi (Theme file format): Document new position format.
2734
fc157e53
VS
27352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2738 a table. Use @code instead of @verbatim.
2739
506e9a1c
CB
27402010-09-05 Colin D Bennett <colin@gibibit.com>
2741
2742 Gfxmenu documentation.
2743
2744 * docs/grub.texi (Theme file format): New chapter.
2745
f0aff67c
SJ
27462010-09-05 Szymon Janc <szymon@janc.net.pl>
2747
2748 * grub-core/Makefile.core.def (xzio): New module.
2749 * grub-core/io/xzio.c: New file.
2750 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2751 * grub-core/lib/xzembed/xz_config.h: Likewise.
2752 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2753 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2754 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2755 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2756 * grub-core/lib/xzembed/xz_private.h: Likewise.
2757 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2758 * include/grub/file.h (grub_file_filter_id): New compression filter
2759 GRUB_FILE_FILTER_XZIO.
2760
82a85062
VS
27612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2764 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2765 size.
2766
3579415d
VS
27672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2770 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2771
5124ae6d
VS
27722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Uncompressed checksum support.
2775
2776 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2777 (check_list): New parameter uncompress.
2778 (grub_cmd_hashsum): Handle --uncompress.
2779
9aadb3d1
VS
27802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 Reintroduce testload.
2783
2784 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2785 from here ...
2786 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2787 (GRUB_MOD_INIT): New function.
2788 (GRUB_MOD_FINI): Likewise.
2789 * grub-core/Makefile.core.def (testload): New module.
2790
a17792c3
SJ
27912010-09-05 Szymon Janc <szymon@janc.net.pl>
2792
2793 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2794 (uint8_t): New type.
2795 (uint16_t): Likewise.
2796 (uint32_t): Likewise.
2797 (uint64_t): Likewise.
2798
b81e40a3
SJ
27992010-09-05 Szymon Janc <szymon@janc.net.pl>
2800
2801 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2802
fc2ef117
VS
28032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2806 Made static.
2807 (grub_gzfile_open): Removed. All users updated.
2808 (GRUB_MOD_INIT): New function.
2809 (GRUB_MOD_FINI): Likewise.
2810 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2811 (grub_file_filters_enabled): Likewise.
2812 (grub_file_open): Handle filters.
2813 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2814 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2815 * include/grub/file.h (grub_file_filter_id_t): New type.
2816 (grub_file_filter_t): Likewise.
2817 (grub_file_filters_all): New extern variable.
2818 (grub_file_filters_enabled): Likewise.
2819 (grub_file_filter_register): New inline function.
2820 (grub_file_filter_unregister): Likewise.
2821 (grub_file_filter_disable): Likewise.
2822 (grub_file_filter_disable_compression): Likewise.
2823 * include/grub/gzio.h: Removed.
2824
35ee15e0
BC
28252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2826
2827 Filename expansion support for wildcards in GRUB script.
2828
2829 * tests/grub_script_expansion.in: New test.
2830 * Makefile.util.def: Rule for new test.
2831
2832 * grub-core/commands/wildcard.c: New file, implements filename
2833 expansion support for GRUB script.
2834 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2835 * grub-core/script/argv.c: Cosmetic changes.
2836 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2837 Refactored to perform wildcard expansion on arguments.
2838 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2839 struct.
2840
2841 * tests/util/grub-shell.in: Fix quoting for read input.
2842
5f0c4aca
BC
28432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2844
2845 Support for updating environment variables with matched substrings
2846 of regexp.
2847
2848 * tests/grub_cmd_regexp.in: New test.
2849 * Makefile.util.def: Rule for new test.
2850
2851 * grub-core/commands/regexp.c: New option -s to update environment
2852 variables with regexp matches.
2853
3759a35f
SJ
28542010-09-04 Szymon Janc <szymon@janc.net.pl>
2855
2856 * include/grub/file.h (grub_file): New member not_easly_seekable.
2857 (grub_file_seekable): New inline function.
2858 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2859 easily seekable.
2860 (grub_gzio_open): Set not_easly_seekable.
2861 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2862 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2863
ed8c6dec
BC
28642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2865
2866 Support for options to appear multiple times on cmdline.
2867
2868 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2869 * grub-core/commands/extcmd.c: Support for repeatable option.
2870 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2871 repeatable option support.
2872
2873 Refactor menuentry into a regular command.
2874
2875 * grub-core/commands/menuentry.c: New file, menuentry command
2876 implementation.
2877 * grub-core/Makefile.core.def: Rule update for normal.mod.
2878 * grub-core/normal/main.c: Moved menuentry creation to
2879 grub-core/commands/menuentry.c.
2880 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2881 (grub_menu_execute_entry_real): Removed.
2882 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2883 function.
2884 (grub_script_execute_menuentry): Removed.
2885 * grub-core/script/parser.y (menuentry): Removed.
2886 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2887 * grub-core/script/yylex.l (menuentry): Removed.
2888 * include/grub/menu.h (grub_menu_init): New prototype.
2889 (grub_menu_fini): New prototype.
2890 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2891 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2892 (grub_script_execute_sourcecode): New prototype.
2893
dacd0cf0
BC
28942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2895
2896 "return" command for GRUB script functions.
2897
2898 * tests/grub_script_return.in: New test.
2899 * Makefile.util.def: Rules for new test.
2900
2901 * grub-core/script/execute.c (grub_script_return): New function.
2902 * grub-core/script/main.c: Register/unregister return commaond.
2903 * include/grub/script_sh.h (grub_script_return): New prototype.
2904
52e72f9d
BC
29052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2906
2907 "setparams" command to update positional parameters.
2908
2909 * tests/grub_script_setparams.in: New test.
2910 * Makefile.util.def: Rules for new test.
2911
2912 * grub-core/script/argv.c (grub_script_argv_make): New function.
2913 * grub-core/script/execute.c (replace_scope): New function.
2914 (grub_script_setparams): New function.
2915 * grub-core/script/lexer.c: Remove unused variables.
2916 * grub-core/script/main.c: Register/unregister setparams command.
2917 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2918 (grub_script_setparams): New prototype.
2919
25b60c91
BC
29202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2921
2922 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2923 grub_free order.
2924
37e7bf68
BC
29252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2926
2927 Support for passing block of commands as an argument to extcmds.
2928
2929 * Makefile.util.def: Rules for new test.
2930 * tests/grub_script_blockarg.in: New test.
2931 * grub-core/tests/test_blockarg.c: New file, block argument
2932 command used in the test.
2933
2934 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2935 (grub_register_extcmd_prio): New function prototype.
2936 (grub_extcmd_dispatcher): New function prototype.
2937 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2938 type.
2939 * include/grub/script_sh.h (struct grub_script): New members
2940 `children', `next_siblings' and `refcnt' for block arguments and
2941 reference counting.
2942 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2943 (grub_script_arg): New member `script' for block argument.
2944 (grub_script_argv): New member `script' for block argument.
2945 (grub_parser_param): New member `scripts' for block argument.
2946 (grub_script_mem_free): New extern function prototype.
2947 (grub_script_ref): New function prototype.
2948 (grub_script_unref): New function prototype.
2949
2950 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2951 extcmd form to support block arguments.
2952 * grub-core/script/argv.c: Block arguments support.
2953 * grub-core/script/execute.c: Likewise.
2954 * grub-core/script/lexer.c: Likewise.
2955 * grub-core/script/main.c: Likewise.
2956 * grub-core/script/script.c: Likewise.
2957 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2958 non-terminals.
2959
2960 * grub-core/commands/acpi.c: Update extcmd implementations with
2961 grub_extcmd_context_t.
2962 * grub-core/commands/cat.c: Likewise.
2963 * grub-core/commands/echo.c: Likewise.
2964 * grub-core/commands/extcmd.c: Likewise.
2965 * grub-core/commands/hashsum.c: Likewise.
2966 * grub-core/commands/hdparm.c: Likewise.
2967 * grub-core/commands/help.c: Likewise.
2968 * grub-core/commands/hexdump.c: Likewise.
2969 * grub-core/commands/i386/cpuid.c: Likewise.
2970 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2971 * grub-core/commands/i386/pc/halt.c: Likewise.
2972 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2973 * grub-core/commands/iorw.c: Likewise.
2974 * grub-core/commands/keystatus.c: Likewise.
2975 * grub-core/commands/loadenv.c: Likewise.
2976 * grub-core/commands/ls.c: Likewise.
2977 * grub-core/commands/lspci.c: Likewise.
2978 * grub-core/commands/memrw.c: Likewise.
2979 * grub-core/commands/probe.c: Likewise.
2980 * grub-core/commands/search_wrap.c: Likewise.
2981 * grub-core/commands/setpci.c: Likewise.
2982 * grub-core/commands/sleep.c: Likewise.
2983 * grub-core/disk/loopback.c: Likewise.
2984 * grub-core/hello/hello.c: Likewise.
2985 * grub-core/loader/i386/bsd.c: Likewise.
2986 * grub-core/loader/xnu.c: Likewise.
2987 * grub-core/term/gfxterm.c: Likewise.
2988 * grub-core/term/serial.c: Likewise.
2989 * grub-core/tests/lib/functional_test.c: Likewise.
2990
888d1500
BC
29912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2992
2993 Multi-line quoted strings support.
2994
2995 * grub-core/script/lexer.c (append_newline): Removed.
2996 (grub_script_lexer_yywrap): Refactored.
2997 (grub_script_lexer_init): Refactored.
2998 * grub-core/script/yylex.l (yywrap): New function.
2999 (grub_lexer_resplit): New function.
3000 (grub_lexer_unput): New function.
3001 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3002 and resplit.
3003 * tests/grub_script_echo1.in: Added few more testcases.
3004
dda060dd
VS
30052010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/kern/misc.c: Don't add abort alias in utils.
3008 Reported by: echoline.
3009
6556eba9
BC
30102010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3011
3012 Add missing files into "make dist" tarball for other platforms.
3013
3014 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3015 * conf/Makefile.common (dist_noinst_DATA): New variable.
3016 * conf/Makefile.extra-dist: Added missing make dist files.
3017 * grub-core/Makefile.core.def: Likewise.
3018
c8e7bf5f
VS
30192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 Compress grub_prefix.
3022
3023 * grub-core/boot/i386/pc/lnxboot.S: Use
3024 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3025 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3026 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3027 GRUB_MACHINE_PREFIX_END. All users updated.
3028 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3029 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3030 + 0x40.
3031 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3032 * util/grub-mkimage.c (image_target_desc): Change data_end to
3033 prefix_end. All users updated.
3034
a7c00cdb
VS
30352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3038 value.
3039 (grub_openbsd_boot): Likewise.
3040 (grub_netbsd_boot): Likewise.
3041 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3042 (grub_xnu_boot): Likewise.
3043
9f915872
VS
30442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * configure.ac: Clean LIBS variable after tests.
3047
efa1bee7
CW
30482010-09-02 Colin Watson <cjwatson@ubuntu.com>
3049
3050 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3051
61d720e5
VS
30522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3055 echo if libdevmapper will be used.
3056
ef8e0ec8
IT
30572010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3058
3059 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3060 constant for the same file.
3061
03e261d8
VS
30622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3065
c2a4eba6
CW
30662010-09-02 Colin Watson <cjwatson@ubuntu.com>
3067
3068 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3069 grub-core/*.pp.
3070
9056cbf3
CW
30712010-09-02 Colin Watson <cjwatson@ubuntu.com>
3072
3073 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3074 required by the boot protocol.
3075
3076 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3077 ebp and edi members.
3078 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3079 state.ebp and state.edi.
3080 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3081 %ebp and %edi according to grub_relocator32_ebp and
3082 grub_relocator32_edi respectively.
3083 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3084 and state.edi.
3085
529cc99a
VS
30862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Add i386-pc-pxe image target.
3089
3090 * util/grub-mkimage.c (image_target_desc): New enum value
3091 IMAGE_I386_PC_PXE.
3092 (image_targets): New target i386-pc-pxe.
3093 (generate_image): Handle i386-pc-pxe image.
3094
9a093920
VS
30952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Fix grub_pxe_scan.
3098
3099 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
3100 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
3101 All users updated.
3102 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
3103 (grub_pxe_pxenv): Correct type.
3104
f9cefc4e
CW
31052010-09-01 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * NEWS: Document most of the important changes since 1.98.
3108
4066f57f
CW
31092010-09-01 Colin Watson <cjwatson@ubuntu.com>
3110
3111 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
3112 generated manual page) a little.
3113
da2891f9
CW
31142010-09-01 Colin Watson <cjwatson@ubuntu.com>
3115
3116 * docs/grub.texi: Add myself as an author.
3117
ad717fae
VS
31182010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * Makefile.util.def (libgrub.a): Add missing sunpc.
3121 Reported by: Seth Goldberg.
3122
eefe8abd
VS
31232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Interrupt wrapping and code simplifications.
3126
9494ef9a
VS
3127 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
3128 x86_noieee1275 which are functionaly equivalent in this case.
3129 (grub-install): Make source on each platform explicit. Enable on
3130 all noemu.
3131 * gentpl.py (x86_efi_pc): Removed group.
3132 (x86_noefi): Likewise.
3133 (i386_noefi): Likewise.
3134 (x86_noieee1275): Likewise.
3135 (i386_noieee1275): Likewise.
3136 (i386_noefi_noieee1275): Likewise.
3137 (i386_pc_qemu_coreboot): Likewise.
3138 (i386_coreboot_multiboot): Likewise.
3139 (i386_pc_coreboot_multiboot_qemu): Likewise.
3140 (x86_noefi_mips): Likewise.
3141 (noieee1275): Likewise.
3142 (ieee1275_mips): Likewise.
3143 (noemu_noieee1275): Likewise.
3144 (cmos): New group.
3145 (usb): Likewise.
3146 (videoinkernel): Likewise.
3147 (videomodules): Likewise.
eefe8abd 3148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
3149 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
3150 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
3151 include/grub/loader.h, include/grub/msdos_partition.h,
3152 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
3153 include/grub/machine/console.h, include/grub/machine/vga.h,
3154 include/grub/machine/vbe.h, include/grub/machine/init.h,
3155 include/grub/machine/kernel.h, include/grub/cpu/time.h,
3156 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 3157 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
3158 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
3159 * grub-core/Makefile.core.def (kernel): Explicit the source for
3160 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
3161 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
3162 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
3163 Use videoinkernel tag.
3164 (usb): Enable on all usb.
3165 (usbserial_common): Likewise.
3166 (usbserial_pl2303): Likewise.
3167 (usbserial_ftdi): Likewise.
3168 (uhci): Enable on all x86.
3169 (ohci): Enable on all pci.
3170 (cmostest): Enable on all CMOS.
3171 (acpi): Include commands/acpi.c on all platforms.
3172 (halt): Add relevant lib/*/halt.c.
3173 (hdparm): Enable on all pci.
3174 (lspci): Likewise.
3175 (usbtest): Enable on all usb.
3176 (ata): Enable on all pci.
3177 (ata_pthru): Likewise.
3178 (usbms): Enable on all usb.
3179 (usb_keyboard): Likewise.
3180 (font): Use tag videomodules.
3181 (bufio): Likewise.
3182 (datetime): Use tag cmos. Enable on all noemu.
3183 (mmap): Use tags common and x86.
3184 (gfxterm): Use tag videomodules.
3185 (bitmap): Likewise.
3186 (bitmap_scale): Likewise.
3187 (video_fb): Likewise.
3188 (video): Likewise.
3189 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
3190 adjust padding accordingly. All users updated.
3191 (grub_ohci_transaction): Fix bad format specification.
3192 (GRUB_MOD_INIT): Add asserts for struct size.
3193 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
3194 (grub_alloc_td): Likewise.
3195 (grub_free_queue): Likewise.
3196 (grub_uhci_transfer): Likewise.
3197 (grub_uhci_transaction): Fix bad format specification.
3198 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3199 (grub_usb_bulk_readwrite): Likewise.
3200 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
3201 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
3202 Made static.
3203 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
3204 Made static.
3205 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
3206 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
3207 Transformed into C.
3208 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
3209 Moved from here ...
3210 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
3211 ... here. Transformed into C. Made static.
3212 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
3213 Moved from here ...
3214 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
3215 ... here. Transformed into C. Made static.
3216 * grub-core/kern/i386/pc/startup.S
3217 (grub_biosdisk_check_int13_extensions): Moved from here ...
3218 * grub-core/disk/i386/pc/biosdisk.c
3219 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3220 Made static.
3221 * grub-core/kern/i386/pc/startup.S
3222 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3223 * grub-core/disk/i386/pc/biosdisk.c
3224 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3225 Transformed into C. Made static.
3226 * grub-core/kern/i386/pc/startup.S
3227 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3228 * grub-core/disk/i386/pc/biosdisk.c
3229 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3230 Transformed into C. Made static.
3231 * grub-core/kern/i386/pc/startup.S
3232 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3233 * grub-core/disk/i386/pc/biosdisk.c
3234 (grub_biosdisk_get_diskinfo_standard): ... here.
3235 Transformed into C. Made static.
3236 * grub-core/kern/i386/pc/startup.S
3237 (grub_biosdisk_get_num_floppies): Moved from here ...
3238 * grub-core/disk/i386/pc/biosdisk.c
3239 (grub_biosdisk_get_num_floppies): ... here.
3240 Transformed into C. Made static.
3241 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3242 New function.
3243 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3244 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3245 Transformed into C. Made static.
3246 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3247 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3248 Transformed into C. Made static.
3249 * grub-core/kern/i386/ieee1275/init.c: Removed.
3250 * grub-core/kern/i386/misc.S: Likewise.
3251 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3252 Splitted from here ...
3253 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3254 Transformed into C. Made static. All users updated.
3255 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3256 Transformed into C. Made static. All users updated.
3257 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3258 Moved from here...
3259 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3260 Transformed into C. Made static. All users updated.
3261 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3262 Moved from here...
3263 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3264 Transformed into C. Made static. All users updated.
3265 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3266 Removed (replaced by C version).
3267 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3268 Moved from here...
3269 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3270 Transformed into C. Made static.
3271 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3272 Moved from here...
3273 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3274 ... here. Transformed into C.
3275 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3276 Moved from here...
3277 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3278 ... here. Transformed into C.
3279 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3280 Moved from here...
3281 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3282 ... here. Transformed into C. Made static.
3283 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3284 Moved from here...
3285 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3286 ... here. Transformed into C.
21ed554b
VS
3287 * grub-core/kern/i386/pc/startup.S
3288 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3289 * grub-core/video/i386/pc/vbe.c
3290 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3291 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3292 Moved from here...
3293 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3294 ... here. Transformed into C.
3295 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3296 Moved from here...
3297 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3298 ... here. Transformed into C.
3299 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3300 Moved from here...
3301 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3302 ... here. Transformed into C.
3303 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3304 Moved from here...
3305 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3306 ... here. Transformed into C.
3307 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3308 Moved from here...
3309 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3310 ... here. Transformed into C. Made static.
3311 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3312 Moved from here...
3313 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3314 ... here. Transformed into C. Made static.
3315 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3316 Moved from here...
3317 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3318 ... here. Transformed into C. Made static.
3319 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3320 pxe_rm_entry as third argument.
3321 (grub_bios_interrupt): New function.
3322 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3323 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3324 of calling grub_stop.
3325 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3326 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3327 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3328 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3329 * grub-core/lib/i386/halt.c: Moved from here ...
3330 * grub-core/lib/i386/halt.c: ... here.
3331 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3332 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3333 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3334 grub_stop_floppy.
3335 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3336 * include/grub/i386/coreboot/init.h: Removed.
3337 * include/grub/i386/multiboot/init.h: Likewise.
3338 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3339 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3340 * include/grub/i386/pc/int.h: New file.
3341 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3342 (grub_pxe_scan): Removed.
3343 (grub_pxe_call): Update prototype.
3344 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3345 prototypes.
3346 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3347 * include/grub/i386/qemu/init.h: Removed.
3348 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3349 noreturn.
3350 (grub_halt): Likewise.
3351 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3352 (grub_reboot): Likewise.
3353 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3354 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3355 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3356
215dd471
RM
33572010-08-30 Robert Millan <rmh@gnu.org>
3358
3359 * NEWS: Document addition of ZFS support in `grub-install' and
3360 `grub-mkconfig'.
3361
ebd65b82
BC
33622010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3363
3364 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3365 dprintf output.
3366
11721d19
VS
33672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 Remove leftover embedding of font objects.
3370
3371 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3372 * util/grub-install.in (font): Removed.
3373 * util/grub-mkimage.c (generate_image): Remove font support. All users
3374 updated.
3375
37837d4e
VS
33762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Remove leftover embedding of font objects.
3379
3380 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3381 * util/grub-install.in (font): Removed.
3382 * util/grub-mkimage.c (generate_image): Remove font support. All users
3383 updated.
3384
b4c1aae0
VS
33852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3388 Reported by: Ian Turner
b4c1aae0 3389
8920a08d
VS
33902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3393 timeout to avoid indefinite boot stalling.
3394
f21db033
VS
33952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3398 (grub_env_write_color_highlight): Likewise.
3399
9a9de209
VS
34002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/normal/term.c (print_more): Return to normal and not
3403 to standard state after printing "---MORE---".
3404
3dca01d7
VS
34052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3408 Mask out the bit 0x80 since it has other meaning that specifiing color.
3409
0b986c40
VS
34102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 New relocator. Allows for more kernel support and more straightforward
3413 loader writing.
3414
3415 * Makefile.am (BOOTTARGET): New variable.
3416 (QEMU32): Likewise.
3417 (linux.init.x86_64): New target.
3418 (linux.init.i386): Likewise.
3419 (multiboot.elf): Likewise.
3420 (kfreebsd.elf): Likewise.
3421 (kfreebsd.aout): Likewise.
3422 (pc-chainloader.elf): Likewise.
3423 (pc-chainloader.bin): Likewise.
3424 (ntldr.elf): Likewise.
3425 (ntldr.bin): Likewise.
3426 (multiboot2.elf): Likewise.
3427 (kfreebsd.init.x86_64): Likewise.
3428 (kfreebsd.init.i386): Likewise.
3429 (knetbsd.init.i386): Likewise.
3430 (kopenbsd.init.i386): Likewise.
3431 (knetbsd.init.x86_64): Likewise.
3432 (kopenbsd.init.x86_64): Likewise.
3433 (linux-initramfs.i386): Likewise.
3434 (linux-initramfs.x86_64): Likewise.
3435 (kfreebsd-mfsroot.i386.img): Likewise.
3436 (knetbsd.image.i386): Likewise.
3437 (kopenbsd.image.i386): Likewise.
3438 (kopenbsd.image.x86_64): Likewise.
3439 (knetbsd.miniroot-image.i386.img): Likewise.
3440 (kfreebsd-mfsroot.x86_64.img): Likewise.
3441 (knetbsd.image.x86_64): Likewise.
3442 (knetbsd.miniroot-image.x86_64.img): Likewise.
3443 (kfreebsd-mfsroot.i386.gz): Likewise.
3444 (bootcheck-kfreebsd-i386): Likewise.
3445 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3446 (bootcheck-kfreebsd-x86_64): Likewise.
3447 (knetbsd.miniroot-image.i386.gz): Likewise.
3448 (bootcheck-knetbsd-i386): Likewise.
3449 (bootcheck-kopenbsd-i386): Likewise.
3450 (bootcheck-kopenbsd-x86_64): Likewise.
3451 (knetbsd.miniroot-image.x86_64.gz): Likewise.
3452 (bootcheck-knetbsd-x86_64): Likewise.
3453 (bootcheck-linux-i386): Likewise.
3454 (bootcheck-linux-x86_64): Likewise.
3455 (bootcheck-linux16-i386): Likewise.
3456 (bootcheck-linux16-x86_64): Likewise.
3457 (bootcheck-multiboot): Likewise.
3458 (bootcheck-multiboot2): Likewise.
3459 (bootcheck-kfreebsd-aout): Likewise.
3460 (bootcheck-pc-chainloader): Likewise.
3461 (bootcheck-ntldr): Likewise.
3462 (CLEANFILES): Add new targets.
3463 (BOOTCHECKS): New variable.
3464 (.PHONY): Add bootchecks.
3465 (SUCCESSFUL_BOOT_STRING): New variable.
3466 (BOOTCHECK_TIMEOUT): Likewise.
3467 (bootcheck): New target
3468 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
3469 * configure.ac: Correct efiemu excuse.
3470 * docs/grub.texi (Supported kernels): New chapter.
3471 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
3472 include/grub/mm_private.h. Simplify inclusion of
3473 include/grub/boot.h, include/grub/loader.h
3474 and include/grub/msdos_partition.h
3475 (KERNEL_HEADER_FILES) [i386_coreboot]:
3476 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
3477 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
3478 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
3479 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
3480 include/grub/machine/loader.h.
3481 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
3482 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
3483 extra_dist.
3484 (pci.mod): Enable on i386-multiboot.
3485 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
3486 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
3487 i386-qemu.
3488 (relocator.mod): Rewritten.
3489 (aout.mod): Enable on all x86.
3490 (bsd.mod): Likewise.
3491 (ntldr.mod): New module.
3492 (linux.mod): Use loader/i386/linux.c on all x86.
3493 (xnu.mod): Enable on all x86.
3494 (vga_text.mod): disable on EFI and QEMU.
3495 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
3496 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
3497 * grub-core/efiemu/loadcore.c: Likewise.
3498 * grub-core/efiemu/main.c: Likewise.
3499 (grub_efiemu_exit_boot_services): Removed.
3500 (grub_efiemu_finish_boot_services): Likewise.
3501 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
3502 function.
3503 * grub-core/efiemu/i386/nocfgtables.c: New file.
3504 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
3505 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
3506 (grub_efi_finish_boot_services): Moved from here ...
3507 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
3508 Fille finish memory map and related data.
3509 (finish_mmap_buf): New variable.
3510 (grub_efi_uintn_t finish_mmap_size): Likewise.
3511 (grub_efi_uintn_t finish_key): Likewise.
3512 (grub_efi_uintn_t finish_desc_size): Likewise.
3513 (grub_efi_uint32_t finish_desc_version): Likewise.
3514 (grub_efi_is_finished): Likewise.
3515 (grub_efi_get_memory_map): Use saved memory map if EFI is already
3516 finished.
3517 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
3518 (grub_elf64_phdr_iterate): Likewise.
3519 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3520 (grub_os_area_size): Likewise.
3521 (grub_machine_init): Don't reserve os area.
3522 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3523 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3524 * grub-core/kern/i386/loader.S: Removed.
3525 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3526 (grub_os_area_size): Likewise.
3527 (grub_machine_init): Don't reserve os area.
3528 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3529 Don't call grub_dl_unload_all.
3530 Don't include loader.S.
3531 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3532 Declare the memory after _end as available.
3533 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3534 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3535 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3536 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3537 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3538 * include/grub/mm_private.h (grub_mm_header): ... here.
3539 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3540 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3541 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3542 (grub_mm_region): ..here. Removed addr. Added pre_size.
3543 All users updated.
3544 * grub-core/kern/mm.c (base): Renamed to ...
3545 (grub_mm_base): ... this. Made global.
3546 (grub_real_malloc): Alloc from end of region.
3547 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3548 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3549 * grub-core/kern/powerpc/cache_flush.S: ... here.
3550 * grub-core/lib/efi/relocator.c: New file.
3551 * grub-core/lib/i386/relocator.c: Rewritten.
3552 * grub-core/lib/i386/relocator16.S: New file.
3553 * grub-core/lib/i386/relocator32.S: Likewise.
3554 * grub-core/lib/i386/relocator64.S: Likewise.
3555 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3556 * grub-core/lib/i386/relocator_common.S: New file.
3557 * grub-core/lib/ieee1275/relocator.c: Likewise.
3558 * grub-core/lib/mips/relocator.c: Rewritten.
3559 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3560 stylistic adjustments.
3561 * grub-core/lib/powerpc/relocator.c: New file.
3562 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3563 * grub-core/lib/relocator.c: Rewritten.
3564 * grub-core/lib/x86_64/relocator_asm.S: New file.
3565 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3566 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3567 (bsd_tag): New struct.
3568 (tags): New variable.
3569 (tags_last): Likewise.
3570 (netbsd_module): New struct.
3571 (netbsd_mods): New variable.
3572 (netbsd_mods_last): Likewise.
3573 (openbsd_opts): New parameter "serial".
3574 (OPENBSD_SERIAL_ARG): New definition.
3575 (netbsd_opts): New parameter "serial".
3576 (NETBSD_SERIAL_ARG): New definition.
3577 (grub_freebsd_add_meta): Reorganised into ...
3578 (grub_bsd_add_meta): ...this. All users updated.
3579 (grub_freebsd_add_mmap): Reorganised into ...
3580 (generate_e820_mmap): ...this...
3581 (grub_bsd_add_mmap): ...and this. All users updated.
3582 (grub_freebsd_list_modules): Use tags.
3583 (grub_netbsd_add_meta_module): New function.
3584 (grub_netbsd_list_modules): Likewise.
3585 (grub_freebsd_boot): Use relocator and finish EFI.
3586 (grub_openbsd_boot): Likewise.
3587 (grub_netbsd_setup_video): New function.
3588 (grub_netbsd_add_modules): Likewise.
3589 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3590 and finish EFI.
3591 (grub_bsd_unload): Unload tags.
3592 (grub_bsd_load_aout): Use relocator.
3593 (grub_bsd_elf32_size_hook): New function.
3594 (grub_bsd_elf32_hook): Use relocator.
3595 (grub_bsd_elf64_size_hook): New function.
3596 (grub_bsd_elf64_hook): Use relocator.
3597 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3598 (grub_bsd_load): Zero-out openbsd_ramdisk.
3599 (grub_bsd_load): Use relocator.
3600 (grub_cmd_openbsd): Support serial.
3601 (grub_cmd_netbsd): Support modules.
3602 (grub_cmd_freebsd_module): Use relocator.
3603 (grub_netbsd_module_load): New function.
3604 (grub_cmd_netbsd_module): Likewise.
3605 (grub_cmd_openbsd_ramdisk): Likewise.
3606 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3607 kopenbsd_ramdisk.
3608 (GRUB_MOD_FINI): Unregister new commands.
3609 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3610 (grub_freebsd_load_elfmodule_obj): Use relocator.
3611 (grub_freebsd_load_elfmodule): Likewise.
3612 (grub_freebsd_load_elf_meta): Likewise.
3613 (grub_netbsd_load_elf_meta): New function.
3614 (grub_openbsd_find_ramdisk): Likewise.
3615 * grub-core/loader/i386/bsd_helper.S: Removed.
3616 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3617 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3618 * grub-core/loader/i386/efi/linux.c: Likewise.
3619 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3620 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3621 (DEFAULT_VIDEO_MODE): Likewise.
3622 (real_mode_target): New variable.
3623 (prot_mode_target): Likewise.
3624 (initrd_mem_target): Likewise.
3625 (relocator): Likewise.
3626 (efi_mmap_buf): Likewise.
3627 (efi_mmap_size): Likewise.
3628 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3629 (free_pages): Use relocator.
3630 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3631 (grub_linux_setup_video): Return error.
3632 (grub_linux_trampoline_start): Removed.
3633 (grub_linux_trampoline_end): Likewise.
3634 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3635 andd video parameters depending on firmware.
3636 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3637 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3638 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3639 (grub_cmd_initrd): Use relocator.
3640 * grub-core/loader/i386/linux_trampoline.S: Removed.
3641 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3642 (elf_sec_entsize): Likewise.
3643 (elf_sec_shstrndx): Likewise.
3644 (elf_sections): Likewise.
3645 (grub_multiboot_load): Use relocator.
3646 (grub_multiboot_get_mbi_size): Account for sections.
3647 (grub_multiboot_make_mbi): Use relocator and support sections.
3648 (grub_multiboot_add_elfsyms): New function.
3649 (grub_multiboot_free_mbi): Free sections.
3650 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3651 (grub_linux_real_target): Likewise.
3652 (grub_linux_real_chunk): Likewise.
3653 (grub_linux16_prot_size): Likewise.
3654 (grub_linux16_boot): Use relocator.
3655 (grub_linux_unload): Unload relocator.
3656 (grub_cmd_linux): Use relocator.
3657 (grub_cmd_initrd): Likewise.
3658 * grub-core/loader/i386/pc/ntldr.c: New file.
3659 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3660 Don't try to guess CPU frequency.
3661 (grub_xnu_set_video): Stretch bitmap.
3662 (grub_xnu_boot): Use relocator.
3663 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3664 (grub_linux_unload): Free relocator.
3665 (grub_linux_load32): Use relocator.
3666 (grub_linux_load64): Likewise.
3667 (grub_cmd_initrd): Likewise.
3668 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3669 (grub_multiboot_unload): Unload relocator.
3670 (grub_cmd_multiboot): Use relocator.
3671 (grub_cmd_module): Likewise.
3672 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3673 Use relocator and support sections.
3674 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3675 (elf_sec_entsize): Likewise.
3676 (elf_sec_shstrndx): Likewise.
3677 (elf_sections): Likewise.
3678 (grub_multiboot_load): Use relocator.
3679 (grub_multiboot_get_mbi_size): Account for sections.
3680 (grub_multiboot_make_mbi): Use relocator and support sections.
3681 (grub_multiboot_add_elfsyms): New function.
3682 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3683 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3684 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3685 Prototype changed. All users updated.
3686 (grub_xnu_align_heap): Simplified.
3687 (grub_xnu_writetree_toheap): Likewise.
3688 (grub_xnu_unload): Unload relocator.
3689 (grub_cmd_xnu_kernel): Use relocator.
3690 (grub_cmd_xnu_kernel64): Likewise.
3691 (grub_xnu_register_memory): Simplified.
3692 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3693 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3694 EFI is finished.
3695 (grub_console_checkkey): Likewise.
3696 (grub_console_getkey): Likewise.
3697 (grub_console_getwh): Likewise.
3698 (grub_console_getxy): Likewise.
3699 (grub_console_gotoxy): Likewise.
3700 (grub_console_cls): Likewise.
3701 (grub_console_setcolorstate): Likewise.
3702 (grub_console_setcursor): Likewise.
3703 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3704 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3705 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3706 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3707 * grub-core/tests/boot/kernel-8086.S: Likewise.
3708 * grub-core/tests/boot/kernel-i386.S: Likewise.
3709 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3710 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3711 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3712 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3713 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3714 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3715 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3716 * grub-core/tests/boot/linux.cfg: Likewise.
3717 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3718 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3719 * grub-core/tests/boot/linux16.cfg: Likewise.
3720 * grub-core/tests/boot/multiboot.cfg: Likewise.
3721 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3722 * grub-core/tests/boot/ntldr.cfg: Likewise.
3723 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3724 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3725 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3726 New definition.
3727 * include/grub/dl.h (grub_dl_unload_all): Removed.
3728 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3729 (grub_efi_finish_boot_services): Change prototype.
3730 (grub_efi_is_finished): New variable.
3731 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3732 Changed prototype.
3733 (grub_efiemu_finish_boot_services): Removed.
3734 (grub_machine_efiemu_init_tables): New prototype.
3735 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3736 (grub_elf64_phdr_iterate): Likewise.
3737 * include/grub/i386/bsd.h: Include relocator.h.
3738 (freebsd_tag_header): New struct.
3739 (grub_openbsd_bios_mmap): Removed.
3740 (grub_unix_real_boot): Removed.
3741 (grub_freebsd_load_elfmodule32): Changed prototype.
3742 (grub_freebsd_load_elfmodule_obj64): Likewise.
3743 (grub_freebsd_load_elf_meta32): Likewise.
3744 (grub_freebsd_load_elf_meta64): Likewise.
3745 (grub_freebsd_add_meta): Removed.
3746 (grub_netbsd_load_elf_meta32): New prototype.
3747 (grub_netbsd_load_elf_meta64): Likewise.
3748 (grub_bsd_add_meta): Likewise.
3749 (grub_openbsd_ramdisk_descriptor): New struct.
3750 (grub_openbsd_find_ramdisk32): New prototype.
3751 (grub_openbsd_find_ramdisk64): Likewise.
3752 * include/grub/i386/coreboot/loader.h: Removed.
3753 * include/grub/i386/efi/loader.h: Likewise.
3754 * include/grub/i386/ieee1275/loader.h: Likewise.
3755 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3756 to grub_uint32_t.
3757 * include/grub/i386/loader.h: Removed.
3758 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3759 value.
3760 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3761 (grub_phys_addr_t): New type.
3762 (grub_vtop): New inline function.
3763 (grub_map_memory): Likewise.
3764 (grub_unmap_memory): Likewise.
3765 * include/grub/i386/multiboot/loader.h: Removed.
3766 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3767 (NETBSD_BTINFO_CONSOLE): New definition.
3768 (NETBSD_BTINFO_SYMTAB): Likewise.
3769 (NETBSD_BTINFO_MODULES): Likewise.
3770 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3771 (grub_netbsd_bootinfo): New struct.
3772 (grub_netbsd_btinfo_common): Use explicit bitsize.
3773 (grub_netbsd_btinfo_mmap_entry): Removed.
3774 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3775 (grub_netbsd_btinfo_bootdisk): New struct.
3776 (grub_netbsd_btinfo_symtab): Likewise.
3777 (grub_netbsd_btinfo_serial): Likewise.
3778 (grub_netbsd_btinfo_modules): Likewise.
3779 (grub_netbsd_btinfo_framebuf): Likewise.
3780 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3781 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3782 Likewise.
3783 (grub_openbsd_bootargs): Use explicit bitsize.
3784 (grub_openbsd_bootarg_console): New struct.
3785 (GRUB_OPENBSD_COM_MAJOR): New definition.
3786 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3787 * include/grub/i386/pc/efiemu.h: Removed.
3788 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3789 * include/grub/i386/qemu/loader.h: Removed.
3790 * include/grub/i386/relocator.h: Rewritten.
3791 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3792 * include/grub/mips/memory.h: New file.
3793 * include/grub/mips/multiboot.h: Rewritten.
3794 * include/grub/mips/relocator.h: Rewritten.
3795 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3796 (grub_vtop): New function.
3797 (grub_map_memory): Likewise.
3798 (grub_unmap_memory): Likewise.
3799 * include/grub/misc.h (ALIGN_DOWN): New definition.
3800 * include/grub/mm.h (grub_mm_check_real): New proto.
3801 (GRUB_MM_CHECK): New definition.
3802 * include/grub/mm_private.h: New file.
3803 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3804 (grub_multiboot_get_mbi_size): Removed.
3805 (grub_multiboot_make_mbi): Change prottype.
3806 (grub_multiboot_set_accepts_video): New proto.
3807 (grub_multiboot_add_elfsyms): Likewise.
3808 (grub_multiboot_payload_eip): New variable.
3809 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3810 New prototype.
3811 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3812 New definition.
3813 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3814 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3815 * include/grub/powerpc/ieee1275/loader.h: Removed.
3816 * include/grub/powerpc/memory.h: New file.
3817 * include/grub/powerpc/relocator.h: Likewise.
3818 * include/grub/relocator.h: Likewise.
3819 * include/grub/relocator_private.h: Likewise.
3820 * include/grub/sparc64/ieee1275/loader.h: Removed.
3821 * include/grub/x86_64/memory.h: New file.
3822 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3823 (grub_xnu_heap_malloc): Likewise.
3824 (grub_xnu_heap_real_start): Removed.
3825 (grub_xnu_heap_start): Likewise.
3826 (grub_xnu_relocator): New variable.
3827 (grub_xnu_heap_target_start): Likewise.
3828 * tests/util/grub-shell.in: Support non-pc.
3829 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3830
5303b85d
VS
38312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3834 on malloc error.
3835 (grub_bidi_logical_to_visual): Check that malloc succeded.
3836 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3837 puts.
3838 (grub_xputs_normal): Likewise.
3839
d768d159
VS
38402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3843 extra_dist.
3844
38452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3848
5bf84df4
VS
38492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3852
3626810e
VS
38532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3856 dprintf.
3857
a7363f53
BC
38582010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3859
3860 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3861
902f75f6
VS
38622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/normal/term.c (print_more): Fix a memory leak.
3865 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3866 (grub_xputs_normal): Likewise.
3867
3c707967
VS
38682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3871 the begining of the string
3872
2053cc07
VS
38732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/script/script.c (grub_script_parse): Free parsed on
3876 failure.
3877
46422ebf
VS
38782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3881 on failure.
3882
9e0fa3f6
VS
38832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3886 return.
3887
3393cf16
VS
38882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3891 (scroll_up): Fix a memory leak.
3892
b17540cb
VS
38932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3896 errors.
3897
67140446
VS
38982010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 Handle USB pendrives exposed as floppies.
3901
3902 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3903 floppy.
3904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3905 Check for partitions on all devices.
3906
e35e46fc
VS
39072010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3910 (readkey): Likewise.
3911
d24c6190
BC
39122010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3913
3914 Multiple variable names support to "export" command.
3915
3916 * normal/context.c (grub_cmd_export): "export" command supports
3917 multiple variable names.
3918
04ddcc6a
ST
39192010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3920
3921 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3922 --target=drive output to Mach device name.
3923
0c8b61d8
BC
39242010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3925
3926 New Automake based build system for GRUB.
3927
3928 * ABOUT-NLS: New file.
3929 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3930 in Makefile.util.def file.
3931 * Makefile.util.def: New file. Autogen build definitions file for
3932 GRUB host utils.
3933 * conf/Makefile.common: New file. Common variables for GRUB host
3934 utils and target modules.
3935 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3936 * docs/Makefile.am: New file. Automake file for docs.
3937 * gentpl.py: New file. Python script to generate Autogen
3938 template.
3939 * grub-core/Makefile.am: New file. GRUB target modules' rules
3940 that doesn't fit in Makefile.core.def file.
3941 * grub-core/Makefile.core.def: New file. Autogen build
3942 definitions file for GRUB target modules.
3943 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3944 specific setjmp.S file.
3945 * po/Makefile.am: New file.
3946
3947 * .bzrignore: New ignores.
3948 * INSTALL: New requirements, without Ruby.
3949 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3950 * autogen.sh: Updated to invoke autogen as necessary.
3951 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3952 and defines for Automake conditionals.
3953 * geninit.sh: Refactoring.
3954
3955 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3956 necessary.
3957 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3958 New prototype.
3959
3960 * include/grub/test.h: Fix functional test modules' naming.
3961 * grub-core/tests/example_functional_test.c: Fix test module name.
3962
3963 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3964 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3965 * util/grub-editenv.c: Likewise.
3966 * util/grub-fstest.c: Likewise.
3967 * util/grub-mkdevicemap.c: Likewise.
3968 * util/grub-mkfont.c: Likewise.
3969 * util/grub-mkimage.c: Likewise.
3970 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3971 * util/grub-probe.c: Likewise.
3972 * util/grub-script-check.c: Likewise.
3973 * util/i386/pc/grub-setup.c: Likewise.
3974 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3975
3976 * tests/util/grub-shell.in: Fix override directory path.
3977 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3978 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3979
3980 * util/lvm.c: Update #includes.
3981 * util/raid.c: Likewise.
3982 * util/resolve.c: Likewise.
3983 * grub-core/bus/emu/pci.c: Likewise.
3984 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3985 * grub-core/lib/posix_wrap/string.h: Likewise.
3986 * grub-core/kern/emu/main.c: Likewise.
3987
3988 * grub-core/gensymlist.sh: New file. Script for generating kernel
3989 symbols file.
3990 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3991
3992 * grub-core/gentrigtables.c: Fix unused variable warnings.
3993
3994 * Makefile.in: Removed.
3995 * conf/any-emu.rmk: Removed.
3996 * conf/common.rmk: Removed.
3997 * conf/i386-coreboot.rmk: Removed.
3998 * conf/i386-efi.rmk: Removed.
3999 * conf/i386-ieee1275.rmk: Removed.
4000 * conf/i386-multiboot.rmk: Removed.
4001 * conf/i386-pc.rmk: Removed.
4002 * conf/i386-qemu.rmk: Removed.
4003 * conf/i386.rmk: Removed.
4004 * conf/mips-yeeloong.rmk: Removed.
4005 * conf/mips.rmk: Removed.
4006 * conf/powerpc-ieee1275.rmk: Removed.
4007 * conf/sparc64-ieee1275.rmk: Removed.
4008 * conf/tests.rmk: Removed.
4009 * conf/x86-efi.rmk: Removed.
4010 * conf/x86_64-efi.rmk: Removed.
4011 * gendistlist.sh: Removed.
4012 * geninitheader.sh: Removed.
4013 * genkernsyms.sh.in: Removed.
4014 * genmk.rb: Removed.
4015 * gensymlist.sh.in: Removed.
4016 * mkinstalldirs: Removed.
4017 * boot: Moved ...
4018 * grub-core/boot: ... to here.
4019 * bus: Moved ...
4020 * grub-core/bus: ... to here.
4021 * commands: Moved ...
4022 * grub-core/commands: ... to here.
4023 * disk: Moved ...
4024 * grub-core/disk: ... to here.
4025 * efiemu: Moved ...
4026 * grub-core/efiemu: ... to here.
4027 * font: Moved ...
4028 * grub-core/font: ... to here.
4029 * fs: Moved ...
4030 * grub-core/fs: ... to here.
4031 * gencmdlist.sh: Moved ...
4032 * grub-core/gencmdlist.sh: ... to here.
4033 * genemuinit.sh: Moved ...
4034 * grub-core/genemuinit.sh: ... to here.
4035 * genemuinitheader.sh: Moved ...
4036 * grub-core/genemuinitheader.sh: ... to here.
4037 * genfslist.sh: Moved ...
4038 * grub-core/genfslist.sh: ... to here.
4039 * genhandlerlist.sh: Moved ...
4040 * grub-core/genhandlerlist.sh: ... to here.
4041 * genmoddep.awk: Moved ...
4042 * grub-core/genmoddep.awk: ... to here.
4043 * genmodsrc.sh: Moved ...
4044 * grub-core/genmodsrc.sh: ... to here.
4045 * genpartmaplist.sh: Moved ...
4046 * grub-core/genpartmaplist.sh: ... to here.
4047 * genparttoollist.sh: Moved ...
4048 * grub-core/genparttoollist.sh: ... to here.
4049 * genterminallist.sh: Moved ...
4050 * grub-core/genterminallist.sh: ... to here.
4051 * gentrigtables.c: Moved ...
4052 * grub-core/gentrigtables.c: ... to here.
4053 * genvideolist.sh: Moved ...
4054 * grub-core/genvideolist.sh: ... to here.
4055 * gettext: Moved ...
4056 * grub-core/gettext: ... to here.
4057 * gfxmenu: Moved ...
4058 * grub-core/gfxmenu: ... to here.
4059 * gnulib: Moved ...
4060 * grub-core/gnulib: ... to here.
4061 * hello: Moved ...
4062 * grub-core/hello: ... to here.
4063 * hook: Moved ...
4064 * grub-core/hook: ... to here.
4065 * io: Moved ...
4066 * grub-core/io: ... to here.
4067 * kern: Moved ...
4068 * grub-core/kern: ... to here.
4069 * lib: Moved ...
4070 * grub-core/lib: ... to here.
4071 * loader: Moved ...
4072 * grub-core/loader: ... to here.
4073 * mmap: Moved ...
4074 * grub-core/mmap: ... to here.
4075 * normal: Moved ...
4076 * grub-core/normal: ... to here.
4077 * partmap: Moved ...
4078 * grub-core/partmap: ... to here.
4079 * parttool: Moved ...
4080 * grub-core/parttool: ... to here.
4081 * script: Moved ...
4082 * grub-core/script: ... to here.
4083 * term: Moved ...
4084 * grub-core/term: ... to here
4085 * tests/example_functional_test.c: Moved ...
4086 * grub-core/tests/example_functional_test.c: ... to here.
4087 * tests/lib/functional_test.c: Moved ...
4088 * grub-core/tests/lib/functional_test.c: ... to here.
4089 * tests/lib/test.c: Moved ...
4090 * grub-core/tests/lib/test.c: ... to here.
4091 * video: Moved ...
4092 * grub-core/video: ... to here.
4093
645586e6
BC
40942010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4095
4096 Replace --enable-grub-emu-modules with grub-emu-lite.
4097
4098 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
4099 cache.S.
4100
4101 * include/grub/emu/misc.h (grub_emu_init): New prototype.
4102 * kern/emu/full.c: New file. For grub-emu specific initialization.
4103 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
4104 * kern/emu/main.c: Call initialization function grub_emu_init.
4105
4106 * Makefile.in: Include grub-emu-lite in install.
4107 * commands/parttool.c: Use grub_no_autoload to differentiate
4108 between grub-emu and grub-emu-lite.
4109 * include/grub/misc.h: New variable grub_no_autoload.
4110
4111 * conf/any-emu.rmk: New rules for grub-emu-lite.
4112 * configure.ac: Remove --enable-grub-emu-modules.
4113 * genmk.rb: Cleanup unnecessary rules.
4114 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
4115
4116 * normal/main.c: Don't load list files on grub-emu-lite.
4117 * util/misc.c (grub_arch_sync_caches): Removed.
4118
f86a4030
CW
41192010-08-23 Colin Watson <cjwatson@ubuntu.com>
4120
4121 * kern/mips/startup.S (grub_prefix): Update comment to refer to
4122 grub-mkimage rather than grub-mkelfimage.
4123 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4124
06776944
VS
41252010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
4128 a key after CapsLock or NumLock. It's just a qemu bug.
4129
df262419
VS
41302010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
4133 needed by libusb wrapper.
4134
b40ea81b
ST
41352010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4136
4137 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4138
dee50575
VS
41392010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
4142 --nounzip is passed.
4143
fb1d7b79
VS
41442010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 USB hotunplugging and USB serial support.
4147
4148 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
4149 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
4150 (grub_uhci_transfer): Respect timeout and set *actual.
4151 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
4152 non-standard length.
4153 (grub_usb_device_attach): Autoload modules.
4154 (GRUB_MOD_INIT): Set grub_term_poll_usb.
4155 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
4156 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
4157 users updated.
4158 (grub_usb_add_hub): Fill nports and children.
4159 (attach_root_port): Receive hub instead of controller.
4160 All users updated. Fill hub->devices.
4161 (grub_usb_root_hub): Allocate hub->devices.
4162 (detach_device): New function.
4163 (poll_nonroot_hub): Fill children and detach devices.
4164 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
4165 actual arguments. All users updated.
4166 (grub_usb_bulk_read_extended): New function.
4167 * bus/usb/serial/common.c: New file.
4168 * bus/usb/serial/ftdi.c: Likewise.
4169 * bus/usb/serial/pl2303.c: Likewise.
4170 * commands/terminal.c (handle_command): Support wildcard.
4171 * commands/usbtest.c: Output "Unknown" instead of empty string.
4172 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
4173 (usbserial_common_mod_SOURCES): New variable.
4174 (usbserial_common_mod_CFLAGS): Likewise.
4175 (usbserial_common_mod_LDFLAGS): Likewise.
4176 (pkglib_MODULES): Add usbserial_pl2303.mod.
4177 (usbserial_pl2303_mod_SOURCES): New variable.
4178 (usbserial_pl2303_mod_CFLAGS): Likewise.
4179 (usbserial_pl2303_mod_LDFLAGS): Likewise.
4180 (pkglib_MODULES): Add usbserial_ftdi.mod.
4181 (usbserial_ftdi_mod_SOURCES): New variable.
4182 (usbserial_ftdi_mod_CFLAGS): Likewise.
4183 (usbserial_ftdi_mod_LDFLAGS): Likewise.
4184 (pkglib_MODULES): Add serial.mod.
4185 (serial_mod_SOURCES): New variable.
4186 (serial_mod_CFLAGS): Likewise.
4187 (serial_mod_LDFLAGS): Likewise.
4188 * conf/i386-pc.rmk: Likewise.
4189 * conf/mips-yeeloong.rmk: Likewise.
4190 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
4191 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4192 * disk/usbms.c (first_available_slot): New variable.
4193 (grub_usbms_attach): Don't reuse free slots due to potential cache
4194 problems.
4195 * include/grub/serial.h: Moved to ..
4196 * include/grub/ns8250.h: ...this.
4197 * include/grub/serial.h: New file.
4198 * include/grub/term.h (grub_term_poll_usb): New variable.
4199 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
4200 readkey. All users updated.
4201 (grub_terminfo_output_state): Pass term to put.
4202 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
4203 (grub_usb_controller_dev): Add timeout and actual arguments to
4204 transfer. All users updated.
4205 (grub_usb_interface): New field detach_data.
4206 (grub_usb_device): New fields children and nports.
4207 (grub_usb_ep_type_t): New type.
4208 (grub_usb_get_ep_type): New function.
4209 (grub_usb_bulk_read_extended): Likewise.
4210 * include/grub/usbdesc.h (grub_usb_desc): New type.
4211 * include/grub/usbserial.h: New file.
4212 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
4213 * kern/term.c (grub_term_poll_usb): New variable.
4214 (grub_getkey): Call grub_term_poll_usb if set.
4215 (grub_checkkey): Likewise.
4216 (grub_getkeystatus): Likewise.
4217 * term/serial.c: Moved controller-specific parts to ...
4218 * term/ns8250.c: ... here.
4219 * term/serial.c: Mostly rewritten.
4220 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4221 according to spec.
4222
21a313de
RM
42232010-08-20 Robert Millan <rmh@gnu.org>
4224
4225 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4226 a separate module and maybe other interesting combinations.
4227
4228 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4229 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4230 (kfreebsd_entry): Add generic filesystem module load routine.
4231 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4232
63c734a6
CW
42332010-08-20 Colin Watson <cjwatson@ubuntu.com>
4234
4235 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4236 "numcenter" (I misunderstood the purpose of this entry).
4237 * docs/grub.texi (sendkey): Likewise.
4238
c4d16542
CW
42392010-08-20 Colin Watson <cjwatson@ubuntu.com>
4240
4241 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4242 status flag options; simply omitting the option is equivalent and
4243 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4244 (keysym_table): Rename "num5numlock" to "numlock".
4245 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4246 can uniformly say that only the last of multiple `sendkey'
4247 invocations has any effect.
4248 * docs/grub.texi (sendkey): New section.
4249
93541d66
CW
42502010-08-19 Colin Watson <cjwatson@ubuntu.com>
4251
4252 * commands/i386/pc/sendkey.c (options): Fix three typos.
4253
b4ece5e1
VS
42542010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Implement sendkey support.
4257
4258 * commands/i386/pc/sendkey.c: New file.
4259 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4260 (sendkey_mod_SOURCES): New variable.
4261 (sendkey_mod_CFLAGS): Likewise.
4262 (sendkey_mod_LDFLAGS): Likewise.
4263
51f1f5af
CW
42642010-08-18 Colin Watson <cjwatson@ubuntu.com>
4265
4266 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4267 fix warnings from Autoconf.
4268
9da94e05
CW
42692010-08-18 Colin Watson <cjwatson@ubuntu.com>
4270
4271 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4272 to avoid false positives with some assemblers that output things
4273 like "someprefix_func" as part of their output.
4274
729a0f2e
RM
42752010-08-15 Robert Millan <rmh@gnu.org>
4276
4277 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4278 errors.
4279 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4280 grub_get_libzfs_handle() errors.
4281
f3710e08
RM
42822010-08-14 Robert Millan <rmh@gnu.org>
4283
4284 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4285 filesystem is not ZFS.
4286
7a3c13de
BC
42872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4288
4289 Fix for misspelled color names defaulting to black/black (bug
4290 reported by Doug Nazar)
4291
4292 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4293 status to prototype.
4294 * normal/color.c (grub_parse_color_name_pair): Return failure
4295 status.
4296 (grub_env_write_color_normal): Ignore bad color names.
4297 (grub_env_write_color_highlight): Likewise.
4298 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4299
ab8ba50d
BC
43002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4301
4302 "shift" command support to GRUB script.
4303
4304 * include/grub/script_sh.h (grub_script_shift): New prototype.
4305 * script/execute.c (grub_script_shift): New function.
4306 * script/main.c (grub_script_init): Register shift command.
4307 (grub_script_fini): Unregister shift command.
4308 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4309
4310 * tests/grub_script_shift.in: New testcase.
4311 * conf/tests.rmk: Rules for new testcase.
4312
4d61999e
BC
43132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4314
4315 "continue" command support to GRUB script.
4316
4317 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4318 (grub_script_break): Continue support.
4319 * script/main.c (grub_script_init): Register continue command.
4320 (grub_script_fini): Unregister continue command.
4321
4322 * tests/grub_script_continue.in: New testcase.
4323 * conf/tests.rmk: Rules for new testcase.
4324
4df51e00
BC
43252010-08-12 BVK Chaitanya <bvk@dbook>
4326
4327 "break" command support to GRUB script.
4328
4329 * conf/common.rmk: Rule updates to grub-script-check.
4330 * include/grub/misc.h (grub_min): New function.
4331 * include/grub/script_sh.h (grub_script_init): New prototype.
4332 (grub_script_fini): New prototype.
4333 (grub_script_break): New prototype.
4334 * script/main.c (grub_script_init): New function.
4335 (grub_script_fini): New function.
4336 * script/execute.c (grub_script_break): New function.
4337 * normal/main.c: Calls to grub_script_{init,fini}.
4338 * util/grub-script-check.c (grub_script_break): New function.
4339
4340 * tests/grub_script_break.in: New testcase.
4341 * conf/tests.rmk: Rules for new test case.
4342
f12c8420
BC
43432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4344
4345 Function parameters support to GRUB script.
4346
4347 * script/yylex.l (VARIABLE): Regular expression update.
4348 * script/function.c (grub_script_function_call): Moved ...
4349 * script/execute.c (grub_script_function_call): ... to here.
4350 (grub_script_execute_arglist_to_argv): Removed.
4351 (grub_script_arglist_to_argv): New function.
4352 * script/argv.c: New file.
4353 (grub_script_argv_free): New function.
4354 (grub_script_argv_next): Likewise.
4355 (grub_script_argv_append): Likewise.
4356 (grub_script_argv_split_append): Likewise.
4357 * include/grub/script_sh.h (grub_script_argv): New struct.
4358 (grub_script_argv_free): New function.
4359 (grub_script_argv_next): Likewise.
4360 (grub_script_argv_append): Likewise.
4361 (grub_script_argv_split_append): Likewise.
4362
4363 * conf/common.rmk (normal.mod): New source script/argv.c.
4364
4365 * tests/grub_script_echo1.in: More tests.
4366 * tests/grub_script_vars1.in: Likewise.
4367 * tests/grub_script_functions.in: New test case.
4368 * conf/tests.rmk: Rules for new testcase.
4369
8022b748
BC
43702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4371
4372 Remove grub_script_cmdblock struct.
4373
4374 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4375 * script/parser.y: Likewise.
4376 * script/execute.c: Rename cmdblock suffix to cmdlist.
4377 * script/script.c: Likewise.
4378 * util/grub-script-check.c: Likewise.
4379
79a6ba61
YB
43802010-08-11 Yves Blusseau <blusseau@zetam.org>
4381
4382 * .bzrignore: add grub-macho2img
4383
d04b9414
VS
43842010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4387
f947ab49
VS
43882010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 Remove the dump of sm712 initialisation sequence.
4391
4392 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4393 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4394 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4395 (GRUB_VGA_CR_*): Added many registers.
4396 (GRUB_VGA_SR_*): Likewise.
4397 (GRUB_VGA_GR_*): Likewise.
4398 (grub_vga_write_arx): New function.
4399 (grub_video_hw_config): New struct.
4400 (grub_vga_set_geometry): New function.
4401 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4402 GRUB_PCI_CLASS_SUBCLASS_VGA.
4403 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4404 * video/sm712.c (grub_sm712_write_reg): New function
4405 (grub_sm712_read_reg): Likewise.
4406 (grub_sm712_sr_write): Likewise.
4407 (grub_sm712_gr_write): Likewise.
4408 (grub_sm712_cr_write): Likewise.
4409 (grub_sm712_write_arx): Likewise.
4410 (grub_sm712_cr_shadow_write): Likewise.
4411 (grub_sm712_write_dda_lookup): Likewise.
4412 (grub_video_sm712_setup): Initialise the video rather then
4413 blindly replay the dump.
4414 (main) [TEST]: Add a routine to be able to compile as standalone for
4415 tests.
4416 * video/sm712_init.c (sm712_init): Removed.
4417 (sm712_sr_seq1): New array.
4418 (sm712_sr_seq2): Likewise.
4419
f0206638
VS
44202010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * include/grub/vga.h: Add missing grub/pci.h include.
4423
2764da3b
YB
44242010-08-10 Yves Blusseau <blusseau@zetam.org>
4425
4426 * util/grub-macho2img.c (main): fix typo
4427
cf0c775e
VS
44282010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4431 (grub_vga_gr_read): Likewise.
4432 (grub_vga_cr_write): Likewise.
4433 (grub_vga_cr_read): Likewise.
4434 (grub_vga_sr_write): Likewise.
4435 (grub_vga_sr_read): Likewise.
4436 (grub_vga_palette_read): Likewise.
4437 (grub_vga_palette_write): Likewise.
4438 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4439 (grub_sm712_sr_read): New function.
4440 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4441 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4442
07f360e9
RM
44432010-08-09 Robert Millan <rmh@gnu.org>
4444
4445 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4446 out unused variables on non-ZFS build.
4447
346c2072
RM
44482010-08-08 Robert Millan <rmh@gnu.org>
4449
4450 Fix path generation for sub-filesystems in ZFS.
4451
4452 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
4453 missing slash.
4454
71175420
RM
44552010-08-08 Robert Millan <rmh@gnu.org>
4456
4457 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
4458
0d8286f3
RM
44592010-08-08 Robert Millan <rmh@gnu.org>
4460
4461 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
4462 exist, issue a proper error message (rely on `ls' for translated
4463 strings).
4464
55dd2924
RM
44652010-08-08 Robert Millan <rmh@gnu.org>
4466
4467 Fix grub-probe invocation.
4468
4469 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
4470
d3dd9e80
RM
44712010-08-04 Robert Millan <rmh@gnu.org>
4472
4473 * configure.ac: Remove checks for getfsstat() and getmntany().
4474 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
4475 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
4476 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
4477 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
4478 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
4479 function.
4480 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
4481 via find_mount_point_from_dir() and getfsstat() / getmntany().
4482
0de22aa9
RM
44832010-08-04 Robert Millan <rmh@gnu.org>
4484
4485 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4486 (grub_find_zpool_from_mount_point): Merge into ...
4487 (grub_find_zpool_from_dir): ... this.
4488 * kern/emu/misc.c: Likewise.
4489
4490 * kern/emu/misc.c
4491 (grub_make_system_path_relative_to_its_root): Replace
4492 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
4493 with grub_find_zpool_from_dir().
4494 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
4495
62858144
RM
44962010-08-04 Robert Millan <rmh@gnu.org>
4497
4498 Support OpenSolaris in ZFS device resolution.
4499
4500 * configure.ac: Check for getmntany().
4501 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
4502 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
4503 support.
4504
9dd6fd50
RM
45052010-08-03 Robert Millan <rmh@gnu.org>
4506
4507 Fix grub-emu build.
4508
4509 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
4510 * include/grub/emu/misc.h: ... here.
4511
4512 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
4513 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
4514
4515 * util/misc.c: Remove `<grub/util/libzfs.h>'.
4516 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
4517 (grub_get_libzfs_handle): Move to ...
4518 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
4519 (grub_get_libzfs_handle): ... here.
4520
c9f7ff97
BC
45212010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4522
4523 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4524 as command name case.
4525
a870a783
CW
45262010-08-02 Colin Watson <cjwatson@ubuntu.com>
4527
4528 * disk/raid.c (insert_array): Select unique numbers for named arrays
4529 as well, for use as keys in the disk cache.
4530
c7db243b
RM
45312010-08-01 Robert Millan <rmh@gnu.org>
4532
4533 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4534 kFreeBSD device name, except on ZFS where the filesystem label is
4535 used.
4536 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4537 `/boot/zfs/zpool.cache'.
4538 Set mountfrom kernel variable using ${kfreebsd_device}.
4539
f7abdefb
RM
45402010-08-01 Robert Millan <rmh@gnu.org>
4541
4542 Make it even harder to use uninitialized `libzfs_handle' (and
4543 make the interface a bit simpler).
4544
4545 * include/grub/util/misc.h (grub_util_init_libzfs)
4546 (libzfs_handle): Remove.
4547 (grub_get_libzfs_handle): New prototype.
4548
4549 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4550 attribute.
4551 (grub_util_init_libzfs): Remove.
4552 (grub_get_libzfs_handle): New function.
4553
4554 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4555 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4556 accessing `libzfs_handle' directly.
4557
c882acc0
RM
45582010-08-01 Robert Millan <rmh@gnu.org>
4559
4560 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4561 (grub_find_zpool_from_mount_point): New function prototypes.
4562
4563 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4564 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4565
4566 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4567 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4568 `static' attribute.
4569
4570 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4571 finding zpool from mount point into ...
4572 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4573
4574 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4575 requested path is part of a ZFS pool, use
4576 grub_find_zpool_from_mount_point() to detect its filesystem name,
4577 and generate a path with `/fsname@path' syntax.
4578
8bfe31d8
CW
45792010-08-01 Colin Watson <cjwatson@ubuntu.com>
4580
4581 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4582 (void) rather than () so that this is a proper prototype.
4583
553df63d
VS
45842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4587
8687cf07
VS
45882010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4591 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4592
ea9be8ea
CW
45932010-08-01 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4596
6eea041a
CW
45972010-08-01 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4600
2cfb45df
CW
46012010-08-01 Colin Watson <cjwatson@ubuntu.com>
4602
4603 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4604 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4605 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4606 disable gfxpayload.
4607 (Shell-like scripting): Add real content.
4608 (Serial terminal): Suggest `terminal_input serial; terminal_output
4609 serial' rather than putting the two commands on separate lines,
4610 since console input will be inoperative after the first command.
4611 (menuentry): Document --class, --users, and --hotkey options.
4612 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4613 Vladimir Serbinenko).
4614
7decd202
VS
46152010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
46162010-08-01 Colin Watson <cjwatson@ubuntu.com>
4617
4618 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4619
c882acc0
RM
46202010-08-01 Robert Millan <rmh@gnu.org>
4621
4622 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4623 (grub_find_zpool_from_mount_point): New function prototypes.
4624
4625 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4626 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4627
4628 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4629 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4630 `static' attribute.
4631
4632 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4633 finding zpool from mount point into ...
4634 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4635
4636 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4637 requested path is part of a ZFS pool, use
4638 grub_find_zpool_from_mount_point() to detect its filesystem name,
4639 and generate a path with `/fsname@path' syntax.
4640
deb0caa3
RM
46412010-08-01 Robert Millan <rmh@gnu.org>
4642
4643 Prevent accidental use of uninitialized libzfs_handle.
4644
4645 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4646 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4647 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4648
ce04ef47
CW
46492010-08-01 Colin Watson <cjwatson@ubuntu.com>
4650
4651 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4652 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4653
ebf53056
RM
46542010-08-01 Robert Millan <rmh@gnu.org>
4655
4656 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4657
3710bb6b
RM
46582010-07-31 Robert Millan <rmh@gnu.org>
4659
4660 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4661
8072efeb
RM
46622010-07-31 Robert Millan <rmh@gnu.org>
4663
4664 * kern/emu/misc.c: Add missing license header.
4665
3169f4c7
RM
46662010-07-31 Robert Millan <rmh@gnu.org>
4667
4668 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4669
4670 * include/grub/util/libnvpair.h: Include `<config.h>'.
4671 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4672 declaring libnvpair prototypes ourselves.
4673 * include/grub/util/libzfs.h: Include `<config.h>'.
4674 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4675 declaring libzfs prototypes ourselves.
4676
4677 (libzfs_handle): Moved to ...
4678 * include/grub/util/misc.h (libzfs_handle): ... here.
4679 Include `<grub/util/libzfs.h>'.
4680
c9a00aee
RM
46812010-07-30 Robert Millan <rmh@gnu.org>
4682
4683 * include/grub/emu/misc.h: Add missing license header.
4684
a184f9c8
RM
46852010-07-30 Robert Millan <rmh@gnu.org>
4686
4687 Enable `grub-probe -t device' resolution on ZFS.
4688
4689 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4690 * include/grub/util/libnvpair.h: New file.
4691 * include/grub/util/libzfs.h: New file.
4692
4693 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4694 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4695 `<grub/util/libnvpair.h>'.
4696 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4697
4698 (find_mount_point_from_dir): New static function.
4699 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4700 function.
4701 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4702 find_root_device_from_libzfs() before ressorting to find_root_device().
4703
4704 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4705 prototype.
4706 * util/misc.c: Include `<grub/util/libzfs.h>'.
4707 (grub_util_init_libzfs): New function.
4708 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4709 [HAVE_LIBZFS] (fini_libzfs): New static function.
4710 (grub_util_init_libzfs): New function.
4711 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4712
f7790cdd
RM
47132010-07-30 Robert Millan <rmh@gnu.org>
4714
4715 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4716 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4717 `warn_unused_result' attribute.
4718 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4719 (grub_xasprintf, grub_xvasprintf): Likewise.
4720 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4721
0806b63c
RM
47222010-07-29 Robert Millan <rmh@gnu.org>
4723
4724 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4725 (probe): Handle `PRINT_FS_LABEL'.
4726 (main): Handle `-t fs_label'.
4727
9f841f5c
RM
47282010-07-29 Robert Millan <rmh@gnu.org>
4729
4730 * configure.ac: Remove grub-mkisofs checks.
4731
46371121
VS
47322010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4735 Reported by: Lennart Sorensen.
4736
47372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4740 prior to terminal_input/terminal_output separation. It's been over 1.5
4741 years and those versions weren't widely deployed.
4742
a9600892
CW
47432010-07-22 Colin Watson <cjwatson@ubuntu.com>
4744
4745 * disk/raid.c (insert_array): Don't count named arrays when looking
4746 for unused array numbers.
697e053c 4747 Reported and tested by: Michael Guntsche.
a9600892 4748
c03507df
CW
47492010-07-20 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4752 implementation of this so that grub-emu links again, with a note
4753 that this should support hotplugging in the future.
4754
b26f1c11
CW
47552010-07-20 Colin Watson <cjwatson@ubuntu.com>
4756
4757 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4758
efc9d7f1
CW
47592010-07-20 Colin Watson <cjwatson@ubuntu.com>
4760
4761 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4762 handle on failure.
4763 (grub_loopback_close): Remove empty function.
4764 (grub_loopback_dev): Remove close method.
4765
dd8ff5c9
CW
47662010-07-20 Colin Watson <cjwatson@ubuntu.com>
4767
4768 Disable EFI cursor when the EFI console becomes inactive.
4769
4770 * term/efi/console.c (grub_efi_console_init): New function.
4771 (grub_efi_console_fini): New function.
4772 (grub_console_term_output): Register init and fini methods.
4773
5e3bec67
VS
47742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4777 sh script.
4778
afaec079
VS
47792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * disk/loopback.c (grub_loopback): Replace filename with file.
4782 (delete_loopback): Handle new semantics.
4783 (grub_cmd_loopback): Likewise.
4784 (grub_loopback_iterate): Likewise.
4785 (grub_loopback_close): Likewise.
4786
a6a11f3c
VS
47872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4790 with -p "".
4791 Reported by: Tito Keitel.
4792
64a638b0
VS
47932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * docs/grub.texi (Naming convention): Document new naming convention.
4796
ab8ba957
VS
47972010-07-20 Vadim Solomin <vadic052@gmail.com>
47982010-07-20 Colin Watson <cjwatson@ubuntu.com>
4799
4800 Generate device.map in something closer to the old ordering.
4801
4802 * util/deviceiter.c (struct device): New declaration.
4803 (compare_file_names): Rename to ...
4804 (compare_devices): ... this. Sort by kernel name in preference to
4805 the stable by-id name, but keep the latter as a fallback comparison.
4806 Update header comment.
4807 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4808 of `struct device' rather than of plain file names.
4809
a29d6a4b
TF
48102010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4811
4812 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4813 on i386.
4814
39d824e8
VS
48152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4818 hardcoding size.
4819 (setv1table): Likewise.
4820
f058276b
FZ
48212010-07-20 Colin Watson <cjwatson@ubuntu.com>
4822
4823 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4824 removing the homehost if present.
4825 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4826 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4827 removing the homehost if present.
4828 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4829 if possible.
4830 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4831
4832 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4833 parameter. Set its pointer target to 0.
4834 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4835 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4836 `data_offset' value from the superblock for 1.x metadata.
4837 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4838 data on the device.
4839 (insert_array): Record the start sector of data on the device.
4840 (grub_raid_register): Pass start_sector parameters to
4841 grub_raid_list->detect and insert_array.
4842 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4843 member.
4844 (struct grub_raid): Add start_sector parameter to `detect'.
4845
4846 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4847 __attribute__ ((packed)), leaving a comment.
4848 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4849 (grub_mdraid_detect_09): ... here and ...
4850 (grub_mdraid_detect_1x): ... here.
4851
48522010-07-20 Peter Henn <peter.henn@web.de>
4853
4854 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4855 chunk size and disk size, which are already given as sector counts
4856 as distinct from the 0.90 units. Fetch the correct device number
4857 from the role table instead of using the table index.
4858
48592010-07-20 Felix Zielcke <fzielcke@z-51.de>
4860
4861 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4862 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4863 (WriteMostly1): New macro.
4864 Set array->name to NULL for metadata format 0.90. Add support for
4865 metadata 1.x. Fix some comments.
4866 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4867 few comments.
4868 * util/getroot.c (grub_util_get_grub_dev): Add support for
4869 /dev/md/name style devices.
4870
4b761da9
CW
48712010-07-20 Colin Watson <cjwatson@ubuntu.com>
4872
4873 * .bzrignore: Ignore 20_linux_xen.
4874
5771289a
CW
48752010-07-17 Colin Watson <cjwatson@ubuntu.com>
4876
4877 * util/import_unicode.py: Remove unnecessary imports.
4878
5dab68df
AN
48792010-07-17 Aleš Nesrsta <starous@volny.cz>
4880
4881 Hotplugging and USB hub support.
4882
4883 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4884 (grub_ohci): Likewise.
4885 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4886 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4887 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4888 (GRUB_OHCI_CTRL_EDS): Likewise.
4889 (GRUB_OHCI_BULK_EDS): Likewise.
4890 (GRUB_OHCI_TDS): Likewise.
4891 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4892 (grub_ohci_ed_phys2virt): New function.
4893 (grub_ohci_virt_to_phys): Likewise.
4894 (grub_ohci_td_phys2virt): Likewise.
4895 (grub_ohci_td_virt2phys): Likewise.
4896 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4897 attachment.
4898 (grub_ohci_find_ed): New function.
4899 (grub_ohci_alloc_td): Likewise.
4900 (grub_ohci_free_td): Likewise.
4901 (grub_ohci_free_tds): Likewise.
4902 (grub_ohci_transfer): Use previously allocated memory.
4903 (grub_ohci_portstatus): Reset status changed bit.
4904 (grub_ohci_detect_dev): Supply status changed.
4905 (grub_ohci_fini_hw): Free memory.
4906 (grub_ohci_restore_hw): Reallocate memory.
4907 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4908 Reset status change.
4909 (grub_uhci_detect_dev): Supply status_change.
4910 * bus/usb/usb.c (attach_hooks): New var.
4911 (grub_usb_device_attach): New function.
4912 (grub_usb_register_attach_hook_class): Likewise.
4913 (grub_usb_unregister_attach_hook_class): Likewise.
4914 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4915 (grub_usb_add_hub): Reset connection changed bit.
4916 (attach_root_port): New function.
4917 (grub_usb_root_hub): Likewise.
4918 (poll_nonroot_hub): Likewise.
4919 (grub_usb_poll_devices): Likewise.
4920 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4921 * disk/usbms.c (grub_usbms_open): Use device hooks.
4922 (grub_usbms_iterate) :Poll devices.
4923 (grub_usbms_finddevs): Split into ...
4924 (grub_usbms_attach): ... this ...
4925 (grub_usbms_attach): ... and this.
4926 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4927 in detect_dev.
4928 (grub_usb_interface): New fields attached and detach_hook.
4929 (grub_usb_attach_hook_class): New type.
4930 (grub_usb_attach_desc): New struct.
4931 (grub_usb_register_attach_hook_class): New function.
4932 (grub_usb_unregister_attach_hook_class): Likewise.
4933 (grub_usb_poll_devices): Likewise.
4934 (grub_usb_device_attach): Likewise.
4935 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4936 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4937
3222efaf
VS
49382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4941 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4942 delta determination style. Works with most NetBSD partitions too.
4943
139b714a
VS
49442010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4947 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4948
986aad56
VS
49492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4952
99be513c
AB
49532010-07-14 Anton Blanchard <anton@samba.org>
4954
4955 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4956 ET_DYN files.
4957
18075f62
GS
49582010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4959
4960 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4961
8d9a5b15
GS
49622010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4963
4964 * kern/partition.c (grub_partition_check_containment): New function to
4965 check that a partition is physically contained in a parent. Since
4966 offsets are relative (and non-negative), this reduces to checking that
4967 the partition ends before its parent.
4968 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4969 (grub_partition_iterate): Likewise.
4970 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4971 comments.
4972 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4973 partitions that start before their parent, and add debug printfs.
4974
19563c25
CW
49752010-07-13 Colin Watson <cjwatson@ubuntu.com>
4976
4977 * Makefile.in (.SUFFIX): Spell correctly, as ...
4978 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4979 bare module name without `.mod', e.g. `test') tried to invoke a
4980 Modula-2 compiler.
4981
1a1f1e67
CW
49822010-07-13 Colin Watson <cjwatson@ubuntu.com>
4983
4984 * README: Point to the Info manual.
4985
811b0dca
JS
49862010-07-13 Jiro SEKIBA <jir@unicus.jp>
4987
4988 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4989 2nd superblock position from partition size.
4990
e4f4eafc
CW
49912010-07-10 Colin Watson <cjwatson@ubuntu.com>
4992
4993 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4994 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4995 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4996 outputs.
4997
4274c30f
VS
49982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Restructure SCSI .id handling.
5001 Reported and tested by: Aleš Nesrsta.
5002
5003 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5004 (grub_atapi_dev): Changed .name to "ata". New field .id.
5005 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5006 (grub_usbms_dev): New field .id.
5007 * disk/scsi.c (grub_scsi_iterate): Generate name.
5008 (grub_scsi_open): Parse name.
5009 * include/grub/scsi.h (grub_make_scsi_id): New function.
5010 (grub_scsi_dev): Change iterate and open to number instead of naming
5011 busses. All users updated.
5012 (grub_scsi): Remove name. Add .bus.
5013
5bc24388
VS
50142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * commands/help.c (grub_cmd_help): Fix a typo.
5017
249975ba
VS
50182010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5021 Reported and tested by: Colin Watson.
5022
3eaac1a1
VS
50232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5026 in this context.
5027
becce1b1
VS
50282010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5031
f7bf0918
CW
50322010-07-07 Colin Watson <cjwatson@ubuntu.com>
5033
5034 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5035 indentation.
5036
0b0f9620
CW
50372010-07-06 Colin Watson <cjwatson@ubuntu.com>
5038
5039 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5040 and disk/raid6_recover.c.
5041 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5042 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5043
1e545469
CW
50442010-07-06 Colin Watson <cjwatson@ubuntu.com>
5045
5046 * term/gfxterm.c (repaint_schedulded): Rename to ...
5047 (repaint_scheduled): ... this. Update all callers.
5048 (repaint_was_schedulded): Rename to ...
5049 (repaint_was_scheduled): ... this. Update all callers.
5050
5357687a
CW
50512010-07-06 Colin Watson <cjwatson@ubuntu.com>
5052
5053 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5054 which we expect to be handled by upper layers.
5055
29d7e783
BC
50562010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5057
5058 * bus/usb/usbhub.c: #include time.h header.
5059
37582066
CW
50602010-07-06 Colin Watson <cjwatson@ubuntu.com>
5061
5062 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5063 entry_name also for entries without stat blocks (e.g. ".."); fixes
5064 corruption of the first entry in a directory.
5065
c8c06953
CW
50662010-07-06 Colin Watson <cjwatson@ubuntu.com>
5067
5068 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5069 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5070 doesn't work otherwise.
5071
e75056f1
CW
50722010-07-05 Colin Watson <cjwatson@ubuntu.com>
5073
5074 * docs/grub.texi (Features): Update list of supported file systems.
5075 (GNU/Linux): Update for GRUB 2.
5076 (Serial terminal): Remove mention of --disable-serial, which was a
5077 GRUB Legacy configure option. Update instructions to use
5078 `terminal_input' and `terminal_output' rather than `terminal'.
5079 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5080 configuration' and `Installing GRUB using grub-install'.
5081 (Menu entry editor): Update for GRUB 2.
5082 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5083 Document new -a, -u, and -v options.
5084 (initrd): New section.
5085 (initrd16): New section.
5086 (linux): New section.
5087 (linux16): New section.
5088 (search): The `var' argument to `--set' is optional.
5089 (GRUB only offers a rescue shell): Go into a little more detail on
5090 drive ordering.
5091
5cf69151
CW
50922010-07-05 Colin Watson <cjwatson@ubuntu.com>
5093
5094 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
5095
e3f90044
CW
50962010-07-05 Colin Watson <cjwatson@ubuntu.com>
5097
5098 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
5099 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
5100
38d8f4f3
CW
51012010-07-05 Colin Watson <cjwatson@ubuntu.com>
5102
5103 * util/i386/pc/grub-setup.c (setup): Rename prefix to
5104 install_prefix, in line with install_dos_part and install_bsd_part.
5105 Add new prefix variable, which is copied to install_prefix after
5106 comparing core.img in memory with the one read from disk in the
5107 no-embedding case, and use that rather than overwriting
5108 install_prefix immediately when installing to a partition.
5109 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
5110 Bicakci.
5111
57ebd41e
GS
51122010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5113
5114 * configure.ac: Avoid == in test command, it's not portable.
5115 * util/grub.d/30_os-prober.in: Likewise.
5116
cb7f64b2
CW
51172010-07-04 Colin Watson <cjwatson@ubuntu.com>
5118
5119 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
5120
6b654bb0
GS
51212010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5122
5123 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
5124 multiple (top-level) partmaps.
5125
72a2026d
VS
51262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 5129 Reported by: Tino Keitel.
72a2026d 5130
df3eb88f
VS
51312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Bidi and diacritics support.
5134
5135 * Makefile.in (widthspec.bin): New target.
5136 (widthspec.h): Likewise.
5137 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
5138 * autogen.sh: Generate unidata.c.
5139 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
5140 * commands/ls.c (grub_ls_list_devices): Likewise.
5141 (grub_ls_list_files): Likewise.
5142 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
5143 (grub_mini_cmd_lsmod): Likewise.
5144 * commands/read.c: Likewise.
5145 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
5146 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
5147 * lib/arg.c (grub_arg_show_help): Likewise.
5148 * lib/crypto.c (grub_password_get): Likewise.
5149 * normal/auth.c (grub_username_get): Likewise.
5150 * normal/misc.c (grub_normal_print_device_info): Likewise.
5151 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
5152 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
5153 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
5154 (normal/charset.c_DEPENDENCIES): New variable.
5155 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
5156 (pkglib_MODULES): Remove charset.mod.
5157 (charset_mod_SOURCES): Removed.
5158 (charset_mod_CFLAGS): Likewise.
5159 (charset_mod_LDFLAGS): Likewise.
5160 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
5161 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
5162 and term/tparm.c.
5163 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5164 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5165 (kernel_img_HEADERS): Add terminfo.h.
5166 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
5167 Fill ->font. Reverse ascii bitmaps.
5168 (grub_font_get_xheight): New function.
5169 * font/font.c (grub_font_get_string_width): Moved from here ...
5170 * gfxmenu/font.c (grub_font_get_string_width): ... here.
5171 * font/font.c (grub_font_draw_string): Moved from here ...
5172 * gfxmenu/font.c (grub_font_draw_string): ... here.
5173 * font/font.c (grub_font_dup_glyph): New function.
5174 (grub_font_blit_glyph): Likewise.
5175 (grub_font_blit_glyph_mirror): Likewise.
5176 (blit_comb): Likewise.
5177 (grub_font_construct_dry_run): Likewise.
5178 (grub_font_get_constructed_device_width): Likewise.
5179 (grub_font_construct_glyph): Likewise.
5180 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
5181 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
5182 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
5183 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
5184 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
5185 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
5186 (grub_font_get_xheight): New proto.
5187 (grub_font_get_constructed_device_width): Likewise.
5188 (grub_font_construct_glyph): Likewise.
5189 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
5190 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
5191 * include/grub/font.h (grub_font_draw_string): Moved from here ...
5192 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
5193 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
5194 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
5195 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
5196 (grub_console_getcharwidth): Likewise.
5197 * include/grub/misc.h (grub_xputs): New proto.
5198 (grub_puts): Inlined.
5199 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
5200 (grub_normal_get_line_counter): Removed.
5201 (grub_install_newline_hook): Likewise.
5202 (grub_normal_get_char_counter): New proto.
5203 (grub_normal_reset_more): Likewise.
5204 (grub_xputs_normal): Likewise.
5205 * include/grub/powerpc/ieee1275/console.h: Removed.
5206 * include/grub/sparc64/ieee1275/console.h: Likewise.
5207 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
5208 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
5209 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
5210 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
5211 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
5212 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
5213 (grub_term_input): Pass reference to self. All users updated.
5214 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
5215 Pass reference to self. New fields normal_color, highlight_color and
5216 data. All users updated.
5217 (grub_putchar): Removed.
5218 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5219 (grub_unicode_estimate_width): New function.
5220 (grub_term_getcharwidth): Add defaults.
5221 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5222 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5223 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5224 (grub_cls): Remove EXPORT_FUNC.
5225 (grub_setcolorstate): Inline.
5226 (grub_newline_hook): Removed.
5227 * include/grub/terminfo.h: Rewritten. All users updated.
5228 * include/grub/unicode.h: New file.
5229 * include/grub/video.h (grub_video_signed_rect): New type.
5230 * kern/emu/console.c (grub_console_highlight_color): Removed.
5231 (grub_console_normal_color): Likewise.
5232 (grub_console_standard_color): Made static.
5233 (grub_ncurses_putchar): Remove mapping.
5234 (grub_ncurses_getcharwidth): Removed.
5235 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5236 (grub_ncurses_setcolor): Removed.
5237 (grub_ncurses_getcolor): Likewise.
5238 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5239 (grub_console_putchar): ... this.
5240 (grub_console_putchar): Handle argument difference.
5241 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5242 console_init_early and console_init_lately.
5243 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5244 * kern/misc.c (grub_puts): Removed.
5245 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5246 (grub_vsnprintf_real): Remove str = NULL support.
5247 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5248 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5249 * kern/term.c (grub_putcode): Renamed to ...
5250 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5251 (grub_putchar): Removed.
5252 (grub_xputs_dumb): New function.
5253 (grub_xputs): New variable.
5254 * lib/charset.c: Move from here ...
5255 * normal/charset.c: ... to here.
5256 (grub_ucs4_to_utf8): New function.
5257 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5258 (join_types): New variable.
5259 (unpack_join): New function.
5260 (bidi_types): New variable.
5261 (unpack_bidi): New function.
5262 (get_bidi_type): Likewise.
5263 (get_join_type): Likewise.
5264 (is_mirrored): Likewise.
5265 (grub_unicode_get_comb_type): Likewise.
5266 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5267 (is_type_after): Likewise.
5268 (grub_unicode_aglomerate_comb): Likewise.
5269 (bidi_line_wrap): Likewise.
5270 (grub_bidi_line_logical_to_visual): Likewise.
5271 (grub_bidi_logical_to_visual): Likewise.
5272 (grub_unicode_mirror_code): Likewise.
5273 (grub_unicode_shape_code): Likewise.
5274 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5275 Don't use grub_putchar.
5276 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5277 (grub_normal_reader_init): Likewise.
5278 (grub_xputs_saved): New variable.
5279 (GRUB_MOD_INIT): Set grub_xputs.
5280 (GRUB_MOD_FINI): Restore grub_xputs.
5281 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5282 (menu_init): Avoid printing gfxmenu error.
5283 (show_menu): Use grub_normal_get_char_counter.
5284 * normal/menu_entry.c (update_screen): Fix out-of-array.
5285 (complete): Avoid NULL dereferencing.
5286 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5287 * normal/menu_text.c (print_spaces): Removed.
5288 (grub_print_ucs4): Likewise.
5289 (grub_print_message_indented): Use grub_print_ucs4.
5290 (print_message): Use grub_putcode.
5291 (print_entry): Hanlde diacritics.
5292 * normal/term.c (term_state): New type.
5293 (grub_more_lines): Removed.
5294 (term_states): New variable.
5295 (grub_normal_line_counter): Renamed to ..
5296 (grub_normal_char_counter): ...this. All users updated.
5297 (grub_normal_get_line_counter): Renamed to ...
5298 (grub_normal_get_char_counter): ... this.
5299 (grub_normal_reset_more): New function.
5300 (process_newline): Removed.
5301 (print_more): New function.
5302 (grub_install_newline_hook): Removed.
5303 (map_code): New function.
5304 (grub_puts_terminal): Use grub_print_ucs4.
5305 (putglyph): New function.
5306 (putcode_real): Likewise.
5307 (grub_putcode): Use putcode_real.
5308 (get_maxwidth): New function.
5309 (get_startwidth): Likewise.
5310 (print_ucs4_terminal): Likewise.
5311 (find_term_state): Likewise.
5312 (put_glyphs_terminal): Likewise.
5313 (print_backlog): Likewise.
5314 (print_ucs4_real): Likewise.
5315 (grub_print_ucs4): Likewise.
5316 (grub_xputs_normal): Likewise.
5317 * term/efi/console.c (grub_console_putchar): Output diacritics.
5318 (grub_console_getcharwidth): Removed.
5319 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5320 * term/gfxterm.c (clear_char): Free chars.
5321 (scroll_up): Avoid leaking memory.
5322 (grub_gfxterm_putchar): Support diacritics.
5323 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5324 * term/i386/pc/console.c (grub_console_term_output): Declare as
5325 GRUB_TERM_CODE_TYPE_VGA.
5326 * term/i386/pc/vga.c (grub_vga_term): Declare as
5327 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5328 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5329 GRUB_TERM_CODE_TYPE_VGA.
5330 * term/i386/vga_common.c (map_char): Removed.
5331 (grub_console_putchar): Likewise.
5332 (grub_console_getcharwidth): Likewise.
5333 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5334 (colors): Reordered to match terminfo.
5335 (grub_ofconsole_normal_color): Removed.
5336 (grub_ofconsole_writeesc): Likewise.
5337 (grub_ofconsole_highlight_color): Likewise.
5338 (grub_ofconsole_getcharwidth): Likewise.
5339 (grub_ofconsole_setcolorstate): Likewise.
5340 (grub_ofconsole_setcolor): Likewise.
5341 (grub_ofconsole_getcolor): Likewise.
5342 (grub_ofconsole_readkey): Renamed to ...
5343 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5344 key.
5345 (grub_ofconsole_checkkey): Removed.
5346 (grub_ofconsole_getkey): Likewise.
5347 (grub_ofconsole_getxy): Likewise.
5348 (grub_ofconsole_gotoxy): Likewise.
5349 (grub_ofconsole_cls): Likewise.
5350 (grub_ofconsole_refresh): Likewise.
5351 (grub_ofconsole_terminfo_input): New struct.
5352 (grub_ofconsole_terminfo_output): Likewise.
5353 (grub_ofconsole_term_input): Use terminfo.
5354 (grub_ofconsole_term_output): Likewise.
5355 (grub_console_init): Split into ...
5356 (grub_console_init_early): ...this and ...
5357 (grub_console_init_lately): ...this. Use terminfo.
5358 (grub_ofconsole_putchar): Renamed to ...
5359 (put): ... this. Remove mapping.
5360 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5361 * term/serial.c: Simplify using terminfo.
5362 (xpos): Removed.
5363 (ypos): Likewise.
5364 (keep_track): Likewise.
5365 (registered): Likewise.
5366 (input_buf): Likewise.
5367 (npending): Likewise.
5368 (serial_translate_key_sequence): Likewise.
5369 (fill_input_buf): Likewise.
5370 (grub_serial_checkkey): Likewise.
5371 (grub_serial_getkey): Likewise.
5372 (grub_serial_getxy): Likewise.
5373 (grub_serial_gotoxy): Likewise.
5374 (grub_serial_putchar): Likewise.
5375 (grub_serial_cls): Likewise.
5376 (grub_serial_setcolorstate): Likewise.
5377 (grub_serial_setcursor): Likewise.
5378 (serial_hw_init): Use serial_hw_fetch.
5379 (grub_serial_terminfo_input): New variable.
5380 (grub_serial_terminfo_output): Likewise.
5381 (grub_serial_term_input): Use terminfo.
5382 (grub_serial_term_output): Likewise.
5383 * term/terminfo.c (putstr): Use put.
5384 (grub_terminfo_all_free): New function
5385 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5386 (grub_terminfo_output_register): New function.
5387 (grub_terminfo_output_unregister): Likewise.
5388 (grub_terminfo_getxy): Likewise.
5389 (grub_terminfo_readkey): Likewise.
5390 (grub_terminfo_checkkey): Likewise.
5391 (grub_terminfo_getkey): Likewise.
5392 (grub_terminfo_input_init): Likewise.
5393 (print_terminfo): Likewise.
5394 (grub_cmd_terminfo): Handle encoding.
5395 (grub_terminfo_gotoxy): Track position.
5396 (grub_terminfo_cls): Likewise.
5397 (grub_terminfo_putchar): Likewise.
5398 (grub_terminfo_setcolorstate): Handle colors
5399 (grub_terminfo_cursor_on): This ...
5400 (grub_terminfo_cursor_off): ... and this merged into ...
5401 (grub_terminfo_setcursor): ... this.
5402 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5403 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5404 * unicode/BidiMirroring.txt: Likewise.
5405 * unicode/UnicodeData.txt: Likewise.
5406 * unicode/COPYING: Likewise.
5407 * util/grub-editenv.c (grub_putchar): Removed.
5408 (grub_xputs_real): New function.
5409 (grub_xputs): New variable.
5410 * util/grub-fstest.c (grub_putchar): Removed.
5411 (grub_xputs_real): New function.
5412 (grub_xputs): New variable.
5413 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5414 (grub_xputs_real): New function.
5415 (grub_xputs): New variable.
5416 * util/grub-probe.c (grub_putchar): Removed.
5417 (grub_xputs_real): New function.
5418 (grub_xputs): New variable.
5419 * util/grub-script-check.c (grub_putchar): Removed.
5420 (grub_xputs_real): New function.
5421 (grub_xputs): New variable.
5422 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5423 (grub_xputs_real): New function.
5424 (grub_xputs): New variable.
5425 * util/import_unicode.py: New file.
5426 * util/grub-mkfont.c (ft_errmsgs): New array.
5427 (grub_glyph_info): Make bitmap a pointer.
5428 (file_formats): New type WIDTH_SPEC.
5429 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5430 (options): Add width-spec.
5431 (help): Likewise.
5432 (add_char): Renamed to ...
5433 (add_glyph): ... this.
5434 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5435 (glyph_replace): New type.
5436 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5437 (add_char): New function.
5438 (add_subst): Likewise.
5439 (process_cursive): Likewise.
5440 (add_font): Handle GSUB.
5441 (write_font_width_spec): New function.
5442 (main): Sort glyphs.
5443 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5444 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5445 * kern/term.c (grub_cls): Moved from here...
5446 * normal/term.c (grub_cls): ... here.
5447
50f0bcda
CW
54482010-07-02 Colin Watson <cjwatson@ubuntu.com>
5449
5450 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
5451 suitable for using within the format argument of printf when
5452 converting grub_size_t.
5453 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
5454 "x" to convert grub_size_t arguments.
5455
40372103
VS
54562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
5459 too long captions.
5460 (list_get_minimal_size): Take selection box into account.
5461
942a10c7
VS
54622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
5465 NULL font.
5466
2bdb2892
CW
54672010-07-02 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
5470 devices when iterating over /dev/disk/by-id; they will be handled
5471 later if appropriate, which they aren't always (e.g. LVM).
5472
e03ed6c1
CW
54732010-07-02 Colin Watson <cjwatson@ubuntu.com>
5474
5475 * include/grub/misc.h (grub_reboot): Declare as noreturn.
5476 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
5477 fails.
5478 (grub_halt): Likewise.
5479 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
5480 reset-all fails.
5481 (grub_halt): Don't return, even if all of shut-down, power-off, and
5482 poweroff fail.
5483
47695765
CW
54842010-07-02 Colin Watson <cjwatson@ubuntu.com>
5485
5486 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
5487 arguments, not three.
5488
507736c8
CW
54892010-07-02 Colin Watson <cjwatson@ubuntu.com>
5490
5491 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
5492 * util/grub.d/10_linux.in: Use it to check for LVM, so that
5493 LVM-on-RAID is handled correctly.
5494
e3c8cd37
CW
54952010-07-02 Colin Watson <cjwatson@ubuntu.com>
5496
5497 * docs/grub.texi (Changes from GRUB Legacy): New section.
5498 (Future): Fix typo.
5499
8d4a2fec
CW
55002010-07-02 Colin Watson <cjwatson@ubuntu.com>
5501
5502 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
5503 grub.d/README accidentally ends up executable for one reason or
5504 another. Ignore it.
5505
1c4827be
VS
55062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
5509 (gpt_partition_map_iterate): Support non-512B sectors.
5510
d9a0c941
VS
55112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * kern/efi/init.c (grub_efi_init): Disable watchdog.
5514 Tested by: Seth Goldberg.
5515
48f27e87
VS
55162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
5519 Properly align mbi.
5520 Reported by: Seth Goldberg.
5521
b0c4f956
VS
55222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * util/grub-mkrescue.in: Avoid module duplication.
5525
105a2e8c
SF
55262010-07-01 Sean Finney <seanius@seanius.net>
5527
5528 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5529
5944958c
SF
55302010-07-01 Sean Finney <seanius@seanius.net>
5531
5532 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5533
55342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * disk/lvm.c (grub_lvm_checkvalue): New function.
5537 (grub_lvm_check_flag): Likewise.
5538
b79889ba
RM
55392010-07-01 Robert Millan <rmh@gnu.org>
5540
5541 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5542 Support 'p' as partition separator on kernel of FreeBSD (used
5543 with GPT labels).
5544 (grub_util_biosdisk_get_grub_dev): Likewise.
5545
ec1d04f1
VS
55462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Yeeloong firmware port.
5549
5550 * boot/mips/yeeloong/fwstart.S: New file.
5551 * bus/cs5536.c (gpiodump): New const.
5552 (set_io_space): New function.
5553 (set_iod): Likewise.
5554 (set_p2d): Likewise.
5555 (grub_cs5536_init_geode): Likewise.
5556 * commands/mips/yeeloong/lsspd.c: New file.
5557 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5558 (serial_mod_SOURCES): New variable.
5559 (serial_mod_CFLAGS): Likewise.
5560 (serial_mod_LDFLAGS): Likewise.
5561 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5562 term/terminfo.c and term/tparm.c.
5563 (pkglib_IMAGES): Add fwstart.img.
5564 (fwstart_img_SOURCES): New variable.
5565 (fwstart_img_CFLAGS): Likewise.
5566 (fwstart_img_ASFLAGS): Likewise.
5567 (fwstart_img_LDFLAGS): Likewise.
5568 (fwstart_img_FORMAT): Likewise.
5569 (pkglib_MODULES): Add lsspd.mod.
5570 (lsspd_mod_SOURCES): New variable.
5571 (lsspd_mod_CFLAGS): Likewise.
5572 (lsspd_mod_LDFLAGS): Likewise.
5573 (pkglib_MODULES): Add halt.mod.
5574 (halt_mod_SOURCES): New variable.
5575 (halt_mod_CFLAGS): Likewise.
5576 (halt_mod_LDFLAGS): Likewise.
5577 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5578 (serial_mod_SOURCES): Removed.
5579 (serial_mod_CFLAGS): Likewise.
5580 (serial_mod_LDFLAGS): Likewise.
5581 * disk/ata.c (check_device): New function.
5582 (grub_ata_device_initialize): Use check_device.
5583 (grub_ata_iterate): Recheck devices.
5584 (grub_ata_open): Likewise.
5585 (grub_atapi_iterate): Likewise.
5586 (grub_atapi_open): Likewise.
5587 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5588 (GRUB_ATA_CH1_PORT1): Likewise.
5589 (GRUB_ATA_CH0_PORT2): Likewise.
5590 (GRUB_ATA_CH1_PORT2): Likewise.
5591 * include/grub/mips/loongson.h: New file.
5592 * include/grub/mips/yeeloong/ec.h: Likewise.
5593 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5594 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5595 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5596 * include/grub/misc.h (grub_halt): Declare as noreturn.
5597 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5598 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5599 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5600 (UART_ENABLE_DTRRTS): Likewise.
5601 (UART_ENABLE_MODEM): Removed.
5602 (UART_ENABLE_OUT2): New const.
5603 * include/grub/term.h (grub_term_register_input_active): New function.
5604 (grub_term_register_output_active): Likewise.
5605 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5606 argument.
5607 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5608 (init_pci): New function.
5609 (grub_machine_init): Execute platform init when firmware. Init serial.
5610 (grub_halt): Implement.
5611 (grub_exit): Likewise.
5612 (grub_reboot): Likewise.
5613 * term/serial.c (serial_hw_init): Update macros.
5614 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5615 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5616 (image_targets): New target mipsel-yeeloong-flash.
5617 (generate_image): Support IMAGE_YEELOONG_FLASH.
5618 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5619 (grub_video_sm712_setup): Init card.
5620 (grub_video_sm712_set_palette): Removed.
5621 * video/sm712_init.c: New file.
5622
ff4a70d2
CW
56232010-06-30 Colin Watson <cjwatson@ubuntu.com>
5624
5625 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5626 PATH when running help2man and then run it on the unadorned
5627 executable names, rather than passing $(builddir)/* paths to
5628 help2man. This avoids the build directory ending up in generated
5629 manual pages.
5630
1246efeb
CW
56312010-06-29 Colin Watson <cjwatson@ubuntu.com>
5632
5633 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5634 to avoid accidents when debugging with 'sh -x'.
5635 * util/grub-mkrescue.in: Likewise.
5636 * util/grub.d/00_header.in: Likewise.
5637 * util/grub.d/10_hurd.in: Likewise.
5638 * util/grub.d/10_kfreebsd.in: Likewise.
5639 * util/grub.d/10_linux.in: Likewise.
5640 * util/grub.d/10_netbsd.in: Likewise.
5641 * util/grub.d/10_windows.in: Likewise.
5642 * util/grub.d/20_linux_xen.in: Likewise.
5643 * util/grub.d/30_os-prober.in: Likewise.
5644 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5645
1ba9b889
CW
56462010-06-29 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5649 last character in the buffer.
5650 Reported by: Vladimir Serbinenko.
5651
dccaf99d
RM
56522010-06-29 Robert Millan <rmh@gnu.org>
5653
5654 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5655 (Command-line and menu entry commands): Document `badram' command.
5656
d500ed12
RM
56572010-06-28 Robert Millan <rmh@gnu.org>
5658
5659 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5660 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5661 command using ${GRUB_BADRAM} as parameter.
5662
20bc84a6
CW
56632010-06-28 Colin Watson <cjwatson@ubuntu.com>
5664
5665 * docs/grub.texi (Device map): New section.
5666 (Themes): New section (stub).
5667 * Makefile.in (docs/grub.info): The info documentation now builds
5668 without errors. Make sure it stays that way.
5669
4045dee1
VS
56702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 Use normal parser for menu entries.
5673 Reported by: Thomas Frauendorfer
5674
5675 * include/grub/parser.h (grub_parser_execute): Don't export.
5676 * normal/menu.c (grub_menu_execute_entry_real): New function.
5677 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5678
bca58c7b
CW
56792010-06-28 Colin Watson <cjwatson@ubuntu.com>
5680
5681 * docs/grub.texi (Embedded configuration): New section (replacing
5682 old "Preset Menu" stub).
5683 (Images): New section.
5684 (configfile): Note that any menu entries defined in `file' are shown
5685 immediately.
5686
dec53e63
JT
56872010-06-28 Josh Triplett <josh@joshtriplett.org>
5688
5689 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5690
c06e40f7
CW
56912010-06-28 Colin Watson <cjwatson@ubuntu.com>
5692
5693 * util/grub-install.in: Add --debug-image= option.
5694
cb88052b
CW
56952010-06-28 Colin Watson <cjwatson@ubuntu.com>
5696
5697 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5698 possible on Linux.
5699
5700 * util/deviceiter.c (check_device): Rename to ...
5701 (check_device_readable_unique): ... this. Update all callers.
5702 Maintain and check a list of which devices (by canonicalized name)
5703 have already been seen.
5704 (clear_seen_devices): New function.
5705 (compare_file_names) [__linux__]: New function.
5706 (grub_util_iterate_devices): Clear the list of seen devices on exit
5707 and (just in case) on entry.
5708 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5709 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5710 seen-devices list, superseded by general code in check_device.
5711
bbe34652
CW
57122010-06-28 Colin Watson <cjwatson@ubuntu.com>
5713
5714 * commands/cat.c (options): New variable.
5715 (grub_cmd_cat): Parse options. If the --dos option is given, print
5716 DOS-style "\r\n" line endings as simple newlines (Debian bug
5717 #586358).
5718 (GRUB_MOD_INIT): Use extcmd.
5719 (GRUB_MOD_FINI): Likewise.
5720 * docs/grub.texi (cat): Document --dos.
5721
412e09f3
VS
57222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 XEN with Linux grub-mkconfig support.
5725
5726 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5727 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5728 GRUB_CMDLINE_XEN_DEFAULT.
5729 * util/grub.d/20_linux_xen.in: New file.
5730
53f3ef38 57312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5732
5733 Initialise VGA video on qemu ourselves.
5734
5735 * boot/i386/qemu/boot.S: Don't call 0xc000.
5736 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5737 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5738 (kernel_img_HEADERS): Add pci.h.
5739 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5740 * configure.ac: Force unifont on qemu and yeeloong.
5741 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5742 (grub_vga_palette_write): Use correct register.
5743 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5744 Call grub_qemu_init_cirrus.
5745 * kern/i386/qemu/init.c: New file.
5746 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5747
5748 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5749
c75be4fb
PR
57502010-06-26 Pavel Roskin <proski@gnu.org>
5751
5752 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5753 13.
5754
d8034603
CW
57552010-06-26 Colin Watson <cjwatson@ubuntu.com>
5756
5757 * docs/grub.texi (Simple configuration): Explain that
5758 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5759 set to `true' to disable their respective recovery entries, not
5760 merely set.
5761
3fa06487
CW
57622010-06-26 Colin Watson <cjwatson@ubuntu.com>
5763
5764 Make the `source' command slightly faster.
5765
5766 * normal/main.c (grub_normal_execute): Don't re-read list files when
5767 nested.
5768
e9b29642
CW
57692010-06-23 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5772 field position and mask size to red fields from mode_info, not
5773 green.
5774 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5775 Remove redundant tag->common.framebuffer_type assignment.
5776 Reported by: Seth Goldberg.
5777
e726542f
CW
57782010-06-23 Colin Watson <cjwatson@ubuntu.com>
5779
5780 Sync up other versions of the Linux loader with Robert Millan's
5781 change of 2010-01-09, "Make loader output a bit more user-friendly".
5782
5783 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5784 grub_dprintf().
5785 (grub_cmd_linux): Likewise.
5786 (grub_cmd_initrd): Likewise.
5787 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5788 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5789
d6e98a17
CW
57902010-06-21 Colin Watson <cjwatson@ubuntu.com>
5791
5792 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5793 larger than MEMORY_MAP_SIZE.
5794
14d3f08e
BC
57952010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5796
5797 Fix parallel build.
5798
5799 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5800 dependency.
5801 * script/parser.y: #include grub_script.tab.h header.
5802
4f9613a3
VS
58032010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 Support >3GiB and <16MiB RAM in i386-qemu.
5806
5807 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5808 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5809 (grub_lower_mem): Removed.
5810 (grub_upper_mem): Likewise.
5811 (mem_size): Made static.
5812 (above_4g): New variable.
5813 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5814 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5815 support.
5816
05e51879
VS
58172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 Cirrus 5446 and Bochs video cards support.
5820
5821 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5822 video_bochs.mod
5823 (video_cirrus_mod_SOURCES): New variable.
5824 (video_cirrus_mod_CFLAGS): Likewise.
5825 (video_cirrus_mod_LDFLAGS): Likewise.
5826 (video_bochs_mod_SOURCES): Likewise.
5827 (video_bochs_mod_CFLAGS): Likewise.
5828 (video_bochs_mod_LDFLAGS): Likewise.
5829 * include/grub/vga.h: New file.
5830 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5831 (grub_video_fb_set_page_t): New type.
5832 (grub_video_fb_setup): New prototype.
5833 (grub_video_fb_swap_buffers): Likewise.
5834 (grub_video_fb_get_info_and_fini): Likewise.
5835 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5836 (CRTC_DATA_PORT): Likewise.
5837 (CRTC_CURSOR): Likewise.
5838 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5839 (CRTC_CURSOR_ADDR_LOW): Likewise.
5840 (CRTC_CURSOR_DISABLE): Likewise.
5841 (update_cursor): Use grub_vga_cr_write.
5842 (grub_vga_text_setcursor): Likewise.
5843 * video/bochs.c: New file.
5844 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5845 (palette): Likewise.
5846 (palette_size): Likewise.
5847 (framebuffer): New variable.
5848 (grub_video_fb_init): Use 'framebuffer'.
5849 (grub_video_fb_fini): Likewise.
5850 (grub_video_fb_get_info): Likewise.
5851 (grub_video_fb_get_palette): Likewise.
5852 (grub_video_fb_set_palette): Likewise.
5853 (grub_video_fb_set_viewport): Likewise.
5854 (grub_video_fb_get_viewport): Likewise.
5855 (grub_video_fb_map_color): Likewise.
5856 (grub_video_fb_map_rgb): Likewise.
5857 (grub_video_fb_map_rgba): Likewise.
5858 (grub_video_fb_unmap_color): Likewise.
5859 (grub_video_fb_unmap_color_int): Likewise.
5860 (grub_video_fb_fill_rect): Likewise.
5861 (grub_video_fb_blit_bitmap): Likewise.
5862 (grub_video_fb_blit_render_target): Likewise.
5863 (grub_video_fb_scroll): Likewise.
5864 (grub_video_fb_create_render_target): Likewise.
5865 (grub_video_fb_doublebuf_blit_init): Likewise.
5866 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5867 (doublebuf_pageflipping_update_screen): New function.
5868 (doublebuf_pageflipping_init): Likewise.
5869 (grub_video_fb_setup): Likewise.
5870 (grub_video_fb_swap_buffers): Likewise.
5871 (grub_video_fb_get_info_and_fini): Likewise.
5872 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5873 All users updated.
5874 (doublebuf_pageflipping_commit): Restructured into ...
5875 (doublebuf_pageflipping_set_page): ... this.
5876 (doublebuf_pageflipping_update_screen): Removed.
5877 (doublebuf_pageflipping_init): Likewise.
5878 (double_buffering_init): Likewise.
5879 (grub_video_vbe_setup): Use grub_video_fb_setup.
5880 (grub_video_vbe_swap_buffers): Removed.
5881 (grub_video_vbe_set_active_render_target): Likewise.
5882 (grub_video_vbe_get_active_render_target): Likewise.
5883 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5884 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5885 grub_video_fb_set_active_render_target and
5886 grub_video_fb_get_active_render_target.
5887 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5888 (SEQUENCER_DATA_PORT): Likewise.
5889 (MAP_MASK_REGISTER): Likewise.
5890 (CRTC_ADDR_PORT): Likewise.
5891 (CRTC_DATA_PORT): Likewise.
5892 (START_ADDR_HIGH_REGISTER): Likewise.
5893 (START_ADDR_LOW_REGISTER): Likewise.
5894 (GRAPHICS_ADDR_PORT): Likewise.
5895 (GRAPHICS_DATA_PORT): Likewise.
5896 (READ_MAP_REGISTER): Likewise.
5897 (INPUT_STATUS1_REGISTER): Likewise.
5898 (INPUT_STATUS1_VERTR_BIT): Likewise.
5899 (get_map_mask): Use grub_vga_sr_read.
5900 (set_map_mask): Use grub_vga_sr_write.
5901 (set_read_map): Use grub_vga_gr_write.
5902 (set_start_address): Use grub_vga_cr_write.
5903 * video/sm712.c (framebuffer): Remove leftover fields.
5904
4321c64a
CW
59052010-06-20 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5908 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5909 instead. Replace the gfxterm backend check with a check that
5910 ${GRUB_PREFIX}/video.lst is non-empty.
5911 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5912 again.
5913 (load_video): New generated function. Call it before loading
5914 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5915 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5916 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5917 * docs/grub.texi (Simple configuration): Document
5918 GRUB_VIDEO_BACKEND.
5919
59202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Use video functions in linux and xnu loaders.
5923
5924 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5925 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5926 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5927 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5928 loader/i386/pc/linux.c.
5929 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5930 (find_line_len): Removed.
5931 (find_framebuf): Likewise.
5932 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5933 * loader/i386/efi/xnu.c: Removed.
5934 * loader/i386/pc/xnu.c: Moved from here...
5935 * loader/i386/xnu.c: ...here.
5936
5937 Enable priorities in video drivers.
5938
5939 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5940 (grub_video_adapter): New field prio.
5941 (grub_video_register): Respect prio when inserting.
5942 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5943 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5944 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5945 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5946 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5947 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5948 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5949
5950 Fix SDL driver ID.
5951
5952 * include/grub/video.h (grub_video_driver_id_t): New value
5953 GRUB_VIDEO_DRIVER_SDL.
5954 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5955
7d24e434
CW
59562010-06-17 Colin Watson <cjwatson@ubuntu.com>
5957
5958 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5959 argument to printf.
5960 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5961
c88a83f6
CW
59622010-06-17 Colin Watson <cjwatson@ubuntu.com>
5963
5964 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5965 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5966
094dfb69
CW
59672010-06-17 Colin Watson <cjwatson@ubuntu.com>
5968
5969 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5970 directly, and recommend grub-install instead.
5971 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5972
2164da6b
CW
59732010-06-17 Colin Watson <cjwatson@ubuntu.com>
5974
5975 Fix i386-pc prefix handling with nested partitions (Debian bug
5976 #585068). Note that the case where the core image is booted using
5977 multiboot and relocated from its original location still requires
5978 more work.
5979
5980 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5981 with "(,", fill the boot drive in between those two characters, but
5982 expect that a full partition specification including partition map
5983 names will follow.
5984 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5985 specified, write a prefix without the drive name but including a
5986 full partition specification.
5987
044e2e60
CW
59882010-06-16 Colin Watson <cjwatson@ubuntu.com>
5989
5990 * util/grub-mkconfig.in: Ignore non-option arguments, for
5991 compatibility with older versions (before 2010-06-12) which did the
5992 same. In particular, this makes it easier to ship an update-grub
5993 wrapper which is compatible with that used with GRUB Legacy (Debian
5994 bug #586056).
5995
5591324f
GS
59962010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5997
5998 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5999 for manual page generation.
6000
662e24d5
GS
60012010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6002
6003 * po/POTFILES: Remove leftover commands/handler.c.
6004
8d70754e
CW
60052010-06-14 Colin Watson <cjwatson@ubuntu.com>
6006
6007 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6008 left this script non-functional.
6009
41160e2e
CW
60102010-06-14 Colin Watson <cjwatson@ubuntu.com>
6011
6012 * docs/man/grub-emu.h2m: New file.
6013
b5309cc1
CW
60142010-06-13 Colin Watson <cjwatson@ubuntu.com>
6015
6016 * docs/grub.texi (Commands): Document reduced command set in rescue
6017 mode.
6018 (cpuid): New section.
6019
fcb2d090
GS
60202010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6021
6022 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6023 new partition naming style.
6024 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6025
96e5c556
BC
60262010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6027
6028 Add "-o grub.iso" like cmdline options support.
6029
6030 * util/grub-install.in: Improve cmdline option parsing.
6031 * util/grub-mkconfig.in: Likewise.
6032 * util/grub-mkrescue.in: Likewise.
6033 * util/grub-reboot.in: Likewise.
6034 * util/grub-set-default.in: Likewise.
6035 * util/i386/efi/grub-install.in: Likewise.
6036 * util/ieee1275/grub-install.in: Likewise.
6037 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6038
c16be99b
CW
60392010-06-12 Colin Watson <cjwatson@ubuntu.com>
6040
6041 * .bzrignore: Ignore 41_custom.
6042
ce08a9fb
TS
60432010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6044
6045 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6046
7beac90c
CW
60472010-06-12 Colin Watson <cjwatson@ubuntu.com>
6048
6049 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6050 prototype declarations.
6051
6052 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6053 generating fs, partmap, and video lists.
6054 * include/grub/fs.h (grub_fs_register): Omit prototype if
6055 GRUB_LST_GENERATOR is defined.
6056 * include/grub/partition.h (grub_partition_map_register): Likewise.
6057 * include/grub/video.h (grub_video_register): Likewise.
6058
1c8f0f8d
JM
60592010-06-12 Javier Martín <lordhabbit@gmail.com>
6060
6061 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6062
a6085973
TS
60632010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6064
6065 * util/grub-mkrescue.in: Support --xorriso argument.
6066
25c56d29
VS
60672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6070 Suggested by: Thomas Schmitt.
6071
e03e4b24
VS
60722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6075 Suggested by: Thomas Schmitt.
6076
57711df6
VS
60772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 custom.cfg support.
6080
6081 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6082 * util/grub.d/41_custom.in: New file.
6083
ee62c427
CW
60842010-06-12 Colin Watson <cjwatson@ubuntu.com>
6085
6086 * util/grub-mkrescue.in (make_image): Remove sh module, which has
6087 been merged back into normal.
6088
283af07a
CW
60892010-06-11 Colin Watson <cjwatson@ubuntu.com>
6090
6091 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
6092 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
6093
56a0d956
CW
60942010-06-11 Colin Watson <cjwatson@ubuntu.com>
6095
6096 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
6097 when generating manual pages.
6098 * docs/man/grub-bin2h.h2m: New file.
6099 * docs/man/grub-editenv.h2m: New file.
6100 * docs/man/grub-fstest.h2m: New file.
6101 * docs/man/grub-install.h2m: New file.
6102 * docs/man/grub-macho2img.h2m: New file.
6103 * docs/man/grub-mkconfig.h2m: New file.
6104 * docs/man/grub-mkdevicemap.h2m: New file.
6105 * docs/man/grub-mkfont.h2m: New file.
6106 * docs/man/grub-mkimage.h2m: New file.
6107 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
6108 * docs/man/grub-mkrelpath.h2m: New file.
6109 * docs/man/grub-mkrescue.h2m: New file.
6110 * docs/man/grub-ofpathname.h2m: New file.
6111 * docs/man/grub-pe2elf.h2m: New file.
6112 * docs/man/grub-probe.h2m: New file.
6113 * docs/man/grub-reboot.h2m: New file.
6114 * docs/man/grub-script-check.h2m: New file.
6115 * docs/man/grub-set-default.h2m: New file.
6116 * docs/man/grub-setup.h2m: New file.
6117
3a37e322
VS
61182010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Use FOR_* macros instead of *_iterate whenever possible.
6121
6122 * commands/handler.c: Removed.
6123 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
6124 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
6125 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6126 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
6127 (grub_probe_SOURCES): Remove kern/parser.c.
6128 (util/grub-script-check.c_DEPENDENCIES): Removed.
6129 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
6130 and grub_script_check_init.c.
6131 (grub_script_check_init.lst): Removed.
6132 (grub_script_check_init.h): Likewise.
6133 (grub_script_check_init.c): Likewise.
6134 (pkglib_MODULES): Remove handler.mod and sh.mod.
6135 (handler_mod_SOURCES): Removed.
6136 (handler_mod_CFLAGS): Likewise.
6137 (handler_mod_LDFLAGS): Likewise.
6138 (normal_mod_SOURCES): Remove normal/handler.c.
6139 Add script/main.c, script/script.c, script/execute.c,
6140 script/function.c, script/lexer.c, grub_script.tab.c
6141 and grub_script.yy.c.
6142 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6143 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6144 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
6145 (grub_setup_SOURCES): Remove kern/parser.c.
6146 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6147 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
6148 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6149 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6150 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6151 (grub_setup_SOURCES): Remove kern/parser.c.
6152 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6153 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
6154 * include/grub/command.h (grub_command_iterate): Removed.
6155 (FOR_COMMANDS): New macro.
6156 * include/grub/dl.h (grub_dl): New member next.
6157 (grub_dl_iterate): Removed.
6158 (grub_dl_head): New variable declaration.
6159 (FOR_DL_MODULES): New macro.
6160 * include/grub/fs.h: Include list.h.
6161 (grub_fs): Make next first element.
6162 (grub_fs_list): New variable declaration.
6163 (grub_fs_register): Make inline.
6164 (grub_fs_unregister): Likewise.
6165 (grub_fs_iterate): Removed.
6166 (FOR_FILESYSTEMS): New macro.
6167 * include/grub/handler.h: Removed.
6168 * include/grub/list.h (grub_list_hook_t): Removed.
6169 (grub_list_test_t): Likewise.
6170 (grub_list_pop): Likewise.
6171 (grub_list_iterate): Likewise.
6172 (grub_list_insert): Likewise.
6173 (FOR_LIST_ELEMENTS): New macro.
6174 * include/grub/parser.h (grub_parser_class): Removed.
6175 (grub_parser_register): Likewise.
6176 (grub_parser_unregister): Likewise.
6177 (grub_parser_get_current): Likewise.
6178 (grub_parser_set_current): Likewise.
6179 (grub_register_rescue_parser): Likewise.
6180 (grub_rescue_parse_line): New function.
6181 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
6182 * include/grub/script_sh.h (grub_script_function_list): New variable
6183 declaration.
6184 (FOR_SCRIPT_FUNCTIONS): New macro.
6185 (grub_script_function_iterate): Removed.
6186 (grub_normal_parse_line): New prototype.
6187 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
6188 (FOR_DISABLED_TERM_INPUTS): Likewise.
6189 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6190 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6191 * include/grub/video.h (grub_video_adapter): Move 'next' to first
6192 element.
6193 (grub_video_register): Inline.
6194 (grub_video_unregister): Likewise.
6195 (grub_video_adapter_list): New variable declaration.
6196 (grub_video_iterate): Removed.
6197 (FOR_VIDEO_ADAPTERS): New macro.
6198 * kern/dl.c (grub_dl_list): Removed. All users updated.
6199 (grub_dl_iterate): Removed.
6200 * kern/fs.c (grub_fs_list): Make global.
6201 (grub_fs_register): Removed.
6202 (grub_fs_unregister): Likewise.
6203 (grub_fs_iterate): Likewise.
6204 * kern/handler.c: Removed.
6205 * kern/list.c (grub_list_pop): Removed.
6206 (grub_list_iterate): Likewise.
6207 (grub_list_insert): Likewise.
6208 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
6209 (grub_prio_list_insert): Don't use grub_list_insert.
6210 * kern/main.c (grub_register_rescue_parser): Don't call
6211 grub_register_rescue_parser.
6212 * kern/parser.c (grub_parser_class): Removed.
6213 (grub_parser_execute): Use grub_rescue_parse_line.
6214 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
6215 (grub_rescue_parser): Removed.
6216 (grub_register_rescue_parser): Likewise.
6217 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
6218 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6219 (grub_auth_check_authentication): Likewise.
6220 * normal/completion.c (iterate_command): Removed.
6221 (grub_normal_do_completion): Use FOR_COMMANDS.
6222 * normal/handler.c: Removed.
6223 * normal/main.c (read_config_file): Remove parser changing.
6224 (grub_normal_execute): Don't call read_handler_list.
6225 (grub_normal_read_line_real): Statically allocate prompt.
6226 (grub_cmdline_run): Use grub_normal_parse_line.
6227 (GRUB_MOD_FINI): Don't call free_handler_list.
6228 * normal/menu_entry.c (run): Likewise.
6229 * script/function.c (grub_script_function_list): Make global.
6230 (grub_script_function_iterate): Removed.
6231 * script/main.c (grub_normal_parse_line): Make global.
6232 (grub_sh_parser): Removed.
6233 (GRUB_MOD_INIT): Likewise.
6234 (GRUB_MOD_FINI): Likewise.
6235 * tests/lib/functional_test.c (grub_functional_test): Use
6236 FOR_LIST_ELEMENTS.
6237 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6238 (grub_test_run): Use FOR_LIST_ELEMENTS.
6239 * tests/lib/unit_test.c (main): Likewise.
6240 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6241 grub_list_pop.
6242 * util/grub-fstest.c (grub_term_input_class): Removed.
6243 (grub_term_output_class): Likewise.
6244 * util/grub-probe.c: Likewise.
6245 * util/i386/pc/grub-setup.c: Likewise.
6246 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6247 * util/grub-script-check.c (main): Don't call grub_init_all and
6248 grub_fini_all.
6249 * video/video.c (grub_video_adapter_list): Make global.
6250 (grub_video_register): Removed.
6251 (grub_video_unregister): Likewise.
6252 (grub_video_iterate): Likewise.
6253
6289c3a7
VS
62542010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6257 reported by Henrique Ferreiro.
6258
91460247
RM
62592010-06-09 Robert Millan <rmh@gnu.org>
6260
6261 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6262 ones, when both are available.
6263
0ea7c4f9
GS
62642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6265
6266 Make --version uniform and avoid hard-coded program name.
6267
6268 * util/grub-mkimage.c (main): Use `program_name' instead of
6269 hard-coded string.
6270 * util/i386/pc/grub-setup.c (main): Likewise.
6271 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6272 * util/grub-install.in: Save the basename of $0 in $self, and use the
6273 latter in informational messages. Use the same format for --version
6274 as the binary programs.
6275 * util/grub-mkconfig.in: Likewise.
6276 * util/grub-mkrescue.in: Likewise.
6277 * util/grub-reboot.in: Likewise.
6278 * util/grub-set-default.in: Likewise.
6279 * util/i386/efi/grub-install.in: Likewise.
6280 * util/ieee1275/grub-install.in: Likewise.
6281 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6282
e8a6f3b6
GS
62832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6284
6285 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6286 embedding area. Use <= instead of == when checking for non-emptiness.
6287
f4d095d7
GS
62882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6289
6290 * configure.ac: Add `.' to the directories searched for unifont.
6291
50e532ca
CW
62922010-06-08 Colin Watson <cjwatson@ubuntu.com>
6293
6294 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6295 grub_script.yy.h.
6296
d39f3dec
CW
62972010-06-08 Colin Watson <cjwatson@ubuntu.com>
6298
6299 * docs/grub.texi (History): Expand to cover GRUB 2.
6300 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6301 commands, not `terminal'.
6302 (serial): Likewise.
6303 (terminal_input): New section.
6304 (terminal_output): New section.
6305 (uppermem): New section (stub).
6306 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6307
6ef0ddb4
CW
63082010-06-08 Colin Watson <cjwatson@ubuntu.com>
6309
6310 * docs/grub.texi (Security): Menu entries are unrestricted by
6311 default, not restricted to superusers as I had previously thought.
6312 Reword to account for this.
6313
e0f4c438
CW
63142010-06-07 Colin Watson <cjwatson@ubuntu.com>
6315
6316 * kern/emu/misc.c (device_mapper_null_log): New function.
6317 (grub_device_mapper_supported): New function.
6318 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6319 prototype.
6320 * kern/emu/hostdisk.c (find_partition_start): Check whether
6321 device-mapper is supported before trying to use it.
6322 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6323
da908200
CW
63242010-06-07 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6327 (File name syntax): Likewise.
6328 (help): --all is no longer supported in GRUB 2. Be more precise
6329 about pattern matching.
6330
fb55c3ac
CW
63312010-06-07 Colin Watson <cjwatson@ubuntu.com>
6332
6333 * normal/completion.c (grub_normal_do_completion): When completing
6334 arguments to "set" and the current word contains an equals sign,
6335 skip to after the equals sign before starting completion.
6336
258c2573
CW
63372010-06-07 Colin Watson <cjwatson@ubuntu.com>
6338
6339 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6340
ee75515e
CW
63412010-06-07 Colin Watson <cjwatson@ubuntu.com>
6342
6343 * docs/grub.texi (Network): New section.
6344 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6345 `(nd)' as in GRUB Legacy.
6346 (pxe_unload): New section.
6347
a6a700aa
CW
63482010-06-07 Colin Watson <cjwatson@ubuntu.com>
6349
6350 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6351 in the rescue shell, so recommend using `set' instead. Thanks,
6352 Jordan Uggla.
6353
4003dd38
CW
63542010-06-07 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6357 (password): New section.
6358 (password_pbkdf2): New section.
6359 (search): New section.
6360 (Security): New section.
6361 (Troubleshooting): New section, currently very incomplete.
6362 (Invoking grub-mkpasswd-pbkdf2): New section.
6363 (Internals): New section, currently very incomplete.
6364
e1cbcc40
CW
63652010-06-07 Colin Watson <cjwatson@ubuntu.com>
6366
6367 * util/grub.d/00_header.in: Add some more quoting (of
6368 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6369 work again.
6370 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6371
db8fa1ad
CW
63722010-06-07 Colin Watson <cjwatson@ubuntu.com>
6373
6374 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6375 to `count', fixing variable shadowing that broke the -c option.
6376
63772010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6378
6379 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6380 in case they contain spaces.
6381
f28a9212
CW
63822010-06-04 Colin Watson <cjwatson@ubuntu.com>
6383
6384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6385 "part_" to partmap module names, in line with grub-install.
6386 Reported by: Jindřich Makovička (Debian bug #584426).
6387
9cdfe32f
CW
63882010-06-04 Colin Watson <cjwatson@ubuntu.com>
6389
6390 * util/grub-mkimage.c: Make target-related error messages slightly
6391 more helpful; -O talks about "format". Explicitly point to the use
6392 of -O if no target is specified.
6393 Reported by: Didier Raboud (Debian bug #584415).
6394
795b593a
CW
63952010-06-03 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * INSTALL: Document several build requirements for optional features
6398 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6399
9d9b5833
GS
64002010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6401
6402 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6403 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6404 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6405
0819fec8
CW
64062010-06-02 Colin Watson <cjwatson@ubuntu.com>
6407
6408 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6409 Thanks to Jordan Uggla for spotting this.
6410
49396b4f
VS
64112010-06-02 Aleš Nesrsta <starous@volny.cz>
6412
6413 Finally make USB usable.
6414
6415 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6416 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6417 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6418 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6419 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6420 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6421 (GRUB_OHCI_FSMPS): Likewise.
6422 (GRUB_OHCI_PERIODIC_START): Likewise.
6423 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6424 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6425 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6426 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6427 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6428 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6429 (grub_ohci_transaction): Likewise.
6430 (grub_ohci_transfer): Improve condition detection algorithms.
6431 Handle toggle property. Program the transactions correctly.
6432 Improve error handling. Various important fixups.
6433 (grub_ohci_portstatus): Put register writes in right order.
6434 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6435 (grub_uhci_transfer): Don't show "failed" message on success.
6436 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6437 array.
6438 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6439 determine its size.
6440 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6441 before initialization is completed. Use IN direction for empty
6442 transfers. Use last_trans and compute toggle.
6443 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6444 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6445 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6446 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6447 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6448 (grub_usb_device): Increase toggle to 256.
6449 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6450 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
6451 GRUB_USBMS_SUBCLASS_SFF8070.
6452 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
6453 (grub_scsi_inquiry): New member page and alloc_length.
6454 (grub_scsi_request_sense): New structure.
6455 (grub_scsi_request_sense_data): Likewise.
6456 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
6457 control.
6458 * disk/scsi.c (grub_scsi_request_sense): New function.
6459 (grub_scsi_test_unit_ready): Likewise.
6460 (grub_scsi_inquiry): Fill new fields.
6461 (grub_scsi_read_capacity): Likewise.
6462 (grub_scsi_read10): Add request sense at the end.
6463 (grub_scsi_read12): Likewise.
6464 (grub_scsi_write10): Likewise.
6465 (grub_scsi_write12): Likewise.
6466 (grub_scsi_open): Add Test Unit Ready.
6467 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
6468 Support additional subclasses. Con't clear halt yet. Activate the
6469 proper config. Calculate LUNs correctly.
6470 (grub_usbms_transfer): Various important fixups.
6471
64722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
6475 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
6476 (grub_ohci_fini_hw): New function.
6477 (grub_ohci_restore_hw): Likewise.
6478 (GRUB_MOD_INIT(ohci)): Register preboot hook.
6479 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
6480 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
6481
64822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Dedicated DMA allocations.
6485
6486 * bus/pci.c (grub_memalign_dma32): New function
6487 (grub_dma_free): Likewise.
6488 (grub_dma_get_virt): Likewise.
6489 (grub_dma_get_phys): Likewise.
6490 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
6491 (grub_ohci_pci_iter): Use dma32_alloc.
6492 (grub_ohci_transfer): Likewise.
6493 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6494 (grub_usb_bulk_readwrite): Likewise.
6495 * include/grub/pci.h: Add declarations.
6496
64972010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 CS5536 support.
6500
6501 * bus/cs5536.c: New file.
6502 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
6503 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
6504 (cs5536_mod_SOURCES): New variable.
6505 (cs5536_mod_CFLAGS): Likewise.
6506 (cs5536_mod_LDFLAGS): Likewise.
6507 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
6508 machine/pci.h.
6509 (kernel_img_SOURCES): Add bus/cs5536.c.
6510 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
6511 usb_keyboard.mod.
6512 (usb_mod_SOURCES): New variable.
6513 (usb_mod_CFLAGS): New variable.
6514 (usb_mod_LDFLAGS): New variable.
6515 (usbtest_mod_SOURCES): New variable.
6516 (usbtest_mod_CFLAGS): New variable.
6517 (usbtest_mod_LDFLAGS): New variable.
6518 (ohci_mod_SOURCES): New variable.
6519 (ohci_mod_CFLAGS): New variable.
6520 (ohci_mod_LDFLAGS): New variable.
6521 (usbms_mod_SOURCES): New variable.
6522 (usbms_mod_CFLAGS): New variable.
6523 (usbms_mod_LDFLAGS): New variable.
6524 (usb_keyboard_mod_SOURCES): New variable.
6525 (usb_keyboard_mod_CFLAGS): New variable.
6526 (usb_keyboard_mod_LDFLAGS): New variable.
6527 * include/grub/smbus.h: New file.
6528 * include/grub/cs5536.h: New file.
6529
0b35b2a9
CW
65302010-06-02 Colin Watson <cjwatson@ubuntu.com>
6531
6532 * util/grub.d/00_header.in: Add safety check to make sure that
6533 ${locale_dir} exists before trying to probe it.
6534
ca0afd5b
CW
65352010-06-02 Colin Watson <cjwatson@ubuntu.com>
6536
6537 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6538 per the GNU Coding Standards; this is now too obscure to be worth
6539 documenting.
6540 (QNX): Likewise.
6541 (chainloader): Remove cross-reference to `SCO UnixWare'.
6542
1c41aa78
CW
65432010-06-02 Colin Watson <cjwatson@ubuntu.com>
6544
6545 * docs/grub.texi (Chain-loading): New section.
6546 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6547 adjusted for GRUB 2.
6548 (SCO UnixWare): Likewise.
6549 (QNX): Likewise.
6550 (chainloader): Add reference to `Block list syntax'.
6551 (drivemap): New section.
6552 (parttool): New section.
6553
bb8ea0f5
CW
65542010-06-02 Colin Watson <cjwatson@ubuntu.com>
6555
6556 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6557 the grub shell'.
6558 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6559 (Installing GRUB using grub-install): Remove reference to the grub
6560 shell; mention `grub-mkimage' and `grub-setup' instead.
6561 (Invoking grub-install): Likewise.
6562 (Interface): Add reference to `Menu entry editor'.
6563 (serial): Remove `--device' option.
6564
288dd6ed
CW
65652010-06-02 Colin Watson <cjwatson@ubuntu.com>
6566
6567 * docs/grub.texi (Configuration): New section, documenting
6568 configuration file generation using grub-mkconfig. I've left a slot
6569 for documenting the full shell scripting format but have not yet
6570 started on writing that up.
6571 (Invoking grub-mkconfig): New section.
6572
34c9f0e9
CW
65732010-06-02 Colin Watson <cjwatson@ubuntu.com>
6574
6575 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6576 (GNU GRUB manual): Likewise.
6577 (General commands): Update description of `terminfo' for GRUB 2.
6578
9121567e
CW
65792010-06-02 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6582 (GRUB_MOD_INIT): Fix capitalisation.
6583 * docs/grub.texi (Command-line and menu entry commands): Document
6584 gettext and gptsync commands.
6585
ab631611
CW
65862010-06-02 Colin Watson <cjwatson@ubuntu.com>
6587
6588 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6589 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6590
bde4a9ac
CW
65912010-06-01 Colin Watson <cjwatson@ubuntu.com>
6592
6593 Add btrfs probing support, currently only in the single-device case.
6594
6595 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6596 function.
6597 (grub_guess_root_device): Call find_root_device_from_mountinfo
6598 before looking in /dev.
6599
b1d17e10
VS
66002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6603 GRUB_DISK_SIZE_UNKNOWN.
6604 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6605
dfbfe004
JS
66062010-05-31 Jiro SEKIBA <jir@unicus.jp>
6607
6608 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6609 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6610 corrupted or not synced properly.
6611
c2ffc8e9
VS
66122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6615 Reported by: Seth Goldberg.
6616
56293166
VS
66172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6620 addition of dest.
6621 Reported by: Seth Goldberg.
6622
7620e7de
VS
66232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6626 Reported by: Seth Goldberg.
6627
c837af3f
VS
66282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6631 64-bit address as signed on MIPS.
6632
c7c75cf4
CW
66332010-05-28 Colin Watson <cjwatson@ubuntu.com>
6634
6635 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6636 to the empty string.
6637
fa4b8490
BC
66382010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6639
6640 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6641
6642 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6643 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6644 * kern/misc.c (__enable_execute_stack): Disable on
6645 GRUB_MACHINE_EMU.
6646
a33075b9
CW
66472010-05-28 Colin Watson <cjwatson@ubuntu.com>
6648
6649 Make grub-probe work with symbolic links under /dev/mapper as well
6650 as with real block devices. The Linux world seems to be (at best)
6651 in transition here, and GRUB shouldn't get caught in the middle.
6652
6653 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6654 /dev/mapper.
6655
d8708134
CW
66562010-05-27 Colin Watson <cjwatson@ubuntu.com>
6657
6658 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6659 input files (in which case exit zero).
6660
db2102a0
CW
66612010-05-27 Colin Watson <cjwatson@ubuntu.com>
6662
6663 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6664 return NULL for various reasons even if it has a maximum-length
6665 buffer: for example, there might be a symlink loop, or the path
6666 might exceed PATH_MAX. If this happens, return NULL.
6667
5fdba519
RM
66682010-05-27 Robert Millan <rmh@gnu.org>
6669
6670 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6671 partmap module to handle cross-partmap setups.
6672 Reported by Orestes Mas. Gràcies!
6673
d1d368e4
CW
66742010-05-27 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * util/grub-mkrescue.in: Initialise override_dir rather than
6677 assuming that it's unset or empty in the environment.
6678
95ac3c73
GS
66792010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6680
6681 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6682 variable index into p_index to suppress a warning with -Wshadow.
6683
7d8c0213
BC
66842010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6685
6686 * INSTALL: Added flex >= 2.5.35 requirement.
6687
db4d5813
VS
66882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6691
f24f4300
VS
66922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 cmostest support.
6695
6696 * commands/i386/cmostest.c: New file.
6697 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6698 (cmostest_mod_SOURCES): New variable.
6699 (cmostest_mod_CFLAGS): Likewise.
6700 (cmostest_mod_LDFLAGS): Likewise.
6701 * conf/i386-pc.rmk: Likewise.
6702 * docs/grub.texi (Vendor power-on keys): New section.
6703 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6704 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6705 and GRUB_BUTTON_CMOS_ADDRESS.
6706 * util/grub.d/00_header.in: Handle powering-on by separate button.
6707
ad603f61
VS
67082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6711 Removed drawing_scrollbar argument. All users updated
6712 Fixes #29792.
6713 Reported by Jo Shields
6714
3ecb080a
VS
67152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6718 buffer since gfxterm handles double repaint.
6719
5f2316c1
VS
67202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6723 * term/gfxterm.c (real_scroll): Likewise.
6724
9a25f885
VS
67252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6728 before calling BIOS.
6729
39fbb79a
VS
67302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * include/grub/i18n.h: Always enable grub_gettext.
6733
228cfa97
VS
67342010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6737 partition naming style.
6738
21717c8f
CW
67392010-05-21 Colin Watson <cjwatson@ubuntu.com>
6740
6741 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6742 not the first option.
6743
c0f48e65
CW
67442010-05-20 Colin Watson <cjwatson@ubuntu.com>
6745
6746 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6747
96779aec
CW
67482010-05-20 Colin Watson <cjwatson@ubuntu.com>
6749
6750 * util/misc.c: Move inclusion of <limits.h> to ...
6751 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6752
fa9d256e
GS
67532010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6754
6755 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6756 Fix merge error in NetBSD code.
6757 (find_partition_start) [__NetBSD__]: Likewise.
6758
123b7a85
BC
67592010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6760
6761 Fix grub-mkrescue usage unit testing.
6762
6763 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6764
74276c0d
CF
67652010-05-18 Christian Franke <franke@computer.org>
6766
6767 * util/grub.d/10_windows.in: Use path names instead of
6768 drive letters to prevent warning from Cygwin 1.7.
6769 Add drivemap command to menuentry if needed.
6770
c4f7b523
ST
67712010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6772
6773 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6774 gnumach and gnumach.gz.
6775
95b97950
VS
67762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * include/grub/i18n.h (gettext): Inline instead of using #define.
6779 (grub_gettext): Likewise.
6780 (_): Likewise.
6781
01b8d2d7
VS
67822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6785 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6786 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6787 (main): Add a slash after pkglibdirroot.
6788
654e1d1e
VS
67892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * util/grub-install.in: Add missing "in" keyword.
6792
26966aeb
VS
67932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6796 Reported by: Seth Goldberg.
6797
75006747
VS
67982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6801
74cbf5bd
CW
68022010-05-18 Colin Watson <cjwatson@ubuntu.com>
6803
6804 * configure.ac: Check for Linux device-mapper support.
6805
6806 * util/hostdisk.c (device_is_mapped): New function.
6807 (find_partition_start): New function, partly broken out from
6808 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6809 device-mapper support added.
6810 (linux_find_partition): Use find_partition_start.
6811 (convert_system_partition_to_system_disk): Add `st' argument.
6812 Support Linux /dev/mapper/* devices if device-mapper support is
6813 available; only DM-RAID devices are understood at present.
6814 (find_system_device): Add `st' argument. Pass it to
6815 convert_system_partition_to_system_disk.
6816 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6817 find_system_device and convert_system_partition_to_system_disk. Use
6818 find_partition_start.
6819
6820 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6821 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6822 * util/deviceiter.c [__linux__]: Define MINOR.
6823 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6824 * util/mkdevicemap.c (grub_putchar): New function.
6825 (grub_getkey): New function.
6826 (grub_refresh): New function.
6827 (main): Set debug=all if -v -v is used.
6828
355b51e9
CW
68292010-05-18 Colin Watson <cjwatson@ubuntu.com>
6830
6831 Fix build with non-GNU libcs.
6832
6833 * util/misc.c (canonicalize_file_name): Move to ...
6834 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6835 grub_make_system_path_relative_to_its_root.
6836
7fb5c25f
CW
68372010-05-18 Colin Watson <cjwatson@ubuntu.com>
6838
6839 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6840 we handle finding grub-mkimage. Default to finding grub-mkimage in
6841 ${bindir} with program_transform_name applied, and provide a
6842 --grub-mkimage option to override this.
6843
1d3293d6
VS
68442010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Remove grub-mkisofs.
6847
6848 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6849 (grub_mkisofs_SOURCES): Removed.
6850 (grub_mkisofs_CFLAGS): Removed.
6851 * util/mkisofs/defaults.h: Removed.
6852 * util/mkisofs/eltorito.c: Likewise.
6853 * util/mkisofs/exclude.h: Likewise.
6854 * util/mkisofs/hash.c: Likewise.
6855 * util/mkisofs/include/: Likewise.
6856 * util/mkisofs/include/fctldefs.h: Likewise.
6857 * util/mkisofs/include/mconfig.h: Likewise.
6858 * util/mkisofs/include/prototyp.h: Likewise.
6859 * util/mkisofs/include/statdefs.h: Likewise.
6860 * util/mkisofs/iso9660.h: Likewise.
6861 * util/mkisofs/joliet.c: Likewise.
6862 * util/mkisofs/match.c: Likewise.
6863 * util/mkisofs/match.h: Likewise.
6864 * util/mkisofs/mkisofs.c: Likewise.
6865 * util/mkisofs/mkisofs.h: Likewise.
6866 * util/mkisofs/msdos_partition.h: Likewise.
6867 * util/mkisofs/multi.c: Likewise.
6868 * util/mkisofs/name.c: Likewise.
6869 * util/mkisofs/rock.c: Likewise.
6870 * util/mkisofs/tree.c: Likewise.
6871 * util/mkisofs/write.c: Likewise.
6872
5dde9afe
VS
68732010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 Unify grub-mkimage accross platforms.
6876
6877 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6878 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6879 (grub_mkelfimage_SOURCES): Removed.
6880 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6881 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6882 (bin_UTILITIES): Add grub-mkimage.
6883 (grub_mkimage_SOURCES): New variable.
6884 (kernel_img_HEADERS): Remove machine/kernel.h.
6885 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6886 (pkglib_PROGRAMS): Add kernel.img.
6887 (kernel_img_HEADERS): Add machine/kernel.h.
6888 (kernel_img_FORMAT): Removed.
6889 (bin_UTILITIES): Remove grub-mkimage.
6890 (grub_mkimage_SOURCES): Removed.
6891 (grub_mkimage_CFLAGS): Likewise.
6892 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6893 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6894 (pkglib_PROGRAMS): Add kernel.img.
6895 (bin_UTILITIES): Remove grub-mkimage.
6896 (grub_mkimage_SOURCES): Removed.
6897 (grub_mkimage_CFLAGS): Likewise.
6898 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6899 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6900 (pkglib_PROGRAMS): Add kernel.img.
6901 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6902 (pkglib_PROGRAMS): Add kernel.img.
6903 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6904 (grub_mkimage_SOURCES): Removed.
6905 (grub_mkimage_CFLAGS): Likewise.
6906 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6907 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6908 (pkglib_PROGRAMS): Add kernel.img.
6909 (bin_UTILITIES): Remove grub-mkimage.
6910 (grub_mkimage_SOURCES): Removed.
6911 (grub_mkimage_CFLAGS): Likewise.
6912 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6913 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6914 (grub_mkimage_SOURCES): Removed.
6915 (grub_mkimage_CFLAGS): Likewise.
6916 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6917 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6918 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6919 (grub_pe32_optional_header): ... this.
6920 (grub_pe64_optional_header): ... and this. All users updated.
6921 (GRUB_PE32_PE32_MAGIC): Split into ..
6922 (GRUB_PE32_PE32_MAGIC): .. this.
6923 (GRUB_PE32_PE64_MAGIC): .. and this.
6924 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6925 * include/grub/elf.h (PT_GNU_STACK): New definition.
6926 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6927 * include/grub/i386/efi/kernel.h: Likewise.
6928 * include/grub/i386/kernel.h: Likewise.
6929 * include/grub/i386/pc/kernel.h: Likewise.
6930 * include/grub/i386/qemu/boot.h: Likewise.
6931 * include/grub/mips/kernel.h: Likewise.
6932 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6933 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6934 * include/grub/powerpc/kernel.h: Likewise.
6935 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6936 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6937 * include/grub/sparc64/kernel.h: Likewise.
6938 * include/grub/x86_64/efi/kernel.h: Likewise.
6939 * include/grub/x86_64/kernel.h: Likewise.
6940 * include/grub/offsets.h: New file.
6941 * include/grub/kernel.h (grub_module_info): Split into ...
6942 (grub_module_info32): ... this.
6943 (grub_module_info64): ... and this.
6944 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6945 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6946 (grub_boot_blocklist): Moved from here ...
6947 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6948 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6949 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6950 * include/grub/types.h (grub_target_to_host16): Removed.
6951 (grub_target_to_host32): Likewise.
6952 (grub_target_to_host64): Likewise.
6953 (grub_host_to_target16): Likewise.
6954 (grub_host_to_target32): Likewise.
6955 (grub_host_to_target64): Likewise.
6956 (grub_host_to_target_addr): Likewise.
6957
6958 Support grub-mkrescue for efi, coreboot and qemu.
6959
6960 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6961 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6962 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6963 * util/grub-mkrawimage.c: Moved from here ...
6964 * util/grub-mkimage.c: ... here. All users updated.
6965 (ALIGN_ADDR): Use image_target.
6966 (TARGET_NO_FIELD): New const.
6967 (image_target_desc): New type.
6968 (image_targets): New array.
6969 (grub_target_to_host64): Use image_target.
6970 (grub_target_to_host32): Likewise.
6971 (grub_target_to_host16): Likewise.
6972 (grub_host_to_target64): Likewise.
6973 (grub_host_to_target32): Likewise.
6974 (grub_host_to_target16): Likewise.
6975 (grub_host_to_target_addr): Likewise.
6976 (generate_image): Handle multiimage.
6977 (main): Require -O parameter. All users updated.
6978 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6979 util/efi/grub-mkimage.c
6980 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6981 New option --rom-directory.
6982 Use xorriso.
6983 * util/i386/efi/grub-mkimage.c: Removed.
6984 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6985 (grub_target_to_host32): Likewise.
6986 (grub_target_to_host64): Likewise.
6987 (grub_host_to_target16): Likewise.
6988 (grub_host_to_target32): Likewise.
6989 (grub_host_to_target64): Likewise.
6990 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6991 (grub_target_to_host32): Likewise.
6992 (grub_target_to_host64): Likewise.
6993 (grub_host_to_target16): Likewise.
6994 (grub_host_to_target32): Likewise.
6995 (grub_host_to_target64): Likewise.
6996
f4fc97d0
BC
69972010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6998
6999 Source tree is reorganized for emu build.
7000
7001 * include/grub/util/console.h: Move from here...
7002 * include/grub/emu/console.h: ...to here.
7003 * include/grub/util/getroot.h: Move from here...
7004 * include/grub/emu/getroot.h: ...to here.
7005 * include/grub/util/hostdisk.h: Move from here...
7006 * include/grub/emu/hostdisk.h: ...to here.
7007 * util/console.c: Move from here...
7008 * kern/emu/console.c: ...to here.
7009 * util/getroot.c: Move from here...
7010 * kern/emu/getroot.c: ...to here.
7011 * util/grub-emu.c: Move from here...
7012 * kern/emu/main.c: ...to here.
7013 * util/hostdisk.c: Move from here...
7014 * kern/emu/hostdisk.c: ...to here.
7015 * util/hostfs.c: Move from here...
7016 * kern/emu/hostfs.c: ...to here.
7017 * util/mm.c: Move from here...
7018 * kern/emu/mm.c: ...to here.
7019 * util/pci.c: Move from here...
7020 * bus/emu/pci.c: ...to here.
7021 * util/sdl.c: Move from here...
7022 * video/emu/sdl.c: ...to here.
7023 * util/time.c: Move from here...
7024 * kern/emu/time.c: ...to here.
7025 * util/usb.c: Move from here...
7026 * bus/usb/emu/usb.c: ...to here.
7027
7028 * include/grub/emu/misc.h: New header for grub-emu functions.
7029 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7030
7031 * conf/any-emu.rmk: Rule updates for above renames.
7032 * conf/common.rmk: Likewise.
7033 * conf/i386-pc.rmk: Likewise.
7034 * conf/i386-qemu.rmk: Likewise.
7035 * conf/mips.rmk: Likewise.
7036 * conf/sparc64-ieee1275.rmk: Likewise.
7037 * conf/x86-efi.rmk: Likewise.
7038
7039 * disk/lvm.h: #include updates for above renames.
7040 * util/grub-mkrelpath.c: Likewise.
7041 * util/grub-probe.c: Likewise.
7042 * util/i386/pc/grub-setup.c: Likewise.
7043 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7044 * kern/emu/console.c: Likewise.
7045 * kern/emu/getroot.c: Likewise.
7046 * kern/emu/hostdisk.c: Likewise.
7047 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7048
7049 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7050 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7051 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7052 * util/misc.c: Remove grub-emu functions.
7053
cced9145
VS
70542010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 Fix gfxmenu crash.
7057 Reported by: Thorsten Grützmacher.
7058
7059 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7060 timeout hook.
7061 (circprog_set_property): Register and unregister timeout hook.
7062 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7063 (label_destroy): Free template. and unregister hook.
7064 (label_set_state): New function.
7065 (label_set_property): Handle templates and hooks.
7066 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7067 timeout hook.
7068 (progress_bar_set_property): Register and unregister timeout hook.
7069 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7070 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7071 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7072 (update_timeout_visit): Removed.
7073 (update_timeouts): New function.
7074 (redraw_timeouts): Likewise.
7075 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7076 (grub_gfxmenu_clear_timeout): Likewise.
7077 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7078 (grub_gfxmenu_timeout_notify): Likewise.
7079 (grub_gfxmenu_timeout_notifications): New external variable.
7080 (grub_gfxmenu_timeout_register): New function.
7081 (grub_gfxmenu_timeout_unregister): Likewise.
7082
c6e5caab
VS
70832010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Transform (broken) vga terminal into (working) vga video driver.
7086
7087 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
7088 video/i386/pc/vga.c.
7089 * include/grub/video.h (grub_video_driver_id):
7090 Add GRUB_VIDEO_DRIVER_VGA.
7091 * term/i386/pc/vga.c: Renamed to ...
7092 * video/i386/pc/vga.c: ...this
7093 (DEBUG_VGA): Removed.
7094 (CHAR_WIDTH): Likewise.
7095 (CHAR_HEIGHT): Likewise.
7096 (TEXT_WIDTH): Likewise.
7097 (TEXT_HEIGHT): Likewise.
7098 (DEFAULT_FG_COLOR): Likewise.
7099 (DEFAULT_BG_COLOR): Likewise.
7100 (colored_char): Likewise.
7101 (xpos): Likewise.
7102 (ypos): Likewise.
7103 (cursor_state): Likewise.
7104 (fg_color): Likewise.
7105 (bg_color): Likewise.
7106 (text_buf): Likewise.
7107 (page): Likewise.
7108 (font): Likewise.
7109 (framebuffer): New variable.
7110 (set_read_map): Disabled.
7111 (setup): New variable.
7112 (is_target): Likewise.
7113 (grub_vga_mod_init): Likewise.
7114 (grub_vga_mod_fini): Likewise.
7115 (check_vga_mem): Likewise.
7116 (write_char): Likewise.
7117 (write_cursor): Likewise.
7118 (scroll_up): Likewise.
7119 (grub_vga_putchar): Likewise.
7120 (grub_vga_getcharwidth): Likewise.
7121 (grub_vga_getwh): Likewise.
7122 (grub_vga_getxy): Likewise.
7123 (grub_vga_gotoxy): Likewise.
7124 (grub_vga_cls): Likewise.
7125 (grub_vga_setcolorstate): Likewise.
7126 (grub_vga_setcursor): Likewise.
7127 (grub_video_vga_init): New function.
7128 (grub_video_vga_setup): Likewise.
7129 (grub_video_vga_fini): Likewise.
7130 (update_target): Likewise.
7131 (grub_video_vga_blit_bitmap): Likewise.
7132 (grub_video_vga_blit_render_target): Likewise.
7133 (grub_video_vga_set_active_render_target): Likewise.
7134 (grub_video_vga_get_active_render_target): Likewise.
7135 (grub_video_vga_swap_buffers): Likewise.
7136 (grub_video_vga_set_palette): Likewise.
7137 (grub_video_vga_get_info_and_fini): Likewise.
7138 (grub_vga_term): Removed.
7139 (grub_video_vga_adapter): New variable.
7140 (GRUB_MOD_INIT): Register a video driver instead of terminal.
7141 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
7142
2bf61a98
VS
71432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * video/readers/jpeg.c: Indented.
7146
09ddcd11
VS
71472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 Various jpeg cleanups.
7150
7151 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
7152 (grub_jpeg_decode_quan_table): Use sizeof.
7153 (grub_jpeg_decode_du): Use ARRAY_SIZE.
7154
e5507505
PH
71552010-05-05 Peter Hurley <No e-mail available> (tiny change)
7156
7157 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
7158 tables. Ignore non-last ac bit.
7159 (grub_jpeg_decode_quan_table): Likewise.
7160
7e720a9b
VS
71612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7164 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
7165 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7166 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7167 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
7168 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
7169
a7fc080b
VS
71702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
7173 error.
7174
2bf6012d
VS
71752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
7178
265d68cd
VS
71792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
7182 condition.
7183
71842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
7185
7186 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
7187 part.
7188
265d68cd 71892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
7190
7191 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
7192 pointers.
7193
265d68cd 71942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
7195
7196 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
7197
d1b61374
CF
71982010-05-01 Christian Franke <franke@computer.org>
7199
7200 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
7201 Remove broken Cygwin path conversion.
7202 * util/misc.c: [__CYGWIN__] Add include and define.
7203 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
7204 for Cygwin 1.7.
7205 (make_system_path_relative_to_its_root): Simplify loop, replace early
7206 return by break.
7207 [__CYGWIN__] Add conversion to win32 path.
7208 Include "/" case in trailing slash removal.
7209
3558c6e9
VS
72102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * kern/main.c (grub_load_config): Fix copy-pasted comment.
7213 Reported by: Seth Goldberg
7214
f5f3ff93
VS
72152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * commands/help.c (grub_cmd_help): Fix a typo.
7218 Reported by: Seth Goldberg
7219
d8b5cd40
VS
72202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7223 name and add N_.
7224 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7225 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7226 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7227 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7228 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7229 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7230 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7231 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7232 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7233 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7234 * normal/context.c (GRUB_MOD_INIT): Likewise.
7235 * normal/main.c (GRUB_MOD_INIT): Likewise.
7236 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7237 * term/serial.c (GRUB_MOD_INIT): Likewise.
7238 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7239
88c14915
VS
72402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7243 extra == 0.
7244
165134bc
VS
72452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * commands/iorw.c: New file.
7248 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7249 (iorw_mod_SOURCES): New variable.
7250 (iorw_mod_CFLAGS): Likewise.
7251 (iorw_mod_LDFLAGS): Likewise.
7252
c5ac9b32
VS
72532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Hotkey support
7256
7257 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7258 * normal/main.c (hotkey_aliases): New variable.
7259 (grub_normal_add_menu_entry): Parse "--hotkey".
7260 * normal/menu_text.c (run_menu): Handle hotkeys.
7261
ce60689c
VS
72622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * kern/i386/coreboot/init.c (grub_machine_init): Call
7265 grub_machine_mmap_init on qemu.
7266
0359d006
VS
72672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * boot/i386/qemu/boot.S: Add a missing .code16.
7270
7819a456
VS
72712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Use LBIO on coreboot.
7274
7275 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7276 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7277 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7278 New declaration.
7279 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7280 grub_machine_mmap_init on coreboot.
7281 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7282 GRUB_LINUXBIOS_MEMBER_LINK.
7283 (grub_machine_mmap_iterate): Fix declaration.
7284 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7285
7210dca9
VS
72862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Split coreboot and multiboot ports.
7289
7290 * conf/i386-multiboot.rmk: New file.
7291 * configure.ac: Add multiboot port.
7292 * include/grub/i386/multiboot/boot.h: New file.
7293 * include/grub/i386/multiboot/console.h: Likewise.
7294 * include/grub/i386/multiboot/init.h: Likewise.
7295 * include/grub/i386/multiboot/kernel.h: Likewise.
7296 * include/grub/i386/multiboot/loader.h: Likewise.
7297 * include/grub/i386/multiboot/memory.h: Likewise.
7298 * include/grub/i386/multiboot/serial.h: Likewise.
7299 * include/grub/i386/multiboot/time.h: Likewise.
7300 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7301 * loader/multiboot.c: Likewise.
7302 * loader/multiboot_mbi2.c: Likewise.
7303 * util/grub-mkrescue.in: Generate multiboot rescue.
7304
6f8aaf68
VS
73052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7306
3080f7a7
VS
7307 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7308
73092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7312
7313 * commands/terminal.c (abstract_terminal): New struct.
7314 (handle_command): New function. Based on grub_cmd_terminal_input.
7315 (grub_cmd_terminal_input): Use handle_command.
7316 (grub_cmd_terminal_output): Use handle_command.
7317
a8ebb841
BC
73182010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7319
7320 Fix comment handling.
7321
7322 * tests/grub_script_comments.in: New testcase.
7323 * conf/tests.rmk: Rules for new testcase.
7324 * script/yylex.l: Updated flex rules.
7325
bb06ba08
ST
73262010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7327
7328 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7329 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7330 if argc is 1.
bb06ba08 7331
cc9d2425
VS
73322010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7335 autogen issues.
7336
460d8402
CF
73372010-04-26 Christian Franke <franke@computer.org>
7338
7339 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7340 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7341 (grub_get_prefix): Remove function.
7342 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7343 make_system_path_relative_to_its_root ().
7344 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7345
553c01f9
CF
73462010-04-24 Christian Franke <franke@computer.org>
7347
7348 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7349 (kernel_img_LDFLAGS): Remove -static-libgcc.
7350
2aec1692
CF
73512010-04-24 Christian Franke <franke@computer.org>
7352
7353 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7354 and CHECK_END_SYMBOL if grub-emu is built.
7355 Unset TARGET_OBJ2ELF if grub-emu is built
7356 without module support.
7357
f67dc308
JS
73582010-04-24 Jiro SEKIBA <jir@unicus.jp>
7359
7360 Nilfs2 support.
7361
7362 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7363 (grub_fstest_SOURCES): Likewise.
7364 (pkglib_MODULES): Add nilfs2.mod.
7365 (nilfs2_mod_SOURCES): New variable.
7366 (nilfs2_mod_CFLAGS): Likewise.
7367 (nilfs2_mod_LDFLAGS): Likewise.
7368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7369 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7370 * fs/nilfs2.c: New file.
7371
4ba8d354
VS
73722010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7375 is not supported.
7376
0d2c20c6
GS
73772010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7378
7379 Add grub-mkconfig support for NetBSD.
7380
7381 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7382 * util/grub-mkconfig.in: export new NetBSD specific variables.
7383 * po/POTFILES-shell: added 10_netbsd.in.
7384 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7385
bc4a2d83
BC
73862010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7387
7388 Fix emu build with grub-emu-pci and grub-emu-modules.
7389
7390 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7391 functions.
7392 * include/grub/libpciaccess.h: New file.
7393 * conf/any-emu.rmk: Update kernel headers for emu build.
7394
f48c87aa
VS
73952010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7398
18959385
VS
73992010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7402
0037de3f
VS
74032010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7406 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7407 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7408 util/ieee1275/ofpath.c.
7409 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7410 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7411 * include/grub/sparc64/ieee1275/boot.h
7412 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7413 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7414 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7415 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7416 const char *.
7417 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7418 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7419 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7420 install.
7421
38e55e90
GS
74222010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7423
7424 * util/grub-mkconfig.in: Corrected two == equality tests.
7425 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7426 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7427 expect a number appended to it.
7428 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7429 expects a number appended to it.
7430
a9e6ff28
VS
74312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7434
0b830b8f
VS
74352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * util/hostdisk.c (make_device_name): Change to new partition naming.
7438
0973daeb
VS
74392010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7442
460d8402 74432010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7444
7445 * Makefile.in: Add missing localedir setting.
7446
0b456309
CW
74472010-04-14 Colin Watson <cjwatson@ubuntu.com>
7448
7449 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7450 mistake in r2156. Noticed by Anthony Fok.
7451
7452 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
7453 @localedir@.
7454 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7455
08f46d62
BC
74562010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
7457
7458 Fix a spurious, uninitialized variable warning.
7459
7460 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
7461 Initialize variable, shdr.
7462 (grub_freebsd_load_elfmodule): Likewise.
7463 (grub_freebsd_load_elf_meta): Likewise.
7464
8c4a72d4
BC
74652010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
7466
7467 Fix for escaped dollar in double quoted strings.
7468
7469 * script/yylex.l: Updated flex rules.
7470 * conf/tests.rmk: Rule for new testcase.
7471 * tests/grub_script_dollar.in: New testcase.
7472
ce44826e
CPE
74732010-04-13 Carles Pina i Estany <carles@pina.cat>
74742010-04-13 Colin Watson <cjwatson@ubuntu.com>
7475
7476 Enclose all translated strings in grub.cfg in single quotes, and
7477 escape them appropriately (Ubuntu bug #552921).
7478
7479 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
7480 * util/grub.d/10_hurd.in: Use it.
7481 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7482 * util/grub.d/10_linux.in (linux_entry): Likewise.
7483
4b0cd8f8
VS
74842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 Fix cygwin compilation.
7487
7488 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
7489 * include/grub/misc.h (__register_frame_info)
7490 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
7491 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7492 * kern/misc.c (__register_frame_info)
7493 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
7494 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7495
01fcf061
VS
74962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
7499
5d04b11e
VS
75002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Unify libgcc processing.
7503
7504 * Makefile.in (kernel_img_LDFLAGS): New variable.
7505 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
7506 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
7507 overwriting.
7508 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
7509 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
7510 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
7511 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
7512 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
7513 overwriting. Remove -lgcc and -static-libgcc
7514 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
7515 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7516 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7517 (kernel_img_LDFLAGS): Append instead of overwriting.
7518 Remove -lgcc and -static-libgcc
7519 * conf/sparc64-ieee1275.rmk: Likewise.
7520 * include/grub/powerpc/libgcc.h: Move to ...
7521 * include/grub/libgcc.h: .. this.
7522 * include/grub/libgcc.h: Don't export most of the function on x86.
7523 (__bswapsi2): New export.
7524 (__bswapdi2): Likewise.
7525 * include/grub/mips/libgcc.h: Removed.
7526 * include/grub/sparc64/libgcc.h: Likewise.
7527
b7f3ac29
VS
75282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7531 disk_info_msg (conflicts with gettexting into languages with cases).
7532
2c7031b1
GS
75332010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7534
7535 Add grub-probe support for NetBSD.
7536
7537 * util/getroot.c (find_root_device): Convert block device to
7538 character device on NetBSD.
7539 * util/probe.c (probe): Require character device on NetBSD.
7540 * util/hostdisk.c: NetBSD specific headers.
7541 (configure_device_driver): new function to tune device driver
7542 parameters (currently only for NetBSD floppy driver).
7543 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7544 via disklabel ioctl).
7545 (open_device): call configure_device_driver on NetBSD.
7546 (convert_system_partition_to_system_disk): NetBSD specific code.
7547 (device_is_wholedisk): Likewise.
7548 (grub_util_biosdisk_get_grub_dev): Likewise.
7549 (make_device_name): Fixed a typo in bsd_part_str.
7550 * configure.ac: check for opendisk() and getrawpartition() on
7551 NetBSD and set LIBUTIL.
7552 * Makefile.in: add LIBUTIL to LIBS.
7553
f516290c
BC
75542010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7555
7556 Documentation fix.
7557
7558 * util/grub-script-check.c: Better help message.
7559
d8dcc0df
BC
75602010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7561
7562 Fix FreeBSD build.
7563
7564 * configure.ac: Flex version check.
7565 * conf/common.rmk: Add -Wno-error to sh.mod.
7566 * script/yylex.l: Remove all #pragma.
7567
6734334a
VS
75682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7571 prototype.
7572 Reported by: Seth Goldberg.
7573
daea6abd
VS
75742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7577 Rename "module" to "module2".
7578 Reported by: Seth Goldberg.
7579
f2fd9d2b
VS
75802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7583 EXPORT_FUNC.
7584 Reported by: Seth Goldberg.
7585
be124579
VS
75862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * lib/posix_wrap/locale.h: Add missing file.
7589 Reported by: Seth Goldberg.
7590
ef5da797
VS
75912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 grub-emu module load support.
7594
7595 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7596 NO_DYNAMIC_MODULES switched to this.
7597 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7598 (CFLAGS): Likewise.
7599 * conf/any-emu.rmk: Generate symlist.
7600 (kernel_img_HEADERS): Add util/datetime.h.
7601 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7602 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7603 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7604 kern/$(target_cpu)/cache.S.
7605 * configure.ac (grub-emu-modules): New option.
7606 * genmk.rb: Handle multiple source lists.
7607 * include/grub/sdl.h: New file.
7608 * include/grub/libusb.h: Likewise.
7609 * util/grub-emu.c (main): Hanle (host) root.
7610 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7611 GRUB_ERR_UNKNOWN_DEVICE.
7612 * util/misc.c: Move mm functions to ...
7613 * util/mm.c: ... here. All users updated.
7614
47822096
VS
76152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7618 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7619 missing files.
7620 (maintainer-clean): Remove libgcrypt-grub.
7621
5d7e7445
VS
76222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7625
25f4e252
EC
76262010-04-09 EFI Coder <eficoder@hotmail.com>
7627
7628 * normal/menu_text.c (print_message): Clean up the message and show
7629 the Fn information when on EFI
7630 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7631
027de555
VS
76322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7635 All users updated.
7636 * normal/crypto.c (read_crypto_list): Likewise.
7637 * normal/dyncmd.c (read_command_list): Likewise.
7638 * normal/term.c (read_terminal_list): Likewise.
7639 * normal/main.c (read_lists): Use explicit prefix.
7640 (read_lists_hook): Use read_lists.
7641 (grub_normal_execute): Likewise.
7642
47779711
VS
76432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7646 Reported by: Thomas Schmitt.
7647 Add -no-emul-boot to grub-mkisofs parameters.
7648
1118c32e
VS
76492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * font/font.c: Indented.
7652
7d652447
BC
76532010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7654
7655 Elif support to GRUB script (by Deepak Vankadaru).
7656
7657 * tests/grub_script_if.in: New testcase.
7658 * conf/tests.rmk: Rule for new testcase.
7659 * script/parser.y: Grammar rules for elif.
7660
34bb22df
BC
76612010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7662
7663 While and until loops support to GRUB script.
7664
7665 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7666 (grub_script_create_cmdwhile): New function prototype.
7667 (grub_script_execute_cmdwhile): New function prototype.
7668 * script/execute.c (grub_script_execute_cmdwhile): New function.
7669 * script/parser.y (command): New commands.
7670 (whilecmd): New grammar rule.
7671 (untilcmd): New grammar rule.
7672 * script/script.c (grub_script_create_cmdwhile): New function.
7673 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7674 function.
7675
7676 * tests/grub_script_while1.in: New testcase.
7677 * conf/tests.rmk: Rule for new testcase.
7678
e215d8e0
VS
76792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7682 as *.jpg.
7683
d7c43ba1
MV
76842010-04-09 Mario Vazquez <mariovazq@gmail.com>
7685
7686 GRUB_BACKGROUND support.
7687
7688 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7689 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7690
d64795c0
VS
76912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7694 Idea by: Mario Vazquez
d64795c0
VS
7695
7696 * util/grub.d/00_header.in: Load pf2 and image modules.
7697
f267f83a
VS
76982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 grub-mkconfig multiple terminal support.
7701
7702 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7703 * util/grub.d/00_header.in: Likewise.
7704
b7841ceb
VS
77052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7708 we use cd $(srcdir).
7709
df60998c
CW
77102010-04-08 Colin Watson <cjwatson@ubuntu.com>
7711
7712 * util/grub.d/10_linux.in: Only use the first word of
7713 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7714 spaces in GRUB_DISTRIBUTOR.
7715 * util/grub.d/10_kfreebsd.in: Likewise.
7716 * util/grub.d/10_hurd.in: Likewise.
7717
fa09c82e
BC
77182010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7719
14e18ae3 7720 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7721
7722 * tests/util/grub-shell.in: Remove -serial stdio option.
7723
daf892b3
BC
77242010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 POSIX header file wrappers.
7727
7728 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7729 equivalents.
7730 * lib/posix_wrap/ctype.h: Likewise.
7731 * lib/posix_wrap/errno.h: Likewise.
7732 * lib/posix_wrap/langinfo.h: Likewise.
7733 * lib/posix_wrap/limits.h: Likewise.
7734 * lib/posix_wrap/localcharset.h: Likewise.
7735 * lib/posix_wrap/stdint.h: Likewise.
7736 * lib/posix_wrap/stdio.h: Likewise.
7737 * lib/posix_wrap/stdlib.h: Likewise.
7738 * lib/posix_wrap/string.h: Likewise.
7739 * lib/posix_wrap/sys/types.h: Likewise.
7740 * lib/posix_wrap/unistd.h: Likewise.
7741 * lib/posix_wrap/wchar.h: Likewise.
7742 * lib/posix_wrap/wctype.h: Likewise.
7743 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7744 (grub_script.yy.h): Likewise.
7745 * script/yylex.l: Remove POSIX emulation #defines.
7746 * Makefile.in (POSIX_CFLAGS): New variable.
7747 (GNULIB_UTIL_CFLAGS): Likewise.
7748
7749 Regexp support.
7750
7751 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7752 (regexp_mod_SOURCES): New variable.
7753 (regexp_mod_CFLAGS): Likewise.
7754 (regexp_mod_LDFLAGS): Likewise.
7755 * commands/regexp.c: New file.
7756 * gnulib/regcomp.c: New file. Imported from gnulib.
7757 * gnulib/regex.c: Likewise.
7758 * gnulib/regex_internal.c: Likewise.
7759 * gnulib/regex_internal.h: Likewise.
7760 * gnulib/regexec.c: Likewise.
7761 * gnulib/regex.h: Likewise.
7762
974ac4f7
VS
77632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7766 unsupported video mode types.
7767
2622c3ff
VS
77682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7771
064cb524
VS
77722010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7775 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7776
a8c3b552
VS
77772010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 Remove unused grub_vga_get_font.
7780
7781 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7782 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7783
187bbe3d
GS
77842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7785
7786 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7787 * include/grub/misc.h: Likewise.
7788
b9396631
GS
77892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7790
7791 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7792 for which failure is fatal.
7793
50479feb
GS
77942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7795
7796 * util/grub-install.in: Use mkdir -p to create grub directory.
7797 * util/i386/efi/grub-install.in: Likewise.
7798 * util/ieee1275/grub-install.in: Likewise.
7799
b1654fdf
GS
78002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7801
7802 * Makefile.in (LEX): new variable.
7803
bd5a6415
GS
78042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7805
7806 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7807 `=' and added double quotes on operands of this equality test.
7808
3db3a82b
VS
78092010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * Makefile.in (uninstall): Remove a leftover debug echo.
7812 Reported by: Grégoire Sutre
7813
38023412
VS
78142010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 MIPS multiboot2 support.
7817
7818 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7819 (multiboot2_mod_SOURCES): New variable.
7820 (multiboot2_mod_CFLAGS): Likewise.
7821 (multiboot2_mod_LDFLAGS): Likewise.
7822 (multiboot2_mod_ASFLAGS): Likewise.
7823 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7824 definition.
7825 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7826 (MULTIBOOT_MBI_REGISTER): Likewise.
7827 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7828 (MULTIBOOT_ELF32_MACHINE): Likewise.
7829 (MULTIBOOT_ELF64_MACHINE): Likewise.
7830 * include/grub/mips/multiboot.h: New file.
7831 * include/grub/video.h (grub_video_driver_id): New type
7832 GRUB_VIDEO_DRIVER_SM712.
7833 (grub_video_get_info_and_fini): Export.
7834 (grub_video_get_palette): Likewise.
7835 (grub_video_get_driver_id): Likewise.
7836 * include/multiboot2.h: Resynced with spec.
7837 * loader/i386/multiboot.c: Moved from here ...
7838 * loader/multiboot.c: ... here. All users updated.
7839 (grub_multiboot_boot): Use platform-specific macros.
7840 * loader/i386/multiboot_elfxx.c: Moved from here ...
7841 * loader/multiboot_elfxx.c: ... here. All users updated.
7842 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7843 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7844 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7845
47674667
VS
78462010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 Import gnulib argp module.
7849
7850 * gnulib/argp-ba.c: New file.
7851 * gnulib/argp-eexst.c: Likewise.
7852 * gnulib/argp-fmtstream.c: Likewise.
7853 * gnulib/argp-fmtstream.h: Likewise.
7854 * gnulib/argp-fs-xinl.c: Likewise.
7855 * gnulib/argp-help.c: Likewise.
7856 * gnulib/argp-namefrob.h: Likewise.
7857 * gnulib/argp-parse.c: Likewise.
7858 * gnulib/argp-pin.c: Likewise.
7859 * gnulib/argp-pv.c: Likewise.
7860 * gnulib/argp-pvh.c: Likewise.
7861 * gnulib/argp-version-etc.c: Likewise.
7862 * gnulib/argp-version-etc.h: Likewise.
7863 * gnulib/argp-xinl.c: Likewise.
7864 * gnulib/argp.h: Likewise.
7865
495442ed
VS
78662010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * kern/device.c (grub_device_iterate): Clear errors after failed
7869 opening device.
7870
f9fd65df
VS
78712010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7874 returned by firmware.
7875
af09641e
VS
78762010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7879 compilation on coreboot and qemu
7880
016883a5
VS
78812010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * include/multiboot2.h: Resync with spec.
7884
f97e1f7d
VS
78852010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Multiboot2 tag support
7888
7889 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7890 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7891 Remove loader/multiboot_loader.c.
7892 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7893 (grub_multiboot2_real_boot): Likewise.
7894 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7895 (grub_get_multiboot_mmap_count): New proto.
7896 (grub_fill_multiboot_mmap): Likewise.
7897 (grub_multiboot_set_video_mode): Likewise.
7898 (grub_multiboot_set_console): Likewise.
7899 (grub_multiboot_load): Likewise.
7900 (grub_multiboot_load_elf): Likewise.
7901 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7902 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7903 * include/multiboot.h: Resynced with specification.
7904 * include/multiboot2.h: Resynced with specification.
7905 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7906 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7907 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7908 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7909 users updated.
7910 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7911 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7912 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7913 Removed.
7914 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7915 Moved from here...
7916 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7917 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7918 Moved from here...
7919 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7920 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7921 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7922 All users updated.
7923 * loader/i386/multiboot_mbi2.c: New file.
7924
3506b90b
VS
79252010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 Resync with gnulib.
7928
7929 * Makefile.in (GNULIB_CFLAGS): New variable.
7930 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7931 (grub_script_check_CFLAGS): New variable.
7932 * gnulib/alloca.h: Resync with gnulib.
7933 * gnulib/error.c: Likewise.
7934 * gnulib/error.h: Likewise.
7935 * gnulib/fnmatch.c: Likewise.
7936 * gnulib/fnmatch_loop.c: Likewise.
7937 * gnulib/getdelim.c: Likewise.
7938 * gnulib/getline.c: Likewise.
7939 * gnulib/getopt.c: Likewise.
7940 * gnulib/getopt1.c: Likewise.
7941 * gnulib/getopt_int.h: Likewise.
7942 * gnulib/gettext.h: Likewise.
7943 * gnulib/progname.c: Likewise.
7944 * gnulib/progname.h: Likewise.
7945
394a3120
GS
79462010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7947
7948 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7949 which is the case with --disabled-nls.
7950
7951 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7952 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7953 * util/misc.c: Likewise.
7954 * util/mkisofs/mkisofs.c: Likewise.
7955 * util/mkisofs/mkisofs.h: Likewise.
7956
969d1c78
VS
79572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 Simplify Apple CC support.
7960
7961 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7962 Add 0 byte at the end not to have a symbol with empty target.
7963 * mmap/i386/pc/mmap_helper.S: Likewise.
7964 * genmk.rb: Ignore errors 2030 and 2050.
7965 * kern/i386/pc/startup.S: Use LOCAL when possible.
7966
8d2977bb
BC
79672010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7968
7969 Testcase and the fix for final semicolon on cmdline.
7970
7971 * tests/grub_script_final_semicolon.in: New testcase.
7972 * conf/tests.rmk: Rules for the new testcase.
7973 * script/parser.y: Grammar fix.
7974
a7bd6915
BC
79752010-03-26 BVK Chaitanya <bvk@localhost>
7976
7977 Blank lines testcase for GRUB script.
7978
7979 * tests/grub_script_blanklines.in: New testcase.
7980 * conf/tests.rmk: Rules for the new testcase.
7981
e4ff6628
VS
79822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 Don't use __FILE__.
7985
7986 * genmk.rb: Add -DGRUB_FILE to all C targets.
7987 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7988 * include/grub/list.h: Likewise.
7989 * include/grub/misc.h: Likewise.
7990 * include/grub/mm.h: Likewise.
7991 * include/grub/test.h: Likewise.
7992 * kern/mm.c: Likewise.
7993 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7994
6a5cf6b6
VS
79952010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Sunpc partitions support.
7998
7999 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8000 (grub_fstest_SOURCES): Likewise.
8001 (pkglib_MODULES): Add part_sunpc.mod.
8002 (part_sunpc_mod_SOURCES): New variable.
8003 (part_sunpc_mod_CFLAGS): Likewise.
8004 (part_sunpc_mod_LDFLAGS): Likewise.
8005 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8006 * partmap/sunpc.c: New file.
8007
746d9045
BC
80082010-03-26 BVK Chaitanya <bvk@localhost>
8009
8010 For loop support to GRUB script.
8011
8012 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8013 (grub_script_create_cmdfor): New function prototype.
8014 (grub_script_execute_cmdfor): New function prototype.
8015 * script/execute.c (grub_script_execute_cmdfor): New function.
8016 * script/parser.y (command): New for command.
8017 (forcmd): New grammar rule.
8018 * script/script.c (grub_script_create_cmdfor): New function.
8019 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8020 function.
8021 * tests/grub_script_for1.in: New testcase.
8022 * conf/tests.rmk: Rules for new testcase.
8023
18486b18
VS
80242010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 Nested partitions
8027
8028 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8029 'partition' is NULL, grub_partition_get_start already does that.
8030 * commands/loadenv.c (check_blocklists): Likewise.
8031 (write_blocklists): Likewise.
8032 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8033 (grub_fstest_SOURCES): Likewise.
8034 (pkglib_MODULES): Add part_bsd.mod.
8035 (part_bsd_mod_SOURCES): New variable.
8036 (part_bsd_mod_CFLAGS): Likewise.
8037 (part_bsd_mod_LDFLAGS): Likewise.
8038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8039 (grub_emu_SOURCES): Likewise.
8040 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8041 * include/grub/bsdlabel.h: New file.
8042 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8043 'get_name'.
8044 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8045 (grub_partition_map_list): New variable.
8046 (grub_partition_map_register): Inline.
8047 (grub_partition_map_unregister): Likewise.
8048 (FOR_PARTITION_MAPS): New macro.
8049 (grub_partition_map_iterate): Removed.
8050 (grub_partition_get_start): Handle nested partitions.
8051 * include/grub/msdos_partition.h: Remove bsd-related entries.
8052 (grub_pc_partition): Remove.
8053 * kern/disk.c (grub_disk_close): Free partition data.
8054 (grub_disk_adjust_range): Handle nested partitions.
8055 * kern/partition.c (grub_partition_map_probe): New function.
8056 (grub_partition_probe): Parse name to number, handle subpartitions.
8057 (get_partmap): New function.
8058 (grub_partition_iterate): Handle subpartitions.
8059 (grub_partition_get_name): Likewise.
8060 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8061 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8062 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8063 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8064 Set 'number'.
8065 (acorn_partition_map_probe): Remove.
8066 (acorn_partition_map_get_name): Likewise.
8067 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8068 Set 'number'.
8069 Set 'index' to 0 since there can be only one partition entry per sector.
8070 (amiga_partition_map_probe): Remove.
8071 (amiga_partition_map_get_name): Likewise.
8072 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8073 Set 'number'.
8074 Set 'offset' and 'index' to real positions of partitions.
8075 (apple_partition_map_probe): Remove.
8076 (apple_partition_map_get_name): Likewise.
8077 * partmap/bsdlabel.c: New file.
8078 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8079 Set 'number'.
8080 Allocate 'data' so it can be correctly freed.
8081 Set 'index' to offset inside sector.
8082 (gpt_partition_map_probe): Remove.
8083 (gpt_partition_map_get_name): Likewise.
8084 * partmap/msdos.c (grub_partition_parse): Remove.
8085 (pc_partition_map_iterate): Don't force raw access.
8086 Set 'number'.
8087 Make 'ext_offset' a local variable.
8088 (pc_partition_map_probe): Remove.
8089 (pc_partition_map_get_name): Remove.
8090 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
8091 Set 'number'.
8092 (sun_partition_map_probe): Remove.
8093 (sun_partition_map_get_name): Likewise.
8094 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
8095 (grub_pcpart_type): Likewise.
8096 * util/hostdisk.c (open_device): Handle new numbering scheme.
8097 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
8098 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
8099 * util/grub-probe.c (probe_partmap): Handle nested paritions.
8100 * util/grub-install.in: Insert all subpartition modules.
8101 * util/ieee1275/grub-install.in: Likewise.
8102
a3940f88
AG
81032010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
8104
8105 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
8106 grammar.
8107
21b99926 81082010-03-24 Colin Watson <cjwatson@ubuntu.com>
8109
8110 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
8111
bed1d352
CW
81122010-03-21 Colin Watson <cjwatson@ubuntu.com>
8113
8114 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
8115 match where 'make install' puts them.
8116 * util/i386/efi/grub-install.in: Likewise.
8117
c9f58427
CW
81182010-03-19 Colin Watson <cjwatson@ubuntu.com>
8119
8120 * .bzrignore: Add gentrigtables, grub-script-check,
8121 grub_script_check_init.c, grub_script_check_init.h, and
8122 trigtables.c.
8123
f84afb27
VS
81242010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * kern/parser.c: Indented.
8127
ed0e3d30
VS
81282010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
8131
0ea81d98
VS
81322010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
8135 alpha_mask_size == 0 case.
8136
0cdc2a09
BC
81372010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
8138
8139 GRUB shell lexer and parser improvements.
8140
8141 * conf/any-emu.rmk: Build rule updates.
8142 * conf/common.rmk: Likewise.
8143 * conf/i386-coreboot.rmk: Likewise.
8144 * conf/i386-efi.rmk: Likewise.
8145 * conf/i386-ieee1275.rmk: Likewise.
8146 * conf/i386-pc.rmk: Likewise.
8147 * conf/powerpc-ieee1275.rmk: Likewise.
8148 * conf/x86_64-efi.rmk: Likewise.
8149
8150 * configure.ac: Configure check for flex.
8151
8152 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
8153 types.
8154 (grub_lexer_param): Struct member updates.
8155 (grub_parser_param): Likewise.
8156 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
8157 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
8158 (grub_script_lexer_init): Prototype update.
8159 (grub_script_lexer_record_start): Likewise.
8160 (grub_script_lexer_record_stop): Likewise.
8161 (grub_script_lexer_yywrap): New function prototype.
8162 (grub_script_lexer_fini): Likewise.
8163 (grub_script_execute_argument_to_string): Removed by...
8164 (grub_script_execute_argument_to_argv): ...better version.
8165
8166 * script/execute.c (ROUND_UPTO): New macro.
8167 (grub_script_execute_cmdline): Out of memory fixes.
8168 (grub_script_execute_menuentry): Likewise.
8169 (grub_script_execute_argument_to_string): Removed. Update all
8170 users by...
8171 (grub_script_execute_argument_to_argv): ...better version.
8172 * script/function.c (grub_script_function_create): Use
8173 grub_script_execute_argument_to_argv instead of
8174 grub_script_execute_argument_to_string.
8175
8176 * script/lexer.c (check_varstate): Removed.
8177 (check_textstate): Removed.
8178 (grub_script_lexer_record_start): Likewise.
8179 (grub_script_lexer_record_stop): Likewise.
8180 (recordchar): Replaced with...
8181 (grub_script_lexer_record): ...new function.
8182 (nextchar): Removed.
8183 (grub_script_lexer_init): Rewritten.
8184 (grub_script_yylex): Rewritten.
8185 (append_newline): New function.
8186 (grub_script_lexer_yywrap): New function.
8187 (grub_script_lexer_fini): New function.
8188 (grub_script_yyerror): Sets error flag.
8189
8190 * script/yylex.l: New file.
8191 (grub_lexer_yyfree): Wrapper for flex yyffre.
8192 (grub_lexer_yyalloc): Likewise.
8193 (grub_lexer_yyrealloc): Likewise.
8194 * script/parser.y: Refactored.
8195
8196 * script/script.c (grub_script_arg_add): Out of memory fixes.
8197 (grub_script_add_arglist): Likewise.
8198 (grub_script_create_cmdline): Likewise.
8199 (grub_script_create_cmdmenu): Likewise.
8200 (grub_script_add_cmd): Likewise.
8201 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
8202 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
8203 unnecessary code.
8204
8205 * tests/grub_script_echo1.in: New testcase.
8206 * tests/grub_script_vars1.in: New testcase.
8207 * tests/grub_script_echo_keywords.in: New testcase.
8208
1d63a066
VS
82092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 Remove some redundancy in build system.
8212
8213 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
8214 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
8215 (TARGET_LDFLAGS): Add -nostdlib.
8216 (TARGET_IMG_LDFLAGS): Likewise.
8217 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
8218 anything since mmap isn't available.
8219 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8220 Add util/time.c.
8221 (pkglib_MODULES): Remove reboot.mod.
8222 (reboot_mod_SOURCES): Removed.
8223 (reboot_mod_CFLAGS): Likewise.
8224 (reboot_mod_LDFLAGS): Likewise.
8225 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8226 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8227 (DEFSYMFILES): Add kernel_syms.lst.
8228 (kernel_img_HEADERS): Add common headers.
8229 (symlist.c): New target.
8230 (kernel_syms.lst): Likewise.
8231 (pkglib_MODULES): Add memdisk.mod.
8232 (memdisk_mod_SOURCES): New variable.
8233 (memdisk_mod_CFLAGS): Likewise.
8234 (memdisk_mod_LDFLAGS): Likewise.
8235 (pkglib_MODULES): Add reboot.mod.
8236 (reboot_mod_SOURCES): New variable.
8237 (reboot_mod_CFLAGS): Likewise.
8238 (reboot_mod_LDFLAGS): Likewise.
8239 (pkglib_MODULES): Add date.mod.
8240 (date_mod_SOURCES): New variable.
8241 (date_mod_CFLAGS): Likewise.
8242 (date_mod_LDFLAGS): Likewise.
8243 (pkglib_MODULES): Add datehook.mod.
8244 (datehook_mod_SOURCES): New variable.
8245 (datehook_mod_CFLAGS): Likewise.
8246 (datehook_mod_LDFLAGS): Likewise.
8247 (pkglib_MODULES): Add lsmmap.mod.
8248 (lsmmap_mod_SOURCES): New variable.
8249 (lsmmap_mod_CFLAGS): Likewise.
8250 (lsmmap_mod_LDFLAGS): Likewise.
8251 (pkglib_MODULES): Add boot.mod.
8252 (boot_mod_SOURCES): New variable.
8253 (boot_mod_CFLAGS): Likewise.
8254 (boot_mod_LDFLAGS): Likewise.
8255 * conf/i386-coreboot.rmk: Removed redundant parts.
8256 * conf/i386-ieee1275.rmk: Likewise.
8257 * conf/i386-pc.rmk: Likewise.
8258 * conf/mips-yeeloong.rmk: Likewise.
8259 * conf/mips.rmk: Likewise.
8260 * conf/powerpc-ieee1275.rmk: Likewise.
8261 * conf/sparc64-ieee1275.rmk: Likewise.
8262 * conf/x86_64-efi.rmk: Likewise.
8263 * conf/i386-coreboot.rmk: Moved qemu parts ..
8264 * conf/i386-qemu.rmk: ... here
8265 * conf/i386-efi.rmk: Moved common parts to...
8266 * conf/x86-efi.rmk: ... here.
8267 * conf/i386.rmk: Added modules common to all x86 variants.
8268 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8269 * disk/memdisk.c: Remove grub/machine/kernel.h.
8270 * gensymlist.sh.in: Include symbol.h.
8271 * hook/datehook.c: Correct module name.
8272 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8273 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8274 * include/grub/i386/efi/serial.h: New file.
8275 * include/grub/x86_64/efi/serial.h: Likewise.
8276 * util/time.c: Likewise.
8277 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8278
463ac55f
CK
82792010-03-14 Colin King <colin.king@ubuntu.com>
82802010-03-14 Colin Watson <cjwatson@ubuntu.com>
8281
8282 Shrink the pre-partition-table part of boot.img by eight bytes.
8283
8284 * boot/i386/pc/boot.S (ERR): New macro.
8285 (chs_mode): Use ERR.
8286 (geometry_error): Likewise.
8287 (hd_probe_error): Remove. This is only used once, so we wrwite
8288 it inline instead.
8289 (read_error): Instead of printing read_error_string, just set up
8290 %si and fall through to ...
8291 (error_message): ... this new function, also used by ERR.
8292
08e46ede
CW
82932010-03-14 Colin Watson <cjwatson@ubuntu.com>
8294
8295 Speed up consecutive hostdisk operations on the same device.
8296
8297 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8298 (grub_util_biosdisk_open): Initialise disk->data.
8299 (struct linux_partition_cache): New structure.
8300 (linux_find_partition): Cache partition start positions; these are
8301 expensive to compute on every read and write.
8302 (open_device): Cache open file descriptor in disk->data, so that we
8303 don't have to reopen it and flush the buffer cache for consecutive
8304 operations on the same device.
8305 (grub_util_biosdisk_close): New function.
8306 (grub_util_biosdisk_dev): Set `close' member.
8307
8308 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8309 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8310 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8311 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8312 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8313
4a6d2d06
VS
83142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 Compile parts of grub-emu as modules.
8317
8318 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8319 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8320 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8321 (all-local): Add $(GRUB_EMU).
8322 (install-local): Install $(GRUB_EMU).
8323 (uninstall): Uninstall $(GRUB_EMU).
8324 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8325 * kern/dl.c: Likewise.
8326 * commands/sleep.c: Not include machine/time.h.
8327 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8328 (COMMON_CFLAGS): Likewise.
8329 (sbin_UTILITIES): Remove grub-emu.
8330 (grub_emu_SOURCES): Removed.
8331 (kernel_img_RELOCATABLE): New variable.
8332 (pkglib_PROGRAMS): Add kernel.img.
8333 (kernel_img_SOURCES): New variable
8334 (kernel_img_CFLAGS): Likewise.
8335 (kernel_img_LDFLAGS): Likewise.
8336 (TARGET_NO_STRIP): Likewise.
8337 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8338 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8339 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8340 (grub-emu): New target.
8341 (GRUB_EMU): New variable.
8342 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8343 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8344 * loader/xnu.c: Likewise.
8345 * include/grub/pci.h: Likewise.
8346 * genemuinit.sh: New file.
8347 * genemuinitheader.sh: Likewise.
8348 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8349 Support TARGET_NO_DYNAMIC_MODULES.
8350 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8351 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8352 * disk/loopback.c: Likewise.
8353 * font/font_cmd.c: Likewise.
8354 * partmap/acorn.c: Likewise.
8355 * partmap/amiga.c: Likewise.
8356 * partmap/apple.c: Likewise.
8357 * partmap/gpt.c: Likewise.
8358 * partmap/msdos.c: Likewise.
8359 * partmap/sun.c: Likewise.
8360 * parttool/msdospart.c: Likewise.
8361 * term/gfxterm.c: Likewise.
8362 * video/bitmap.c: Likewise.
8363 * video/readers/jpeg.c: Likewise.
8364 * video/readers/png.c: Likewise.
8365 * video/readers/tga.c: Likewise.
8366 * video/video.c: Likewise.
8367 * util/grub-emu.c (read_command_list): Removed.
8368 (main): Don't call util_init_nls.
8369 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8370 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8371
91fdd2ed
VS
83722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8375 date.mod, datehook.mod.
8376 (datetime_mod_SOURCES): New variable.
8377 (datetime_mod_CFLAGS): Likewise.
8378 (datetime_mod_LDFLAGS): Likewise.
8379 (date_mod_SOURCES): Likewise.
8380 (date_mod_CFLAGS): Likewise.
8381 (date_mod_LDFLAGS): Likewise.
8382 (datehook_mod_SOURCES): Likewise.
8383 (datehook_mod_CFLAGS): Likewise.
8384 (datehook_mod_LDFLAGS): Likewise.
8385 * conf/sparc64-ieee1275.rmk: Likewise.
8386 * lib/ieee1275/datetime.c: New file.
8387
873ccae6
VS
83882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8391 (ieee1275_fb_mod_SOURCES): New variable.
8392 (ieee1275_fb_mod_CFLAGS): Likewise.
8393 (ieee1275_fb_mod_LDFLAGS): Likewise.
8394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8395 New proto.
8396 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8397 (HEAP_MAX_ADDR): Likewise.
8398 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8399 type.
8400 Correct stop condition.
8401 (grub_ieee1275_devices_iterate): New function.
8402 * video/ieee1275.c: New file.
8403
601c97c0
VS
84042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8407
8408 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8409 as scratch.
8410 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8411 SCRATCH_PAD_DISKBOOT as scratch.
8412 (bootit): Pass Openfirmware pointer in %o4.
8413 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8414 of 0x200000.
8415 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8416 with util/grub-mkrawimage.c.
8417 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8418 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8419 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8420 (grub_aout_load) [GRUB_UTIL]: Likewise.
8421 * include/grub/kernel.h (grub_modules_get_end): New proto.
8422 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8423 (SCRATCH_PAD_BOOT): New definition.
8424 (SCRATCH_PAD_DISKBOOT): Likewise.
8425 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8426 * include/grub/sparc64/ieee1275/ieee1275.h
8427 (grub_ieee1275_original_stack): New variable
8428 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8429 New definition
8430 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8431 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8432 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8433 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8434 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8435 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8436 (grub_platform_image_format_t): New type.
8437 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8438 * kern/main.c (grub_modules_get_end)
8439 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8440 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8441 (codestart): Switch stacks.
8442 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8443 variable.
8444 (grub_heap_init): Use grub_modules_get_end.
8445 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8446 stack.
8447 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8448 (main): Likewise.
8449 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8450
d68b491e
TG
84512010-03-14 Thorsten Glaser <tg@mirbsd.org>
8452
8453 * util/grub-mkrescue.in: Base ISO UUID on UTC.
8454
4e02ed50
MK
84552010-03-08 Matt Kraai <kraai@ftbfs.org>
8456
8457 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
8458 bug #559005).
8459
1f15fc1e
VS
84602010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * genmoddep.awk: Output all missing symbols and not only first.
8463
fce5d8ff
VS
84642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * NEWS: Put the date of 1.98 release.
8467
d1e8a02f
VS
84682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8471 ft2build.h.
8472
696fd607
VS
84732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
8476 completition in the middle of string.
8477
33e2e6f3
VS
84782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * util/grub-mkrescue.in: Use mktemp with explicit template.
8481
b1f6d291
VS
84822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
8485
2ac227c7
VS
84862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8489 right pointer.
8490
8f9a632b
VS
84912010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Fix FreeBSD compilation.
8494
8495 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
8496 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
8497
60b03859
VS
84982010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
8501
48a5a769
VS
85022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
8505
3ab4bd77
VS
85062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
8509
d116e0d8
RM
85102010-03-04 Robert Millan <rmh.grub@aybabtu.com>
8511
8512 Support relative image path in theme file.
8513
8514 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
8515 (image_set_property): Handle theme_dir and relative path.
8516
c7ef54aa
VS
85172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * configure.ac: Alias amd64 to x86_64.
8520
fcee14ed
VS
85212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * NEWS: mention multiboot on EFI.
8524
d0780363
VS
85252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * kern/main.c (grub_load_modules): Handle errors from init functions of
8528 embeded modules.
8529
41168ea4
VS
85302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * normal/autofs.c (autoload_fs_module): Handle errors.
8533
b54d93ac
VS
85342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Disable linux.mod on qemu-mips since it's not functional and leads
8537 to compilation failure.
8538
8539 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8540 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8541 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8542 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8543 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8544 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8545 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8546 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8547 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8548 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8549 Reported by: BVK Chaitanya
8550
fc8345da
JU
85512010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8552
8553 * INSTALL: Add gettext as a dependency and add qemu to a new section
8554 "Prerequisites for make-check".
8555
4760f979
CF
85562010-03-04 Christian Franke <franke@computer.org>
8557
8558 * util/grub-pe2elf.c: Add missing include "progname.h".
8559
f209b5b2
VS
85602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * normal/crypto.c (read_crypto_list): Fix a typo.
8563 Reported by: Seth Goldberg.
8564
b4b7be98
VS
85652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8568 Reported by: Seth Goldberg.
b4b7be98 8569
c0ee0385
VS
85702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8573 ascii.bitmaps.
8574
a8efbf64
VS
85752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8578 Reported by: Seth Goldberg.
a8efbf64 8579
08dcd913
VS
85802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * util/i386/efi/grub-install.in: Copy gettext files.
8583
c4d0b332
VS
85842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8587
c6f2fe52
VS
85882010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 Wait for user entry basing on presence of output rather than on errors.
8591
8592 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8593 (grub_install_newline_hook): Likewise.
8594 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8595 * normal/menu.c (show_menu): Check line_counter to determine presence
8596 of output.
8597 * normal/term.c (grub_normal_line_counter): New variable.
8598 (grub_normal_get_line_counter): New function.
8599 (grub_install_newline_hook): Likewise.
8600
5382b1e4
VS
86012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8604
5519963b
VS
86052010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * configure.ac: Update version to 1.98.
8608
72b28631
VS
86092010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * util/grub.d/10_linux.in (linux_entry): Don't default to
8612 gfxpayload=keep if Linux doesn't support video handover.
8613
c140a180
VS
86142010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Don't compile video modules on yeeloong since video subsystem is part
8617 of kernel.
8618
8619 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8620 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8621 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8622 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8623 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8624 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8625 * include/grub/bitmap_scale.h: Likewise.
8626 * include/grub/bufio.h: Likewise.
8627 * include/grub/font.h: Likewise.
8628 * include/grub/gfxterm.h: Likewise.
8629 * include/grub/video.h: Likewise.
8630 * include/grub/vbe.h: Don't include video_fb.h.
8631 * video/i386/pc/vbe.c: Include video_fb.h.
8632 * commands/i386/pc/vbetest.c: Include video.h.
8633
a0ca21c2
CW
86342010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8635
8636 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8637 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8638 default entry if GRUB_SAVEDEFAULT=true. This allows using
8639 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8640 saving a new default on every boot.
8641
4a8a763c
VS
86422010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8645 * normal/term.c (read_terminal_list): Likewise.
8646 * normal/main.c (grub_normal_init_page): Likewise.
8647 (grub_normal_read_line_real): Likewise.
8648
607ffde2
VS
86492010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8652 memory leak.
8653 Reported by: Seth Goldberg.
8654
2b8fa975
CW
86552010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8656
8657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8658 duplicate declaration of `start'.
8659
618307dd
VS
86602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8663 filename.
8664 Reported by: Georgy Buranov
8665
7dd05b96 86662010-02-20 Carles Pina i Estany <carles@pina.cat>
8667
8668 * util/grub-mkrawimage.c (usage): Change string formatting to
8669 improve gettext.
8670
d1484a42
MRA
86712010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8672
8673 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8674 backspace keys.
8675
42b1d186
VS
86762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8679 Reported by: Michael Suchanek.
8680
86812010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8682
8683 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8684 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8685
d9f31a41
VS
86862010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 Remove any reference to non-free fonts.
8689
8690 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8691 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8692 uses non-free components.
8693 * font/font.c (grub_font_get_name): Remove example name.
8694 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8695 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8696 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8697 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8698
2793c71e
GB
86992010-02-16 Georgy Buranov <gburanov@gmail.com>
8700
8701 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8702
402e3779
VS
87032010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8706 Double divisor.
8707 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8708 features.
8709 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8710
0dd1e0dd
VS
87112010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8714
6fa7cfce
ST
87152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8716
8717 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8718 * docs/grub.texi (Command-line and menu entry commands): Document play
8719 command.
8720
37c8483b
ST
87212010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8722
8723 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8724 parse arguments as inline tempo and notes. Move code for playing notes
8725 to...
8726 (play): ... new function.
8727
14da0fb7
ST
87282010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8729
8730 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8731 grub_uint16_t instead of short.
8732 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8733 disk from little endian to cpu endianness.
8734
04459e70
ST
87352010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8736
8737 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8738 GRUB_TICKS_PER_SECOND instead of 120.
8739
a0876943
VS
87402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8743 escape sequence after \e.
8744
e29f95dc
VS
87452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8748 non-ASCII characters.
8749
d27859b2
VS
87502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8753 set root in single quotes to prevent \, from being unescaped.
8754
bc028f2f
VS
87552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Prevent unknown commands from stopping menuentry execution.
8758
8759 * script/execute.c (grub_script_execute_cmdline): Print error after
8760 unknown command.
8761
095f5f82
VS
87622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8765 Reported by: Pavel Pisa.
8766
8c717950
VS
87672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8770
904935c3
VS
87712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 Merge grub_ieee1275_map_physical into grub_map and rename to
8774 grub_ieee1275_map
8775
8776 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8777 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8778 Remove.
8779 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8780 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8781 necessary.
8782 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8783
5b59a4e3
VS
87842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8787 opening and not after.
8788
69e137e8
VS
87892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8792 constants.
8793
2c0fcc36
VS
87942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8797 (alloc_phys): Use ALIGN_UP instead of align_addr.
8798
8c6052ce
VS
87992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8802
17cec782
VS
88032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8806
e0128bbd
VS
88072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8810 verbose dprintf.
8811
ca62070b
VS
88122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 Fix over-4GiB seek on sparc64.
8815
8816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8817 Replace pos_i and pos_lo with pos. All users updated.
8818 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8819 New constant.
8820 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8821 Likewise.
8822 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8823 and pos_lo.
8824
bdca2607
VS
88252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * util/grub-mkrawimage.c (main): Call set_program_name.
8828
da278c4d
VS
88292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 Properly align 64-bit targets.
8832
8833 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8834 (generate_image): Use ALIGN_ADDR.
8835
b274d734
VS
88362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Properly create cross-endian images.
8839
8840 * include/grub/types.h (grub_host_to_target_addr): New macro
8841 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8842
82da2062
VS
88432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8846
7cae4377
VS
88472010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8850
8851 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8852 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8853 (grub_linux_boot): Divide by 64K when on VESA.
8854
65a533e7
VS
88552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Support GRUB_GFXPAYLOAD_LINUX.
8858
8859 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8860 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8861
dd01d397
VS
88622010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8865 to show messages instead of discarding them.
8866 Process errors after executing command and not before. Keep old method
8867 too as precaution.
8868
660960d6
VS
88692010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * configure.ac: Check for ft2build.h.
8872
62509f04
VS
88732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8876
473df63d
VS
88772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * genkernsyms.sh.in: Use TARGET_CC.
8880
c98d2a13
CW
88812010-02-07 Colin Watson <cjwatson@ubuntu.com>
8882
8883 * NEWS: Update.
8884
6e14234c
VS
88852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8888 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8889 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8890
b255e9cf
YB
88912010-02-07 Yves Blusseau <blusseau@zetam.org>
8892
6e14234c 8893 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8894
98e6959d
VS
88952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 Fix warnings in grub-emu when compiling with maximum warning options.
8898
8899 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8900 (grub_arch_modules_addr): Return 0 and not NULL.
8901 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8902 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8903 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8904 of disk to dsk to avoid shadowing.
74e4934e
VS
8905 (find_free_slot): Fix prototype.
8906 * util/getroot.c (grub_util_is_dmraid): Make static.
8907 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8908 Add missing prototype.
8909 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8910
74e31b5c
VS
89112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8914 appropriately.
8915
6b2ad14b
VS
89162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8919 code out.
8920
8f891adc
VS
89212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8924 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8925 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8926 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8927 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8928 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8929
74b45184
VS
89302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * include/grub/err.h (grub_err_printf): Don't export.
8933
a4bced77
VS
89342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8937
007d0695
VS
89382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8941 * kern/misc.c (grub_gettext_dummy): Make static.
8942
b6c0d9c2
VS
89432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8946 by non-valid ones.
8947 * kern/term.c (grub_putchar): Likewise.
8948
f51a90d0
VS
89492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8952 buggy hook call and memory leak.
8953
6846cec5
VS
89542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8957
468d69fe
VS
89582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8961
51906b8c
VS
89622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8965 modevar.
8966 Return grub_errno on allocation error.
8967
09706ce5
VS
89682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8971
911df80c
YB
89722010-02-06 Yves Blusseau <blusseau@zetam.org>
8973
8974 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8975 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8976
3746a6bc
VS
89772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8980 non-pxe disk.
8981 (grub_pxefs_open): Likewise.
8982
09706ce5
VS
89832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8984
8985 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8986 * util/grub.d/10_kfreebsd.in: Likewise.
8987 * util/grub.d/10_linux.in: Likewise.
8988
7cc192d9
VS
89892010-02-06 Colin D Bennett <colin@gibibit.com>
8990
8991 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8992 (gfxmenu_mod_SOURCES): New variable.
8993 (gfxmenu_mod_CFLAGS): Likewise.
8994 (gfxmenu_mod_LDFLAGS): Likewise.
8995 * include/grub/term.h (grub_term_set_current_output): Declare
8996 argument as const.
8997 * docs/gfxmenu-theme-example.txt: New file.
8998 * gfxmenu/gfxmenu.c: Likewise.
8999 * gfxmenu/gui_box.c: Likewise.
9000 * gfxmenu/gui_canvas.c: Likewise.
9001 * gfxmenu/gui_circular_progress.c: Likewise.
9002 * gfxmenu/gui_image.c: Likewise.
9003 * gfxmenu/gui_label.c: Likewise.
9004 * gfxmenu/gui_list.c: Likewise.
9005 * gfxmenu/gui_progress_bar.c: Likewise.
9006 * gfxmenu/gui_string_util.c: Likewise.
9007 * gfxmenu/gui_util.c: Likewise.
9008 * gfxmenu/icon_manager.c: Likewise.
9009 * gfxmenu/model.c: Likewise.
9010 * gfxmenu/named_colors.c: Likewise.
9011 * gfxmenu/theme_loader.c: Likewise.
9012 * gfxmenu/view.c: Likewise.
9013 * gfxmenu/widget-box.c: Likewise.
9014 * include/grub/gfxmenu_model.h: Likewise.
9015 * include/grub/gfxmenu_view.h: Likewise.
9016 * include/grub/gfxwidgets.h: Likewise.
9017 * include/grub/gui.h: Likewise.
9018 * include/grub/gui_string_util.h: Likewise.
9019 * include/grub/icon_manager.h: Likewise.
9020
90212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 Agglomerate scrolling in gfxterm.
9024
9025 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9026 (grub_virtual_screen_setup): Initialise 'total_screen'.
9027 (write_char): Split to ...
9028 (paint_char): ... this ...
9029 (write_char): ... and this.
9030 (paint_char): Handle delayed scrolling.
9031 (draw_cursor): Likewise.
9032 (scroll_up): Split to ...
9033 (real_scroll): ... this ...
9034 (scroll_up): ... and this.
9035 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9036 characters.
9037 (grub_gfxterm_refresh): Call real_scroll.
9038
90392010-02-06 Colin D Bennett <colin@gibibit.com>
9040
9041 * include/grub/misc.h (grub_iscntrl): New inline function.
9042 (grub_isalnum): Likewise.
9043 (grub_strtol): Likewise.
9044
90452010-02-06 Colin D Bennett <colin@gibibit.com>
9046
9047 * normal/menu_text.c (get_entry_number): Move from here ...
9048 * normal/menu.c (get_entry_number): ... moved here.
9049 * include/grub/menu.h (grub_menu_get_default_entry_index):
9050 New prototype.
9051 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9052 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9053 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9054 (grub_menu_viewer_should_return): Likewise.
9055 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9056 * normal/menu_text.c (run_menu): Enable menu switching.
9057 * normal/menu_viewer.c (should_return): New variable.
9058 (menu_viewer_changed): Likewise.
9059 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9060 (grub_menu_viewer_should_return): New function.
9061 (menuviewer_write_hook): Likewise.
9062 (grub_menu_viewer_init): Likewise.
9063
90642010-02-06 Colin D Bennet <colin@gibibit.com>
90652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 Support for gfxterm in a window.
9068
9069 * include/grub/gfxterm.h: New file.
9070 * include/grub/video.h (struct grub_video_rect): New declaration.
9071 (grub_video_rect_t): Likewise.
9072 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9073 (refcount): New variable.
9074 (render_target): Likewise.
9075 (window): Likewise.
9076 (repaint_callback): Likewise.
9077 (grub_virtual_screen_setup): Use 'render_target'.
9078 (init_window): New function.
9079 (grub_gfxterm_init_window): Likewise.
9080 (grub_gfxterm_init): Check reference counter.
9081 Use init_window.
9082 (destroy_window): New function.
9083 (grub_gfxterm_destroy_window): Likewise.
9084 (grub_gfxterm_fini): Check reference counter.
9085 Use destroy_window.
9086 (redraw_screen_rect): Restore viewport.
9087 Use 'render_target' and 'window'.
9088 Call 'repaint_callback'.
9089 (write_char): Use 'render_target'.
9090 (draw_cursor): Likewise.
9091 (scroll_up): Restore viewport.
9092 Use 'render_target' and 'window'.
9093 Call 'repaint_callback'.
9094 (grub_gfxterm_cls): Likewise.
9095 (grub_gfxterm_refresh): Use 'window'.
9096 (grub_gfxterm_set_repaint_callback): New function.
9097 (grub_gfxterm_background_image_cmd): Use 'window'.
9098 (grub_gfxterm_get_term): New function.
9099 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
9100
91012010-02-06 Colin D Bennett <colin@gibibit.com>
9102
9103 Bitmap scaling support.
9104
9105 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
9106 (bitmap_scale_mod_SOURCES): New variable.
9107 (bitmap_scale_mod_CFLAGS): Likewise.
9108 (bitmap_scale_mod_LDFLAGS): Likewise.
9109 * include/grub/bitmap_scale.h: New file.
9110 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
9111 (background_image_cmd_options): New variable.
9112 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
9113 (cmd): Rename and change type to ...
9114 (background_image_cmd_handle): ... this. All users updated.
9115 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
9116 * video/bitmap_scale.c: New file.
9117
91182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 SDL support.
9121
9122 * Makefile.in (LIBSDL): New variable.
9123 (enable_grub_emu_sdl): Likewise.
9124 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
9125 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
9126 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
9127 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
9128 * util/sdl.c: New file.
9129
91302010-02-06 Colin D Bennett <colin@gibibit.com>
91312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 Double buffering support.
9134
9135 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
9136 * include/grub/video.h: Update comment.
9137 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9138 New type.
9139 (grub_video_fb_doublebuf_blit_init): New prototype.
9140 * term/gfxterm.c (scroll_up): Support double buffering.
9141 (grub_gfxterm_refresh): Likewise.
9142 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
9143 (grub_video_fb_doublebuf_blit_init): Likewise.
9144 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
9145 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
9146 'displayed_page', 'render_page' and 'update_screen'.
9147 (grub_video_vbe_fini): Free offscreen buffer.
9148 (doublebuf_pageflipping_commit): New function.
9149 (doublebuf_pageflipping_update_screen): Likewise.
9150 (doublebuf_pageflipping_init): Likewise.
9151 (double_buffering_init): Likewise.
9152 (grub_video_vbe_setup): Enable doublebuffering.
9153 (grub_video_vbe_swap_buffers): Implement.
9154 (grub_video_vbe_set_active_render_target): Handle double buffering.
9155 (grub_video_vbe_get_active_render_target): Likewise.
9156 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
9157 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
9158 (grub_video_vbe_enable_double_buffering): Likewise.
9159 (grub_video_vbe_swap_buffers): Use update_screen.
9160 (grub_video_set_mode): Use double buffering.
9161
91622010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9163
9164 * maintainance/gentrigtables.py: Remove.
9165 * lib/trig.c: Likewise.
9166
9167 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
9168
9169 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
9170 `trigtables.c'.
9171 (trigtables.c): New rule.
9172 (gentrigtables): Likewise.
9173 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
9174
91752010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9176
9177 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
9178 integer constants.
9179
91802010-02-06 Colin D Bennet <colin@gibibit.com>
9181
9182 Trigonometry support.
9183
9184 * include/grub/trig.h: New file.
9185 * lib/trig.c: Likewise.
9186 * maintainance/gentrigtables.py: Likewise.
9187 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
9188 (trig_mod_SOURCES): New variable.
9189 (trig_mod_CFLAGS): Likewise.
9190 (trig_mod_LDFLAGS): Likewise.
9191
5562834e
VS
91922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
9195 disk devices.
9196
4f8528fc
VS
91972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
9200 error.
9201
2b4068e9
VS
92022010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/hostdisk.c (open_device): Don't use partition device when reading
9205 before the partition.
9206 (grub_util_biosdisk_read): Don't read from partition and before the
9207 partition in single operation.
9208 (grub_util_biosdisk_write): Don't write to partition and before the
9209 partition in single operation.
9210
399f6e4d
TL
92112010-02-03 Torsten Landschoff <torsten@debian.org>
9212
9213 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9214 last sectors.
9215
996649b0
VS
92162010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9219 CDROM reads.
9220 (grub_biosdisk_write): Refuse to write to CDROM.
9221
3b205d4d
VS
92222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9225
61e89d9d
VS
92262010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * font/font.c (find_glyph): Check that bmp_idx is available before
9229 using it.
9230 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9231 with (font == NULL).
9232
bf7fcba2
CS
92332010-01-28 Christian Schmitt <chris@ilovelinux.de>
9234
9235 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9236
f45d2663
BC
92372010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9238
9239 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9240 * util/grub-script-check.c (getline): Fix empty lines case.
9241
ec1444e6
RM
92422010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9243
9244 * Makefile.in (check): Exit with fail status when one of the tests
9245 fails.
9246 * tests/example_functional_test.c (example_test): Fix reversed assert.
9247 * tests/example_unit_test.c (example_test): Likewise.
9248
2e1cb9bb
CW
92492010-01-28 Colin Watson <cjwatson@ubuntu.com>
9250
9251 * util/grub.d/10_linux.in: This script does not use any of the
9252 contents of gettext.sh, only the external command `gettext', so stop
9253 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9254 the same prefix as GRUB.)
9255 * util/grub.d/10_kfreebsd.in: Likewise.
9256
63533ab0
VS
92572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9260 of the line.
9261
989e1f93
VS
92622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9265 last sectors.
9266
e709ebe2
VS
92672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9270 having a 4KiB and not 32KiB buffer size.
9271
27dea7ed
RM
92722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9273
9274 * util/hostfs.c: Include `<errno.h>'.
9275 (grub_hostfs_read): Handle errors from fseeko() and fread().
9276
67667b9c
RM
92772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9278
9279 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9280 loop when using read hooks on files whose size isn't sector-aligned.
9281
c294d9d8
RM
92822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9283
9284 Remove unused parameter.
9285
9286 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9287 (grub_iso9660_open): Remove initialization of `data->length'.
9288
af75a9f1
RM
92892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9290
9291 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9292 memleak conditions.
9293
254e2ce5 92942010-01-27 Carles Pina i Estany <carles@pina.cat>
9295
9296 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9297 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9298
b510928c 92992010-01-26 Carles Pina i Estany <carles@pina.cat>
9300
9301 * util/bin2h.c (usage): Fix warning (space after backslash).
9302
aa2f9dd2 93032010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9304
9305 * font/font.c: Include `grub/fontformat.h.
9306 Remove font file format constants.
9307 (grub_font_load): Use the new macros.
9308 * include/grub/fontformat.h: New file.
9309 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9310 (write_font_pf2): Use the new macros.
9311
94e7e712
RM
93122010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9313
9314 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9315 does.
9316
3973a59a
RM
93172010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9318
9319 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9320
9321 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9322 (_start): Macroify `0x7F'.
9323
9324 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9325 (make_install_device): Use "(pxe)" as fallback prefix when booting
9326 via PXE.
9327
42e0cba3
GS
93282010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * configure.ac: Reset LIBS after check for libgcc symbols.
9331
847effd8
CW
93322010-01-25 Colin Watson <cjwatson@ubuntu.com>
9333
9334 * util/hostdisk.c (open_device): Add trailing newline to debug
9335 message.
9336
ea4a7e35
GS
93372010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9338
9339 * configure.ac: Check for `limits.h'.
9340 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9341
67951a53
RM
93422010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9343
9344 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9345 capitalize error strings.
9346
c273d4ce
ST
93472010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9348
9349 * util/grub.d/10_hurd.in: Add a recovery mode.
9350
69be5b74
VS
93512010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * configure.ac: Check for libgcc symbols with -nostdlib.
9354
fc9e5810
BC
93552010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9356
9357 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9358
4b358c0a
VS
93592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9362 stack since heap may be unavailable at that point.
9363 (grub_ofconsole_gotoxy): Likewise.
9364
454fcd1c
VS
93652010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * configure.ac: Check for _restgpr_14_x.
9368 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9369 and _savegpr_* prototypes.
9370
566863ca
RM
93712010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9372
9373 Use generic grub_reboot() for i386-efi.
9374
9375 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9376 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9377 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9378
bf86e59a
VS
93792010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9382 presence of "prefix" variable as it breaks when normal.mod is
9383 embedded.
9384
d645e0f8
VS
93852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9388 stack since heap is unavailable at that point.
9389
f9ab2e25
VS
93902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9393 (grub_freebsd_bootinfo): Rewritten.
9394 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9395
01fc7054
VS
93962010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9399
caab4fd6
RM
94002010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9401
9402 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9403 domain now.
9404
67eb1427
FZ
94052010-01-20 Felix Zielcke <fzielcke@z-51.de>
9406
9407 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9408 around for handling "/" to the correct fix. Fix a memory leak. Use
9409 xstrdup instead of strdup.
9410
a9ed4ff3
VS
94112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9414
94152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9416
9417 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9418
9419 * font/font.c (struct grub_font): New member 'bmp_idx'.
9420 (font_init): Initialise 'bmp_idx'.
9421 (load_font_index): Fill 'bmp_idx'.
9422 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9423
48209f4f
VS
94242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9427 unnecessary calls.
9428
9f0a4bb7
VS
94292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 Move context handling out of the kernel.
9432
9433 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9434 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9435 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9436 * conf/i386-efi.rmk: Likewise.
9437 * conf/i386-ieee1275.rmk: Likewise.
9438 * conf/i386-pc.rmk: Likewise.
9439 * conf/powerpc-ieee1275.rmk: Likewise.
9440 * conf/sparc64-ieee1275.rmk: Likewise.
9441 * conf/x86_64-efi.rmk: Likewise.
9442 * include/grub/env.h: Include grub/menu.h.
9443 (grub_env_var_type): Removed.
9444 (grub_env_var): Replaced field 'type' with 'global'.
9445 (grub_env_find): New prototype.
9446 (grub_env_context_open): Remove EXPORT_FUNC.
9447 (grub_env_context_close): Likewise.
9448 (grub_env_export): Likewise.
9449 (grub_env_set_data_slot): Removed.
9450 (grub_env_get_data_slot): Likewise.
9451 (grub_env_unset_data_slot): Likewise.
9452 (grub_env_unset_menu): New prototype.
9453 (grub_env_set_menu): Likewise.
9454 (grub_env_get_menu): Likewise.
9455 * include/grub/env_private.h: New file.
9456 * include/grub/normal.h (grub_context_init): New prototype.
9457 (grub_context_fini): Likewise.
9458 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
9459 * normal/context.c (grub_cmd_export): ... to here.
9460 * kern/env.c: Include env_private.h.
9461 (HASHSZ): Moved to include/grub/env_private.h.
9462 (grub_env_context): Likewise.
9463 (grub_env_sorted_var): Likewise.
9464 (current_context): Renamed from this ...
9465 (grub_current_context): ...to this. 'static' removed. All users updated.
9466 (grub_env_find): Removed 'static'.
9467 (grub_env_context_open): Moved to normal/context.c.
9468 (grub_env_context_close): Likewise.
9469 (grub_env_export): Likewise.
9470 (mangle_data_slot_name): Removed.
9471 (grub_env_set_data_slot): Likewise.
9472 (grub_env_get_data_slot): Likewise.
9473 (grub_env_unset_data_slot): Likewise.
9474 * kern/main.c (grub_set_root_dev): Don't export root.
9475 It will be done later.
9476 (grub_main): Don't export prefix.
9477 It will be done later.
9478 * normal/context.c: New file.
9479 * normal/main.c (free_menu): Use grub_env_unset_menu.
9480 (grub_normal_add_menu_entry): Use grub_env_get_menu.
9481 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
9482 (GRUB_MOD_INIT(normal)): Call grub_context_init.
9483 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
9484
8dd35b8c
VS
94852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 setpci support.
9488
9489 * commands/setpci.c: New file.
9490 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
9491 (setpci_mod_SOURCES): New variable.
9492 (setpci_mod_CFLAGS): Likewise.
9493 (setpci_mod_LDFLAGS): Likewise.
9494
449193d5
VS
94952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 Byte-addressable PCI configuration space.
9498
9499 * bus/pci.c (grub_pci_make_address): Use byte address instead of
9500 dword address.
9501 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
9502 GRUB_PCI_REG_CACHELINE.
9503 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
9504 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
9505 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
9506 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
9507 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
9508 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
9509 grub_pci_make_address.
9510 (lock_rom_area): Likewise.
9511 * commands/lspci.c (grub_lspci_iter): Use macroses
9512 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
9513 of grub_pci_make_address.
9514 * disk/ata.c (grub_ata_pciinit): Likewise.
9515 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
9516 (GRUB_PCI_REG_VENDOR): Likewise.
9517 (GRUB_PCI_REG_DEVICE): Likewise.
9518 (GRUB_PCI_REG_COMMAND): Likewise.
9519 (GRUB_PCI_REG_STATUS): Likewise.
9520 (GRUB_PCI_REG_REVISION): Likewise.
9521 (GRUB_PCI_REG_CLASS): Likewise.
9522 (GRUB_PCI_REG_CACHELINE): Likewise.
9523 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9524 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9525 (GRUB_PCI_REG_BIST): Likewise.
9526 (GRUB_PCI_REG_ADDRESSES): Likewise.
9527 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9528 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9529 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9530 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9531 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9532 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9533 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9534 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9535 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9536 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9537 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9538 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9539 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9540 (GRUB_PCI_REG_MIN_GNT): Likewise.
9541 (GRUB_PCI_REG_MAX_LAT): Likewise.
9542 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9543 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9544 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9545 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9546 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9547 space.
9548
96d73208
RM
95492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9550
9551 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9552 can be reliably determined to be supported.
9553
d4484482
RM
95542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9555
9556 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9557 that VESA is supported.
9558 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9559 supported.
9560
00308ecf
VS
95612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9564
f66924a4
RM
95652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9566
9567 * util/misc.c (make_system_path_relative_to_its_root): Work around
9568 special-casing of "/", as previous incarnation of this routine did.
9569
cbca0ada
VS
95702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 Fix any-emu compilation.
9573
9574 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9575 * grub_bin2h_SOURCES: New variable.
9576
34a66d99
RM
95772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9578
9579 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9580
94fabf58
RM
95812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9582
9583 * util/grub.d/00_header.in: Fix handling of locale_dir.
9584
02cf98ca
VS
95852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9588 as possible unifont location (Gentoo).
9589 Reported by: Alexander Brüning
9590
327dbcd7
VS
95912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 Don't try to generate lists for kernel.img.
9594
9595 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9596 (pkglib_MODULES): Remove kernel.img.
9597 (kernel_img_EXPORTS): Removed.
9598 (kernel_img_RELOCATABLE): New variable.
9599 * conf/x86_64-efi.rmk: Likewise.
9600 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9601
ca467290
VS
96022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9605 grub_xasprintf or grub_snprintf.
9606 (grub_vsprintf): Likewise.
9607 (grub_snprintf): New proto.
9608 (grub_vsnprintf): Likewise.
9609 (grub_xasprintf): Likewise.
9610 (grub_xvasprintf): Likewise.
9611 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9612 (grub_sprintf): Removed.
9613 (grub_vsnprintf): New function.
9614 (grub_snprintf): Likewise.
9615 (grub_xvasprintf): Likewise.
9616 (grub_xasprintf): Likewise.
9617 (grub_vsprintf): Renamed to ...
9618 (grub_vsnprintf_real): ...this. New argument max_len.
9619
aca655fd
BC
96202010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9621
9622 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9623 fix grub-script-check warning.
9624
7ee92c32
VS
96252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * include/grub/font.h (grub_font_load): Fix prototype.
9628
f80927ca
VS
96292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9632
119c50ea
VS
96332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * include/grub/x86_64/at_keyboard.h: New file.
9636
47d5f3c1
VS
96372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * loader/mips/linux.c: Include missing grub/i18n.h.
9640
55ff5266
RM
96412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9642
9643 * normal/menu.c (notify_execution_failure): Clarify error message.
9644
c893cc87
RM
96452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9646
9647 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9648 return value (and revert all return statements). Update users.
9649
917dd370
CW
96502010-01-20 Dan Merillat <debian@dan.merillat.org>
9651
9652 * kern/device.c (grub_device_iterate): Allocate new part_ent
9653 structure based on sizeof (*p) rather than sizeof (p->next), to
9654 account for structure padding.
9655
9656 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9657 disk is NULL, which might happen for LVM physical volumes with no
9658 LVM signature.
9659
d4a4ee57
RM
96602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9661
9662 * loader/mips/linux.c (grub_cmd_initrd)
9663 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9664
96652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9666
9667 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9668 (grub_video_video_init, grub_video_bitmap_init)
9669 (grub_font_manager_init, grub_term_gfxterm_init)
9670 (grub_at_keyboard_init): New extern declarations.
9671 (grub_machine_init): Initialize gfxterm and at_keyboard.
9672
9673 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9674
9675 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9676 `gfxterm.mod' into core image.
9677
9678 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9679 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9680 (kernel_img_FORMAT): Copy to ...
9681
9682 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9683 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9684 (kernel_img_FORMAT): ... here, and ...
9685
9686 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9687 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9688 (kernel_img_FORMAT): ... here.
9689
9690 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9691 and input (at_keyboard) terminals in kernel.
9692 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9693
9694 (pkglib_MODULES): Remove `pci.mod'.
9695 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9696 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9697 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9698 (at_keyboard_mod_LDFLAGS): Remove variables.
9699
97002010-01-11 Felix Zielcke <fzielcke@z-51.de>
9701
9702 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9703
97042009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9705
9706 * include/grub/mips/libgcc.h: Only export symbols for functions
9707 that libgcc provides.
9708
97092009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 MIPS support.
9712
9713 * bus/bonito.c: New file.
9714 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9715 GRUB_PCI_NUM_DEVICES.
9716 * term/i386/pc/serial.c: Move to ...
9717 * term/serial.c: ... here. All users updated.
9718 * util/i386/pc/grub-mkimage.c: Move to ...
9719 * util/grub-mkrawimage.c: ... here. All users updated.
9720 * term/i386/pc/at_keyboard.c: Move to ...
9721 * term/at_keyboard.c: ... here. All users updated.
9722 * conf/mips-qemu-mips.rmk: New file.
9723 * conf/mips-yeeloong.rmk: Likewise.
9724 * conf/mips.rmk: Likewise.
9725 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9726 mipsel-qemu-mips.
9727 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9728 to port addresses.
9729 (grub_ata_pciinit): Support CS5536.
9730 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9731 * font/font_cmd.c (loadfont_command): Open file before passing it to
9732 grub_font_load.
9733 (pseudo_file_read): New function.
9734 (pseudo_file_close): Likewise.
9735 (pseudo_fs): New structure.
9736 (load_font_module): New function.
9737 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9738 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9739 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9740 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9741 * include/grub/i386/at_keyboard.h: Split into ...
9742 * include/grub/at_keyboard.h: ... this ...
9743 * include/grub/i386/at_keyboard.h: ... and this.
9744 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9745 New prototype.
9746 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9747 updated.
9748 (grub_elf64_size): Likewise.
9749 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9750 filename.
9751 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9752 * include/grub/i386/coreboot/serial.h: Rewritten.
9753 * include/grub/i386/ieee1275/serial.h: Include
9754 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9755 * include/grub/i386/pc/serial.h: Moved from here ...
9756 * include/grub/serial.h: ... to here. All users updated.
9757 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9758 (GRUB_PCI_NUM_BUS): Likewise.
9759 (GRUB_PCI_NUM_DEVICES): Likewise.
9760 (grub_pci_device_map_range): Add missing volatile keyword.
9761 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9762 * include/grub/mips/at_keyboard.h: New file.
9763 * include/grub/mips/cache.h: Likewise.
9764 * include/grub/mips/io.h: Likewise.
9765 * include/grub/mips/kernel.h: Likewise.
9766 * include/grub/mips/libgcc.h: Likewise.
9767 * include/grub/mips/pci.h: Likewise.
9768 * include/grub/mips/qemu-mips/boot.h: Likewise.
9769 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9770 * include/grub/mips/qemu-mips/loader.h: Likewise.
9771 * include/grub/mips/qemu-mips/memory.h: Likewise.
9772 * include/grub/mips/qemu-mips/serial.h: Likewise.
9773 * include/grub/mips/qemu-mips/time.h: Likewise.
9774 * include/grub/mips/relocator.h: Likewise.
9775 * include/grub/mips/time.h: Likewise.
9776 * include/grub/mips/types.h: Likewise.
9777 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9778 * include/grub/mips/yeeloong/boot.h: Likewise.
9779 * include/grub/mips/yeeloong/kernel.h: Likewise.
9780 * include/grub/mips/yeeloong/loader.h: Likewise.
9781 * include/grub/mips/yeeloong/memory.h: Likewise.
9782 * include/grub/mips/yeeloong/pci.h: Likewise.
9783 * include/grub/mips/yeeloong/serial.h: Likewise.
9784 * include/grub/mips/yeeloong/time.h: Likewise.
9785 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9786 * kern/elf.c (grub_elf32_size): New parameter. All users
9787 updated.
9788 (grub_elf64_size): Likewise.
9789 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9790 Load modules before saying "Welcome to GRUB!".
9791 Call grub_refresh after saying "Welcome to GRUB!".
9792 * kern/mips/cache.S: New file.
9793 * kern/mips/cache_flush.S: Likewise.
9794 * kern/mips/dl.c: Likewise.
9795 * kern/mips/init.c: Likewise.
9796 * kern/mips/qemu-mips/init.c: Likewise.
9797 * kern/mips/startup.S: Likewise.
9798 * kern/mips/yeeloong/init.c: Likewise.
9799 * kern/term.c (grub_putcode): Handle NULL terminal.
9800 (grub_getcharwidth): Likewise.
9801 (grub_getkey): Likewise.
9802 (grub_checkkey): Likewise.
9803 (grub_getkeystatus): Likewise.
9804 (grub_getxy): Likewise.
9805 (grub_getwh): Likewise.
9806 (grub_gotoxy): Likewise.
9807 (grub_cls): Likewise.
9808 (grub_setcolorstate): Likewise.
9809 (grub_setcolor): Likewise.
9810 (grub_getcolor): Likewise.
9811 (grub_refresh): Likewise.
9812 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9813 (write_jump): Add hatch nop.
9814 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9815 * lib/mips/setjmp.S: New file.
9816 * loader/mips/linux.c: Likewise.
9817 * term/i386/pc/at_keyboard.c: Move from here ...
9818 * term/at_keyboard.c: ... to here.
9819 * term/i386/pc/serial.c: Moved from here ...
9820 * term/serial.c: ... to here. All users updated.
9821 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9822 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9823 (serial_translate_key_sequence): Avoid deadlock.
9824 (grub_serial_getkey): Handle backspace.
9825 (grub_serial_putchar): Fix newline handling.
9826 * util/i386/pc/grub-mkimage.c: Move from here ...
9827 * util/grub-mkrawimage.c: ... to here. All users updated.
9828 (generate_image): New parameters 'font_path' and 'format'.
9829 Support embedding font.
9830 Use grub_host_to_target* instead of grub_cpu_to_le*.
9831 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9832 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9833 (options): New option "--font".
9834 (usage): Likewise.
9835 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9836 (main): Handle "--font".
9837 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9838 (grub_virtual_screen_setup): Set bg_color_display.
9839 (redraw_screen_rect): Use bg_color_display instead of incorrect
9840 bg_color.
9841 (grub_gfxterm_cls): Likewise.
9842 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9843 Support embedding config file.
9844 (add_segments): Likewise.
9845 (options): New option "--config".
9846 (main): Handle "--config".
9847 * video/sm712.c: New file.
9848
25c2b5b3
RM
98492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9850
9851 Fix parallel builds.
9852
9853 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9854 font.c depend on ascii.h).
9855
98562010-01-12 Carles Pina i Estany <carles@pina.cat>
9857
9858 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9859
98602010-01-11 Carles Pina i Estany <carles@pina.cat>
9861
9862 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9863 By default: disabled.
9864 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9865 parameter.
9866
98672010-01-10 Carles Pina i Estany <carles@pina.cat>
9868
9869 * font/font.c: Update copyright years.
9870 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9871
98722010-01-10 Carles Pina i Estany <carles@pina.cat>
9873
9874 * font/font.c: Include `ascii.h'.
9875 (ASCII_BITMAP_SIZE): New macro.
9876 (ascii_font_glyph): Define.
9877 (ascii_glyph_lookup): New function.
9878 (grub_font_get_string_width): Change comment. If glyph not found, use
9879 ascii_glyph_lookup.
9880 (grub_font_get_glyph_with_fallback): If glyph not available returns
9881 ascii_glyph_lookup.
9882 * util/grub-mkfont.c (file_formats): New enum.
9883 (options): Add `ascii-bitmaps' new option.
9884 (usage): Add `asii-bitmaps' new option.
9885 (write_font_ascii_bitmap): New function.
9886 (write_font): Rename to ...
9887 (write_font_p2): ... this. Remove print_glyphs call.
9888 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9889 used. Call print_glyphs.
9890 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9891
98922010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9893
9894 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9895 (grub_bin2h_SOURCES): New variable.
9896 * util/bin2h.c: New file.
9897
915fc1b8
VS
98982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * include/multiboot.h: Resynced with spec.
9901 * include/multiboot2.h: Likewise.
9902 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9903 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9904
9444b678
RM
99052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9906
9907 * include/grub/term.h (grub_term_register_input,
9908 grub_term_register_output): Check return of terminal init()
9909 routines, and abort if errors are raised.
9910
9911 * commands/terminal.c: Update copyright year.
9912
cba98e8d
RM
99132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9914
9915 * commands/terminal.c (grub_cmd_terminal_input)
9916 (grub_cmd_terminal_output): Check return of terminal init()
9917 routines, and abort if errors are raised.
9918
6f7db5d6
VS
99192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * include/grub/i386/bsd.h: Fix include pathes.
9922
262bff8d
VS
99232010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 Add missing *BSD copyright headers.
9926
9927 * include/grub/aout.h: Add BSD licence.
9928 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9929 * include/grub/i386/freebsd_linker.h: ... here,
9930 * include/grub/i386/freebsd_reboot.h: ... here,
9931 * include/grub/i386/netbsd_bootinfo.h: ... here,
9932 * include/grub/i386/netbsd_reboot.h: ... here,
9933 * include/grub/i386/openbsd_bootarg.h: ... here,
9934 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9935 licence to each file.
9936
b2cab848
RM
99372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9938
9939 * acinclude.m4: Remove `nop' assembly instruction; it's not
9940 implemented by all architectures.
9941
2cb6be4b
RM
99422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9943
9944 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9945 ELILO. This is no longer necessary.
9946
a2eaee15
BC
99472010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9948
9949 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9950
9951 * util/grub-script-check.c: grub-script-check tool.
9952 * conf/common.rmk: Make rules for grub-script-check.
9953
88d17012
RM
99542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9955
9956 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9957 spotting it back in 2008. Shame on me for forgetting he did.
9958
9959 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9960
8040619d
RM
99612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9962
9963 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9964 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9965 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9966 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9967 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9968 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9969
a0c2a0f6
RM
99702010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9971
9972 * include/grub/test.h: Add license header.
9973 * tests/example_functional_test.c: Likewise.
9974 * tests/example_unit_test.c: Likewise.
9975 * tests/lib/functional_test.c: Likewise.
9976 * tests/lib/test.c: Likewise.
9977 * tests/lib/unit_test.c: Likewise.
9978
b0b13907
VS
99792010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Use flag-based instead of hook-based video mode selection and "auto"
9982 keyword.
9983
9984 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9985 (grub_video_set_mode): Changed prototype. All users updated.
9986 (grub_video_check_mode_flag): New inline function.
9987 * video/video.c (parse_modespec): New function.
9988 (grub_video_set_mode): Parse flags and keywords.
9989
ea379330 99902010-01-17 Carles Pina i Estany <carles@pina.cat>
9991
9992 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9993 fprintf call.
9994
e15c215e
FZ
99952010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9996
9997 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9998
409ae1c9 99992010-01-16 Carles Pina i Estany <carles@pina.cat>
10000
10001 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10002 string.
10003 * util/grub-emu.c (usage): Likewise.
10004 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10005 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10006 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10007 * util/i386/pc/grub-setup.c (usage): Likewise.
10008
70a14d3d 100092010-01-16 Carles Pina i Estany <carles@pina.cat>
10010
10011 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10012 the message.
10013 (grub_util_info): Likewise.
10014 (grub_util_error): Likewise.
10015 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10016 and/or new lines in `grub_util_warna', `grub_util_info',
10017 `grub_util_error' calls.
10018 * util/getroot.c: Likewise.
10019 * util/grub-editenv.c: Likewise.
10020 * util/grub-emu.c: Likewise.
10021 * util/grub-fstest.c: Likewise.
10022 * util/grub-mkdevicemap.c: Likewise.
10023 * util/grub-mkfont.c: Likewise.
10024 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10025 * util/grub-mkrelpath.c: Likewise.
10026 * util/grub-pe2elf.c: Likewise.
10027 * util/grub-probe.c: Likewise.
10028 * util/hostdisk.c: Likewise.
10029 * util/i386/efi/grub-mkimage.c: Likewise.
10030 * util/i386/pc/grub-mkimage.c: Likewise.
10031 * util/i386/pc/grub-setup.c: Likewise.
10032 * util/ieee1275/ofpath.c: Likewise.
10033 * util/mkisofs/eltorito.c: Likewise.
10034 * util/mkisofs/rock.c: Likewise.
10035 * util/mkisofs/write.c: Likewise.
10036 * util/raid.c: Likewise.
10037 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10038 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10039
a0b766fc
VS
100402010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 Enable multiboot on non-pc.
10043
10044 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10045 multiboot.mod and multiboot2.mod to ...
10046 * conf/i386.rmk (pkglib_MODULES): ... here.
10047 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10048 Moved to ...
10049 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10050 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10051 Moved to ...
10052 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10053 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10054 Moved to ...
10055 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10056 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10057 Moved to ...
10058 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10059 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10060 relocator.mod.
10061 (ata_mod_SOURCES): Removed.
10062 (ata_mod_CFLAGS): Likewise.
10063 (ata_mod_LDFLAGS): Likewise.
10064 (relocator_mod_SOURCES): Removed.
10065 (relocator_mod_CFLAGS): Likewise.
10066 (relocator_mod_ASFLAGS): Likewise.
10067 (relocator_mod_LDFLAGS): Likewise.
10068 Include i386.mk.
10069 * include/grub/x86_64/multiboot.h: New file.
10070 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10071 Terminate EFI.
10072
884ade56
VS
100732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 Video multiboot support.
10076
10077 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10078 New prototype.
10079 * include/multiboot.h: Resynced with multiboot specification.
10080 * include/multiboot2.h: Likewise.
10081 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10082 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10083 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10084 (HAS_VGA_TEXT): Likewise.
10085 (accepts_video): New variable.
10086 (grub_multiboot_set_accepts_video): New function.
10087 (grub_multiboot_get_mbi_size): Account for video structures.
10088 (set_video_mode): New function.
10089 (retrieve_video_parameters): Likewise.
10090 (grub_multiboot_make_mbi): Fill video fields.
10091
0d90e8a6
VS
100922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Video driver ids.
10095
10096 * include/grub/video.h (grub_video_driver_id): New type.
10097 (grub_video_adapter): New member 'id'. All users updated.
10098 (grub_video_get_driver_id): New proto.
10099 * video/video.c (grub_video_get_driver_id): New function.
10100
5c71db1b 101012010-01-14 Carles Pina i Estany <carles@pina.cat>
10102
10103 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
10104 `var=val'.
10105
cca15b52 101062010-01-14 Carles Pina i Estany <carles@pina.cat>
10107
10108 * normal/cmdline.c (print_completion): Gettextizze.
10109
c586fbb2 101102001-01-14 Carles Pina i Estany <carles@pina.cat>
10111
10112 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
10113
ba2f6848 101142010-01-14 Carles Pina i Estany <carles@pina.cat>
10115
10116 * gettext/gettext.c (grub_gettext_translate): Push and pop
10117 grub_errno.
10118 (grub_gettext_delete_list): Change comment style.
10119 * kern/err.c (grub_error): Gettextizze.
10120 (grub_fatal): Gettextizze.
10121
0a46429a
RM
101222010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10123
10124 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
10125 (grub_linux16_real_boot): ... this.
10126 * kern/i386/loader.S: Likewise.
10127 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
10128 (grub_linux16_boot): New function. Switches to text mode and calls
10129 grub_linux16_real_boot().
10130
10131 * loader/i386/bsd.c: Include `<grub/video.h>'.
10132 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
10133 text mode before calling grub_unix_real_boot().
10134
10135 * loader/i386/multiboot.c: Include `<grub/video.h>'.
10136 (grub_multiboot_boot): Switch to text mode before calling
10137 grub_relocator32_boot().
10138
10139 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
10140 (grub_chainloader_boot): Switch to text mode before calling
10141 grub_chainloader_real_boot().
10142
d6f93a66
RM
101432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
101442010-01-05 Colin Watson <cjwatson@ubuntu.com>
10145
10146 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
10147 non-empty value.
10148
101492010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
101502010-01-05 Colin Watson <cjwatson@ubuntu.com>
10151
10152 * util/grub.d/00_header.in: Define a "savedefault" function for use
10153 in menu entries.
10154 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
10155
101562010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
101572010-01-05 Colin Watson <cjwatson@ubuntu.com>
10158
10159 * util/grub-mkconfig_lib.in (save_default_entry): Only set
10160 saved_entry if boot_once is unset.
10161 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
10162 previous saved entry (i.e. grub-reboot).
10163
101642009-12-08 Colin Watson <cjwatson@ubuntu.com>
10165
10166 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
10167
101682009-12-08 Colin Watson <cjwatson@ubuntu.com>
10169
10170 * util/grub.d/00_header.in: Use `set var=val' rather than plain
10171 `var=val'.
10172 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
10173
101742009-12-08 Colin Watson <cjwatson@ubuntu.com>
10175
10176 * util/grub-reboot.in: Fix --version output.
10177 * util/grub-set-default.in: Likewise.
10178
101792009-12-08 Colin Watson <cjwatson@ubuntu.com>
10180
10181 * util/grub.d/00_header.in: Silently ignore zero-sized environment
10182 blocks.
10183
101842009-12-08 Colin Watson <cjwatson@ubuntu.com>
10185
10186 * util/grub.d/00_header.in: Quote the value assigned to `default',
10187 in case it contains spaces.
10188
101892009-12-08 Colin Watson <cjwatson@ubuntu.com>
10190
10191 * util/grub.d/30_os-prober.in: Fix merge error that moved a
10192 `save_default_entry' call from the macosx case to the linux case.
10193
101942009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
101952009-10-25 Colin Watson <cjwatson@ubuntu.com>
10196
10197 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
10198 in `chosen' environment variable.
10199 * normal/menu_text.c (get_entry_number): Check if the variable
10200 matches the title of a menu entry.
10201 (run_menu): Pass menu to get_entry_number.
10202
10203 * util/grub-reboot.in: New file.
10204 * util/grub-set-default.in: New file.
10205 * conf/common.rmk (grub-reboot): New utility.
10206 (grub-set-default): New utility.
10207
10208 * util/grub-mkconfig_lib.in (save_default_entry): New function.
10209 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
10210 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
10211 move it to `saved_entry' for the next boot. Load environment on
10212 initialisation.
10213 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
10214 * util/grub.d/10_hurd.in: Likewise.
10215 * util/grub.d/10_linux.in (linux_entry): Likewise.
10216 * util/grub.d/10_windows.in: Likewise.
10217 * util/grub.d/30_os-prober.in: Likewise.
10218
10219 * util/grub-install.in: Create environment block.
10220 * util/i386/efi/grub-install.in: Likewise.
10221 * util/ieee1275/grub-install.in: Likewise.
10222 * util/sparc64/ieee1275/grub-install.in: Likewise.
10223
0934d184
BC
102242010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10225
10226 Unit testing framework for GRUB.
10227
10228 * Makefile.in: Test framework build rules for 'make check'.
10229 * conf/tests.rmk: Build rules for individual tests and framework.
10230
10231 * include/grub/test.h: Header file for whitebox tests.
10232 * tests/lib/functional_test.c: Framework support for whitebox
10233 functional tests.
10234 * tests/lib/test.c: Common whitebox testing code for unit and
10235 functional tests.
10236 * tests/lib/unit_test.c: Framework support for whitebox unit
10237 tests.
10238
10239 * tests/util/grub-shell-tester.in: Support utility for grub-script
10240 tests.
10241 * tests/util/grub-shell.in: Utility to execute grub-script
10242 commands in a Qemu instance.
10243
10244 * tests/example_functional_test.c: Example whitebox functional
10245 test.
10246 * tests/example_grub_script_test.in: Example grub-script test.
10247 * tests/example_scripted_test.in: Example scripted test.
10248 * tests/example_unit_test.c: Example whitebox unit test.
10249
9c4ffeeb
VS
102502010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10253 Add loader/i386/multiboot_mbi.c.
10254 (multiboot2_mod_SOURCES): Likewise.
10255 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10256 (multiboot2_mod_SOURCES): Likewise.
10257 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10258 (grub_multiboot_make_mbi): Likewise.
10259 (grub_multiboot_free_mbi): Likewise.
10260 (grub_multiboot_init_mbi): Likewise.
10261 (grub_multiboot_add_module): Likewise.
10262 (grub_multiboot_set_bootdev): Likewise.
10263 * loader/i386/multiboot.c (mbi): Removed.
10264 (mbi_dest): Likewise.
10265 (alloc_mbi): New variable.
10266 (grub_multiboot_payload_size): Removed. All users updated.
10267 (grub_multiboot_pure_size): New variable.
10268 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10269 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10270 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10271 (grub_fill_multiboot_mmap): Likewise.
10272 (grub_multiboot_get_bootdev): Likewise.
10273 (grub_multiboot): Use multiboot_mbi functions.
10274 * loader/i386/multiboot_mbi.c: New file.
10275
17383dfe
VS
102762010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10279 it would result in module crash.
10280
c1f28820
VS
102812010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10284 (grub_ofconsole_getwh): Split to ...
10285 (grub_ofconsole_getwh): ... this.
10286 (grub_ofconsole_dimensions): ...and this.
10287 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10288
58655a16
RM
102892010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10290
10291 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10292
10891398
VS
102932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * loader/i386/pc/multiboot2.c: Removed stalled file.
10296
0b8a223c
VS
102972010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10300 Reported by: Grégoire Sutre
10301
92ab12b0
RM
103022010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10303
10304 * util/misc.c (canonicalize_file_name): New function.
10305 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10306 instead of realpath().
10307
a788afb6
CW
103082010-01-11 Colin Watson <cjwatson@ubuntu.com>
10309
10310 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10311 and make it clearer that it's optional. Based on confusion
10312 witnessed on IRC.
10313
ffa8e3d2
VS
103142010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10317 in premature implicit newline.
10318
e9060a9d
VS
103192010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10322 which resulted in garbled command line at the end of screen.
10323
f0d0c0b7
RM
103242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10325
10326 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10327 initialization with similar approach as with other Linux loaders.
10328
0e60bae7
RM
103292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10330
10331 Fix i386-ieee1275 build.
10332
10333 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10334 and grub_term_height() for video_{width,height} initialization.
10335
103362010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10337
10338 Fix grub-emu build.
10339
10340 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10341
cdb3f378
RM
103422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
103432010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10344
10345 Support for multiple terminals.
10346
10347 * Makefile.in (pkglib_DATA): terminal.lst.
10348 (terminal.lst): New target.
10349 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10350 (GRUB_MOD_INIT(handler)): Likewise.
10351 (GRUB_MOD_FINI(handler)): Likewise.
10352 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10353 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10354 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10355 (grub_cmd_sleep): Use grub_term_save_pos.
10356 * commands/terminal.c: New file.
10357 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10358 commands/terminal.c and lib/charset.c.
10359 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10360 (pkglib_MODULES): Add terminal.mod.
10361 (terminal_mod_SOURCES): New variable.
10362 (terminal_mod_CFLAGS): Likewise.
10363 (terminal_mod_LDFLAGS): Likewise.
10364 * genhandlerlist.sh: Don't handle terminals.
10365 * genmk.rb: Generate terminal-*.lst.
10366 * genterminallist.sh: New file.
10367 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10368 (grub_is_valid_utf8): Likewise.
10369 (grub_utf8_to_ucs4_alloc): Likewise.
10370 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10371 (grub_menu_register_viewer): Changed argument.
10372 (grub_menu_try_text): New proto.
10373 (grub_gfxmenu_try_hook): New declaration.
10374 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10375 (grub_menu_init_page): Additional argument term.
10376 (grub_normal_init_page): Likewise.
10377 (grub_cmdline_get): Arguments simplified.
10378 (grub_utf8_to_ucs4_alloc): Removed.
10379 (grub_print_ucs4): Additional argument term.
10380 (grub_getstringwidth): Likewise.
10381 (grub_print_message_indented): Likewise.
10382 (grub_menu_text_register_instances): New proto.
10383 (grub_show_menu): Likewise.
10384 (read_terminal_list): Likewise.
10385 (grub_set_more): Likewise.
10386 * include/grub/parser.h: Include handler.h.
10387 * include/grub/reader.h: Rewritten.
10388 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10389 (GRUB_TERM_WIDTH): Changed to function.
10390 (GRUB_TERM_HEIGHT): Likewise.
10391 (GRUB_TERM_BORDER_WIDTH): Likewise.
10392 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10393 (GRUB_TERM_NUM_ENTRIES): Likewise.
10394 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10395 (GRUB_TERM_CURSOR_X): Likewise.
10396 (grub_term_input_class): Likewise.
10397 (grub_term_output_class): Likewise.
10398 (grub_term_outputs_disabled): New declaration.
10399 (grub_term_inputs_disabled): Likewise.
10400 (grub_term_outputs): Likewise.
10401 (grub_term_inputs): Likewise.
10402 (grub_term_register_input): Rewritten.
10403 (grub_term_register_output): Likewise.
10404 (grub_term_unregister_input): Likewise.
10405 (grub_term_unregister_output): Likewise.
10406 (FOR_ACTIVE_TERM_INPUTS): New macro.
10407 (FOR_DISABLED_TERM_INPUTS): Likewise.
10408 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10409 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10410 * include/grub/terminfo.h: Add oterm argument to all protypes.
10411 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10412 Use grub_rescue_run.
10413 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10414 All users updated.
10415 * kern/reader.c: Removed. All users updated.
10416 * kern/rescue_reader.c (grub_rescue_init): Removed.
10417 (grub_rescue_reader): Likewise.
10418 (grub_register_rescue_reader): Likewise.
10419 (grub_rescue_run): New function based on kern/reader.c.
10420 * kern/term.c: Adapted for multiterm.
10421 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10422 (grub_is_valid_utf8): Likewise.
10423 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10424 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10425 right terminal.
10426 * loader/i386/linux.c (grub_linux_boot): Likewise.
10427 * normal/auth.c (grub_username_get): New function.
10428 (grub_auth_check_authentication): Use grub_username_get.
10429 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10430 * normal/color.c: Adapt for multiterm.
10431 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10432 (grub_normal_init_page): Additional argument term.
10433 (read_lists): Call read_terminal_lists.
10434 (grub_enter_normal_mode): Call grub_cmdline_run.
10435 Handle grub_normal_exit_level.
10436 (grub_cmd_normal): Make reentrant.
10437 (grub_cmd_normal_exit): New function.
10438 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10439 * normal/menu.c: Adapt for multiterm.
10440 * normal/menu_entry.c: Likewise.
10441 * normal/menu_text.c: Likewise.
10442 * normal/menu_viewer.c: Removed. All users updated.
10443 * normal/term.c: New file.
10444 * util/console.c: Change order of includes to workaround a bug in
10445 ncurses headers.
10446 * term/terminfo.c: New argument oterm on all exported functions.
10447 All users updated.
10448 * util/grub-editenv.c (grub_term_input_class): Removed.
10449 (grub_term_output_class): Likewise.
10450
1a064917
RM
104512010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10452
10453 Make loader output a bit more user-friendly.
10454
10455 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
10456 is being loaded. Likewise for the Hurd.
10457
10458 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
10459 that kernel of FreeBSD ${version} is being loaded.
10460
10461 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
10462 grub_dprintf().
10463 (grub_cmd_initrd): Likewise.
10464 * util/grub.d/10_linux.in (linux_entry): Print message indicating
10465 that Linux ${version} is being loaded. Likewise for initrd.
10466
5ce0a83a 104672010-01-09 Carles Pina i Estany <carles@pina.cat>
10468
10469 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
10470
809bbfeb 104712010-01-08 Carles Pina i Estany <carles@pina.cat>
10472
10473 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
10474 (GRUB_MOD_INIT): Gettextizze.
10475 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
10476 (GRUB_MOD_INIT): Gettextizze.
10477 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
10478 (grub_cmd_linux): Capitalise Linux.
10479 (GRUB_MOD_INIT): Gettextizze.
10480 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
10481 (grub_cmd_linux): Capitalise Linux.
10482 (GRUB_MOD_INIT): Gettextizze.
10483 * loader/i386/linux.c: Include `<grub/i18n.h>'.
10484 (grub_cmd_linux): Capitalise Linux.
10485 (GRUB_MOD_INIT): Gettextizze.
10486 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
10487 (GRUB_MOD_INIT): Gettextizze.
10488 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
10489 (grub_cmd_linux): Capitalise Linux.
10490 (GRUB_MOD_INIT): Gettextizze.
10491 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
10492 (grub_cpu_xnu_init): Gettextizze.
10493 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
10494 (GRUB_MOD_INIT): Gettextizze.
10495 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
10496 (GRUB_MOD_INIT): Gettextizze.
10497 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
10498 (grub_linux_load64): Capitalise Linux.
10499 (GRUB_MOD_INIT): Gettextizze.
10500 * loader/xnu.c: Include `<grub/i18n.h>'.
10501 (GRUB_MOD_INIT): Gettextizze.
10502 * po/POTFILES: Add `loader/efi/appleloader.c',
10503 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
10504 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
10505 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
10506 `loader/i386/xnu.c', `loader/multiboot_loader.c',
10507 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
10508 and `loader/xnu.c'.
10509
b394b2ca
RM
105102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
10511
10512 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
10513
105142010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
10515
10516 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
10517 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
10518 * util/mkisofs/mkisofs.c (main): Readjust --version output.
10519
bc8b32b3
RM
105202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10521
10522 Reset Multiboot 2 support. New loader implements the draft in
10523 /branches/multiboot2 and shares as much code as possible with the
10524 production Multiboot 1 implementation.
10525
10526 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10527 * loader/multiboot2.c: Likewise.
10528 * loader/i386/multiboot_helper.S: Likewise.
10529 * include/multiboot2.h: Replace with latest version from the draft
10530 in /branches/multiboot2.
10531
10532 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10533 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10534 and `loader/multiboot2.c'.
10535 (pkglib_MODULES): Add `multiboot2.mod'.
10536 (multiboot2_mod_SOURCES): New variable.
10537 (multiboot2_mod_LDFLAGS): Likewise.
10538 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10539
10540 * conf/i386-pc.rmk: Likewise.
10541
10542 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10543 (multiboot_mod_SOURCES): Remove variable.
10544 (multiboot_mod_LDFLAGS): Likewise.
10545 (multiboot_mod_CFLAGS): Likewise.
10546
10547 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10548 `<multiboot2.h>' instead of `<multiboot.h>'.
10549 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10550 (MULTIBOOT_HEADER_MAGIC): New macros.
10551
10552 * loader/multiboot_loader.c (module_version_status): Remove variable.
10553 (find_multi_boot2_header): Remove function.
10554 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10555 logic. Always check for the Multiboot version we're compiling for.
10556 (grub_cmd_module_loader): Likewise.
10557 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10558 command instead of `multiboot'.
10559
5d2c52b8
RM
105602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10561
10562 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10563 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10564 all users.
10565
53108d92
RM
105662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
105672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Fix breakage introduced with previous commit.
10570
10571 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10572 commands.
10573 * normal/handler.c (read_handler_list): Revert part of previous commit
10574 affecting this file.
10575 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10576 (grub_normal_execute): ... here.
10577
e2e936b2
RM
105782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10579
10580 Merge prefix-redefinition-fix branch.
10581
10582 * normal/autofs.c (read_fs_list): Make function capable of being
10583 run multiple times, gracefuly replacing the previous data
10584 structures.
10585 * normal/dyncmd.c (read_command_list): Likewise.
10586 * normal/handler.c (read_handler_list): Likewise.
10587 * normal/main.c (read_lists): New function. Calls all the
10588 list reading functions.
10589 (grub_normal_execute): Use read_lists() instead of calling all
10590 list reading functions explicitly. Register read_lists() as a
10591 variable hook attached to ${prefix}.
10592
607a3701
VS
105932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 Merge crypto branch.
10596
10597 * Makefile.in (pkglib_DATA): Add crypto.lst.
10598 (crypto.lst): New target.
10599 * commands/hashsum.c: New file.
10600 * commands/password.c (check_password): Use grub_crypto_memcmp.
10601 * commands/password_pbkdf2.c: New file.
10602 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10603 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10604 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10605 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10606 -I$(srcdir)/lib/libgcrypt_wrap.
10607 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10608 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10609 password_pbkdf2.mod.
10610 (crypto_mod_SOURCES): New variable.
10611 (crypto_mod_CFLAGS): Likewise.
10612 (crypto_mod_LDFLAGS): Likewise.
10613 (hashsum_mod_SOURCES): New variable.
10614 (hashsum_mod_CFLAGS): Likewise.
10615 (hashsum_mod_LDFLAGS): Likewise.
10616 (pbkdf2_mod_SOURCES): New variable.
10617 (pbkdf2_mod_CFLAGS): Likewise.
10618 (pbkdf2_mod_LDFLAGS): Likewise.
10619 (password_pbkdf2_mod_SOURCES): New variable.
10620 (password_pbkdf2_mod_CFLAGS): Likewise.
10621 (password_pbkdf2_mod_LDFLAGS): Likewise.
10622 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10623 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10624 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10625 Include conf/gcry.rmk.
10626 * include/grub/auth.h: Rewritten.
10627 * include/grub/crypto.h: New file.
10628 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10629 * include/grub/normal.h (read_crypto_list): New prototype.
10630 * lib/crypto.c: New file.
10631 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10632 * lib/pbkdf2.c: Likewise.
10633 * normal/auth.c (grub_auth_strcmp): Removed.
10634 (grub_iswordseparator): Likewise.
10635 (grub_auth_strword): Likewise.
10636 (is_authenticated): Use grub_strword.
10637 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10638 and grub_strword. Pass entered password to authentication callback.
10639 * normal/crypto.c: New file.
10640 * normal/main.c: Call read_crypto_list.
10641 * util/grub-mkpasswd-pbkdf2.c: New file.
10642 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10643
42841caa
VS
106442010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 Fix descent and ascent calculation.
10647
10648 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10649 (options): New option "asce".
10650 (usage): Likewise.
10651 (add_char): Ignore invalid glyphs for descent calculation.
10652 Calculate ascent from actual content.
10653 (print_glyphs): Use 'asce'.
10654 (write_font): Likewise. Allow ascent override.
10655 (main): Handle "asce" option.
10656
e7730de7 106572010-01-06 Carles Pina i Estany <carles@pina.cat>
10658
10659 * kern/err.c: Include `<grub/i18n.h>'.
10660 (grub_print_error): Add full stop. Gettextizze.
10661 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10662 (grub_bsd_load_elf): Capitalise ELF.
10663 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10664 (grub_cmd_freebsd_module): Likewise.
10665 (grub_cmd_freebsd_module_elf): Likewise.
10666 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10667
40e3a41f 106682010-01-06 Carles Pina i Estany <carles@pina.cat>
10669
10670 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10671 * commands/search_file.c (HELP_MESSAGE): New macro.
10672 * commands/search_label.c (HELP_MESSAGE): Likewise.
10673 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10674 * po/POTFILES: Add `commands/search_file.c',
10675 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10676 `commands/search.c'.
10677
83507e68
RM
106782010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10679
10680 * config.rpath: Update from Gnulib.
10681
465c787b
YB
106822010-01-05 Yves Blusseau <blusseau@zetam.org>
10683
10684 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10685
6581dd3a
YB
106862010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10687
10688 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10689
3bff18c5
CW
106902010-01-05 Colin Watson <cjwatson@ubuntu.com>
10691
10692 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10693 arguments to fread so that we get a return value in bytes, rather
10694 than something that will normally be rounded down to 0.
10695 Adjust error handling to avoid producing garbage when size_t is not
10696 the same size as long long.
10697
a1368118
CW
106982010-01-05 Colin Watson <cjwatson@ubuntu.com>
10699
10700 * util/mkisofs/write.c (padblock_write): Check return value of
10701 fread.
10702
7c302978
RM
107032010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10704
10705 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10706 floppy images now.
10707
10708 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10709
e33ace06
RM
107102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10711
10712 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10713 instead of manual alignment.
10714 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10715 verbose). Avoid attempts to read past end of the device
10716 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10717 but GRUB_DISK_CACHE_SIZE may exceed that).
10718
4b856776
RM
107192010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10720
10721 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10722 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10723 it to upper layer.
10724
52c2d97f
VS
107252010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10728 New constant.
10729 (grub_efi_piwg_device_path): New structure
10730 (grub_efi_piwg_device_path_t): New type.
10731 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10732 (devpath_1): Transform to a structure. All users updated.
10733 (devpath_2): Likewise.
10734 (devpath_3): Likewise.
10735 (devpath_4): Likewise.
10736 (devpath_5): Likewise.
10737
98ff6a54
VS
107382010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * loader/efi/appleloader.c: Restored. Update all users.
10741
3a73dcb6
RM
107422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10743
10744 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10745
10746 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10747 (struct boot_blocklist): Move from here ...
10748 * include/grub/i386/pc/boot.h [ASM_FILE]
10749 (struct grub_boot_blocklist): ... to here. Update all users.
10750 (setup): Only initialize `start' member of `first_block'
10751 structure. Add assert() calls to verify the other members.
10752
10753 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10754 (generate_image): Fix broken blocklist length initialization.
10755 Add assert() call to verify blocklist `segment' field.
10756
ab0eeb0c
RM
107572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10758
10759 * loader/efi/appleloader.c: Remove. Update all users.
10760
58bc8bd5
RM
107612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10762
10763 * boot/i386/pc/boot.S: Update copyright year.
10764 * boot/i386/pc/cdboot.S: Likewise.
10765 * boot/i386/pc/diskboot.S: Likewise.
10766 * boot/i386/pc/lnxboot.S: Likewise.
10767 * boot/i386/pc/pxeboot.S: Likewise.
10768 * bus/pci.c: Likewise.
10769 * commands/cmp.c: Likewise.
10770 * commands/help.c: Likewise.
10771 * commands/hexdump.c: Likewise.
10772 * commands/i386/pc/halt.c: Likewise.
10773 * commands/i386/pc/play.c: Likewise.
10774 * commands/i386/pc/vbeinfo.c: Likewise.
10775 * commands/ls.c: Likewise.
10776 * commands/test.c: Likewise.
10777 * disk/dmraid_nvidia.c: Likewise.
10778 * disk/i386/pc/biosdisk.c: Likewise.
10779 * disk/ieee1275/nand.c: Likewise.
10780 * disk/ieee1275/ofdisk.c: Likewise.
10781 * disk/lvm.c: Likewise.
10782 * disk/raid.c: Likewise.
10783 * disk/raid6_recover.c: Likewise.
10784 * disk/scsi.c: Likewise.
10785 * fs/affs.c: Likewise.
10786 * fs/cpio.c: Likewise.
10787 * fs/ext2.c: Likewise.
10788 * fs/hfs.c: Likewise.
10789 * fs/iso9660.c: Likewise.
10790 * fs/ntfs.c: Likewise.
10791 * fs/sfs.c: Likewise.
10792 * fs/udf.c: Likewise.
10793 * fs/ufs.c: Likewise.
10794 * fs/xfs.c: Likewise.
10795 * gencmdlist.sh: Likewise.
10796 * genmk.rb: Likewise.
10797 * include/grub/disk.h: Likewise.
10798 * include/grub/efi/api.h: Likewise.
10799 * include/grub/efi/efi.h: Likewise.
10800 * include/grub/efi/pe32.h: Likewise.
10801 * include/grub/elf.h: Likewise.
10802 * include/grub/fs.h: Likewise.
10803 * include/grub/i386/at_keyboard.h: Likewise.
10804 * include/grub/i386/pc/memory.h: Likewise.
10805 * include/grub/i386/pc/vbe.h: Likewise.
10806 * include/grub/i386/pci.h: Likewise.
10807 * include/grub/i386/tsc.h: Likewise.
10808 * include/grub/ieee1275/ieee1275.h: Likewise.
10809 * include/grub/ntfs.h: Likewise.
10810 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10811 * include/grub/sparc64/libgcc.h: Likewise.
10812 * include/grub/symbol.h: Likewise.
10813 * include/grub/types.h: Likewise.
10814 * include/multiboot2.h: Likewise.
10815 * io/gzio.c: Likewise.
10816 * kern/device.c: Likewise.
10817 * kern/disk.c: Likewise.
10818 * kern/efi/efi.c: Likewise.
10819 * kern/efi/mm.c: Likewise.
10820 * kern/elf.c: Likewise.
10821 * kern/file.c: Likewise.
10822 * kern/i386/dl.c: Likewise.
10823 * kern/i386/pc/init.c: Likewise.
10824 * kern/i386/pc/startup.S: Likewise.
10825 * kern/ieee1275/ieee1275.c: Likewise.
10826 * kern/ieee1275/init.c: Likewise.
10827 * kern/main.c: Likewise.
10828 * kern/mm.c: Likewise.
10829 * kern/powerpc/dl.c: Likewise.
10830 * kern/sparc64/dl.c: Likewise.
10831 * kern/x86_64/dl.c: Likewise.
10832 * lib/hexdump.c: Likewise.
10833 * loader/efi/appleloader.c: Likewise.
10834 * loader/i386/ieee1275/linux.c: Likewise.
10835 * loader/i386/pc/chainloader.c: Likewise.
10836 * loader/i386/pc/linux.c: Likewise.
10837 * loader/i386/pc/multiboot2.c: Likewise.
10838 * loader/ieee1275/multiboot2.c: Likewise.
10839 * loader/multiboot2.c: Likewise.
10840 * loader/multiboot_loader.c: Likewise.
10841 * loader/powerpc/ieee1275/linux.c: Likewise.
10842 * normal/completion.c: Likewise.
10843 * normal/menu_entry.c: Likewise.
10844 * partmap/apple.c: Likewise.
10845 * util/grub.d/10_hurd.in: Likewise.
10846 * util/hostfs.c: Likewise.
10847 * video/readers/png.c: Likewise.
10848
e2d70b5c
CW
108492010-01-03 Colin Watson <cjwatson@ubuntu.com>
10850
10851 * include/grub/misc.h (GNUC_PREREQ): New macro.
10852 (ATTRIBUTE_ERROR): New macro.
10853 * include/grub/list.h (grub_bad_type_cast_real): Use
10854 ATTRIBUTE_ERROR.
10855
a173283f 108562010-01-03 Carles Pina i Estany <carles@pina.cat>
10857
10858 * normal/menu_text.c (print_message): Change messages.
10859
7fa7ff74 108602010-01-03 Carles Pina i Estany <carles@pina.cat>
10861
10862 * normal/menu_entry.c (store_completion): Gettextizze.
10863
136d24f6 108642010-01-03 Carles Pina i Estany <carles@pina.cat>
10865
10866 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10867
f936862e 108682010-01-03 Carles Pina i Estany <carles@pina.cat>
10869
10870 * po/POTFILES: Sort correctly.
10871
29c44ad1 108722010-01-03 Carles Pina i Estany <carles@pina.cat>
10873
10874 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10875 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10876 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10877 full stop.
10878 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10879 summary. Gettextizze the strings.
10880 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10881 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10882 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10883 full stop.
10884 (GRUB_MOD_INIT): Remove command name from summary.
10885 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10886 summary.
10887 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10888 * term/i386/pc/serial.c (options): Add full stops.
10889 (GRUB_MOD_INIT): Remove command name from the summary.
10890
77a79592 108912010-01-03 Carles Pina i Estany <carles@pina.cat>
10892
10893 * commands/acpi.c: Gettextizze help strings and/or options. Include
10894 `grub/i18n.h' if needed.
10895 * commands/blocklist.c: Likewise.
10896 * commands/boot.c: Likewise.
10897 * commands/cat.c: Likewise.
10898 * commands/cmp.c: Likewise.
10899 * commands/configfile.c: Likewise.
10900 * commands/crc.c: Likewise.
10901 * commands/date.c: Likewise.
10902 * commands/echo.c: Likewise.
10903 * commands/efi/fixvideo.c: Likewise.
10904 * commands/efi/loadbios.c: Likewise.
10905 * commands/gptsync.c: Likewise.
10906 * commands/halt.c: Likewise.
10907 * commands/handler.c: Likewise.
10908 * commands/hdparm.c: Likewise.
10909 * commands/hexdump.c: Likewise.
10910 * commands/i386/cpuid.c: Likewise.
10911 * commands/i386/pc/drivemap.c: Likewise.
10912 * commands/i386/pc/halt.c: Likewise.
10913 * commands/i386/pc/pxecmd.c: Likewise.
10914 * commands/i386/pc/vbeinfo.c: Likewise.
10915 * commands/i386/pc/vbetest.c: Likewise.
10916 * commands/ieee1275/suspend.c: Likewise.
10917 * commands/keystatus.c: Likewise.
10918 * commands/loadenv.c: Likewise.
10919 * commands/ls.c: Likewise.
10920 * commands/lsmmap.c: Likewise.
10921 * commands/lspci.c: Likewise.
10922 * commands/memrw.c: Likewise.
10923 * commands/minicmd.c: Likewise.
10924 * commands/parttool.c: Likewise.
10925 * commands/password.c: Likewise.
10926 * commands/probe.c: Likewise.
10927 * commands/read.c: Likewise.
10928 * commands/reboot.c: Likewise.
10929 * commands/search.c: Likewise.
10930 * commands/sleep.c: Likewise.
10931 * commands/test.c: Likewise.
10932 * commands/true.c: Likewise.
10933 * commands/usbtest.c: Likewise.
10934 * commands/videotest.c: Likewise.
10935 * commands/xnu_uuid.c: Likewise.
10936 * disk/loopback.c: Likewise.
10937 * hello/hello.c: Likewise.
10938 * loader/i386/bsd.c: Likewise.
10939 * term/i386/pc/serial.c: Likewise.
10940 * po/POTFILES: Add new files.
10941
da8d5c53
CW
109422010-01-02 Colin Watson <cjwatson@ubuntu.com>
10943
10944 * term/i386/pc/at_keyboard.c
10945 (keyboard_controller_wait_untill_ready): Rename to ...
10946 (keyboard_controller_wait_until_ready): ... this. Update all users.
10947
33937904 109482010-01-01 Carles Pina i Estany <carles@pina.cat>
10949
10950 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10951 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10952 string using string width.
10953 * normal/menu_text.c (grub_print_message_indented): Use
10954 grub_print_spaces and not print_spaces.
10955 (print_timeout): Likewise.
10956 (print_spaces): Move to...
10957 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10958
3fd3b8d8
RM
109592010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10960
10961 Import from Gnulib.
10962
10963 * gnulib/getdelim.c: New file.
10964 * gnulib/getline.c: Likewise.
10965
33433555
VS
109662009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10967
10968 * include/grub/list.h (grub_assert_fail): Removed.
10969 (grub_bad_type_cast_real): New function.
10970 (grub_bad_type_cast): New macro.
10971 (GRUB_AS_LIST): Use grub_bad_type_cast.
10972 (GRUB_AS_LIST_P): Likewise.
e44721e8 10973 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10974 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10975 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10976 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10977 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10978
f5a51306
VS
109792009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10982 Fix syntax error.
10983
90d1e879
RM
109842009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10985
10986 * configure.ac: Check for TARGET_CFLAGS initialization before we
10987 initialize it ourselves (sigh).
10988 Move a few modifications to TARGET_CFLAGS to be unconditional
10989 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10990 eh_frame)
10991
10992 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10993 * term/i386/pc/at_keyboard.c
10994 (keyboard_controller_wait_untill_ready): Likewise.
10995 (keyboard_controller_led): Rename `led_status' paramter to avoid
10996 name conflict.
10997
465b5a81 109982009-12-28 Carles Pina i Estany <carles@pina.cat>
10999
11000 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11001 quotes.
11002
c181849b
VS
110032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11006
9c8739a4
VS
110072009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * normal/menu_text.c (grub_print_message_indented): Prevent
11010 past-the-end-of-array dereference.
11011
3e74249c
VS
110122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11015 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11016
64fd18ed 110172009-12-27 Carles Pina i Estany <carles@pina.cat>
11018
11019 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11020 * normal/main.c (grub_normal_read_line): Remove a space from the
11021 default prompt.
11022
714af9b9 110232009-12-27 Carles Pina i Estany <carles@pina.cat>
11024
11025 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11026 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11027 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11028 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11029 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11030 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11031 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11032
82f3e412 110332009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 11034
11035 * video/readers/jpeg.c (cmd): Declare.
11036 (grub_cmd_jpegtest): Use `grub_command_t' type.
11037 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11038 Assign to `cmd'.
11039 (GRUB_MOD_FINI): Use `cmd' to unregister.
11040 * video/readers/png.c (cmd): Declare.
11041 (grub_cmd_pngtest): Use `grub_command_t' type.
11042 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11043 Assign to `cmd'.
11044 (GRUB_MOD_FINI): Use `cmd' to unregister.
11045 * video/readers/tga.c (cmd): Declare.
11046 (grub_cmd_tgatest): Use `grub_command_t' type.
11047 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11048 Assign to `cmd'.
11049 (GRUB_MOD_FINI): Use `cmd' to unregister.
11050
82f3e412 110512009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 11052
11053 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11054 stops.
11055 * kern/corecmd.c (grub_register_core_commands): Likewise.
11056 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11057 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11058 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11059 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11060 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11061 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11062 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11063 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11064 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11065 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11066 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11067 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11068 * normal/handler.c (insert_handler): Likewise.
11069 * normal/main.c (GRUB_MOD_INIT): Likewise.
11070 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11071
fdcdbb66 110722009-12-26 Carles Pina i Estany <carles@pina.cat>
11073
11074 * commands/help.c (grub_cmd_help): Print the command name before the
11075 summary.
11076 (GRUB_MOD_INIT): Remove command name from the summary.
11077 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 11078 string as summary.
fdcdbb66 11079 * lib/arg.c (find_long): Print the command name before the summary.
11080 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11081 summary.
11082 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11083 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11084 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11085 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
11086 * commands/crc.c (GRUB_MOD_INIT): Likewise.
11087 * commands/date.c (GRUB_MOD_INIT): Likewise.
11088 * commands/echo.c (GRUB_MOD_INIT): Likewise.
11089 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
11090 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11091 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11092 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
11093 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
11094 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
11095 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
11096 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11097 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
11098 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
11099 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
11100 * commands/ls.c (GRUB_MOD_INIT): Likewise.
11101 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11102 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11103 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11104 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
11105 * commands/password.c (GRUB_MOD_INIT): Likewise.
11106 * commands/probe.c (GRUB_MOD_INIT): Likewise.
11107 * commands/read.c (GRUB_MOD_INIT): Likewise.
11108 * commands/search.c (GRUB_MOD_INIT): Likewise.
11109 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
11110 * commands/test.c (GRUB_MOD_INIT): Likewise.
11111 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
11112 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11113 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11114 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
11115 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11116 * lib/arg.c (GRUB_MOD_INIT): Likewise.
11117 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
11118 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11119 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11120 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11121 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11122 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
11123 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
11124 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
11125
9c288be2
VS
111262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 Use search command for preliminar UUID search.
11129
11130 * commands/search.c: Split into ...
11131 * commands/search_wrap.c: ...this
11132 * commands/search.c: ...and this.
11133 * commands/search_file.c: New file.
11134 * commands/search_label.c: New file.
11135 * commands/search_uuid.c: New file.
11136 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
11137 Add commands/search_wrap.c, commands/search_file.c,
11138 commands/search_label.c and commands/search_uuid.c.
11139 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
11140 (search_mod_SOURCES): Set to commands/search_wrap.c.
11141 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
11142 search_label.mod.
11143 (search_fs_file_mod_SOURCES): New variable.
11144 (search_fs_file_mod_CFLAGS): Likewise.
11145 (search_fs_file_mod_LDFLAGS): Likewise.
11146 (search_label_mod_SOURCES): Likewise.
11147 (search_label_mod_CFLAGS): Likewise.
11148 (search_label_mod_LDFLAGS): Likewise.
11149 (search_fs_uuid_mod_SOURCES): New variable.
11150 (search_fs_uuid_mod_CFLAGS): Likewise.
11151 (search_fs_uuid_mod_LDFLAGS): Likewise.
11152 (fs_file_mod_SOURCES): Removed.
11153 (fs_file_mod_CFLAGS): Likewise.
11154 (fs_file_mod_LDFLAGS): Likewise.
11155 (fs_uuid_mod_SOURCES): Removed.
11156 (fs_uuid_mod_CFLAGS): Likewise.
11157 (fs_uuid_mod_LDFLAGS): Likewise.
11158 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
11159 Set to util/grub-install.in.
11160 * disk/fs_file.c: Removed.
11161 * disk/fs_uuid.c: Likewise.
11162 * include/grub/search.h: New file.
11163 * util/grub-install.in: Handle sparc64.
11164 Create and use load.cfg.
11165 * util/sparc64/ieee1275/grub-install.in: Removed.
11166
db943399
VS
111672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
11170 Ignore return status if CF is cleared.
11171 (grub_biosdisk_get_diskinfo_standard): Likewise.
11172
3fdae612
RM
111732009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11174
11175 * term/i386/pc/at_keyboard.c
11176 (keyboard_controller_wait_untill_ready): New function.
11177 (grub_keyboard_controller_write, grub_keyboard_controller_read)
11178 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
11179 for keyboard polling, rather than duplicate the same loop. This
11180 saves a few bytes in code size.
11181
7ebaa2b4
VS
111822009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Support for (pxe[:server[:gateway]]) syntax and
11185 use environment variable for PXE.
11186
11187 * commands/i386/pc/pxecmd.c (options): Removed.
11188 (print_ip): Removed.
11189 (grub_cmd_pxe): Removed
11190 (grub_cmd_pxe_unload): New function.
11191 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
11192 (grub_pxe_your_ip): Made static.
11193 (grub_pxe_default_server_ip): Likewise.
11194 (grub_pxe_default_gateway_ip): Likewise.
11195 (grub_pxe_blksize): Likewise.
11196 (parse_ip): New function.
11197 (grub_pxe_open): Support server and gateway specification.
11198 (grub_pxe_close): Free disk->data.
11199 (grub_pxefs_open): Use disk->data.
11200 (grub_pxefs_read): Likewise.
11201 (grub_env_write_readonly): New function.
11202 (set_mac_env): Likewise.
11203 (set_env_limn_ro): Likewise.
11204 (parse_dhcp_vendor): Likewise.
11205 (grub_pxe_detect): Set the environment variables.
11206 (set_ip_env): New function.
11207 (write_ip_env): Likewise.
11208 (grub_env_write_pxe_default_server): Likewise.
11209 (grub_env_write_pxe_default_gateway): Likewise.
11210 (grub_env_write_pxe_blocksize): Likewise.
11211 (GRUB_MOD_INIT(pxe)): Set environment variables.
11212 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
11213 (grub_pxe_mac_addr_t): ... this. All users updated.
11214 (grub_pxe_your_ip): Removed.
11215 (grub_pxe_server_ip): Likewise.
11216 (grub_pxe_gateway_ip): Likewise.
11217 (grub_pxe_blksize): Likewise.
11218
ec5f98ab 112192009-12-25 Carles Pina i Estany <carles@pina.cat>
11220
11221 * commands/help.c: Include `<grub/i18n.h>'.
11222 (grub_cmd_help): Gettextizze.
11223 (GRUB_MOD_INIT): Likewise.
11224 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11225 (GRUB_MOD_INIT): Gettextizze.
11226 * commands/search.c: Include `<grub/i18n.h>'.
11227 (options): Gettextizze.
11228 (GRUB_MOD_INIT): Gettextizze.
11229 * lib/arg.c: Include `<grub/i18n.h>'.
11230 (help_options): Gettextizze.
11231 (find_long): Likewise.
11232 (grub_arg_show_help): Likewise.
11233 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11234 (read_command_list): Gettextizze.
11235 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11236 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11237
22815526
RM
112382009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11239
11240 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11241 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11242 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11243 (led_status): New variable.
11244 (keyboard_controller_led): New function.
11245 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11246 update led status for caps lock, num lock and scroll lock.
11247
0ad46fd7
FZ
112482009-12-25 Felix Zielcke <fzielcke@z-51.de>
11249
11250 * util/hostdisk.c (open_device): Fix a comment.
11251
d0e158c2
RM
112522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11253
11254 * util/grub-install.in (host_os): New variable.
11255 * util/i386/efi/grub-install.in (host_os): Likewise.
11256
401c0ad6
RM
112572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11258
11259 * util/mkisofs/write.c (padblock_write): Abort when given an
11260 excedingly large embed image, instead of silently truncating it.
11261
d14d3370
RM
112622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11263
11264 * include/multiboot.h: Indentation fixes.
11265
eeed10b4
RM
112662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11267
11268 * include/multiboot.h (struct multiboot_aout_symbol_table)
11269 (struct multiboot_elf_section_header_table): New structure
11270 declarations (stolen from GRUB Legacy).
11271 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11272 table information.
11273
11274 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11275 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11276 type aliases.
11277
681c70ab
RM
112782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11279
11280 * include/multiboot.h: Make comments src2texi-friendly.
11281
e4d47d8d
RM
112822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11283
11284 For consistency with [multiboot]/docs/boot.S.
11285
11286 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11287 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11288 (MULTIBOOT_MAGIC2): Rename from this ...
11289 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11290
a0b70bda
RM
112912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11292
11293 * include/multiboot.h: Remove `<grub/types.h>'.
11294 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11295 types. Update all users.
11296
61ba42be 112972009-12-25 Carles Pina i Estany <carles@pina.cat>
11298
11299 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11300 `couldn't' and `can not' by `cannot'.
11301 * commands/i386/pc/drivemap.c: Likewise.
11302 * disk/ata.c: Likewise.
11303 * disk/ieee1275/nand.c: Likewise.
11304 * fs/affs.c: Likewise.
11305 * fs/fat.c: Likewise.
11306 * fs/hfs.c: Likewise.
11307 * fs/hfsplus.c: Likewise.
11308 * fs/iso9660.c: Likewise.
11309 * fs/jfs.c: Likewise.
11310 * fs/minix.c: Likewise.
11311 * fs/reiserfs.c: Likewise.
11312 * fs/sfs.c: Likewise.
11313 * fs/udf.c: Likewise.
11314 * fs/ufs.c: Likewise.
11315 * fs/xfs.c: Likewise.
11316 * loader/powerpc/ieee1275/linux.c: Likewise.
11317 * loader/sparc64/ieee1275/linux.c: Likewise.
11318 * util/grub-probe.c: Likewise.
11319 * util/misc.c: Likewise.
11320
7fd0baee 113212009-12-24 Carles Pina i Estany <carles@pina.cat>
11322
11323 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11324 grub_errno calls.
11325 * commands/acpi.c: Likewise.
11326 * commands/blocklist.c: Likewise.
11327 * commands/efi/loadbios.c: Likewise.
11328 * commands/i386/pc/drivemap.c: Likewise.
11329 * commands/loadenv.c: Likewise.
11330 * commands/memrw.c: Likewise.
11331 * commands/password.c: Likewise.
11332 * commands/videotest.c: Likewise.
11333 * disk/ata.c: Likewise.
11334 * disk/ata_pthru.c: Likewise.
11335 * disk/dmraid_nvidia.c: Likewise.
11336 * disk/ieee1275/nand.c: Likewise.
11337 * disk/ieee1275/ofdisk.c: Likewise.
11338 * disk/loopback.c: Likewise.
11339 * disk/lvm.c: Likewise.
11340 * disk/mdraid_linux.c: Likewise.
11341 * disk/raid.c: Likewise.
11342 * disk/raid6_recover.c: Likewise.
11343 * disk/scsi.c: Likewise.
11344 * efiemu/main.c: Likewise.
11345 * efiemu/mm.c: Likewise.
11346 * efiemu/pnvram.c: Likewise.
11347 * efiemu/symbols.c: Likewise.
11348 * font/font.c: Likewise.
11349 * fs/cpio.c: Likewise.
11350 * fs/hfsplus.c: Likewise.
11351 * fs/iso9660.c: Likewise.
11352 * fs/jfs.c: Likewise.
11353 * fs/minix.c: Likewise.
11354 * fs/ntfs.c: Likewise.
11355 * fs/ntfscomp.c: Likewise.
11356 * fs/reiserfs.c: Likewise.
11357 * fs/ufs.c: Likewise.
11358 * fs/xfs.c: Likewise.
11359 * gettext/gettext.c: Likewise.
11360 * include/grub/auth.h: Likewise.
11361 * kern/elf.c: Likewise.
11362 * kern/file.c: Likewise.
11363 * kern/ieee1275/init.c: Likewise.
11364 * kern/ieee1275/mmap.c: Likewise.
11365 * kern/ieee1275/openfw.c: Likewise.
11366 * kern/powerpc/dl.c: Likewise.
11367 * kern/sparc64/dl.c: Likewise.
11368 * lib/arg.c: Likewise.
11369 * loader/i386/bsd.c: Likewise.
11370 * loader/i386/bsdXX.c: Likewise.
11371 * loader/i386/efi/linux.c: Likewise.
11372 * loader/i386/efi/xnu.c: Likewise.
11373 * loader/i386/ieee1275/linux.c: Likewise.
11374 * loader/i386/linux.c: Likewise.
11375 * loader/i386/multiboot.c: Likewise.
11376 * loader/i386/pc/linux.c: Likewise.
11377 * loader/i386/pc/multiboot2.c: Likewise.
11378 * loader/i386/xnu.c: Likewise.
11379 * loader/ieee1275/multiboot2.c: Likewise.
11380 * loader/macho.c: Likewise.
11381 * loader/machoXX.c: Likewise.
11382 * loader/multiboot2.c: Likewise.
11383 * loader/multiboot_loader.c: Likewise.
11384 * loader/powerpc/ieee1275/linux.c: Likewise.
11385 * loader/sparc64/ieee1275/linux.c: Likewise.
11386 * loader/xnu.c: Likewise.
11387 * loader/xnu_resume.c: Likewise.
11388 * mmap/i386/pc/mmap.c: Likewise.
11389 * normal/menu_viewer.c: Likewise.
11390 * partmap/acorn.c: Likewise.
11391 * partmap/amiga.c: Likewise.
11392 * partmap/apple.c: Likewise.
11393 * script/lexer.c: Likewise.
11394 * term/gfxterm.c: Likewise.
11395 * term/i386/pc/serial.c: Likewise.
11396 * term/i386/pc/vga.c: Likewise.
11397 * term/ieee1275/ofconsole.c: Likewise.
11398 * term/terminfo.c: Likewise.
11399 * video/bitmap.c: Likewise.
11400 * video/efi_gop.c: Likewise.
11401 * video/efi_uga.c: Likewise.
11402 * video/fb/video_fb.c: Likewise.
11403 * video/i386/pc/vbe.c: Likewise.
11404 * video/readers/tga.c: Likewise.
11405 * video/video.c: Likewise.
11406
0ad46fd7 114072009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11408
11409 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11410 * commands/lspci.c: Likewise.
11411 * commands/probe.c: Likewise.
11412 * commands/xnu_uuid.c: Likewise.
11413 * conf/i386-coreboot.rmk: Likewise.
11414 * conf/i386-efi.rmk: Likewise.
11415 * conf/i386-ieee1275.rmk: Likewise.
11416 * conf/i386-pc.rmk: Likewise.
11417 * conf/powerpc-ieee1275.rmk: Likewise.
11418 * conf/sparc64-ieee1275.rmk: Likewise.
11419 * conf/x86_64-efi.rmk: Likewise.
11420 * fs/i386/pc/pxe.c: Likewise.
11421 * gettext/gettext.c: Likewise.
11422 * include/grub/efi/graphics_output.h: Likewise.
11423 * include/grub/i386/pc/memory.h: Likewise.
11424 * kern/env.c: Likewise.
11425 * kern/i386/qemu/startup.S: Likewise.
11426 * lib/i386/pc/biosnum.c: Likewise.
11427 * lib/i386/relocator.c: Likewise.
11428 * lib/i386/relocator_asm.S: Likewise.
11429 * lib/relocator.c: Likewise.
11430 * loader/i386/bsd.c: Likewise.
11431 * loader/i386/multiboot.c: Likewise.
11432 * loader/i386/pc/chainloader.c: Likewise.
11433 * loader/i386/xnu.c: Likewise.
11434 * loader/xnu.c: Likewise.
11435 * normal/main.c: Likewise.
11436 * normal/menu_text.c: Likewise.
11437 * util/getroot.c: Likewise.
11438 * util/grub-mkconfig_lib.in: Likewise.
11439 * util/grub.d/00_header.in: Likewise.
11440 * util/i386/pc/grub-mkimage.c: Likewise.
11441 * util/mkisofs/eltorito.c: Likewise.
11442 * util/mkisofs/exclude.h: Likewise.
11443 * util/mkisofs/hash.c: Likewise.
11444 * util/mkisofs/iso9660.h: Likewise.
11445 * util/mkisofs/joliet.c: Likewise.
11446 * util/mkisofs/mkisofs.c: Likewise.
11447 * util/mkisofs/mkisofs.h: Likewise.
11448 * util/mkisofs/multi.c: Likewise.
11449 * util/mkisofs/name.c: Likewise.
11450 * util/mkisofs/rock.c: Likewise.
11451 * util/mkisofs/tree.c: Likewise.
11452 * util/mkisofs/write.c: Likewise.
11453 * video/efi_gop.c: Likewise.
11454
009ec743
VS
114552009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
11458 size counting.
11459
0ad46fd7 114602009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
11461
11462 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
11463 * genmk.rb (class SCRIPT): Modify the target file instead of source.
11464
d3d30ea0
VS
114652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
11468 (GRUB_MOD_INIT(memrw)): Update help line.
11469
a34f5c70
VS
114702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
11473 Use grub_extcmd_t. All users updated.
11474 (options): New variable.
11475 (grub_cmd_read): Restructure for readability. Support "-v" option.
11476 (grub_cmd_write): Restructure for readability.
11477
0ad46fd7 114782009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
11479
11480 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
11481
0ad46fd7 114822009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
11483
11484 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
11485 with the actual contents of the correspondending make variable.
11486 * util/grub-mkrescue.in (pkglib_DATA): New variable.
11487 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
11488 specifying `*.lst' and `efiemu??.o'
11489
0ad46fd7 114902009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
11491
11492 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
11493 after function name.
11494 Noticed by Rene Engelhard <rene@debian.org>.
11495
dc77a799
VS
114962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
11499 (options): New variable.
11500 (iospace): Likewise.
11501 (grub_lspci_iter): List IO spaces if "-i" was given.
11502 (grub_cmd_lspci): Parse options.
11503 (GRUB_MOD_INIT(lspci)): Use extcmd.
11504 (GRUB_MOD_FINI(lspci)): Likewise.
11505
0ad46fd7 115062009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
11507
11508 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
11509 `function' keyword.
11510 Patch by Tony Mancill <tmancill@debian.org>.
11511
b5d5993b
VS
115122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
11515 (grub_uhci_portstatus): Likewise.
11516 (grub_uhci_portstatus): Add necessary delay.
11d18281 11517 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 11518
941903f2 115192009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11520
941903f2 11521 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11522 (GRUB_MOD_INIT): Likewise.
11523 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11524 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11525 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11526 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11527 (enable_rom_area): Likewise.
11528 (GRUB_MOD_INIT): Likewise.
11529 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11530 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11531 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11532 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11533 * commands/hexdump.c (options): Likewise.
11534 * commands/i386/cpuid.c (options): Likewise.
11535 (GRUB_MOD_INIT): Likewise.
11536 * commands/i386/pc/drivemap.c (options): Likewise.
11537 (GRUB_MOD_INIT): Likewise.
11538 * commands/i386/pc/halt (options): Likewise.
11539 (GRUB_MOD_INIT): Likewise.
11540 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11541 * commands/i386/pc/pxecmd.c (options): Likewise.
11542 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11543 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11544 * commands/keystatus.c (options): Likewise.
11545 (GRUB_MOD_INIT): Likewise.
11546 * commands/loadenv.c (options): Likewise.
11547 * commands/ls.c (options): Likewise.
11548 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11549 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11550 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11551 * commands/parttool.c (helpmsg): Likewise.
11552 * commands/probe.c (options): Likewise.
11553 * commands/read.c (GRUB_MOD_INIT): Likewise.
11554 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11555 * commands/search.c (options): Likewise.
11556 * commands/sleep.c (options): Likewise.
11557 * commands/test.c (GRUB_MOD_INIT): Likewise.
11558 * commands/true.c (GRUB_MOD_INIT): Likewise.
11559 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11560 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11561 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11562 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11563 `$(XGETTEXT)'.
98a50553 11564 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11565
0ad46fd7 115662009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11567
ef3c2c3a 11568 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11569 instead of specifying them explicit.
11570
7922f68b
RM
115712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11572
11573 * NEWS: Add grub-probe support for GNU/Hurd.
11574
537ce47f
RM
115752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11576
11577 * NEWS: gettext was added after 1.97.
11578
9b214e3a
RM
115792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11580
11581 * util/mkisofs/msdos_partition.h: New file (based on
11582 include/grub/msdos_partition.h).
11583 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11584 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11585 (ld_options, main): Recognize --protective-msdos-label.
11586 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11587 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11588 (padblock_write): If `use_protective_msdos_label' is set, patch a
11589 protective DOS-style label in the output image.
11590
11591 * util/grub-mkrescue.in: Use --protective-msdos-label.
11592
e9309813
RM
115932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11594
11595 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11596 boot.
11597
0ae56929
RM
115982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11599
11600 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11601 variables.
11602 (ld_options, main): Recognize `--embedded-boot'.
11603 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11604 declarations.
11605 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11606 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11607 (padblock_write): Likewise. Rewrite to support embedded boot image.
11608
11609 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11610 for BIOS-based disk boot instead of only ElTorito.
11611
b15937b1
RM
116122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11613
11614 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11615 build (not needed for bootstrap).
11616
52cc3ce0
RM
116172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11618
11619 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11620 from i386-pc build (not needed for bootstrap).
11621 Rewrite a pair of strings.
11622
36f5ff04
RM
116232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11624
11625 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11626
973c6c85 116272009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11628
11629 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11630
05d21547
AB
116312009-12-21 Andreas Born <futur.andy@googlemail.com>
11632
11633 * kern/env.c (grub_env_context_open): Mark exported variable for
11634 reexport.
11635
0175d51f
AB
116362009-12-21 Andreas Born <futur.andy@googlemail.com>
11637
11638 * kern/env.c (grub_env_export): Create nonexistent variables before
11639 exporting.
11640
7f39d92f 116412009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11642
7f39d92f 11643 * include/grub/auth.h: Include `<grub/i18n.h>'.
11644 (GRUB_GET_PASSWORD): Gettextizze string.
11645 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11646 menu_text.c.
11647 (grub_utf8_to_ucs4_alloc): Fix indentation.
11648 (grub_print_ucs4): Likewise.
11649 (grub_getstringwidth): Likewise.
11650 (print_message_indented): New declaration.
11651 * normal/auth.c: Include `<grub/i18n.h>'.
11652 (grub_auth_check_authentication): Gettexttize string.
11653 * normal/cmdline.c: Include `<grub/i18n.h>'.
11654 (grub_cmdline_get): Gettextizze.
11655 * normal/color.c: Include `<grub/i18n.h>'.
11656 (grub_parse_color_name_pair): Gettexttize strings.
11657 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11658 string (use `print_message_indented').
11659 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11660 `include/grub/normal.h'.
11661 (print_message_indented): Renamed to ...
11662 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11663 used in normal/main.c).
11664 (print_message): Use `grub_print_message_indented' instead of
11665 `print_message_indented'.
11666 (print_timeout): Likewise.
11667 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11668 (grub_normal_print_device_info): Gettexttize strings.
11669 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11670
3041d898
VS
116712009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11674 of arguments. Return number of tokens and not arguments. All users
11675 updated.
11676
de15bf8e
VS
116772009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11680 non-MSDOS paritions.
11681
e0a6ca52
VS
116822009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 * include/grub/types.h (UNUSED): Removed since it conflicts with
11685 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11686 Reported by Grégoire Sutre.
11687
b99518d1 116882009-12-19 Carles Pina i Estany <carles@pina.cat>
11689
11690 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11691 (grub_print_ucs4_alloc): Likewise.
11692 (grub_getstringwidth): Likewise.
11693 * normal/main.c (grub_normal_init_page): Gettextize version string.
11694 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11695 (getstringwidth): Renamed to ...
11696 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11697 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11698 (grub_print_ucs4): Remove `static' qualifer (now used in
11699 normal/main.c).
11700 * po/POTFILES: Add normal/main.c.
11701
bfd5e52b 117022009-12-19 Carles Pina i Estany <carles@pina.cat>
11703
11704 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11705 (print_message_indented): Add `margin_left' and `margin_right'
11706 parameters.
11707 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11708 strings.
11709 (print_timeout): Use `print_message_indented' to print the message.
11710 Deletes `second_stage' parameter.
11711 (run_menu): Update `print_timeout' calls.
11712
5a1ad2b9
VS
117132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 Fix console palette on OpenFirmware.
11716
11717 * term/ieee1275/ofconsole.c (MAX): Removed.
11718 (colors): Redone based on VGA palette.
11719 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11720 colors are supported.
11721 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11722
b045f00a
VS
117232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 Fix potential EfiEmu double prepare.
11726
11727 * efiemu/main.c (prepared): New variable
11728 (grub_efiemu_unload): Set prepare to '0'.
11729 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11730
11731 set_virtual_address_map support.
11732
11733 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11734 prototype.
11735 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11736 prototype.
11737 (grub_efiemu_crc32): Likewise.
11738 (grub_efiemu_crc64): Likewise.
11739 (grub_efiemu_set_virtual_address_map): Likewise.
11740 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11741 New definition.
11742 (grub_autoefi_set_virtual_address_map): Likewise.
11743 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11744 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11745 Restructure flow to accomodate it.
11746 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11747 (grub_efiemu_crc): Recompute CRC32.
11748 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11749 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11750 * efiemu/symbols.c (relocated_handle): New variable.
11751 (grub_efiemu_free_syms): Free relocated_handle.
11752 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11753 (grub_efiemu_write_sym_markers): New function.
11754 (grub_efiemu_set_virtual_address_map): Likewise.
11755
11756 Newer XNU parameters.
11757
11758 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11759 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11760 (grub_xnu_fill_devicetree): New prototype.
11761 (grub_xnu_heap_real_start): New variable.
11762 * loader/xnu.c (get_name_ptr): New function.
11763 (grub_xnu_load_driver): Fill namelen and name.
11764
11765 64-bit xnu support.
11766
11767 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11768 and 'loader/macho64.c'.
11769 * conf/i386-pc.rmk: Likewise.
11770 * conf/x86_64-efi.rmk: Likewise.
11771 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11772 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11773 * include/grub/macho.h (grub_macho_segment64): New structure.
11774 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11775 (grub_macho_size32): ... to this.
11776 (grub_macho32_get_entry_point): Renamed from ...
11777 (grub_macho_get_entry_point32): ... to this.
11778 (grub_macho_contains_macho64): New prototype.
11779 (grub_macho_size64): Likewise.
11780 (grub_macho_get_entry_point64): Likewise.
11781 (grub_macho32_load): Renamed from ...
11782 (grub_macho_load32): ... to this.
11783 (grub_macho32_filesize): Renamed from ...
11784 (grub_macho_filesize32): ... to this.
11785 (grub_macho32_readfile): Renamed from ...
11786 (grub_macho_readfile32): ... to this.
11787 (grub_macho_filesize64): New prototype.
11788 (grub_macho_readfile64): Likewise.
11789 (grub_macho_parse32): Likewise.
11790 (grub_macho_parse64): Likewise.
11791 * loader/macho.c: Split into ...
11792 * loader/machoXX.c: ... and this. Replace 32 with XX.
11793 * loader/macho32.c: New file.
11794 * loader/macho64.c: Likewise.
11795 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11796 (grub_cmd_xnu_kernel): Make 32-bit only.
11797 (grub_cmd_xnu_kernel64): New function.
11798 (grub_xnu_load_driver): Support Mach-O 64.
11799 (grub_cmd_xnu_mkext): Likewise.
11800 * util/grub.d/30_os-prober.in (osx_entry): New function.
11801 Generate entries for 64-bit boot too.
11802
11803 Eliminate ad-hoc tree format in XNU and EfiEmu.
11804
11805 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11806 * efiemu/pnvram.c: Rewritten to use environment variables.
11807 All users updated.
11808
11809 Inline utf16_to_utf8.
11810
11811 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11812 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11813 All users updated.
11814 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11815
11816 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11817 * commands/usbtest.c (grub_usb_get_string): ... move here.
11818 (usb_print_str): Fix error handling.
11819 * include/grub/usb.h (grub_usb_get_string): Remove.
11820
11821 UTF-8 to UTF-16 transformation.
11822
11823 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11824 (charset_mod_SOURCES): New variable.
11825 (charset_mod_CFLAGS): Likewise.
11826 (charset_mod_LDFLAGS): Likewise.
11827 * include/grub/utf.h: New file.
11828 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11829
11830 Support for device properties.
11831
11832 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11833 (grub_xnu_devprop_device_header): Likewise.
11834 (grub_xnu_devprop_device_descriptor): Likewise.
11835 (grub_xnu_devprop_add_device): New prototype.
11836 (grub_xnu_devprop_remove_device): Likewise.
11837 (grub_xnu_devprop_remove_property): Likewise.
11838 (grub_xnu_devprop_add_property_utf8): Likewise.
11839 (grub_xnu_devprop_add_property_utf16): Likewise.
11840 (grub_cpu_xnu_init): Likewise.
11841 (grub_cpu_xnu_fini): Likewise.
11842 (grub_cpu_xnu_unload): Likewise.
11843 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11844 (property_descriptor): Likewise.
11845 (devices): New variable.
11846 (grub_xnu_devprop_remove_property): New function.
11847 (grub_xnu_devprop_add_device): Likewise.
11848 (grub_xnu_devprop_remove_device): Likewise.
11849 (grub_xnu_devprop_add_property): Likewise.
11850 (grub_xnu_devprop_add_property_utf8): Likewise.
11851 (grub_xnu_devprop_add_property_utf16): Likewise.
11852 (hextoval): Likewise.
11853 (grub_cpu_xnu_fill_devprop): Likewise.
11854 (grub_cmd_devprop_load): Likewise.
11855 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11856 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11857 (cmd_devprop_load): New variable.
11858 (grub_cpu_xnu_init): New function.
11859 (grub_cpu_xnu_fini): Likewise.
11860 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11861 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11862 (grub_cmd_xnu_devtree): Likewise.
11863 (hextoval): New function.
11864 (unescape): Likewise.
11865 (grub_xnu_fill_devicetree): Likewise.
11866
11867 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11868 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11869
0945f181
VS
118702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 Workaround for broken ATI VBE.
11873
11874 * video/i386/pc/vbe.c (last_set_mode): New variable.
11875 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11876 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11877 (grub_video_vbe_setup): Don't check for reserved flag.
11878
0ad46fd7 118792009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11880
11881 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11882 the `find' command.
11883
c179ebe4
VS
118842009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 UUID support for HFS.
11887
11888 * fs/hfs.c (grub_hfs_uuid): New function.
11889 (grub_hfs_fs): New value .uuid.
11890 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11891
0ad46fd7 118922009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11893
11894 Fix a segfault with parsing unknown long options.
11895
11896 * util/grub-mkrelpath.c (options): Zero terminate it.
11897
c4a3e41a
CPE
118982009-12-13 Carles Pina i Estany <carles@pina.cat>
11899
11900 * include/grub/misc.h (grub_puts): New declaration.
11901 (grub_puts_): Likewise.
a22008a6 11902 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11903 (grub_puts_): Likewise.
11904
2e8a7602
RM
119052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11906
11907 * util/grub-probe.c (probe): Improve error message.
11908
b50b77b9
RM
119092009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11910
11911 * loader/i386/multiboot_elfxx.c
11912 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11913 initialization.
11914
119152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 Relocator framework
11918
11919 * loader/i386/xnu_helper.S: Removed. All users updated.
11920 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11921 (relocator_mod_SOURCES): New variable.
11922 (relocator_mod_CFLAGS): Likewise.
11923 (relocator_mod_LDFLAGS): Likewise.
11924 (relocator_mod_ASFLAGS): Likewise.
11925 * conf/x86_64.rmk: Likewise.
11926 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11927 (grub_multiboot_payload_entry_offset): Likewise.
11928 (grub_multiboot_forward_relocator): Likewise.
11929 (grub_multiboot_forward_relocator_end): Likewise.
11930 (grub_multiboot_backward_relocator): Likewise.
11931 (grub_multiboot_backward_relocator_end): Likewise.
11932 (grub_multiboot_payload_eip): New variable.
11933 (grub_multiboot_payload_orig): Likewise.
11934 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11935 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11936 * include/grub/i386/memory.h
11937 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11938 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11939 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11940 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11941 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11942 * include/grub/i386/relocator.h: New file.
11943 * include/grub/x86_64/relocator.h: Likewise.
11944 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11945 (XNU_RELOCATOR): New macro.
11946 (grub_xnu_launcher_start): Remove.
11947 (grub_xnu_launcher_end): Likewise.
11948 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11949 (grub_xnu_heap_real_start): Remove.
11950 (grub_xnu_heap_start): Change to void *. All users updated.
11951 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11952 * lib/i386/relocator.c: New file.
11953 * lib/i386/relocator_asm.S: Likewise.
11954 * lib/i386/relocator_backward.S: Likewise.
11955 * lib/mips/relocator.c: Likewise.
11956 * lib/mips/relocator_asm.S: Likewise.
11957 * lib/relocator.c: Likewise.
11958 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11959 (entry): Removed.
11960 (playground): Likewise.
11961 (grub_multiboot_payload_orig): New variable.
11962 (grub_multiboot_payload_dest): Likewise.
11963 (grub_multiboot_payload_size): Likewise.
11964 (grub_multiboot_payload_eip): Likewise.
11965 (grub_multiboot_payload_esp): Likewise.
11966 (grub_multiboot_boot): Use grub_relocator32_boot.
11967 (grub_multiboot_unload): Free relocators.
11968 (grub_multiboot): Setup stack. Use relocators.
11969 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11970 (grub_multiboot_load_elfXX): Use relocators.
11971 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11972 (grub_multiboot_payload_size): Likewise.
11973 (grub_multiboot_payload_dest): Likewise.
11974 (grub_multiboot_payload_entry_offset): Likewise.
11975 (grub_multiboot_forward_relocator): Likewise.
11976 (grub_multiboot_backward_relocator): Likewise.
11977 (grub_multiboot_real_boot): Likewise.
11978 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11979 (grub_xnu_entry_point): Likewise.
11980 (grub_xnu_arg1): Likewise.
11981 (grub_xnu_stack): Likewise.
11982 (grub_xnu_launch): Removed.
11983 (grub_xnu_boot_resume): New function.
11984 (grub_xnu_boot): Use relocators.
11985 * loader/i386/xnu_helper.S: Removed.
11986 * loader/xnu.c (grub_xnu_heap_start): New variable.
11987 (grub_xnu_heap_size): Likewise.
11988 (grub_xnu_heap_malloc): Use relocators.
11989 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11990
29eb90c6
VS
119912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11994 anything.
11995
31027430
CPE
119962009-12-13 Carles Pina i Estany <carles@pina.cat>
11997
11998 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11999 GRUB_ERR_NONE before calling grub_env_set.
12000
dc0c71d9
RM
120012009-12-12 Robert Millan <rmh@aybabtu.com>
12002
12003 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12004 * genmk.rb (video): New variable.
12005 (CLEANFILES, VIDEOFILES): Add #{video}.
12006 (#{video}): New target rule.
12007 * genvideolist.sh: New file.
12008 * Makefile.in (pkglib_DATA): Add video.lst.
12009 (video.lst): New target rule.
12010 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12011 `video.lst'.
12012 * util/grub.d/30_os-prober.in: Replace `vbe' with
12013 ${GRUB_VIDEO_BACKEND}.
12014
2a4bfcf0
RM
120152009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12016
12017 * THANKS: Add David Miller.
12018
2a3aa4d5
RM
120192009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 libpciaccess support.
12022
12023 * Makefile.in (LIBPCIACCESS): New variable.
12024 (enable_grub_emu_pci): Likewise.
12025 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12026 util/pci.c and commands/lspci.c.
12027 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12028 * configure.ac (grub-emu-pci): New option.
12029 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12030 (grub_pci_device_unmap_range): Likewise.
12031 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12032 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12033 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12034 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12035 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12036 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12037 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12038 * include/grub/pciutils.h: New file.
12039 * util/pci.c: Likewise.
12040
0ad46fd7 120412009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
12042
12043 * util/misc.c: Don't include <errno.h> twice.
12044
0ad46fd7 120452009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
12046
12047 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12048 name in an error message.
12049 (grub_biosdisk_rw): Likewise.
12050
2e59983c
VS
120512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 Eliminate NTFS 4Gib barrier.
12054
12055 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12056 (read_run_data): Likewise.
12057 (grub_ntfs_read_run_list): Likewise.
12058 (grub_ntfs_read_block): Likewise.
12059 (grub_ntfs_iterate_dir): Likewise.
12060 (read_mft): Likewise.
12061 (read_data): Likewise.
12062 Use COM_LOG_LEN.
12063 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12064 to avoid 64-bit division
12065 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12066 (grub_ntfs_rlst): Use grub_disk_addr_t.
12067
71ee178a
VS
120682009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 Eliminate grub-fstest 4Gib barrier.
12071
12072 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12073 (read_file): Fix error reporting.
12074
2520d4b8
VS
120752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 Eliminate hexdump 4Gib barrier.
12078
12079 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12080 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12081
e1f27065
VS
120822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12085 Fixes amarsh bug.
12086
1a0f7f45
RM
120872009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
12088
12089 Remove miscellaneous files in distclean target.
12090
12091 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
12092
c631d9fb
CW
120932009-12-09 Colin Watson <cjwatson@ubuntu.com>
12094
12095 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
12096 if they're already set. This resolves the conflict between my
12097 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
12098 fixing the --grub-probe option again.
12099 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
12100 change on 2009-10-06, so that we now once again source
12101 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12102
7c7b6106
RM
121032009-12-08 Robert Millan <rmh.grub@aybabtu.com>
12104
12105 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
12106 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
12107 `util/devicemap.c'.
12108
e3069ec1
CPE
121092009-12-08 Carles Pina i Estany <carles@pina.cat>
12110
12111 * include/grub/misc.h (grub_printf_): New declaration.
12112 * kern/misc.c (grub_printf_): New definition.
12113 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
12114 instead of `grub_printf' and `_'.
12115 * normal/menu_entry.c (store_completion): Likewise.
12116 (run): Likewise.
12117 (grub_menu_entry_run): Likewise.
12118 * normal/menu_text.c (grub_wait_after_message): Likewise.
12119 (notify_booting): Likewise.
12120 (notify_fallback): Likewise.
12121 (notify_execution_failure): Likewise.
12122
d6ceebf1
CW
121232009-12-07 Colin Watson <cjwatson@ubuntu.com>
12124
12125 * configure.ac: Check for vasprintf.
12126 * util/misc.c (asprintf): Move allocation from here ...
12127 (vasprintf): ... to here. New function.
12128 (xasprintf): New function.
12129 * include/grub/util/misc.h (vasprintf, xasprintf): Add
12130 prototypes.
12131 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12132 * util/grub-mkfont.c (write_font): Likewise.
12133 * util/grub-probe.c (probe): Likewise.
12134 * util/hostdisk.c (make_device_name): Likewise.
12135
de6daa8b
DM
121362009-12-06 David S. Miller <davem@sunset.davemloft.net>
12137
12138 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
12139 anything even prefixed with 'cdrom' as a cdrom.
12140
0ad46fd7 121412009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
12142
12143 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
12144 mount points.
12145
98d3dc02
CPE
121462009-12-05 Carles Pina i Estany <carles@pina.cat>
12147
12148 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
12149 grub_gettext_msg_list.
12150 (grub_gettext_gettranslation_from_position): Return const char *
12151 and not char *.
a2c1332b 12152 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
12153 returns from the list if existing there.
12154 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
12155 (grub_gettext_delete_list): Delete the list.
12156 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
12157 lang environment variable is changed.
12158 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
12159
b283f108
VS
121602009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 Rename kernel.mod to kernel.img.
12163
12164 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
12165 (kernel_mod_EXPORTS): Rename to ...
12166 (kernel_img_EXPORTS): ... this.
12167 (kernel_mod_SOURCES): Rename to ...
12168 (kernel_img_SOURCES): ... this.
12169 (kernel_mod_HEADERS): Rename to ...
12170 (kernel_img_HEADERS): ... this. All users updated.
12171 (kernel_mod_CFLAGS): Rename to ...
12172 (kernel_img_CFLAGS): ... this.
12173 (kernel_mod_ASFLAGS): Rename to ...
12174 (kernel_img_ASFLAGS): ... this.
12175 (kernel_mod_LDFLAGS): Rename to ...
12176 (kernel_img_LDFLAGS): ... this.
12177 * conf/x86_64-efi.rmk: Likewise.
12178 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
12179 (read_kernel_image): ... this. All users updated.
12180 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
12181
69055f8a
CPE
121822009-12-05 Carles Pina i Estany <carles@pina.cat>
12183
12184 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
12185 (print_spaces): New function.
12186 (grub_print_ucs4): New function.
12187 (getstringwidth): New function.
12188 (print_message_indented): New function.
12189 (print_message): Gettexttize strings using print_message_indented.
12190 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
12191 width.
12192 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 12193 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
12194 Gettextize.
12195 * normal/menu_entry.c (store_completion): Cleanup the gettextized
12196 string.
12197 (run): Likewise.
12198 (grub_menu_entry_run): Likewise.
12199 * PO/POTFILES: Add normal/menu_entry.c.
12200
f616f51c
VS
122012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
12204
57bbe3be
CPE
122052009-12-05 Carles Pina i Estany <carles@pina.cat>
12206
12207 * util/grub-install.in: Install gettext .mo files.
12208 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
12209
013d67a1
CPE
122102009-12-05 Carles Pina i Estany <carles@pina.cat>
12211
12212 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
12213 grub_dprintf.
12214
fb954db0
RM
122152009-12-05 Robert Millan <rmh.grub@aybabtu.com>
12216
12217 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
12218 non-firmware-dependant one in realmode.S takes precedence.
12219
6b8474f8
RM
122202009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12221
12222 * commands/halt.c: Replace misc arch-specific headers with
12223 `<grub/misc.h>'.
12224 * commands/reboot.c: Likewise.
12225 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12226 `<grub/misc.h>'.
12227 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12228 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12229 (kernel_img_SOURCES): ... to here.
12230
12231 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12232 * include/grub/i386/pc/init.h: Likewise.
12233 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12234 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12235
12236 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12237
12238 * include/grub/i386/halt.h: Remove.
12239 * include/grub/i386/reboot.h: Likewise.
12240
12241 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12242
4b2e6ca2
DM
122432009-12-03 David S. Miller <davem@sunset.davemloft.net>
12244
12245 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12246 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12247 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12248 "progname.h"
12249 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12250 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12251 (usage): Add missing comma in printf.
12252
5239348f
RM
122532009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12254
12255 Use the same reboot approach on i386 coreboot and qemu as we do on
12256 BIOS.
12257
12258 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12259 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12260 * kern/i386/reboot.c: Remove.
12261 * include/grub/i386/reboot.h (grub_reboot): Export function.
12262 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12263 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12264 0xf000:0xfff0 instead of 0xffff:0x0000.
12265 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12266 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12267
ef34cbd4
RM
122682009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12269
12270 Fix $srcdir != $objdir build.
12271
12272 * Makefile.in (po/%.po): Rewrite as ...
12273 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12274
dc9837ea
ST
122752009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12276
12277 Fix GNU/Hurd grub-install crash.
12278 * util/grub-probe.c (probe): Try to access `path' only when it is not
12279 NULL.
12280
2f857f98
VS
122812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Correct module naming.
12284
12285 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12286 (GRUB_MOD_INIT(efi_uga)): ... to this
12287 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12288 (GRUB_MOD_FINI(efi_uga)): ... to this
12289 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12290 (GRUB_MOD_INIT(efi_gop)): ... to this
12291 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12292 (GRUB_MOD_FINI(efi_gop)): ... to this
12293
c5448046
RM
122942009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12295
12296 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12297 translatable.
12298 (usage): Translate `arg' strings using gettext().
12299 Thanks to Jordi Mallach for the suggestion.
12300
c85184ad
VS
123012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 GOP support. Based on patch from Bean
12304 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12305
12306 * video/efi_gop.c: New file.
12307 * include/grub/efi/graphics_output.h: Likewise.
12308 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12309 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12310 variables.
12311 * conf/x86_64-efi.rmk: Likewise.
12312
8a4c48d8
VS
123132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 Rename efi_fb to efi_uga.
12316
12317 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12318 'efi_uga.mod'.
12319 (efi_fb_mod_SOURCES): Rename this ...
12320 (efi_uga_mod_SOURCES): ... to this.
12321 (efi_fb_mod_CFLAGS): Rename this ...
12322 (efi_uga_mod_CFLAGS): ... to this.
12323 (efi_fb_mod_LDFLAGS): Rename this ...
12324 (efi_uga_mod_LDFLAGS): ... to this.
12325 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12326 'efi_uga.mod'.
12327 (efi_fb_mod_SOURCES): Rename this ...
12328 (efi_uga_mod_SOURCES): ... to this.
12329 (efi_fb_mod_CFLAGS): Rename this ...
12330 (efi_uga_mod_CFLAGS): ... to this.
12331 (efi_fb_mod_LDFLAGS): Rename this ...
12332 (efi_uga_mod_LDFLAGS): ... to this.
12333 * video/efi_fb.c: Move this ...
12334 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12335
fb6c1a7b
RM
123362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12337
12338 * po/README: New file. Explain our PO file workflow.
12339
3bc7896c
RM
123402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12341
12342 * po/ChangeLog: Remove. Move relevant entries back to ...
12343 * ChangeLog: ... here.
12344 * po/ca.po: Remove (now handled by TLP).
12345 * po/id.po: Likewise.
12346 * po/zh_CN.po: Likewise.
12347 * Makefile.in (LINGUAS): Initialize in a way that supports
12348 empty set.
12349
9ed4841d
RM
123502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12351
12352 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12353 reliing on po/LINGUAS.
12354 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12355 (po/%.po): ... this.
12356
0ad46fd7 123572009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12358
12359 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12360 (main): Use `program_name' instead of nonexistent `progname'.
12361
e30dd392
FZ
123622009-11-26 Felix Zielcke <fzielcke@z-51.de>
12363
12364 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12365 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12366
7656de4f
RM
123672009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12368
12369 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12370 commit.
12371 * conf/i386-efi.rmk: Likewise.
12372 * conf/i386-ieee1275.rmk: Likewise.
12373 * conf/powerpc-ieee1275.rmk: Likewise.
12374 * conf/sparc64-ieee1275.rmk: Likewise.
12375 * conf/x86_64-efi.rmk: Likewise.
12376
db77c4d4
FZ
123772009-11-26 Felix Zielcke <fzielcke@z-51.de>
12378
12379 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12380
a755bb04
FZ
123812009-11-26 Felix Zielcke <fzielcke@z-51.de>
12382
12383 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12384
8a4c07fd
RM
123852009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12386
12387 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12388 (grub_mkdevicemap_SOURCES): New variable.
12389 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12390 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12391 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12392 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12393 (grub_mkdevicemap_SOURCES): Remove.
12394 * conf/i386-efi.rmk: Likewise.
12395 * conf/i386-ieee1275.rmk: Likewise.
12396 * conf/i386-pc.rmk: Likewise.
12397 * conf/powerpc-ieee1275.rmk: Likewise.
12398 * conf/sparc64-ieee1275.rmk: Likewise.
12399 * conf/x86_64-efi.rmk: Likewise.
12400 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12401 (usage): Fix strings to use `program_name'.
12402 (main): Initialize gettext.
12403 * util/grub-editenv.c: Likewise.
12404 * util/grub-emu.c: Likewise.
12405 * util/grub-fstest.c: Likewise.
12406 * util/grub-mkdevicemap.c: Likewise.
12407 * util/grub-mkfont.c: Likewise.
12408 * util/grub-mkrelpath.c: Likewise.
12409 * util/grub-pe2elf.c: Likewise.
12410 * util/grub-probe.c: Likewise.
12411 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12412 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12413 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12414
12415 * util/misc.c: Include `"progname.h"'.
12416 (progname): Remove variable.
12417 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12418
6f61ed55
FZ
124192009-11-25 Felix Zielcke <fzielcke@z-51.de>
12420
12421 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12422 printf and print a newline after the menuentry header line.
12423 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12424
f022876b
FZ
124252009-11-25 Felix Zielcke <fzielcke@z-51.de>
12426
12427 autoconf >= 2.60 support $(localedir).
12428
12429 * INSTALL: Note that autoconf 2.60 is required.
12430 * configure.ac (AC_PREREQ): Bump to 2.60.
12431 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12432 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12433
6717926e
YB
124342009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12435
12436 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12437 aclocal is run.
12438
08806a54
RM
124392009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12440
12441 * normal/main.c (grub_normal_read_line): Fix off-by-one
12442 buffer overflow.
12443
13b33fba
RM
124442009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12445
12446 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12447 "parser.grub" in grub_command_execute() call.
12448
4a8572e9
CPE
124492009-11-24 Carles Pina i Estany <carles@pina.cat>
12450
12451 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
12452 * conf/i386-efi.rmk: Likewise.
12453 * conf/i386-ieee1275.rmk: Likewise.
12454 * conf/i386-pc.rmk: Likewise.
12455 * conf/powerpc-ieee1275.rmk: Likewise.
12456 * conf/sparc64-ieee1275.rmk: Likewise.
12457 * conf/x86_64-efi.rmk: Likewise.
12458 * gettext/gettex.c: Include <grub/i18n.h>.
12459 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
12460 here ...
12461 * include/grub/i18n.h: ... to here
12462 * include/grub/i18n.h: ... to here.
12463 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 12464 (grub_gettext_dummy): Move above user.
4a8572e9 12465
bee48093
FZ
124662009-11-24 Felix Zielcke <fzielcke@z-51.de>
12467
12468 * util/Makefile.in (install-local): Convert a `for' into a normal
12469 shell expansion.
12470
a031e91c
RM
124712009-11-24 Robert Millan <rmh.grub@aybabtu.com>
12472
12473 * autogen.sh: Add automake call.
12474 * config.guess: Remove.
12475 * config.sub: Likewise.
12476 * install-sh: Likewise.
12477
26bec39d
FZ
124782009-11-24 Felix Zielcke <fzielcke@z-51.de>
12479
12480 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
12481
8e2532fd
FZ
124822009-11-24 Felix Zielcke <fzielcke@z-51.de>
12483
12484 * util/Makefile.in (install-local): Convert a make `$(foreach)'
12485 function to a normal shell `for'.
12486
fefa1b7d
FZ
124872009-11-24 Felix Zielcke <fzielcke@z-51.de>
12488
12489 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12490
4501250b
FZ
124912009-11-24 Felix Zielcke <fzielcke@z-51.de>
12492
12493 * util/grub-mkrelpath.c: New file.
12494 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
12495 (grub_mkrelpath_SOURCES): New variable.
12496 * include/grub/util/misc.h: New function prototype.
12497 * util/misc.c (make_system_path_relative_to_its_root): New function.
12498
12499 * util/grub-mkconfig_lib.in (bindir): New variable.
12500 (grub_mkrelpath): Likewise.
12501 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
12502
12503 * util/probe.c (probe): Make the file path relative to its root.
12504 Change a info message to use the GRUB path. Enable again the
12505 check if we can read the file with GRUB facilities.
12506
12507 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
12508 to its root.
12509
11d9778b
FZ
125102009-11-24 Felix Zielcke <fzielcke@z-51.de>
12511
12512 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
12513 platform.
12514
4465287d
FZ
125152009-11-24 Felix Zielcke <fzielcke@z-51.de>
12516
12517 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
12518 strncmp().
12519
62b47f22
FZ
125202009-11-24 Felix Zielcke <fzielcke@z-51.de>
12521
12522 * util/getroot.c (grub_util_is_dmraid): New function.
12523 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12524 devices as normal ones, not as LVM.
12525
1eafb9b9 125262009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12527
12528 * conf/common.rmk: Add grub-gettext_lib target and updates
12529 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12530 LDFLAGS.
12531 * gettext/gettext.c: New file. (Reads mo files).
12532 * include/grub/file.h (grub_file_pread): New prototype.
12533 * include/grub/i18n.h (_): New prototype.
12534 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12535 prototypes.
12536 * kern/misc.c (grub_gettext_dummy): New function.
12537 * normal/menu_text.c: Include <grub/i18n.h>.
12538 * normal/menu_text.c (print_timeout): Gettexttize string.
12539 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12540 * po/POTFILES: Add `normal/menu_text.c'.
12541 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12542 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12543 gettext module and defines locale_dir and lang in grub.cfg.
12544 * NEWS: Add gettext support.
12545
0fdb2568
RM
125462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12547
12548 * util/hostdisk.c: Include `<grub/i18n.h>'.
12549 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12550 (make_device_name): Rewrite using asprintf.
12551 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12552 (find_system_device): If a device is not found, generate one just
12553 by reusing the OS path name.
12554 (read_device_map): Make it permissible for device.map not to exist.
12555
f515aa62
RM
125562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12557
12558 * script/sh/execute.c: Move from here ...
12559 * script/execute.c: ... to here. Update all users.
12560 * script/sh/function.c: Move from here ...
12561 * script/function.c: ... to here. Update all users.
12562 * script/sh/lexer.c: Move from here ...
12563 * script/lexer.c: ... to here. Update all users.
12564 * script/sh/main.c: Move from here ...
12565 * script/main.c: ... to here. Update all users.
12566 * script/sh/parser.y: Move from here ...
12567 * script/parser.y: ... to here. Update all users.
12568 * script/sh/script.c: Move from here ...
12569 * script/script.c: ... to here. Update all users.
12570
f84b481b
RM
125712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12572
12573 * configure.ac: Detect all `emu' platforms. Define
12574 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12575 --enable-grub-emu logic. Disable include/grub/machine
12576 symlink on `emu' platforms.
12577
12578 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12579 * gensymlist.sh.in: Likewise.
12580
12581 * include/grub/i386/coreboot/machine.h: Remove file.
12582 * include/grub/i386/efi/machine.h: Likewise.
12583 * include/grub/i386/ieee1275/machine.h: Likewise.
12584 * include/grub/i386/pc/machine.h: Likewise.
12585 * include/grub/i386/qemu/machine.h: Likewise.
12586 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12587 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12588 * include/grub/x86_64/efi/machine.h: Likewise.
12589
12590 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12591 * commands/halt.c: Likewise.
12592 * commands/reboot.c: Likewise.
12593 * include/grub/autoefi.h: Likewise.
12594 * include/grub/i386/at_keyboard.h: Likewise.
12595 * include/grub/i386/kernel.h: Likewise.
12596 * include/grub/i386/loader.h: Likewise.
12597 * include/grub/i386/pc/memory.h: Likewise.
12598 * kern/dl.c: Likewise.
12599 * kern/i386/coreboot/init.c: Likewise.
12600 * loader/i386/bsd.c: Likewise.
12601 * loader/i386/linux.c: Likewise.
12602 * loader/multiboot_loader.c: Likewise.
12603 * term/i386/pc/serial.c: Likewise.
12604 * term/usb_keyboard.c: Likewise.
12605
12606 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12607 `<grub/machine/machine.h>'
12608 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12609 * util/misc.c: Remove `<grub/machine/machine.h>' and
12610 `<grub/machine/time.h>'.
12611
12612 * Makefile.in (enable_grub_emu): Remove variable.
12613 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12614
12615 * conf/any-emu.rmk: New file.
12616 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12617 (grub_emu_init.c): Move from here ...
12618 * conf/any-emu.rmk: ... to here.
12619
12620 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12621 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12622 * conf/any-emu.rmk: ... to here.
12623
4efeab03
RM
126242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12625
12626 * include/grub/parser.h (grub_parser_register): Document need
12627 of `name' parameter.
12628 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12629 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12630 "sh" to "grub".
12631
ea1dd8bf
RM
126322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12633
12634 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12635 `$(XGETTEXT)'.
12636 * include/grub/i18n.h (N_): New macro.
12637 * util/mkisofs/mkisofs.h: Likewise.
12638 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12639 around N_().
12640 (usage): Use gettext() to translate help strings when printing them.
12641
0c140626
RM
126422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12643
12644 Based on patch from Bean
12645 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12646
12647 * video/efi_fb.c: New file.
12648 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12649 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12650 variables.
12651 * conf/x86_64-efi.rmk: Likewise.
12652
87d58298
RM
126532009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12654
12655 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12656 * util/i386/pc/grub-setup.c: Likewise.
12657
994cc3a3
ST
126582009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12659
12660 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12661 <hurd/fs.h>
12662 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12663 file_get_storage_info to implement grub_guess_root_device.
12664
26a61d6a
FZ
126652009-11-21 Felix Zielcke <fzielcke@z-51.de>
12666
12667 * Makefile.in (target): Use make's builtin $(shell) function
12668 instead of calling directly $(SHELL) to create the locale directories,
12669 inside the $(foreach) function.
12670
74ff1dd5
FZ
126712009-11-21 Felix Zielcke <fzielcke@z-51.de>
12672
12673 * util/grub-mkrescue.in: Print an error and usage if output option
12674 has not been given.
12675
0b787d0e
FZ
126762009-11-21 Felix Zielcke <fzielcke@z-51.de>
12677
12678 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12679 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12680 root and /boot are on different devices.
12681
1164b270
RM
126822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12683
12684 Fix build for srcdir != objdir.
12685
12686 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12687 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12688 $(srcdir).
12689 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12690 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12691 reference for input.
12692
13774a2f
RM
126932009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12696 or hardlinking it). Remove -J option, Joliet is not compatible with
12697 multiple source directories.
12698
efda854e
RM
126992009-11-21 Carles Pina i Estany <carles@pina.cat>
127002009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12701
12702 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12703 (process_input_dir): New function. Process an arbitrary input
12704 directory.
12705 Misc adjustments to support both "override mode" and system-wide mode.
12706
6c09890c
FZ
127072009-11-20 Felix Zielcke <fzielcke@z-51.de>
12708
12709 * configure.ac (UNIFONT_BDF): Rename to ...
12710 (FONT_SOURCE): ... this. Update all users.
12711
a797824f
FZ
127122009-11-20 Felix Zielcke <fzielcke@z-51.de>
12713
12714 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12715 to the list of unifont files to look for.
12716
cd4f42b0
RM
127172009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12718
12719 Patch from Joe Auricchio <jauricchio@gmail.com>
12720 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12721 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12722 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12723
393c783d
FZ
127242009-11-19 Felix Zielcke <fzielcke@z-51.de>
12725
12726 * Makefile.in (install-local): Add a missing backslash.
12727
b2f1e327
FZ
127282009-11-19 Felix Zielcke <fzielcke@z-51.de>
12729
12730 * include/grub/x86_64/io.h: New file.
12731
f577f7a0
RM
127322009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12733
12734 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12735 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12736 Include `"progname.h"'.
12737 (main): Initialize gettext.
12738 * util/i386/pc/grub-setup.c: Gettexttize.
12739 * util/i386/pc/grub-mkimage.c: Likewise.
12740
12741 * Makefile.in (po/*.po): Redefine as ...
12742 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12743
3bc7896c
RM
12744 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12745
c37943b6
RM
127462009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12747
12748 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12749 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12750 (program_name): Remove.
12751 (main): Initialize gettext support.
6323f705
RM
12752 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12753 Include `<libintl.h>'.
12754 (_): New macro.
c37943b6
RM
12755
12756 * util/mkisofs/eltorito.c: Gettexttize.
12757 * util/mkisofs/joliet.c: Likewise.
12758 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12759 * util/mkisofs/multi.c: Likewise.
12760 * util/mkisofs/rock.c: Likewise.
12761 * util/mkisofs/tree.c: Likewise.
12762 * util/mkisofs/write.c: Likewise.
12763
3bc7896c
RM
12764 * po/POTFILES: Update with new files.
12765
5ce77c6e
RM
127662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12767
12768 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12769 * util/mkisofs/iso9660.h: Likewise.
12770 * util/mkisofs/joliet.c: Likewise.
12771 * util/mkisofs/mkisofs.c: Likewise.
12772 * util/mkisofs/mkisofs.h: Likewise.
12773 * util/mkisofs/rock.c: Likewise.
12774 * util/mkisofs/tree.c: Likewise.
12775 * util/mkisofs/write.c: Likewise.
12776
12777 * util/mkisofs/eltorito.c (rcsid): Remove.
12778 * util/mkisofs/hash.c: Likewise.
12779 * util/mkisofs/joliet.c: Likewise.
12780 * util/mkisofs/name.c: Likewise.
12781 * util/mkisofs/rock.c: Likewise.
12782 * util/mkisofs/tree.c: Likewise.
12783 * util/mkisofs/write.c: Likewise.
12784
1dabbc77
RM
127852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12786
12787 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12788 instead of static allocation.
12789 * util/mkisofs/match.h: Likewise.
12790
633877cb
RM
127912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12792
3bc7896c
RM
12793 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12794 and `util/grub.d/10_linux.in'.
633877cb
RM
12795 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12796 translatable Shell files.
12797
af1c0c85
RM
127982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12799
12800 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12801
769ae37b
RM
128022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12803
12804 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12805 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12806 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12807 Add gettext initialization.
12808 (kfreebsd_entry): Make menuentry output translatable.
12809
128102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12811
12812 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12813 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12814 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12815 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12816 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12817 * po/LINGUAS: New file.
769ae37b
RM
12818
128192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12820
12821 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12822 other things).
12823 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12824 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12825 bindtextdomain() calls for gettext initialization.
12826
128272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12828
12829 * gnulib/progname.c: New file (imported from Gnulib).
12830 * gnulib/progname.h: Likewise.
12831 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12832 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12833 (usage): Replace `progname' with `program_name'.
12834 (main): Use set_program_name() for program name initialization.
12835
128362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12837
12838 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12839 from here ...
12840 * Makefile.in (CPPFLAGS): ... to here.
12841
128422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12843
12844 * aclocal.m4: Move from here ...
12845 * acinclude.m4: ... to here.
12846 * autogen.sh: Add call to `aclocal'.
12847 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12848
128492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12850
12851 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12852 (LINGUAS): New variable.
12853 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12854 (install-local): Install MO files.
12855 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12856 * include/grub/i18n.h: New file.
3bc7896c
RM
12857 * po/POTFILES: New file.
12858 * po/ca.po: New file.
769ae37b
RM
12859 * util/grub.d/10_linux.in (bindir): New variable.
12860 Add gettext initialization.
12861 (linux_entry): Make menuentry output translatable.
12862 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12863 (usage): Make --help output translatable.
12864 (main): Initialize gettext.
12865
02c0a6ad
RM
128662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12867
12868 * import_gcry.py: New file (written by Vladimir with minor
12869 adjustments).
12870 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12871 ciphers.
12872 * INSTALL: Document that Python is required for bootstrap.
12873
128742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12875
12876 Import ciphers from libgcrypt 1.4.4.
12877
12878 * lib/libgcrypt/cipher/ChangeLog
12879 * lib/libgcrypt/cipher/ac.c
12880 * lib/libgcrypt/cipher/arcfour.c
12881 * lib/libgcrypt/cipher/bithelp.h
12882 * lib/libgcrypt/cipher/blowfish.c
12883 * lib/libgcrypt/cipher/camellia-glue.c
12884 * lib/libgcrypt/cipher/camellia.c
12885 * lib/libgcrypt/cipher/camellia.h
12886 * lib/libgcrypt/cipher/cast5.c
12887 * lib/libgcrypt/cipher/cipher.c
12888 * lib/libgcrypt/cipher/crc.c
12889 * lib/libgcrypt/cipher/des.c
12890 * lib/libgcrypt/cipher/dsa.c
12891 * lib/libgcrypt/cipher/ecc.c
12892 * lib/libgcrypt/cipher/elgamal.c
12893 * lib/libgcrypt/cipher/hash-common.c
12894 * lib/libgcrypt/cipher/hash-common.h
12895 * lib/libgcrypt/cipher/hmac-tests.c
12896 * lib/libgcrypt/cipher/md.c
12897 * lib/libgcrypt/cipher/md4.c
12898 * lib/libgcrypt/cipher/md5.c
12899 * lib/libgcrypt/cipher/primegen.c
12900 * lib/libgcrypt/cipher/pubkey.c
12901 * lib/libgcrypt/cipher/rfc2268.c
12902 * lib/libgcrypt/cipher/rijndael-tables.h
12903 * lib/libgcrypt/cipher/rijndael.c
12904 * lib/libgcrypt/cipher/rmd.h
12905 * lib/libgcrypt/cipher/rmd160.c
12906 * lib/libgcrypt/cipher/rsa.c
12907 * lib/libgcrypt/cipher/seed.c
12908 * lib/libgcrypt/cipher/serpent.c
12909 * lib/libgcrypt/cipher/sha1.c
12910 * lib/libgcrypt/cipher/sha256.c
12911 * lib/libgcrypt/cipher/sha512.c
12912 * lib/libgcrypt/cipher/tiger.c
12913 * lib/libgcrypt/cipher/twofish.c
12914 * lib/libgcrypt/cipher/whirlpool.c
12915
af2f93ac
RM
129162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12917
12918 Fix build for systems without error().
12919
12920 * gnulib/error.c: New file (imported from Gnulib).
12921 * gnulib/error.h: Likewise.
12922 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12923 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12924 (this variable is now used by error()).
12925
73fb3dd5
FZ
129262009-11-16 Felix Zielcke <fzielcke@z-51.de>
12927
814f5e96
FZ
12928 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12929 instead of relying that char is signed.
73fb3dd5 12930
a691ca33
VS
129312009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12934 blocksize different from specified.
12935 (grub_pxefs_read): Likewise.
12936
2af8f0f4
FZ
129372009-11-16 Felix Zielcke <fzielcke@z-51.de>
12938
12939 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12940
12941 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12942 (grub_ata_readwrite): Likewise. Update 2 format strings.
12943 (grub_atapi_read): Likewise.
12944
12945 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12946 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12947 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12948 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12949 (ata_mod_LDFLAGS): Move from here ...
12950 * conf/i386.rmk: ... to here ...
12951 * conf/x86_64-efi.rmk: ... and here.
12952 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12953 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12954
83bdecaf
RM
129552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12956
12957 Relicense multiboot.h, with RMS' blessing.
12958
12959 * include/multiboot.h: Change to X11 license.
12960
fd6fd3d7
RM
129612009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12962
12963 Support --version in grub-mkisofs.
12964
12965 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12966 (OPTION_VERSION): New macro.
12967 (ld_options): Recognize --version.
12968 (usage): Move `program_name' from here ...
12969 (program_name): ... to here. Add `static' qualifier.
12970 (main): Recognize `OPTION_VERSION'.
12971
16a88c49
FZ
129722009-11-15 Felix Zielcke <fzielcke@z-51.de>
12973
12974 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12975 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12976
a4158476
RM
129772009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12978
12979 Fix help2man generation for mkisofs.
12980
12981 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12982 (usage): Send output to stdout (rather than stderr).
12983
fc2208b0
RM
129842009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12985
12986 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12987 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12988 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12989 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12990 (bin_SCRIPTS): Add `grub-mkfloppy'.
12991 (grub_mkfloppy_SOURCES): New variable.
12992
12993 * util/grub-mkrescue.in: New file.
12994 * util/i386/pc/grub-mkfloppy.in: New file.
12995
12996 * util/i386/coreboot/grub-mkrescue.in: Remove.
12997 * util/i386/pc/grub-mkrescue.in: Remove.
12998
8d0edf4a
RM
129992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13000
13001 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13002 from here ...
13003 * include/multiboot.h (struct multiboot_header): ... to here. Update
13004 all users.
13005 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13006 from here ...
13007 * include/multiboot.h (struct multiboot_info): ... to here. Update
13008 all users.
13009 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13010 from here ...
13011 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13012 Update all users.
13013 * include/grub/multiboot.h (struct grub_mod_list): Move
13014 from here ...
13015 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13016 Update all users.
13017
a73f5969
RM
130182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13019
13020 * include/multiboot2.h (multiboot_word): Rename from this ...
13021 (multiboot2_word): ... to this. Update all users.
13022 (multiboot_header): Rename from this ...
13023 (multiboot2_header): ... to this. Update all users.
13024 (multiboot_tag_header): Rename from this ...
13025 (multiboot2_tag_header): ... to this. Update all users.
13026 (multiboot_tag_start): Rename from this ...
13027 (multiboot2_tag_start): ... to this. Update all users.
13028 (multiboot_tag_name): Rename from this ...
13029 (multiboot2_tag_name): ... to this. Update all users.
13030 (multiboot_tag_module): Rename from this ...
13031 (multiboot2_tag_module): ... to this. Update all users.
13032 (multiboot_tag_memory): Rename from this ...
13033 (multiboot2_tag_memory): ... to this. Update all users.
13034 (multiboot_tag_unused): Rename from this ...
13035 (multiboot2_tag_unused): ... to this. Update all users.
13036 (multiboot_tag_end): Rename from this ...
13037 (multiboot2_tag_end): ... to this. Update all users.
13038
1c8927f0
RM
130392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13040
13041 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13042 this platform we should support Multiboot1 first.
13043
13044 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13045 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13046 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13047
6e1e0d89
RM
130482009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13049
13050 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13051 of write calls (converting them to fwrite() if they aren't already).
13052 (get_torito_desc): Likewise.
13053 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13054
7f2b34d8
RM
130552009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13056
13057 * util/i386/pc/grub-install.in: Move from here ...
13058 * util/grub-install.in: ... to here. Update all users.
13059
c0ef3311
CW
130602009-11-11 Colin Watson <cjwatson@ubuntu.com>
13061
13062 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13063
e1f240ff
RM
130642009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13065
13066 Support for El Torito without floppy emulation.
13067
13068 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13069 (init_boot_catalog): Improve error handling.
13070 (get_torito_desc): Don't use floppy emulation unless requested by
13071 user. Patch boot information table when requested via
13072 `-boot-info-table'.
13073 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13074 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13075 (use_boot_info_table): New variables.
13076 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13077 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13078 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13079 `--eltorito-emul-floppy'.
13080 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13081 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13082 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13083 (use_boot_info_table, get_731): New prototypes.
13084 * util/mkisofs/write.c (get_731): New function.
13085
af7d4de5
FZ
130862009-11-11 Felix Zielcke <fzielcke@z-51.de>
13087
13088 Fix the generation of the man page.
13089
13090 * util/pc/i386/grub-install.in: Source
13091 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13092
2c55dbc0
RM
130932009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13094
13095 Large file support for grub-mkisofs.
13096
13097 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
13098 * util/mkisofs/mkisofs.c (next_extent, last_extent)
13099 (session_start): Upgrade type to `uint64_t'. Update all users.
13100 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
13101 (struct directory_entry): Upgrade type of `starting_block' and
13102 `size' to `uint64_t'. Update all users.
13103 (struct deferred): Remove unused structure.
13104 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
13105 Update all users.
13106 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
13107 file is larger than `UINT32_MAX'.
13108 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
13109 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
13110 return value.
13111 (struct deferred_write): Upgrade type of `extent' and `size' to
13112 `uint64_t'. Update all users.
13113 (last_extent_written): Upgrade type to `uint64_t'. Update all
13114 users.
13115 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
13116 Update all users. Upgrade type of `remain' to `int64_t' and
13117 `use' to `size_t'. Use error() to handle fread() errors.
13118 (write_files): Rely on write_one_file() rather than calling
13119 xfwrite() directly.
13120
6a9cead5
FZ
131212009-11-09 Felix Zielcke <fzielcke@z-51.de>
13122
13123 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
13124
4825d790
RM
131252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13126
13127 * util/mkisofs/fnmatch.c: Remove.
13128 * util/mkisofs/getopt1.c: Likewise.
13129 * util/mkisofs/getopt.c: Likewise.
13130 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
13131 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
13132 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
13133 `gnulib/getopt1.c' and `gnulib/getopt.c'.
13134 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
13135
13136 * configure.ac: Detect `mingw32msvc' host_os.
13137 Check for lstat(), getuid() and getgid().
13138
13139 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
13140 instances of `u_char' with `uint8_t'.
13141
13142 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
13143 [!HAVE_GETUID] (getuid): New function (stub).
13144 [!HAVE_GETGID] (getgid): Likewise.
13145 [!HAVE_LSTAT] (lstat): Likewise.
13146 [!S_IROTH] (S_IROTH): New macro (dummy).
13147 [!S_IRGRP] (S_IRGRP): Likewise.
13148
84b860d8
RM
131492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13150
13151 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
13152 conditional expression).
13153
66e9b712
RM
131542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13155
13156 Import from Gnulib.
13157
13158 * gnulib/fnmatch.c: New file.
13159 * gnulib/fnmatch.h: Likewise.
13160 * gnulib/fnmatch_loop.c: Likewise.
13161 * gnulib/getopt.c: Likewise.
13162 * gnulib/getopt.h: Likewise.
13163 * gnulib/getopt1.c: Likewise.
13164 * gnulib/getopt_int.h: Likewise.
13165 * gnulib/gettext.h: Likewise.
13166
34f4a5b0
RM
131672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13168
13169 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
13170 * normal/handler.c (read_handler_list): Likewise.
13171
ac451143
RM
131722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13173
13174 Misc cleanup.
13175
13176 * kern/command.c (grub_register_command_prio): Use
13177 grub_zalloc() instead of explicitly zeroing data.
13178 * kern/list.c: Include `<grub/mm.h>'.
13179 (grub_named_list_find): Replace `0' with `NULL'.
13180 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
13181 (fs_module_list): Change type to `grub_named_list_t'. Update all
13182 users.
13183 * normal/dyncmd.c (read_command_list): Add space between function
13184 call and parenthesis.
13185 * normal/handler.c (read_handler_list): Likewise.
13186
4089b167
RM
131872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13188
13189 * normal/auth.c (punishment_delay): Moved from here ...
13190 (grub_auth_strcmp): ... to here (inside function).
13191
325f5037
RM
131922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13193
13194 * include/grub/list.h (struct grub_named_list): Remove `const'
13195 qualifier from `name'.
13196 (struct grub_prio_list): Likewise.
13197
7aea29a3
RM
131982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13199
13200 * normal/auth.c: Include `<grub/time.h>'.
13201 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
13202
3fd6f044
RM
132032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13204
13205 * normal/auth.c (punishment_delay): New variable.
13206 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
13207 (grub_auth_check_authentication): Punish failed login attempts with
13208 an incremental (2^N) delay.
13209
a4cd68e4
RM
132102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13211
13212 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
13213 path with $(srcdir).
13214
7ad12f43
VS
132152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
13218
c1129f03
RM
132192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13220
13221 * util/i386/coreboot/grub-mkrescue.in: New file.
13222 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13223 variables.
13224
13225 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13226 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13227 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13228 requirements.
13229 * util/mkisofs/defaults.h: New file.
13230 * util/mkisofs/eltorito.c: Likewise.
13231 * util/mkisofs/exclude.h: Likewise.
13232 * util/mkisofs/fnmatch.c: Likewise.
13233 * util/mkisofs/getopt.c: Likewise.
13234 * util/mkisofs/getopt1.c: Likewise.
13235 * util/mkisofs/hash.c: Likewise.
13236 * util/mkisofs/include/fctldefs.h: Likewise.
13237 * util/mkisofs/include/mconfig.h: Likewise.
13238 * util/mkisofs/include/prototyp.h: Likewise.
13239 * util/mkisofs/include/statdefs.h: Likewise.
13240 * util/mkisofs/iso9660.h: Likewise.
13241 * util/mkisofs/joliet.c: Likewise.
13242 * util/mkisofs/match.c: Likewise.
13243 * util/mkisofs/match.h: Likewise.
13244 * util/mkisofs/mkisofs.c: Likewise.
13245 * util/mkisofs/mkisofs.h: Likewise.
13246 * util/mkisofs/multi.c: Likewise.
13247 * util/mkisofs/name.c: Likewise.
13248 * util/mkisofs/rock.c: Likewise.
13249 * util/mkisofs/tree.c: Likewise.
13250 * util/mkisofs/write.c: Likewise.
13251
ec8bb77d
VS
132522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13255 being insecure.
13256
3716b12c
RM
132572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13258
13259 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13260 `grub-mkimage' (and use $0 when possible).
13261
b97b7b91
RM
132622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13263
13264 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13265 error message for excessively large memory map.
13266
04114812
RM
132672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13268
13269 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13270 executable bit.
13271
e4eb2373
RM
132722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13273
13274 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13275 message for coreboot users.
13276
c926e1d5 132772009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13278
13279 Fix build with GNU gold.
13280
13281 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13282 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13283 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13284 link addresses.
13285 * aclocal.m4: Likewise.
13286
86e5b1db 132872009-11-04 Felix Zielcke <fzielcke@z-51.de>
13288
13289 * configure.ac (AC_PREREQ): Bump to 2.59d.
13290 * INSTALL: Make it more clear when Autoconf and Ruby are
13291 needed and when to run `./autogen.sh'.
13292
246cd78f 132932009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13294
13295 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13296 OSes.
13297
4f9dfb37 132982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13299
13300 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13301
b82bd5e1 133022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13303
13304 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13305 giving it to GNU Mach.
13306
ff1a9bca 133072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13308
13309 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13310 GNU partition number to get internal GRUB partition number.
13311
61697d9c 133122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13313
13314 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13315 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13316
a50569e1 133172009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13318
13319 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13320 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13321 case.
13322
5b153867 133232009-11-01 Felix Zielcke <fzielcke@z-51.de>
13324
13325 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13326
d9e2cd70 133272009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13328
13329 Fix build problem.
13330
13331 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13332 `-isystem=$(srcdir)/include'.
13333
805111a4 133342009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13335
13336 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13337 checked (grub-install doesn't currently rely on it).
13338
fa6e945f 133392009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 Revert SVN r2660.
13342
13343 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13344 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13345 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13346 * conf/i386-ieee1275.rmk: Likewise.
13347 * conf/i386-pc.rmk: Likewise.
13348 * conf/powerpc-ieee1275.rmk: Likewise.
13349 * conf/sparc64-ieee1275.rmk: Likewise.
13350 * conf/x86_64-efi.rmk: Likewise.
13351
cee15086 133522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13353
13354 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13355
95b9239e 133562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13357
13358 * include/grub/misc.h: Stop checking for APPLE_CC.
13359
2ed19dfd 133602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13361
13362 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13363 doesn't cause an infinite call loop.
13364
fdcdde19 133652009-10-28 Felix Zielcke <fzielcke@z-51.de>
13366
13367 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13368 strings.
13369
cefabfe1 133702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13371
13372 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13373 variable.
13374 * Makefile.in: Likewise.
13375
ed96ab6d 133762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13377
13378 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13379
0579b753 133802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13381
13382 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13383
478df409 133842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13385
13386 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13387
083d1679 133882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13389
13390 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13391 from here ...
13392 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13393
5947ae32 133942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13395
13396 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13397 in $(MAKEINFO) invocation. This makes it clear in output that
13398 errors are being ignored.
13399
94180ff6 134002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13401
13402 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13403 from here ...
13404 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13405 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13406 * conf/i386-ieee1275.rmk: Likewise.
13407 * conf/i386-pc.rmk: Likewise.
13408 * conf/powerpc-ieee1275.rmk: Likewise.
13409 * conf/sparc64-ieee1275.rmk: Likewise.
13410 * conf/x86_64-efi.rmk: Likewise.
13411
9031b03a 134122009-10-26 Colin Watson <cjwatson@ubuntu.com>
13413
13414 * util/grub-editenv.c (main): If only a command is given, use
13415 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13416 (usage): FILENAME is now optional and has a default.
13417
e4f6809b 134182009-10-26 Colin Watson <cjwatson@ubuntu.com>
13419
13420 Improve grub-mkconfig performance when there are several menu
13421 entries on a single filesystem.
13422
13423 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13424 prepare_grub_to_access_device.
13425 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13426 * util/grub.d/30_os-prober.in: Likewise.
13427
67937d4d 134282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13429
13430 * util/grub.d/10_freebsd.in: Remove.
13431 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13432 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13433
ee3756cc 134342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13435
5c35048e 13436 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13437
4dea1c6f 134382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13439
13440 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13441 grub_util_error() call.
13442
042484d7 134432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13444
13445 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13446 `reserved_first_sector' member.
13447 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13448 `reserved_first_sector' to 1.
13449 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13450 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
13451 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
13452 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
13453 filesystems which begin at first sector.
13454 (options): New option --skip-fs-probe.
13455 (main): Handle --skip-fs-probe and pass it to setup().
13456
d64448a7 134572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13458
13459 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
13460 (memset): Fix function prototype.
13461
508d42ec 134622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
134632009-10-25 Vasily Averin <vvs@parallels.com>
13464
13465 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
13466 `dirent.direntlen == 0'.
13467
b240e30c 134682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13469
13470 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
13471 `cpio'.
13472 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
13473
346e7fbe 134742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13475
13476 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
13477 `__trampoline_setup' and `__ucmpdi2'.
13478 * include/grub/powerpc/libgcc.h: Only export symbols for functions
13479 that libgcc provides.
13480
cdb308b0 134812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13482
13483 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
13484 * include/grub/sparc64/libgcc.h (memset): Likewise.
13485 * include/grub/misc.h (memset, memcmp): New function prototypes.
13486
fb26abc2 134872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13488
13489 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
13490 `cpio'.
13491 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
13492
f6693890 134932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13494
13495 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
13496 * docs/grub.cfg: Compensate for recent change in multiboot
13497 loader (since 2009-08-14 it won't pass filename to payload).
13498 * util/grub.d/10_hurd.in: Likewise.
13499
0933cdc0 135002009-10-21 Felix Zielcke <fzielcke@z-51.de>
13501
13502 * config.guess: Update to latest version from config git
13503 repository.
13504 * config.sub: Likewise.
13505
3b2fe8c2 135062009-10-20 Robert Millan <rmh.grub@aybabtu.com>
13507
13508 Fix build on sparc64.
13509
13510 * configure.ac: Perform checks for libgcc symbols before
13511 adding `-nostdlib' to LDFLAGS.
13512
46695a62 135132009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 Let user specify OpenBSD root device.
13516
13517 * loader/i386/bsd.c (openbsd_root): New variable.
13518 (openbsd_opts): New option 'root'.
13519 (OPENBSD_ROOT_ARG): New macro.
13520 (grub_openbsd_boot): Use 'openbsd_root'.
13521 (grub_cmd_openbsd): Fill 'openbsd_root'.
13522
d2b6b7fc 135232009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13524
13525 * NEWS: Misc adjustments.
13526
421bd7ac 135272009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13530
f1d29d87 135312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13532
13533 * configure.ac: Bump version to 1.97.
13534
6f3cd880 135352009-10-16 Colin Watson <cjwatson@ubuntu.com>
13536
13537 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13538 -mno-3dnow on x86 architectures. Some toolchains enable these
13539 features by default, but they rely on registers that aren't enabled
13540 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13541
035f7122 135422009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13543
13544 Make entry text a bit more readable.
13545
13546 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13547
44998e58 135482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13551
cd2851b3 135522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13555 operations.
13556
c6f3b249 135572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * configure.ac: Add missing dollar.
13560
6b5886ba 135612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13564
13565 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13566 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13567 exports.
13568 * include/grub/sparc64/libgcc.h: Likewise. Use
13569 preprocessor conditionals.
13570
e9d66f6d 135712009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13572
13573 * conf/common.rmk (grub-dumpbios): Remove rule.
13574 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13575 * util/grub-dumpbios.in: Remove file.
13576
9155bc17 135772009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13578
13579 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13580 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13581
13582 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13583 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13584 users.
13585
13586 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13587 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13588 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13589 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13590 users.
13591
bf7f7a18 135922009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13593
13594 * term/tparm.c: Switch to GPLv3.
13595
86564c26 135962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13597
13598 * include/grub/i386/cpuid.h: Add header protection.
13599
5c936493 136002009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13601
13602 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13603
13604 * include/grub/i386/cpuid.h: New file.
13605 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13606 (has_longmode): Rename to ...
13607 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13608 `static' attribute.
13609 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13610 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13611 on a CPU that doesn't implement AMD64 instruction set.
13612
186e7cf2 136132009-10-06 Colin Watson <cjwatson@ubuntu.com>
13614
13615 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13616 that version.texi is rebuilt on version number changes.
13617
83b65c4a 136182009-10-06 Colin Watson <cjwatson@ubuntu.com>
13619
13620 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13621 Fixes bug #27602.
13622
d244281c 136232009-10-06 Colin Watson <cjwatson@ubuntu.com>
13624
13625 * util/i386/pc/grub-install.in: Source
13626 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13627 that the --grub-probe option will work.
13628 * util/sparc64/ieee1275/grub-install.in: Likewise.
13629
da25306d 136302009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13631
13632 * configure.ac: Bump version to 1.97~beta4.
13633
e8ee83c0 136342009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13635
13636 Resync grub-mkdevicemap in x86_64-efi.
13637
13638 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13639 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13640 `util/devicemap.c'.
13641
50dcabcf 136422009-10-01 Colin Watson <cjwatson@ubuntu.com>
13643
13644 * util/grub-editenv.c (create_envblk_file): Write new block with a
13645 .new suffix and then rename it into place, to ensure atomic
13646 creation.
13647
0e51c3a7 136482009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13649
13650 Do not automatically install headers.
13651
13652 * Makefile.in (include_DATA): Remove. Update all users.
13653
31299a95 136542009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13655
13656 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13657 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13658
13659 * util/osdetect.lua: Remove.
13660 * script/lua/lauxlib.c: Likewise.
13661 * script/lua/ldebug.c: Likewise.
13662 * script/lua/grub_main.c: Likewise.
13663 * script/lua/lauxlib.h: Likewise.
13664 * script/lua/ldebug.h: Likewise.
13665 * script/lua/ltablib.c: Likewise.
13666 * script/lua/liolib.c: Likewise.
13667 * script/lua/lstrlib.c: Likewise.
13668 * script/lua/lualib.h: Likewise.
13669 * script/lua/ldo.c: Likewise.
13670 * script/lua/ldump.c: Likewise.
13671 * script/lua/ldo.h: Likewise.
13672 * script/lua/loslib.c: Likewise.
13673 * script/lua/lundump.c: Likewise.
13674 * script/lua/grub_lib.c: Likewise.
13675 * script/lua/ldblib.c: Likewise.
13676 * script/lua/lundump.h: Likewise.
13677 * script/lua/lmem.c: Likewise.
13678 * script/lua/grub_lib.h: Likewise.
13679 * script/lua/lmathlib.c: Likewise.
13680 * script/lua/lstate.c: Likewise.
13681 * script/lua/ltm.c: Likewise.
13682 * script/lua/lvm.c: Likewise.
13683 * script/lua/lmem.h: Likewise.
13684 * script/lua/lstate.h: Likewise.
13685 * script/lua/ltm.h: Likewise.
13686 * script/lua/ltable.c: Likewise.
13687 * script/lua/lvm.h: Likewise.
13688 * script/lua/llex.c: Likewise.
13689 * script/lua/lgc.c: Likewise.
13690 * script/lua/grub_lua.h: Likewise.
13691 * script/lua/loadlib.c: Likewise.
13692 * script/lua/lfunc.c: Likewise.
13693 * script/lua/lopcodes.c: Likewise.
13694 * script/lua/lparser.c: Likewise.
13695 * script/lua/ltable.h: Likewise.
13696 * script/lua/llex.h: Likewise.
13697 * script/lua/lgc.h: Likewise.
13698 * script/lua/lfunc.h: Likewise.
13699 * script/lua/lbaselib.c: Likewise.
13700 * script/lua/lopcodes.h: Likewise.
13701 * script/lua/lparser.h: Likewise.
13702 * script/lua/lzio.c: Likewise.
13703 * script/lua/linit.c: Likewise.
13704 * script/lua/lobject.c: Likewise.
13705 * script/lua/llimits.h: Likewise.
13706 * script/lua/lstring.c: Likewise.
13707 * script/lua/lzio.h: Likewise.
13708 * script/lua/lapi.c: Likewise.
13709 * script/lua/lcode.c: Likewise.
13710 * script/lua/lua.h: Likewise.
13711 * script/lua/lobject.h: Likewise.
13712 * script/lua/lstring.h: Likewise.
13713 * script/lua/lapi.h: Likewise.
13714 * script/lua/lcode.h: Likewise.
13715 * script/lua/luaconf.h: Likewise.
13716
cb8a2c38 137172009-09-26 Colin Watson <cjwatson@ubuntu.com>
13718
13719 * docs/grub.texi (Command-line and menu entry commands): Document
13720 date and echo commands.
13721
6b9b6276 137222009-09-24 Pavel Roskin <proski@gnu.org>
13723
13724 * include/grub/kernel.h (struct grub_module_header): Remove
13725 `grub_module_header_types'. Make `type' unsigned. Make `size'
13726 32-bit on all platforms.
13727 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13728 8-bit field. Use grub_host_to_target32() for `size'.
13729 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13730 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13731 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13732
4e5a02a7 137332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13734
13735 Fix "lost keypress" bug in at_keyboard.
13736
13737 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13738 Checks for readyness of input buffer (without flushing it).
13739 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13740 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13741
c6dcedf6 137422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13743
13744 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13745 size check within GRUB_MACHINE_PCBIOS section.
13746
74c958b1 137472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13748
13749 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13750 return value.
13751 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13752 KEYBOARD_ISREADY check.
13753 (grub_at_keyboard_checkkey): Rename to ...
13754 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13755 Remove gratuitous cast.
13756
ff420223 137572009-09-23 Colin Watson <cjwatson@ubuntu.com>
13758
13759 * configure.ac: Call AC_PROG_MKDIR_P.
13760 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13761 version.texi in $(builddir) rather than $(srcdir).
13762 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13763 to makeinfo's @include search path.
13764
d96875df 137652009-09-23 Felix Zielcke <fzielcke@z-51.de>
13766
13767 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13768
9b3f8365 137692009-09-23 Felix Zielcke <fzielcke@z-51.de>
13770
13771 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13772 for `*.dpkg-new'.
13773
c44c90db 137742009-09-21 Colin Watson <cjwatson@ubuntu.com>
13775
13776 Build info documentation. Some code borrowed from Automake.
13777
13778 * configure.ac: Check for makeinfo.
13779 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13780 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13781 docs/version.texi.
13782 (MOSTLYCLEANFILES): Add vti.tmp.
13783 (docs/version.texi, docs/stamp-vti): Update automatically.
13784 (docs/grub.info): Build info documentation. Use --force and ignore
13785 errors for now.
13786 (all-local): Add $(INFOS).
13787 (install-local): Install info files.
13788 (uninstall): Uninstall info files.
13789 * docs/version.texi: Remove from revision control. This file is
13790 automatically generated on build now.
13791 * gendistlist.sh: Add `*.info'.
13792
e0b37bb5 137932009-09-21 Felix Zielcke <fzielcke@z-51.de>
13794
13795 * kern/term.c: Fix indentation.
13796
5a78865b 137972009-09-21 Felix Zielcke <fzielcke@z-51.de>
13798
13799 * util/hostdisk.c: Fix a comment.
13800
dace7e8a 138012009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13802
13803 Fix regression introduced in r2539.
13804
13805 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13806 to 0xA1.
13807
a83d079b 138082009-09-19 Colin Watson <cjwatson@ubuntu.com>
13809
13810 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13811 os-prober. Under normal operation, it does not print anything to
13812 stderr; if it does, we need to debug it, and throwing away stderr
13813 makes that excessively difficult.
a83d079b 13814
be94a509 138152009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13818
63f745e8 138192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13820
13821 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13822 AC_LANG_PROGRAM from autoconf.
13823 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13824 prototypes (fixes warning).
13825
13826 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13827 `--disable-werror' was used.
13828
bbb2a70f 138292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13830
13831 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13832 uninitialized `lastaddr'.
13833
77c24f1d 138342009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13835
0f0b8c87 13836 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13837
07197f23 138382009-09-14 Colin Watson <cjwatson@ubuntu.com>
13839
13840 * commands/test.c (get_fileinfo): Return immediately if
13841 grub_fs_probe fails.
13842
dabf1798 138432009-09-14 José Martínez <xosemp@gmail.com>
13844
13845 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13846
d52109a7 138472009-09-14 Colin Watson <cjwatson@ubuntu.com>
13848
13849 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13850 output.
13851
56532179 138522009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13853
13854 * configure.ac: Remove --enable-grub-pe2elf. Only build
13855 grub-pe2elf when needed by the build system itself.
13856 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13857
8ef070f5 138582009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13859
13860 * configure.ac: Bump version to 1.97~beta3.
13861 * docs/version.texi: Likewise.
13862
61229557 138632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13864
13865 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13866 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13867 from here ...
13868 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13869 (grub_linux_setup_video): ... to here (with some adjustments).
13870
5c9f8d84 138712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13872
13873 Fix memory corruption issue (spotted by Colin Watson).
13874
13875 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13876 causing returned size to be stored in an incorrect memory location.
13877 Fix use of uninitialized value when storing the returned size.
13878
e8f5d6e9 138792009-09-12 Yves Blusseau <blusseau@zetam.org>
13880
13881 Change clean rules to properly remove files
13882
13883 * genmk.rb: add new clean rules
13884 * Makefile.in (clean): add the new targets
13885 (mostlyclean): likewise
13886
cda2a409 138872009-09-11 Colin Watson <cjwatson@ubuntu.com>
13888
13889 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13890 to grub_uint64_t.
13891 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13892 non-resident files.
13893
86695375 138942009-09-11 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13897 part of bug #27349.
13898
8aa1541a 138992009-09-10 Felix Zielcke <fzielcke@z-51.de>
13900
13901 * util/grub-mkconfig.in: Make the created config mode 400 and
13902 print a warning if it fails.
13903
48d9bb0a 139042009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13905
13906 * util/grub.d/40_custom.in: Ask user to type custom entries below
13907 comment, rather than below 'exec tail' line.
13908
3b0521be 139092009-09-10 Colin Watson <cjwatson@ubuntu.com>
13910
13911 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13912 visible in grub.cfg.
13913
50051d55 139142009-09-10 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13917 file.
13918
c0d34387 139192009-09-10 Felix Zielcke <fzielcke@z-51.de>
13920
13921 * docs/grub.cfg: Add an example menu entry for memtest86+.
13922
80a608f3 139232009-09-09 Felix Zielcke <fzielcke@z-51.de>
13924
a2094832 13925 * config.guess: Update to latest version from config git.
80a608f3 13926 * config.sub: Likewise.
13927
99423078 139282009-09-08 Colin Watson <cjwatson@ubuntu.com>
13929
13930 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13931 unknown-command case. Fixes bug #27320.
13932
44454e4c 139332009-09-08 Felix Zielcke <fzielcke@z-51.de>
13934
13935 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13936 `help' if the command exists.
13937
e30d87ad 139382009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13939
13940 * INSTALL: Require GCC 4.1.3 or later.
13941
9a86f1ec 139422009-09-06 Yves Blusseau <blusseau@zetam.org>
13943
13944 * Makefile.in (RMKFILES): add i386-qemu.rmk
13945 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13946 $(srcdir)/stamp-h.in
13947
7f26d466 139482009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13949
13950 * util/grub-probe.c (probe): Comment out buggy codepath, which
13951 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13952 should be re-enabled after 1.97.
13953
3a613259 139542009-09-05 Felix Zielcke <fzielcke@z-51.de>
13955
13956 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13957 find searches for.
13958
197f76c7 139592009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13962 unnecessary calls to grub_error.
13963
70ba68ce 139642009-09-04 Colin Watson <cjwatson@ubuntu.com>
13965
13966 * NEWS: Mention `keystatus' and Unicode fonts.
13967
4ff0d7a4 139682009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13969
13970 * configure.ac: Bump version to 1.97~beta2.
13971 * docs/version.texi: Likewise.
13972
77c55a87 139732009-09-03 Colin Watson <cjwatson@ubuntu.com>
13974
13975 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13976 containing unwind information in some cases where it previously did
13977 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13978 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13979 discussion.
13980
f79572cd 139812009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13982
13983 Embedding loadenv module into grub-emu
13984
13985 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13986 commands/loadenv.c
13987 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13988 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13991 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13992 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13993
93a81088 139942009-09-03 Magnus Granberg <zorry@ume.nu>
13995
13996 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13997 include -fPIE in the default specs.
13998 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13999 to TARGET_CFLAGS.
14000
160034b2 140012009-09-03 Felix Zielcke <fzielcke@z-51.de>
14002
14003 * INSTALL: Note that GNU Bison 2.3 or later is required.
14004
087c07c4 140052009-09-03 Colin Watson <cjwatson@ubuntu.com>
14006
14007 * kern/i386/pc/startup.S: Fix typo.
14008
cbf978c0 140092009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14012 according to GCS.
14013
140142009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 14015
14016 * docs/grub.texi (Naming convention): Describe one-based partition
14017 numbering.
14018 (Device syntax): Likewise.
14019 (File name syntax): Likewise.
14020 (Block list syntax): Likewise.
14021 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14022 menu.lst.
14023 (File name syntax): Likewise.
14024 (Command-line and menu entry commands): Document acpi, blocklist,
14025 crc, export, insmod, keystatus, ls, set, and unset commands.
14026
f3e8cdfd 140272009-09-02 Colin Watson <cjwatson@ubuntu.com>
14028
14029 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14030 to avoid implying that only one of --shift, --ctrl, or --alt may be
14031 used.
14032
c0bc232b 140332009-09-02 Colin Watson <cjwatson@ubuntu.com>
14034
14035 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14036 rather than comparing against S_IFREG, which will almost never work.
14037
aa0f752d 140382009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14041 (write_blocklists): Likewise.
14042
ecb3166a 140432009-09-01 Colin Watson <cjwatson@ubuntu.com>
14044
14045 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14046 argument to grub_printf.
14047
c403a125 140482009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 14049
14050 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 14051 non GNU test.
31aba781 14052
b5e7312c 140532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * kern/file.c (grub_file_read): Spelling fix
14056
fe00f472 140572009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14060 loading of headers in some cases.
14061
cc55302e 140622009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14063
14064 * configure.ac: Bump version to 1.97~beta1.
14065 * docs/version.texi: Likewise.
14066
5c90cdd2 140672009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 14068
14069 * include/grub/i386/xnu.h: Add license header.
14070 include grub/err.h explicitly.
14071
c90edae4 140722009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14073
14074 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14075 to `ufs' in the vfs.root.mountfrom kernel parameter.
14076
d8888b5c 140772009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14078
14079 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14080
14081 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14082 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14083
14084 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14085 `ARRAY_SIZE' macro.
14086
6f07b921 140872009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * kern/file.c (grub_file_read): Check offset.
14090 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
14091 * fs/jfs.c (grub_jfs_read_file): Likewise.
14092 * fs/ntfs.c (grub_ntfs_read): Likewise.
14093 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
14094 * fs/minix.c (grub_minix_read_file): Correct offset check.
14095 * fs/ufs.c (grub_ufs_read_file): Likewise.
14096
b4f34077 140972009-08-28 Colin Watson <cjwatson@ubuntu.com>
14098
14099 * term/i386/pc/console.c (bios_data_area): Cast
14100 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
14101
e7c69859 141022009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 1-bit optimised blitters.
14105
14106 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
14107 prototype.
14108 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14109 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14110 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14111 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14112 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14113 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14114 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
14115 function.
14116 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14117 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14118 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14119 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14120 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14121 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14122 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
14123 when possible.
14124 * video/video.c (grub_video_get_blit_format): Return
14125 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
14126
a57da43f 141272009-08-28 Colin Watson <cjwatson@ubuntu.com>
14128
14129 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
14130 the first argument to grub_printf.
14131
4cbe67e5 141322009-08-28 Colin Watson <cjwatson@ubuntu.com>
141332009-08-28 Robert Millan <rmh.grub@aybabtu.com>
14134
14135 Add `getkeystatus' terminal method. Add a new `keystatus' command
14136 to query it.
14137
14138 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
14139 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
14140 modifier key bitmasks.
14141 (struct grub_term_input): Add `getkeystatus' member.
14142 (grub_getkeystatus): Add prototype.
14143 * kern/term.c (grub_getkeystatus): New function.
14144
14145 * include/grub/i386/pc/memory.h
14146 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
14147 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
14148 Data Area layout.
14149 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
14150 (grub_console_term_input): Set `getkeystatus' member.
14151 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
14152 constants.
14153 (grub_usb_keyboard_getreport): Likewise.
14154 (grub_usb_keyboard_checkkey): Likewise.
14155 (grub_usb_keyboard_getkeystatus): New function.
14156 (grub_usb_keyboard_term): Set `getkeystatus' member.
14157
14158 * commands/keystatus.c: New file.
14159 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
14160 (keystatus_mod_SOURCES): New variable.
14161 (keystatus_mod_CFLAGS): Likewise.
14162 (keystatus_mod_LDFLAGS): Likewise.
14163 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
14164 commands/keystatus.c.
14165 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14166 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14167 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14169 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 14171
6e2a9085 141722009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 Split befs.mod and afs.mod into *_be.mod and *.mod
14175
14176 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
14177 (grub_fstest_SOURCES): Likewise.
14178 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
14179 (afs_be_mod_SOURCES): New variable.
14180 (afs_be_mod_CFLAGS): Likewise.
14181 (afs_be_mod_LDFLAGS): Likewise.
14182 (befs_be_mod_SOURCES): Likewise.
14183 (befs_be_mod_CFLAGS): Likewise.
14184 (befs_be_mod_LDFLAGS): Likewise.
14185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
14186 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14187 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14188 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14189 (grub_emu_SOURCES): Likewise.
14190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14191 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14192 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14193 * fs/afs_be.c: New file.
14194 * fs/befs_be.c: New file.
14195 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
14196 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
14197 (U16): Replaced with ...
14198 (grub_afs_to_cpu16): ...this. All users updated.
14199 (U32): Replaced with ...
14200 (grub_afs_to_cpu32): ...this. All users updated.
14201 (U64): Replaced with ...
14202 (grub_afs_to_cpu64): ...this. All users updated.
14203 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
14204 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 14205 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 14206 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14207 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14208 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14209 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14210 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14211 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14212 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14213 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14214
32a71655 142152009-08-26 Bean <bean123ch@gmail.com>
14216
14217 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
14218 64-bit number.
14219 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14220 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14221 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14222
552bf6c5 142232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 NetBSD memory map support.
14226
14227 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14228 (grub_netbsd_btinfo_mmap_header): New structure.
14229 (grub_netbsd_btinfo_mmap_entry): Likewise.
14230 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14231
1ae2078c 142322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 Enable bsd.mod on coreboot.
14235
14236 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14237 (bsd_mod_SOURCES): New variable.
14238 (bsd_mod_CFLAGS): Likewise.
14239 (bsd_mod_LDFLAGS): Likewise.
14240 (bsd_mod_ASFLAGS): Likewise.
14241 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14242 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14243
beefc598 142442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14245
14246 Cleanup NetBSD root support.
14247
14248 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14249 grub_bsd_get_device.
14250 Fix typo.
14251
3b76e68b 142522009-08-25 Felix Zielcke <fzielcke@z-51.de>
14253
14254 * util/grub.d/00_header.in: Move check for the video backend of
14255 gfxterm from here ...
14256 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14257 a suitable video backend.
14258
aea664ea 142592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 Fix breakage in grub-setup.
14262
14263 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14264 "msdos_partition_map".
14265
ff747d50 142662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Fix breakage in normal/auth.c.
14269
14270 * normal/auth.c (grub_iswordseparator): New function.
14271
e7e1f93f 142722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 Authentication support.
14275
14276 * commands/password.c: New file.
14277 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14278 (password_mod_SOURCES): New variable.
14279 (password_mod_CFLAGS): Likewise.
14280 (password_mod_LDFLAGS): Likewise.
14281 (normal_mod_SOURCES): Add normal/auth.c.
14282 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14283 normal/auth.c.
14284 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14285 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14286 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14288 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14289 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14290 * include/grub/auth.h: New file.
14291 * include/grub/err.h (grub_err_t): New enum value
14292 GRUB_ERR_ACCESS_DENIED.
14293 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14294 'users'.
14295 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14296 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14297 users updated.
14298 * normal/auth.c: New file.
14299 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14300 (grub_cmdline_run): Don't allow to go to command line without
14301 authentication.
14302 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14303 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14304 menuentry without superuser rights.
14305 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14306 user isn't a superuser.
14307
70f1161d 143082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 Save space by inlining misc.c functions.
14311
14312 * kern/misc.c (grub_iswordseparator): Made static.
14313 * kern/misc.c (grub_strcat): Moved from here ...
14314 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14315 * kern/misc.c (grub_strncat): Moved from here ...
14316 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14317 * kern/misc.c (grub_strcasecmp): Moved from here ...
14318 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14319 * kern/misc.c (grub_strncasecmp): Moved from here ...
14320 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14321 * kern/misc.c (grub_isalpha): Moved from here ...
14322 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14323 * kern/misc.c (grub_isdigit): Moved from here ...
14324 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14325 * kern/misc.c (grub_isgraph): Moved from here ...
14326 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14327 * kern/misc.c (grub_tolower): Moved from here ...
14328 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14329
48e40bff 143302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * script/sh/function.c (grub_script_function_find): Cut error message
14333 not to flood terminal.
14334 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14335 limit.
14336 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14337
c385bfc3 143382009-08-24 Colin Watson <cjwatson@ubuntu.com>
14339
14340 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14341 `report' grub_uint8_t *.
14342 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14343 Use a 50-millisecond timeout rather than just repeating
14344 grub_usb_keyboard_getreport 50 times.
14345 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14346
2d21e3e8 143472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Rename *_partition_map to part_*
14350
14351 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14352 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14353 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14354 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14355 All users updated.
14356 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14357 All users updated.
14358 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14359 * util/grub-probe.c (probe_partmap): Don't transform partition name
14360 to get module name.
14361
dd103c4e 143622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 Fix OpenBSD and NetBSD support.
14365
14366 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14367 memory address conflict.
14368 (OPENBSD_MMAP_ACPI): New definition.
14369 (OPENBSD_MMAP_NVS): Likewise.
14370 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14371 and OPENBSD_MMAP_NVS.
14372 Add memory map terminator
14373 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14374 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14375
16c84d74 143762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Let user specify NetBSD root device.
14379
14380 * loader/i386/bsd.c (netbsd_root): New variable.
14381 (netbsd_opts): New option 'root'.
14382 (NETBSD_ROOT_ARG): New macro.
14383 (grub_netbsd_boot): Use 'netbsd_root'.
14384 (grub_bsd_unload): Free 'netbsd_root'.
14385 (grub_cmd_netbsd): Fill 'netbsd_root'.
14386
adb29902 143872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 Support for 64-bit NetBSD.
14390
14391 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14392 point when booting non-FreeBSD.
14393
f5ae9f74 143942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 Support --no-smp and --no-acpi for NetBSD.
14397
14398 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14399 (NETBSD_AB_NOACPI): Likewise.
14400 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14401 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14402
de74f136 144032009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14406 errors.
14407 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14408 errors. Call grub_error when needed.
14409
e9a925da 144102009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * commands/search.c (search_fs): Try searching without autoload first.
14413 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14414 filesystem module explicitly for faster booting.
14415
5174302b 144162009-08-23 Colin Watson <cjwatson@ubuntu.com>
14417
14418 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14419
c8c80635 144202009-08-23 Colin Watson <cjwatson@ubuntu.com>
14421
14422 * util/grub.d/30_os-prober.in: Disable os-prober if
14423 `GRUB_DISABLE_OS_PROBER' was set to true.
14424
71acf5e5 144252009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14426
14427 * partmap/pc.c: Rename to ...
14428 * partmap/msdos.c: ... this. Update all users.
14429 (grub_pc_partition_map): Rename to ...
14430 (grub_msdos_partition_map): ... this. Update all users.
14431
14432 * parttool/pcpart.c: Rename to ...
14433 * parttool/msdospart.c: ... this. Update all users.
14434
14435 * include/grub/pc_partition.h: Rename to ...
14436 * include/grub/msdos_partition.h: ... this. Update all users.
14437 (grub_pc_partition_bsd_entry): Rename to ...
14438 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14439 (grub_pc_partition_disk_label): Rename to ...
14440 (grub_msdos_partition_disk_label): ... this. Update all users.
14441 (grub_pc_partition_entry): Rename to ...
14442 (grub_msdos_partition_entry): ... this. Update all users.
14443 (grub_pc_partition_mbr): Rename to ...
14444 (grub_msdos_partition_mbr): ... this. Update all users.
14445 (grub_pc_partition): Rename to ...
14446 (grub_msdos_partition): ... this. Update all users.
14447 (grub_pc_partition_is_empty): Rename to ...
14448 (grub_msdos_partition_is_empty): ... this. Update all users.
14449 (grub_pc_partition_is_extended): Rename to ...
14450 (grub_msdos_partition_is_extended): ... this. Update all users.
14451 (grub_pc_partition_is_bsd): Rename to ...
14452 (grub_msdos_partition_is_bsd): ... this. Update all users.
14453
14454 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
14455 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
14456 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
14457 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
14458 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
14459 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
14460 (gpt_mod_LDFLAGS): Rename to ...
14461 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
14462 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
14463 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
14464 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
14465 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
14466 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
14467 (part_gpt_mod_LDFLAGS): ... this.
14468 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
14469 `pcpart.mod' to `msdospart.mod'.
14470 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
14471 to ...
14472 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
14473 (msdospart_mod_LDFLAGS): ... this.
14474
c11fded5 144752009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
14478 (openbsd_opts): Likewise.
14479 (netbsd_opts): Likewise.
14480 (freebsd_flags): Added 0 terminator.
14481 (openbsd_flags): Likewise.
14482 (netbsd_flags): Likewise.
14483 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
14484 (grub_cmd_freebsd): Transformed into extended command.
14485 (grub_cmd_openbsd): Likewise.
14486 (grub_cmd_netbsd): Likewise.
14487 (cmd_freebsd): Changed type to grub_extcmd_t.
14488 (cmd_openbsd): Likewise.
14489 (cmd_netbsd): Likewise.
14490 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
14491 grub_cmd_openbsd as extended commands.
14492 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
14493 cmd_netbsd and cmd_openbsd
14494
11d1c769 144952009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
14498
7a9094e5 144992009-08-21 Pavel Roskin <proski@gnu.org>
14500
5496c37e 14501 * Makefile.in (install-local): When checking if a file is in the
14502 build directory, use "test -e" to detect symlinks.
14503
7a9094e5 14504 * Makefile.in (install-local): Remove all files in
14505 $(DESTDIR)$(pkglibdir) before installing new files there.
14506
e53cea11 145072009-08-18 Felix Zielcke <fzielcke@z-51.de>
14508
14509 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
14510 grub-mkelfimage.
14511
9aced544 145122009-08-18 Felix Zielcke <fzielcke@z-51.de>
14513
14514 * util/grub-mkconfig.in: Don't use gfxterm by default if not
14515 explicitly specified by the user.
14516
b7da6bab 145172009-08-18 Pavel Roskin <proski@gnu.org>
14518
14519 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14520 grub_uint8_t pointer for data.
14521 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14522 Likewise.
14523 * video/fb/fbutil.c: Remove unnecessary casts.
14524
19f1b335 145252009-08-17 Michal Suchanek <hramrach@centrum.cz>
14526
14527 VBE cleanup.
14528
14529 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14530 (grub_vbe_set_video_mode): Save active mode info
14531 only after setting the mode.
14532 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14533 second argument.
14534
2f467aa9 145352009-08-17 Michal Suchanek <hramrach@centrum.cz>
14536
14537 Rename variables for clarity.
14538
14539 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14540 (active_vbe_mode_info): ... this. All users updated.
14541 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14542 All users updated.
14543 (initial_mode): Rename to ...
14544 (initial_vbe_mode): ... this. All users updated.
14545 (mode_in_use): Rename to ..
14546 (vbe_mode_in_use): ... this. All users updated.
14547 (mode_list): Rename to ..
14548 (vbe_mode_list): ... this. All users updated.
14549 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14550 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14551 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14552 'mode_list_size' to 'vbe_mode_list_size'.
14553 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14554 'best_mode_info' to 'best_vbe_mode_info' and
14555 'best_mode' to 'best_vbe_mode'
14556
6025fcd7 145572009-08-17 Michal Suchanek <hramrach@centrum.cz>
14558
14559 Remove duplicate grub_video_fb_get_video_ptr.
14560
14561 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14562 (grub_video_fb_get_video_ptr): ... this.
14563 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14564 * video/fb/fbutil.c: Add comment about addressing.
14565 (get_data_ptr): Rename to ...
14566 (grub_video_fb_get_video_ptr): ... this. All users updated.
14567 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14568
cc8c6faf 145692009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14570
14571 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14572 grub_dprintf() that was just added.
14573
08aa61f0 145742009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14575
14576 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14577 (DEFAULT_VIDEO_MODE): Remove macros.
14578 (grub_linux_boot): Remove assumption that Linux has FB support,
14579 and use "text" as default video mode.
14580
7cef4f75 145812009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14584 grub_dprintf.
14585 * fs/fat.c (grub_fat_read_data): Likewise.
14586
e1f39873 145872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14590 payload.
14591 (grub_module): Likewise.
14592
c166d79e 145932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14596 mbi->cmdline but free playground.
14597
c60cee8e 145982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 Handle group offset on UFS1.
14601
14602 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14603 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14604
c0d8b5d4 146052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 Split ufs.mod into ufs1.mod and ufs2.mod.
14608
14609 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14610 (grub_fstest_SOURCES): Likewise.
14611 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14612 (ufs_mod_SOURCES): Remove.
14613 (ufs_mod_CFLAGS): Likewise.
14614 (ufs_mod_LDFLAGS): Likewise.
14615 (ufs1_mod_SOURCES): New variable.
14616 (ufs1_mod_CFLAGS): Likewise.
14617 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14618 (ufs2_mod_SOURCES): New variable.
14619 (ufs2_mod_CFLAGS): Likewise.
14620 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14622 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14623 Likewise.
14624 (grub_emu_SOURCES): Likewise.
14625 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14626 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14627 (grub_setup_SOURCES): Likewise.
14628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14629 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14630 (grub_setup_SOURCES): Likewise.
14631 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14632 Likewise.
14633 * fs/ufs2.c: New file.
14634 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14635
d3539132 146362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 Framebuffer split.
14639
14640 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14641 subsystem at the end.
14642 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14643 (video_fb_mod_SOURCES): New variable.
14644 (video_fb_mod_CFLAGS): Likewise.
14645 (video_fb_mod_LDFLAGS): Likewise.
14646 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14647 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14648 * video/i386/pc/vbeblit.c: Moved from here ...
14649 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14650 * video/i386/pc/vbefill.c: Moved from here ...
14651 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14652 * video/i386/pc/vbeutil.c: Moved from here ...
14653 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14654 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14655 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14656 * include/grub/i386/pc/vbefill.h: Moved from here ...
14657 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14658 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14659 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14660 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14661 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14662 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14663 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14664 (grub_video_adapter): Added 'get_info_and_fini'.
14665 (grub_video_get_info_and_fini): New prototype.
14666 (grub_video_set_mode): make modestring const char *.
14667 * loader/i386/linux.c (grub_linux_setup_video): Use
14668 grub_video_get_info_and_fini.
14669 (grub_linux_boot): Move modesetting just before booting.
14670 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14671 grub_video_get_info_and_fini.
14672 * video/i386/pc/vbe.c: Moved framebuffer part ...
14673 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14674 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14675 grub_video_fbstd_colors and grub_video_fb_set_palette.
14676 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14677 grub_video_fb_init.
14678 (grub_video_vbe_fini): Use grub_video_fb_fini.
14679 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14680 render_target and use grub_video_fb_set_active_render_target and
14681 grub_video_fb_set_palette.
14682 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14683 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14684 (grub_video_vbe_adapter): Use framebuffer.
14685 * video/video.c (grub_video_get_info_and_fini): New function.
14686 (grub_video_set_mode): Make modestring const char *.
14687 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14688 values are already initialised.
14689
d404ee56 146902009-08-14 Pavel Roskin <proski@gnu.org>
14691
14692 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14693 ABS and APPLE_CC.
14694 * boot/i386/pc/diskboot.S: Likewise.
14695 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14696 sectors allow compilation on MacOSX.
14697 * conf/i386-pc.rmk: Enable unconditional compilation of
14698 lnxboot.img.
14699
9a10df16 147002009-08-13 Colin Watson <cjwatson@ubuntu.com>
14701
14702 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14703 * util/grub.d/00_header.in: Enter interruptible sleep if
14704 GRUB_HIDDEN_TIMEOUT is set.
14705
be3c9ca7 147062009-08-13 Yves Blusseau <blusseau@zetam.org>
14707
14708 * include/grub/symbol.h: Add the LOCAL macro.
14709 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14710 starting with "L_".
14711
1f9e557e 147122009-08-13 Pavel Roskin <proski@gnu.org>
14713
9ca62843 14714 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14715 any modern compilers we support.
14716
1f9e557e 14717 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14718 Use local labels starting with "L_" so that Apple assembler
14719 knows they are local.
14720
81623db6 147212009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14722
14723 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14724 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14725 (bsd_kernel_types): ... this enum.
14726
14727 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14728 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14729 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14730
14731 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14732 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14733 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14734 messages.
14735
f5d35e7a 147362009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14737
14738 * util/grub-dumpdevtree: Moved from here ...
14739 * util/i386/efi/grub-dumpdevtree: ... to here.
14740 (hexify): New function. Converts a string to its hex version.
14741 Generate hex versions of "efi" and "device-properties" by calling
14742 hexify() on the ASCII strings rather than by hardcoding numbers.
14743
d1e1d527 147442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14745
14746 * fs/jfs.c: Update copyright year.
14747
1ebbe064 147482009-08-08 Felix Zielcke <fzielcke@z-51.de>
14749
14750 * util/grub.d/00_header.in: Fix a comment.
14751 * util/grub.d/10_linux.in: Likewise.
14752 * util/grub.d/10_windows.in: Likewise.
14753 * util/grub.d/10_hurd.in: Likewise.
14754
a78c8d24 147552009-08-08 Felix Zielcke <fzielcke@z-51.de>
14756
14757 * util/grub-mkconfig.in: Allow the user to specify the used font
14758 with GRUB_FONT.
14759
29a6b9e8 147602009-08-08 Pavel Roskin <proski@gnu.org>
14761
b5f16cc4 14762 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14763 available, xfs.mod needs it now.
14764
2f5cb827 14765 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14766 the "g" modifier in sed when the intention is to strip something
14767 once. This fixes comparison of kernels with multiple dashes.
14768
29a6b9e8 14769 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14770 on it. Add missing space before closing bracket. Fix
14771 misleading formatting.
14772
892a3d98 147732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14774
14775 * docs/grub.texi: Major overhaul. Remove all sections that are
14776 specific to GRUB Legacy, or mostly composed of Legacy-specific
14777 information.
14778
ed94253f 147792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14780
14781 * docs/version.texi: New file. Provides version information for
14782 grub.texi.
14783
126d6628 147842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14785
14786 * docs/grub.texi: Update CVS information to SVN.
14787 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14788
998b5aa9 147892009-08-07 Felix Zielcke <fzielcke@z-51.de>
14790
14791 * util/grub-mkconfig.in: Remove a wrong `fi'.
14792
818e094a 147932009-08-07 Felix Zielcke <fzielcke@z-51.de>
14794
14795 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14796 (grub_jfs_uuid): New function.
14797 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14798
b969c52f 147992009-08-07 Felix Zielcke <fzielcke@z-51.de>
14800
14801 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14802 of it to ...
14803 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14804 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14805
7a4894cc 148062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14807
14808 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14809 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14810 Update all users.
14811
14812 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14813 not just "vmlinu[zx]".
14814 Moved from here ...
14815 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14816 all users.
14817
14818 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14819 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14820 all users.
14821
4e2171f8 148222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 * util/grub.d/10_freebsd.in: Use an absolute device path for
14825 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14826
6dcfcb32 148272009-08-06 Felix Zielcke <fzielcke@z-51.de>
14828
14829 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14830 handling of multiple abstraction modules.
14831
f56a8756 148322009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14833
14834 Fix a bug resulting in black screen when loading Linux using a
14835 packed video mode.
14836
14837 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14838 function.
14839
14840 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14841 (grub_vbe_bios_getset_dac_palette_width): New function.
14842 (grub_vbe_bios_get_dac_palette_width)
14843 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14844 grub_vbe_bios_getset_dac_palette_width()).
14845
14846 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14847 check for return status.
14848 (grub_vbe_get_video_mode_info): When getting information for a packed
14849 mode (<= 8 bpp), obtain DAC palette width using
14850 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14851 {red,green,blue}_mark_size.
14852
222671b2 148532009-08-04 Felix Zielcke <fzielcke@z-51.de>
14854
ecb1a6d9 14855 * commands/search.c (options): Fix help output to match actual code.
222671b2 14856
f84114f5 148572009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14860 of homegrown code.
14861
bd288a20 148622009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14863
14864 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14865 on XFS or ReiserFS.
14866
8aab5e25 148672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Support Apple partition map with sector size different from 512 bytes.
14870
14871 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14872 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14873 and 'apart.partmap_size'.
14874
6ad6258a 148752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
148762009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14877
14878 Fix cpuid command.
14879
14880 * commands/i386/cpuid.c (options): New variable.
14881 (grub_cmd_cpuid): Return real error.
14882 (GRUB_MOD_INIT(cpuid)): Declare options.
14883
67459bc6 148842009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14887 valid.
14888
fbc6ab54 148892009-07-31 Bean <bean123ch@gmail.com>
14890
14891 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14892 log2_inode.
14893 (grub_fshelp_node): Move inode field to the end.
14894 (grub_xfs_data): Remove inode field.
14895 (grub_xfs_inode_block): Calculate inode size using sblock.
14896 (grub_xfs_inode_offset): Likewise.
14897 (grub_xfs_read_inode): Calculate inode size using sblock.
14898 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14899 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14900 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14901 to match inode size.
14902 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14903 not accessible when data is null.
14904 (grub_xfs_open): Likewise.
14905
f45d6cfc 149062009-07-31 Bean <bean123ch@gmail.com>
14907
14908 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14909 Don't change pv->disk if it's already set.
14910
14911 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14912 (grub_raid_register): ... here.
14913 (grub_raid_rescan): Removed.
14914
14915 * include/grub/raid.h (grub_raid_rescan): Removed.
14916
14917 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14918 (fstest): Replace grub_raid_rescan with module fini function followed
14919 by init function.
14920
14921 * util/grub-probe.c: Add include file <grub/raid.h>.
14922 (probe_raid_level): New function.
14923 (probe): Detect abstraction by walking the disk device, support two
14924 level of abstraction (LVM on RAID) when detecting partition map.
14925
24443b5a 149262009-07-31 Pavel Roskin <proski@gnu.org>
14927
14928 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14929 to grub_zalloc(), it was erroneous.
14930 Reported by Bean <bean123ch@gmail.com>
14931
a275d9e7 149322009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14935 embedding zone, not only the first one.
a275d9e7 14936
56c5a47f 149372009-07-29 Joe Auricchio <jauricchio@gmail.com>
14938
14939 * term/gfxterm.c (clear_char): New function.
14940 (grub_virtual_screen_setup): Use clear_char.
14941 (scroll_up): Likewise.
14942 (grub_virtual_screen_cls): Likewise.
14943
67bb323a 149442009-07-29 Felix Zielcke <fzielcke@z-51.de>
14945
14946 * util/deviceiter.c (get_acceleraid_disk_name): New static
14947 function.
14948 (grub_util_iterate_devices): Handle Accelraid devices.
14949 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14950
388a7c75 149512009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14954 separator for the suggested gfxpayload string (';' collides with the
14955 parser and needs escaping).
14956
3bb7abcf 149572009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14960 Clear direction flag before jumping to OS.
14961 (grub_multiboot2_real_boot): Likewise.
14962
2ddd36d7 149632009-07-28 Felix Zielcke <fzielcke@z-51.de>
14964
14965 * util/i386/pc/grub-install: Fix parsing of --disk-module
14966 option.
14967
c521b62b 149682009-07-28 Felix Zielcke <fzielcke@z-51.de>
14969
14970 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14971 when embedding.
14972
880e0a0c 149732009-07-26 Felix Zielcke <fzielcke@z-51.de>
14974
14975 * util/grub-mkconfig.in (package_version): New variable.
14976 Use it do display the version.
14977
2366e356 149782009-07-25 Felix Zielcke <fzielcke@z-51.de>
14979
14980 * kern/file.c (grub_file_open): Revert to previous check with
14981 grub_errno.
14982
7ad8c80e 149832009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14986 from help line. It's out of sync with code.
14987
72b9658b 149882009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14991 entries on failed boot.
14992
77435277 149932009-07-25 Felix Zielcke <fzielcke@z-51.de>
14994
14995 * kern/file.c (grub_file_open): Fix an error check.
14996
fcaa8b21 149972009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14998
35d16c74 14999 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15000 partition map couldn't be identified.
fcaa8b21 15001
48904cd1 150022009-07-23 Pavel Roskin <proski@gnu.org>
15003
ef3c317f 15004 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15005 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15006 case of little endian words becomes just an optimization.
15007 Respect const modifier.
ad8ea1f4 15008 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 15009
48904cd1 15010 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15011 to avoid loss of upper bits if align is unsigned and shorter
15012 than addr.
15013
260c9a89 150142009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 UUID support for UFS
15017
15018 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15019 (grub_ufs_uuid): New function.
15020 (grub_ufs_fs): add .uuid
15021
f76ce889 150222009-07-21 Pavel Roskin <proski@gnu.org>
15023
15024 * kern/dl.c (grub_dl_check_header): Make static.
15025
6a6cbcaf 150262009-07-21 Felix Zielcke <fzielcke@z-51.de>
15027
15028 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15029 add drivemap for Vista. It breaks Windows 7.
15030
cffcddb2 150312009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15034 128 bytes
15035
1ef44b80 150362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 Add BFS support
15039
15040 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15041 (grub_fstest_SOURCES): Likewise.
15042 (pkglib_MODULES): Add befs.mod.
15043 (befs_mod_SOURCES): New variable.
15044 (befs_mod_CFLAGS): Likewise.
15045 (befs_mod_LDFLAGS): Likewise.
15046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15050 (grub_setup_SOURCES): Likewise.
15051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15053 (grub_setup_SOURCES): Likewise.
15054 * fs/befs.c: New file.
15055 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15056 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15057 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15058 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15059 (B_KEY_INDEX_ALIGN): New declaration.
15060 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15061 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15062 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15063 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15064 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15065 (grub_afs_mount) [MODE_BFS]: Likewise.
15066 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15067 (grub_afs_fs): Use GRUB_AFS_FSNAME
15068 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15069 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15070 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15071 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15072
4f253044 150732009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15074
15075 * util/getroot.c (find_root_device): Add support for MacOSX.
15076 * util/hostdisk.c: Likewise.
15077
57a55913 150782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * font/font.c (find_glyph): Check whether a font is present to avoid
15081 segmentation fault.
75421ca9 15082
150832009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 15084
15085 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
15086
e98cd0c2 150872009-07-20 Pavel Roskin <proski@gnu.org>
15088
15089 * configure.ac: Trim excessively wordy excuses.
15090
1d2d169a 150912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 Add symlink, mtime and label support to AtheFS.
15094
15095 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
15096 (grub_afs_iterate_dir): Handle symlinks.
15097 (grub_afs_open): Use grub_afs_read_symlink.
15098 (grub_afs_dir): Likewise.
15099 Pass mtime.
15100 (grub_afs_label): New function.
15101 (grub_afs_fs): Add grub_afs_label.
15102 (grub_afs_read_symlink): New function.
15103
186f3189 151042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 Fix AtheFS support.
15107
15108 * fs/afs.c: Fix comments style.
15109 (grub_afs_blockrun): Declare as packed.
15110 (grub_afs_datastream): Likewise.
15111 (grub_afs_bnode): Likewise.
15112 (grub_afs_btree): Likewise.
15113 (grub_afs_sblock): Likewise.
15114 Declare `name' as char.
15115 (grub_afs_inode): Declare as packed.
15116 Change void *vnode to grub_uint32_t unused.
15117 (grub_afs_iterate_dir): Check that key_size is positive.
15118 (grub_afs_mount): Don't read superblock twice.
75421ca9 15119 (grub_afs_dir): Don't free node in case of error,
186f3189 15120 grub_fshelp_find_file already handles this.
15121 (grub_afs_open): Likewise.
15122
5680109e 151232009-07-19 Pavel Roskin <proski@gnu.org>
15124
15125 * Makefile.in: Remove LIBLZO and enable_lzo.
15126 * conf/i386-pc.rmk: Remove lzo support.
15127 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
15128 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
15129 support.
15130 * kern/i386/pc/lzo1x.S: Remove.
15131 * kern/i386/pc/startup.S: Remove lzo support.
15132 * util/i386/pc/grub-mkimage.c: Likewise.
15133
ac70fa32 151342009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
15137 * fs/xfs.c (grub_xfs_dir): Likewise.
15138 * fs/afs.c (grub_afs_dir): Likewise.
15139 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
15140 (grub_iso9660_open): Likewise.
15141 * fs/jfs.c (grub_jfs_open): Likewise.
15142 * fs/ext2.c (grub_ext2_dir): Likewise.
15143 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
15144 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 15145
eab58da2 151462009-07-16 Pavel Roskin <proski@gnu.org>
15147
d2838156 15148 * configure.ac: Never add "-c" to CFLAGS.
15149
55c70904 15150 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
15151
43e6200c 15152 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
15153 grub_cv_cc_efiemu should be used.
15154
ce7a733d 15155 * configure.ac: Typo fixes.
15156
eab58da2 15157 * kern/mm.c (grub_zalloc): New function.
15158 (grub_debug_zalloc): Likewise.
15159 * include/grub/mm.h: Declare grub_zalloc() and
15160 grub_debug_zalloc().
15161 * util/misc.c (grub_zalloc): New function.
15162 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
15163 instead of grub_malloc(), remove unneeded initializations.
15164 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
15165 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
15166 * commands/parttool.c (grub_cmd_parttool): Likewise.
15167 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15168 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
15169 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
15170 * disk/usbms.c (grub_usbms_finddevs): Likewise.
15171 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
15172 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
15173 (grub_cmd_efiemu_pnvram): Likewise.
15174 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
15175 * fs/iso9660.c (grub_iso9660_mount): Likewise.
15176 (grub_iso9660_iterate_dir): Likewise.
15177 * fs/jfs.c (grub_jfs_opendir): Likewise.
15178 * fs/ntfs.c (list_file): Likewise.
15179 (grub_ntfs_mount): Likewise.
15180 * kern/disk.c (grub_disk_open): Likewise.
15181 * kern/dl.c (grub_dl_load_core): Likewise.
15182 * kern/elf.c (grub_elf_file): Likewise.
15183 * kern/env.c (grub_env_context_open): Likewise.
15184 (grub_env_set): Likewise.
15185 (grub_env_set_data_slot): Likewise.
15186 * kern/file.c (grub_file_open): Likewise.
15187 * kern/fs.c (grub_fs_blocklist_open): Likewise.
15188 * loader/i386/multiboot.c (grub_module): Likewise.
15189 * loader/xnu.c (grub_xnu_create_key): Likewise.
15190 (grub_xnu_create_value): Likewise.
15191 * normal/main.c (grub_normal_add_menu_entry): Likewise.
15192 (read_config_file): Likewise.
15193 * normal/menu_entry.c (make_screen): Likewise.
15194 * partmap/sun.c (sun_partition_map_iterate): Likewise.
15195 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
15196 * script/sh/script.c (grub_script_parse): Likewise.
15197 * video/bitmap.c (grub_video_bitmap_create): Likewise.
15198 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15199 * video/readers/png.c (grub_png_output_byte): Likewise.
15200 (grub_video_reader_png): Likewise.
15201
830afef7 152022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 15203
15204 Enable all targets that can be built by default
15205
830afef7 15206 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 15207 grub-mkfont and grub-fstest if they can be built
15208
ee293aee 152092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 Fix hang and segmentation fault in grub-emu-usb
15212
15213 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
15214 * util/usb.c (grub_libusb_devices): likewise
15215 (grub_libusb_init): rename to ...
15216 (GRUB_MOD_INIT (libusb)):...this
15217 (grub_libusb_fini): rename to ..
15218 (GRUB_MOD_FINI (libusb)):...this
15219 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15220 * include/grub/disk.h (grub_raid_init): removed, it's useless
15221 (grub_raid_fini): likewise
15222 (grub_lvm_init): likewise
15223 (grub_lvm_fini): likewise
15224 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15225 by grub_init_all
15226
94414221 152272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 Fix libusb
15230
15231 * Makefile.in (LIBUSB): new macro
15232 * genmk.rb (Utility/print_tail): new method
15233 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15234 (top level): call util.print_tail at the end.
15235
59ade63d 152362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 Make FreeBSD accept zpool.cache
15239
15240 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15241 type is /boot/zfs/zpool.cache
15242
a58da8c7 152432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 Fix 64-bit efiemu
15246
15247 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15248 correct wrong typedef
15249 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15250
20591577 152512009-07-15 Pavel Roskin <proski@gnu.org>
15252
560ca572 15253 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15254 * kern/disk.c (struct grub_disk_cache): Likewise.
15255
e8e8e4fd 15256 * commands/probe.c (options): Typo fix.
15257
fde24e10 15258 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15259 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15260 accordingly.
15261 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15262
379c54c1 15263 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15264 the end of "Error" to make the message more readable.
15265
7bd8f5bf 15266 * boot/i386/pc/boot.S (kernel_segment): Remove.
15267 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15268 for destination.
15269
40b132c5 15270 * boot/i386/pc/boot.S (boot_version): Remove.
15271 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15272 Remove.
15273
20591577 15274 * include/grub/i386/pc/boot.h: Sort all offsets.
15275 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15276 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15277 * boot/i386/pc/boot.S: Assert location of every offset listed in
15278 include/grub/i386/pc/boot.h.
15279
2df32b2c 152802009-07-13 Pavel Roskin <proski@gnu.org>
15281
44b5d879 15282 * include/grub/i386/coreboot/machine.h: Rename
15283 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15284 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15285 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15286
17dc3751 15287 * kern/dl.c: Force native word size to suppress warnings when
15288 compiling grub-emu.
15289
2df32b2c 15290 * kern/device.c (grub_device_iterate): Change struct part_ent to
15291 hold the name, not a pointer to it. Use one grub_malloc() per
15292 partition, not two. Free partition_name if grub_malloc() fails.
15293 Set ents to NULL only before grub_partition_iterate() is called.
15294
75c59f59 152952009-07-11 Bean <bean123ch@gmail.com>
15296
15297 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15298 childname.
15299
0ae1bf88 153002009-07-10 Bean <bean123ch@gmail.com>
153012009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15302
15303 * kern/ieee1275/openfw.c (grub_children_iterate)
15304 (grub_devalias_iterate): Fix size evaluation for property or path
15305 strings, which was broken since r2132.
15306
8279cade 153072009-07-07 Pavel Roskin <proski@gnu.org>
15308
7d8a52d3 15309 * commands/search.c (search_file): Merge into ...
15310 (search_fs): ... this. Accept search type as argument.
15311 (grub_cmd_search): Pass search type to search_fs().
15312
25f9a05a 15313 * include/grub/util/console.h: New file.
15314 * util/console.c: Use it instead of grub/machine/console.h.
15315 * util/grub-emu.c: Likewise.
15316
8279cade 15317 * lib/arg.c (find_long_option): Remove.
15318 (find_long): Add `len' argument, make `s' const char *.
15319 (grub_arg_parse): Parse long options in place, not in a
15320 temporary buffer.
15321
4a11b60f 153222009-07-06 Pavel Roskin <proski@gnu.org>
15323
99f68041 15324 * commands/search.c (search_fs): Fix potential NULL pointer
15325 dereference.
15326
4a11b60f 15327 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15328 function pointer.
15329
e110f4de 153302009-07-06 Daniel Mierswa <impulze@impulze.org>
15331
15332 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15333 comparison.
15334
46eeb6a2 153352009-07-05 Pavel Roskin <proski@gnu.org>
15336
bab74958 15337 * include/grub/i386/linux.h (struct linux_kernel_params):
15338 Restore padding3, it's still needed.
15339
46eeb6a2 15340 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15341 FreeBSD.
15342 * util/osdetect.lua: Likewise.
15343
b4a1dc79 153442009-07-05 Bean <bean123ch@gmail.com>
15345
15346 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15347
15348 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15349 (grub_lua_getenv): Likewise.
15350 (grub_lua_setenv): Likewise.
15351 (save_errno): New function.
15352 (push_result): Likewise.
15353 (grub_lua_enum_device): Likewise.
15354 (grub_lua_enum_file): Likewise.
15355 (grub_lua_file_open): Likewise.
15356 (grub_lua_file_close): Likewise.
15357 (grub_lua_file_seek): Likewise.
15358 (grub_lua_file_read): Likewise.
15359 (grub_lua_file_getline): Likewise.
15360 (grub_lua_file_getsize): Likewise.
15361 (grub_lua_file_getpos): Likewise.
15362 (grub_lua_file_eof): Likewise.
15363 (grub_lua_file_exist): Likewise.
15364 (grub_lua_add_menu): Likewise.
15365
15366 * script/lua/grub_lua.h (isupper): New inline function.
15367 (islower): Likewise.
15368 (ispunct): Likewise.
15369 (isxdigit): Likewise.
15370 (strcspn): Change to normal function.
15371 (strpbkr): New function declaration.
15372 (memchr): Likewise.
15373
15374 * script/lua/grub_main.c (scan_str): New function.
15375 (strcspn): Likewise.
15376 (strpbrk): Likewise.
15377 (memchr): Likewise.
15378
15379 * script/lua/linit.c (lualibs): Enable the string library.
15380
15381 * util/osdetect.lua: New file.
15382
2da92295 153832009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15384
15385 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15386 `capabilities' member.
15387
b2582ec9 153882009-07-02 Pavel Roskin <proski@gnu.org>
15389
15390 * genparttoollist.sh: Add missing newline at the end.
15391
32622956 153922009-07-01 Pavel Roskin <proski@gnu.org>
15393
87a7339e 15394 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15395
d23af54e 15396 * util/hostdisk.c (open_device): Remove `const' from
15397 `sysctl_size', as sysctlbyname() can change it (in this case it
15398 doesn't actually happen).
15399
c94b18a9 15400 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15401 using signed long int constants.
15402
c6cd3ef0 15403 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15404 constant to avoid a warning on FreeBSD.
15405
0df63420 15406 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15407 where it's needed.
15408
999577f1 15409 * Makefile.in: Install include/grub/machine symlink.
15410
6f41557f 15411 * Makefile.in: When installing symlinks, use "cp -fR", which
15412 works on FreeBSD and MacOSX.
15413 From Yves Blusseau <cl7m42e02@sneakemail.com>
15414
c8d22988 15415 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15416 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15417
1b96e952 15418 * util/misc.c: Move grub_reboot() and grub_halt() ...
15419 * util/grub-emu.c: ... here. Make main_env static.
15420 * include/grub/util/misc.h: Remove main_env.
15421
2ef0084d 15422 * kern/mm.c: Use correct format to print size_t.
15423
32622956 15424 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15425 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15426 * kern/powerpc/dl.c: Likewise.
15427 * kern/sparc64/dl.c: Likewise.
15428 * kern/x86_64/dl.c: Likewise.
15429
3f7f0cd0 154302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15431
15432 Fix grub-emu build on sparc64-ieee1275.
15433
75421ca9 15434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15436
211d06b5 154372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15438
15439 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15440 (grub_reboot, grub_halt): New functions.
15441
15442 * util/i386/pc/misc.c: Delete. Update all users.
15443 * util/sparc64/ieee1275/misc.c: Likewise.
15444 * util/powerpc/ieee1275/misc.c: Likewise.
15445
aaf53e3c 154462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15447
15448 * conf/i386.rmk (setjmp_mod_SOURCES)
15449 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15450 * conf/common.rmk (setjmp_mod_SOURCES)
15451 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
15452 to use $(target_cpu).
15453 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
15454 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
15455 * conf/powerpc-ieee1275.rmk: Likewise.
15456 * conf/sparc64-ieee1275.rmk: Likewise.
15457
15458 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
15459 $(target_cpu) for kern/$(target_cpu)/dl.c.
15460 * conf/i386-efi.rmk: Likewise.
15461 * conf/i386-ieee1275.rmk: Likewise.
15462 * conf/x86_64-efi.rmk: Likewise.
15463 * conf/i386-coreboot.rmk: Likewise.
15464 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
15465 $(target_cpu) for kern/$(target_cpu)/dl.c and for
15466 kern/$(target_cpu)/cache.S.
15467 * conf/sparc64-ieee1275.rmk: Likewise.
15468
a337130b 154692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15470
15471 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
15472 type to `grub_uint8_t', and adjust `padding9' accordingly.
15473
c6fe4d53 154742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15475
b09db61d 15476 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
15477
c6fe4d53 15478 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
15479 assembly in final jump, using register constraints.
15480
b09db61d 15481 (grub_linux_boot): For text mode, initialize `have_vga' using
15482 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
15483
15484 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
15485 right before the final jump.
15486
15487 Set `video_mode' to 0x3.
15488
15489 Document initialization of `video_page', `video_mode' and
15490 `video_ega_bx'.
15491
28333ad0 154922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15493
15494 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
15495 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 15496 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 15497
02164e1b 154982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15499
15500 Fix build on Debian / sparc.
15501
15502 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
15503
18b6c557 155042009-06-28 Pavel Roskin <proski@gnu.org>
15505
85f2aab6 15506 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
15507 fix a warning.
15508
18b6c557 15509 * util/grub.d/10_linux.in: Match SUSE style initrd names.
15510
ad760f81 155112009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15512
15513 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
15514 `err'.
15515
87a4623b 155162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15517
15518 Revert r2338.
15519
15520 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15521 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15522 grub_errno / grub_errmsg appropriately.
87a4623b 15523 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15524
8231fb77 155252009-06-27 Pavel Roskin <proski@gnu.org>
155262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15527
15528 * include/grub/dl.h: Include grub/elf.h.
15529 (struct grub_dl): Add symtab field.
15530 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15531 GRUB_MODULES_MACHINE_READONLY.
15532 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15533 of the header for read-only modules.
15534 (grub_dl_unload): Free mod->symtab for read-only modules.
15535 * kern/i386/dl.c: Use mod->symtab.
15536 * kern/powerpc/dl.c: Likewise.
15537 * kern/sparc64/dl.c: Likewise.
15538 * kern/x86_64/dl.c: Likewise.
15539
15540 * conf/i386-qemu.rmk: New file.
15541 * kern/i386/qemu/startup.S: Likewise.
15542 * kern/i386/qemu/mmap.c: Likewise.
15543 * boot/i386/qemu/boot.S: Likewise.
15544 * include/grub/i386/qemu/time.h: Likewise.
15545 * include/grub/i386/qemu/serial.h: Likewise.
15546 * include/grub/i386/qemu/kernel.h: Likewise.
15547 * include/grub/i386/qemu/console.h: Likewise.
15548 * include/grub/i386/qemu/boot.h: Likewise.
15549 * include/grub/i386/qemu/init.h: Likewise.
15550 * include/grub/i386/qemu/machine.h: Likewise.
15551 * include/grub/i386/qemu/loader.h: Likewise.
15552 * include/grub/i386/qemu/memory.h: Likewise.
15553
15554 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15555 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15556 [qemu] (pkglib_IMAGES): Add `boot.img'.
15557 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15558 [qemu] (boot_img_FORMAT): New variables.
15559 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15560 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15561 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15562 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15563 [qemu] (kernel_img_FORMAT): New variables.
15564
15565 * configure.ac: Recognise `i386-qemu'.
15566
15567 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15568 (for no compression).
15569 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15570 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15571 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15572 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15573 ifdefs).
15574
97fe384e 155752009-06-27 Pavel Roskin <proski@gnu.org>
15576
15577 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15578 read.
15579 * efiemu/prepare32.c: Likewise.
15580 * efiemu/prepare64.c: Likewise.
15581
c402ab17 155822009-06-26 Pavel Roskin <proski@gnu.org>
15583
15584 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15585 * include/grub/elf.h: Define symbols without "32" or "64" based
15586 on GRUB_TARGET_WORDSIZE.
15587 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15588 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15589 ELF definitions.
15590 * efiemu/loadcore64.c: Likewise.
15591 * loader/i386/bsd32.c: Likewise.
15592 * loader/i386/bsd64.c: Likewise.
15593 * kern/dl.c: Remove own ELF definitions.
15594 * util/i386/efi/grub-mkimage.c: Likewise.
15595
9bbdfd4d 155962009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15597
15598 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15599 segment 0x0 unconditionally, because the reference generated by
15600 GAS is an absolute address.
15601
a42ce6e9 156022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15603
15604 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15605 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15606
c952cf92 156072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15608
15609 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15610 indexes. Check for -f explicitly.
cc3752ad 15611 (search_file): Improve error message.
15612 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15613
132a0a59 156142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15615
15616 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15617 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15618
387a140c 156192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15620
15621 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15622 * conf/i386-ieee1275.rmk: Likewise.
15623 * conf/i386-coreboot.rmk: Likewise.
15624
15625 * kern/i386/pc/startup.S (grub_stop): Remove function.
15626 * kern/i386/ieee1275/startup.S: Likewise.
15627 * kern/i386/coreboot/startup.S: Likewise.
15628 * kern/i386/misc.S (grub_stop): New function.
15629
41da9665 156302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15631
15632 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15633 * kern/i386/realmode.S (real_to_prot): ... to here.
15634
bf337234 156352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15636
15637 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15638 with `kernel.img'.
15639 (kernel_elf_SOURCES): Rename to ...
15640 (kernel_img_SOURCES): ... this.
15641 (kernel_elf_HEADERS): Rename to ...
15642 (kernel_img_HEADERS): ... this. Update all users.
15643 (kernel_elf_ASFLAGS): Rename to ...
15644 (kernel_img_ASFLAGS): ... this.
15645 (kernel_elf_CFLAGS): Rename to ...
15646 (kernel_img_CFLAGS): ... this.
15647 (kernel_elf_LDFLAGS): Rename to ...
15648 (kernel_img_LDFLAGS): ... this.
15649 * conf/i386-coreboot.rmk: Likewise.
15650 * conf/powerpc-ieee1275.rmk: Likewise.
15651
15652 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15653 with "kernel.img".
15654
f52196ff 156552009-06-21 Pavel Roskin <proski@gnu.org>
15656
c3cee413 15657 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15658 to match nested functions.
15659 * loader/sparc64/ieee1275/linux.c: Likewise.
15660
f52196ff 15661 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15662
58750afc 156632009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15664
15665 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15666 all i386 platforms.
15667
15355c7d 156682009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15669
15670 Fix asm file handling on ELF, and remove workarounds.
15671
15672 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15673 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15674 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15675 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15676
3f3ec72b 156772009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Load BSD ELF modules
15680
15681 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15682 and loader/i386/bsd64.c
15683 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15684 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15685 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15686 (grub_freebsd_load_elfmodule32): New declaration
15687 (grub_freebsd_load_elfmoduleobj64): Likewise
15688 (grub_freebsd_load_elf_meta32): Likewise
15689 (grub_freebsd_load_elf_meta64): Likewise
15690 (grub_freebsd_add_meta): Likewise
15691 (grub_freebsd_add_meta_module): Likewise
15692 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15693 (grub_freebsd_add_meta_module): Likewise and move module-specific
15694 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15695 (grub_cmd_freebsd): Add elf-kernel specific parts
15696 based on grub_freebsd_add_meta_module
15697 (grub_cmd_freebsd_module): Add type parsing moved from
15698 grub_freebsd_add_meta_module
15699 (grub_cmd_freebsd_module_elf): New function
15700 (cmd_freebsd_module_elf): New variable
15701 (GRUB_MOD_INIT): Register freebsd_module_elf
15702 * loader/i386/bsd32.c: New file
15703 * loader/i386/bsd64.c: Likewise
15704 * loader/i386/bsdXX.c: Likewise
15705 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15706 (grub_elf64_load): Likewise
15707 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15708 All users updated
15709 (grub_elf64_load_hook_t): Likewise
15710
0db15301 157112009-06-21 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15714 variable.
15715 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15716 don't write a menu entry for recovery mode.
15717
546796c1 157182009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15719
15720 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15721 after it's no longer needed.
15722
cd7310d5 157232009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15724
15725 * include/grub/i386/loader.h (grub_linux_prot_size)
15726 (grub_linux_tmp_addr, grub_linux_real_addr)
15727 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15728 GRUB_MACHINE_PCBIOS.
15729 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15730 common grub_util_info() call to ...
15731 (generate_image): ... here.
15732 Fix use of uninitialized memory, comparison of signed with
15733 unsigned integers and memory leak.
15734 Remove bogus module address message.
15735
ab32d3b5 157362009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15739 grub_raid_register
15740 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15741
024ef597 157422009-06-19 Pavel Roskin <proski@gnu.org>
15743
15744 * configure.ac: Remove stray AC_MSG_CHECKING.
15745
3ac72b51 157462009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15749
e14cd814 157502009-06-18 Pavel Roskin <proski@gnu.org>
15751
15752 * conf/common.rmk: Add fs_file.mod.
15753 * disk/fs_file.c: New file.
15754 * include/grub/disk.h (enum grub_disk_dev_id): Add
15755 GRUB_DISK_DEVICE_FILE_ID.
15756
26586d98 157572009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 Fix build with Apple's toolchain. Part 2
15760
15761 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15762 a fake start
15763
26de2bcd 157642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Fix build with Apple's toolchain. Part 1
15767
15768 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15769 for long calls
15770 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15771 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15772 Apple's toolchain
15773
09b3490b 157742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 Fix warnings
15777
15778 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15779 (decomp_block): initialize ch
15780 use grub_memcpy instead of memcpy
15781
c22a006a 157822009-06-17 Pavel Roskin <proski@gnu.org>
15783
d3638678 15784 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15785 version, use declarations needed to use vga_text as the startup
15786 console.
15787
c22a006a 15788 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15789 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15790 the kernel.
15791 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15792 and grub_at_keyboard_fini(), it's done on module load and
15793 unload.
15794
05b129e0 157952009-06-17 Felix Zielcke <fzielcke@z-51.de>
15796
15797 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15798 file can't be found.
15799 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15800
cf24ed9e 158012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 Fix newline handling
15804
15805 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15806 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15807 (grub_script_yylex): don't segfault on unterminated script
15808 newline terminates command and variable
15809
74aa8e4b 158102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 avoid double grub_adjust_range call. Bug reported by David Simner
15813
15814 * kern/disk.c (grub_disk_write): change to raw disk access before
15815 calling disk_read
15816
1bd265f3 158172009-06-17 Colin Watson <cjwatson@ubuntu.com>
15818
15819 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15820 spaces, for the benefit of help2man.
15821 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15822
a2d08c06 158232009-06-16 Pavel Roskin <proski@gnu.org>
15824
15825 * kern/i386/halt.c: Include grub/machine/init.h.
15826 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15827
b97bcb19 158282009-06-16 Felix Zielcke <fzielcke@z-51.de>
15829
15830 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15831 drivemap menuentry.
15832
0644f96c 158332009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15834
15835 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15836 `echo' command.
15837
3ef17a2e 158382009-06-16 Pavel Roskin <proski@gnu.org>
15839
15840 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15841 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15842 save %dx, we only need %dl and we never change it.
15843 * boot/i386/pc/cdboot.S: Don't set the root drive.
15844 * boot/i386/pc/pxeboot.S: Likewise.
15845 * include/grub/i386/pc/boot.h: Remove
15846 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15847 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15848 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15849 * kern/i386/pc/init.c (make_install_device): Remove references
15850 to grub_root_drive.
15851 * kern/i386/pc/startup.S: Likewise.
15852 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15853
693fe637 158542009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 xnu_uuid command
15857
15858 * commands/xnu_uuid.c: new file
15859 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15860 (xnu_uuid_mod_SOURCES): new variable
15861 (xnu_uuid_mod_CFLAGS): likewise
15862 (xnu_uuid_mod_LDFLAGS): likewise
15863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15864 * conf/i386-ieee1275.rmk: likewise
15865 * conf/i386-pc.rmk: likewise
15866 * conf/powerpc-ieee1275.rmk: likewise
15867 * conf/sparc64-ieee1275.rmk: likewise
15868 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15869
c9da87d0 158702009-06-16 Pavel Roskin <proski@gnu.org>
15871
15872 * configure.ac: Avoid '==' in test command, it's not portable.
15873
9c6f4596 158742009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 Probe command
15877
15878 * commands/probe.c: new file
15879 * conf/common.rmk (pkglib_MODULES): add probe.mod
15880 (probe_mod_SOURCES): new variable
15881 (probe_mod_CFLAGS): likewise
15882 (probe_mod_LDFLAGS): likewise
15883 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15884 * conf/i386-ieee1275.rmk: likewise
15885 * conf/i386-pc.rmk: likewise
15886 * conf/powerpc-ieee1275.rmk: likewise
15887 * conf/sparc64-ieee1275.rmk: likewise
15888
70b7f9fd 158892009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Fix handling of string like \"hello\" and "a
15892 b"
15893
15894 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15895 (grub_script_yylex): fix parsing of quoting, escaping and newline
15896
71c79a6b 158972009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15898
dd74360c 15899 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15900 handling
dd74360c 15901
0644f96c 159022009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15903
15904 * util/grub-mkconfig.in: Fix parsing of --output option.
15905
e40893c3 159062009-06-12 Pavel Roskin <proski@gnu.org>
15907
15908 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15909 genmk.rb don't need to be generated or installed.
15910
3a1acfe2 159112009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * commands/i386/pc/drivemap_int13h.S: add more comments
15914
3a4575d4 159152009-06-11 Pavel Roskin <proski@gnu.org>
15916
0658e928 15917 * Makefile.in (uninstall): Uninstall manuals.
15918
ca0388f0 15919 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15920 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15921 and update-grub_lib in two places.
15922 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15923
e3b27c39 15924 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15925 a compiler warning.
15926
3a4575d4 15927 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15928 `entry_lo' to fix variable shadowing.
15929
af1f4f55 159302009-06-11 Christian Franke <franke@computer.org>
15931
15932 * kern/misc.c (__enable_execute_stack): Add missing return type
15933 to prevent gcc warning.
15934
5225e649 159352009-06-11 Felix Zielcke <fzielcke@z-51.de>
15936
15937 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15938
7d83bd47 159392009-06-11 Pavel Roskin <proski@gnu.org>
15940
c1cb63ba 15941 * Makefile.in: Don't rely on any scripts being executable.
15942 Always use $(SHELL) to run shell scripts.
15943
7d83bd47 15944 * configure.ac: Always define ___main if using -nostdlib. This
15945 fixes tests on Cygwin.
15946
948f48e7 159472009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15948
15949 UDF fix
15950
7d83bd47 15951 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15952 is in bytes and not in blocks
7d83bd47 15953
8ada9bc1 159542009-06-11 Pavel Roskin <proski@gnu.org>
15955
15956 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15957 warning.
15958
25ad2323 159592009-06-11 Felix Zielcke <fzielcke@z-51.de>
15960
15961 * util/grub.d/30_os-prober.in: Fix a comment. Source
15962 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15963 to set the root device. Place drivemap command in the generated
15964 chain entry.
15965
e65acb0c 159662009-06-11 Pavel Roskin <proski@gnu.org>
15967
15968 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15969 have long been resolved.
15970
f285fe2d 159712009-06-11 Colin Watson <cjwatson@ubuntu.com>
15972
bd47b0b5 15973 * util/grub.d/10_linux.in: Capitalise "Linux".
15974
f285fe2d 15975 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15976
a0c62e4e 159772009-06-11 Pavel Roskin <proski@gnu.org>
15978
b6783cb2 15979 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15980 fix a gcc warning and ensure that the function won't ever exit.
15981
dde032e8 15982 * kern/i386/ieee1275/init.c: Add missing prototype for
15983 grub_stop_floppy().
15984
22cd079d 15985 * loader/ieee1275/multiboot2.c [__i386__]: Include
15986 grub/cpu/multiboot.h.
15987
a0c62e4e 15988 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15989 casts to short - they are not portable and cause warnings. Fix
15990 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15991
63963d17 159922009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 Drivemap fixes
15995
15996 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15997 new function
15998 (grub_get_root_biosnumber_saved): new variable
15999 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16000 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 16001 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 16002 %dx after the call if necessary
16003 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16004 (boot_mod_SOURCES): remove
16005 (boot_mod_CFLAGS): remove
16006 (boot_mod_LDFLAGS): remove
16007 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16008 (boot_mod_SOURCES): new variable
16009 (boot_mod_CFLAGS): likewise
16010 (boot_mod_LDFLAGS): likewise
16011 * conf/i386-efi.rmk: likewise
16012 * conf/i386-ieee1275.rmk: likewise
16013 * conf/i386-pc.rmk: likewise
16014 * conf/powerpc-ieee1275.rmk: likewise
16015 * conf/sparc64-ieee1275.rmk: likewise
16016 * conf/x86_64-efi.rmk: likewise
16017 * include/grub/i386/pc/biosnum.h: new file
16018 * lib/i386/pc/biosnum.c: likewise
16019 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16020 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16021 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 16022
33abf7ae 160232009-06-10 Pavel Roskin <proski@gnu.org>
16024
5ac35b35 16025 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16026 Use separate variables. Read only the file size at the end, but
16027 not the checksum that we don't use.
16028
5c5215d5 16029 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16030 Adjust all callers.
16031
27d5fef7 16032 * kern/ieee1275/openfw.c: Remove libc includes.
16033 * kern/ieee1275/cmain.c: Likewise.
16034 * include/grub/ieee1275/ieee1275.h: Likewise.
16035
33abf7ae 16036 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16037 compiler warnings.
16038
19d50c2b 160392009-06-10 Felix Zielcke <fzielcke@z-51.de>
16040
16041 * Makefile.in: Remove all trailing whitespace.
16042 * conf/i386-pc.rmk: Likewise.
16043 * conf/powerpc-ieee1275.rmk: Likewise.
16044 * conf/sparc64-ieee1275.rmk: Likewise.
16045 * docs/grub.texi: Likewise.
16046 * docs/texinfo.tex: Likewise.
16047 * disk/fs_uuid.c: Likewise.
16048 * disk/lvm.c: Likewise.
16049 * disk/scsi.c: Likewise.
16050 * disk/ata.c: Likewise.
16051 * disk/ieee1275/ofdisk.c: Likewise.
16052 * disk/i386/pc/biosdisk.c: Likewise.
16053 * disk/host.c: Likewise.
16054 * disk/raid.c: Likewise.
16055 * disk/efi/efidisk.c: Likewise.
16056 * disk/usbms.c: Likewise.
16057 * disk/memdisk.c: Likewise.
16058 * disk/loopback.c: Likewise.
16059 * kern/powerpc/dl.c: Likewise.
16060 * kern/device.c: Likewise.
16061 * kern/dl.c: Likewise.
16062 * kern/sparc64/dl.c: Likewise.
16063 * kern/ieee1275/ieee1275.c: Likewise.
16064 * kern/term.c: Likewise.
16065 * kern/fs.c: Likewise.
16066 * kern/i386/dl.c: Likewise.
16067 * kern/i386/pc/startup.S: Likewise.
16068 * kern/i386/pc/init.c: Likewise.
16069 * kern/i386/pc/mmap.c: Likewise.
16070 * kern/i386/pc/lzo1x.S: Likewise.
16071 * kern/i386/ieee1275/init.c: Likewise.
16072 * kern/i386/realmode.S: Likewise.
16073 * kern/i386/tsc.c: Likewise.
16074 * kern/partition.c: Likewise.
16075 * kern/corecmd.c: Likewise.
16076 * kern/file.c: Likewise.
16077 * kern/efi/efi.c: Likewise.
16078 * kern/efi/init.c: Likewise.
16079 * kern/efi/mm.c: Likewise.
16080 * kern/main.c: Likewise.
16081 * kern/err.c: Likewise.
16082 * kern/env.c: Likewise.
16083 * kern/disk.c: Likewise.
16084 * kern/generic/millisleep.c: Likewise.
16085 * kern/generic/rtc_get_time_ms.c: Likewise.
16086 * kern/misc.c: Likewise.
16087 * kern/parser.c: Likewise.
16088 * genmk.rb: Likewise.
16089 * configure.ac: Likewise.
16090 * boot/i386/pc/diskboot.S: Likewise.
16091 * boot/i386/pc/pxeboot.S: Likewise.
16092 * boot/i386/pc/boot.S: Likewise.
16093 * boot/i386/pc/lnxboot.S: Likewise.
16094 * boot/i386/pc/cdboot.S: Likewise.
16095 * parttool/pcpart.c: Likewise.
16096 * video/readers/tga.c: Likewise.
16097 * video/video.c: Likewise.
16098 * video/bitmap.c: Likewise.
16099 * lib/envblk.c: Likewise.
16100 * lib/i386/setjmp.S: Likewise.
16101 * fs/xfs.c: Likewise.
16102 * fs/afs.c: Likewise.
16103 * fs/fat.c: Likewise.
16104 * fs/ntfs.c: Likewise.
16105 * fs/udf.c: Likewise.
16106 * fs/affs.c: Likewise.
16107 * fs/iso9660.c: Likewise.
16108 * fs/hfs.c: Likewise.
16109 * fs/fshelp.c: Likewise.
16110 * fs/ext2.c: Likewise.
16111 * fs/jfs.c: Likewise.
16112 * fs/reiserfs.c: Likewise.
16113 * fs/hfsplus.c: Likewise.
16114 * fs/minix.c: Likewise.
16115 * fs/cpio.c: Likewise.
16116 * fs/sfs.c: Likewise.
16117 * fs/ufs.c: Likewise.
16118 * efiemu/prepare.c: Likewise.
16119 * efiemu/loadcore_common.c: Likewise.
16120 * efiemu/runtime/efiemu.sh: Likewise.
16121 * efiemu/runtime/efiemu.S: Likewise.
16122 * efiemu/runtime/efiemu.c: Likewise.
16123 * efiemu/pnvram.c: Likewise.
16124 * efiemu/main.c: Likewise.
16125 * efiemu/i386/pc/cfgtables.c: Likewise.
16126 * efiemu/i386/loadcore64.c: Likewise.
16127 * efiemu/i386/loadcore32.c: Likewise.
16128 * efiemu/loadcore.c: Likewise.
16129 * efiemu/symbols.c: Likewise.
16130 * efiemu/mm.c: Likewise.
16131 * include/grub/autoefi.h: Likewise.
16132 * include/grub/datetime.h: Likewise.
16133 * include/grub/term.h: Likewise.
16134 * include/grub/hfs.h: Likewise.
16135 * include/grub/lvm.h: Likewise.
16136 * include/grub/i386/tsc.h: Likewise.
16137 * include/grub/i386/linux.h: Likewise.
16138 * include/grub/i386/xnu.h: Likewise.
16139 * include/grub/i386/efiemu.h: Likewise.
16140 * include/grub/i386/pc/biosdisk.h: Likewise.
16141 * include/grub/i386/pc/memory.h: Likewise.
16142 * include/grub/i386/pc/vbe.h: Likewise.
16143 * include/grub/parttool.h: Likewise.
16144 * include/grub/video.h: Likewise.
16145 * include/grub/memory.h: Likewise.
16146 * include/grub/fs.h: Likewise.
16147 * include/grub/partition.h: Likewise.
16148 * include/grub/xnu.h: Likewise.
16149 * include/grub/efi/api.h: Likewise.
16150 * include/grub/efi/pe32.h: Likewise.
16151 * include/grub/efi/memory.h: Likewise.
16152 * include/grub/multiboot.h: Likewise.
16153 * include/grub/usbdesc.h: Likewise.
16154 * include/grub/multiboot2.h: Likewise.
16155 * include/grub/acpi.h: Likewise.
16156 * include/grub/efiemu/efiemu.h: Likewise.
16157 * include/grub/disk.h: Likewise.
16158 * include/grub/ieee1275/ieee1275.h: Likewise.
16159 * include/grub/net.h: Likewise.
16160 * include/grub/machoload.h: Likewise.
16161 * include/grub/macho.h: Likewise.
16162 * include/multiboot.h: Likewise.
16163 * genmoddep.awk: Likewise.
16164 * normal/main.c: Likewise.
16165 * normal/menu_entry.c: Likewise.
16166 * normal/menu_viewer.c: Likewise.
16167 * normal/completion.c: Likewise.
16168 * normal/cmdline.c: Likewise.
16169 * normal/misc.c: Likewise.
16170 * normal/datetime.c: Likewise.
16171 * bus/usb/usbtrans.c: Likewise.
16172 * bus/usb/ohci.c: Likewise.
16173 * bus/usb/uhci.c: Likewise.
16174 * bus/usb/usb.c: Likewise.
16175 * mmap/efi/mmap.c: Likewise.
16176 * mmap/i386/pc/mmap_helper.S: Likewise.
16177 * mmap/i386/pc/mmap.c: Likewise.
16178 * mmap/i386/mmap.c: Likewise.
16179 * mmap/i386/uppermem.c: Likewise.
16180 * mmap/mmap.c: Likewise.
16181 * commands/acpi.c: Likewise.
16182 * commands/echo.c: Likewise.
16183 * commands/blocklist.c: Likewise.
16184 * commands/loadenv.c: Likewise.
16185 * commands/usbtest.c: Likewise.
16186 * commands/boot.c: Likewise.
16187 * commands/parttool.c: Likewise.
16188 * commands/search.c: Likewise.
16189 * commands/cat.c: Likewise.
16190 * commands/i386/pc/play.c: Likewise.
16191 * commands/i386/pc/drivemap.c: Likewise.
16192 * commands/i386/pc/vbeinfo.c: Likewise.
16193 * commands/i386/pc/acpi.c: Likewise.
16194 * commands/i386/pc/vbetest.c: Likewise.
16195 * commands/ls.c: Likewise.
16196 * commands/cmp.c: Likewise.
16197 * commands/test.c: Likewise.
16198 * commands/efi/acpi.c: Likewise.
16199 * commands/gptsync.c: Likewise.
16200 * commands/help.c: Likewise.
16201 * partmap/amiga.c: Likewise.
16202 * partmap/apple.c: Likewise.
16203 * partmap/acorn.c: Likewise.
16204 * partmap/pc.c: Likewise.
16205 * partmap/sun.c: Likewise.
16206 * partmap/gpt.c: Likewise.
16207 * script/sh/lexer.c: Likewise.
16208 * script/sh/function.c: Likewise.
16209 * font/font.c: Likewise.
16210 * font/font_cmd.c: Likewise.
16211 * loader/powerpc/ieee1275/linux.c: Likewise.
16212 * loader/efi/chainloader.c: Likewise.
16213 * loader/multiboot_loader.c: Likewise.
16214 * loader/macho.c: Likewise.
16215 * loader/i386/multiboot.c: Likewise.
16216 * loader/i386/linux.c: Likewise.
16217 * loader/i386/pc/linux.c: Likewise.
16218 * loader/i386/pc/multiboot2.c: Likewise.
16219 * loader/i386/pc/chainloader.c: Likewise.
16220 * loader/i386/pc/xnu.c: Likewise.
16221 * loader/i386/bsd_trampoline.S: Likewise.
16222 * loader/i386/efi/linux.c: Likewise.
16223 * loader/i386/multiboot_elfxx.c: Likewise.
16224 * loader/i386/bsd_helper.S: Likewise.
16225 * loader/i386/bsd.c: Likewise.
16226 * loader/i386/linux_trampoline.S: Likewise.
16227 * loader/i386/xnu_helper.S: Likewise.
16228 * loader/i386/xnu.c: Likewise.
16229 * loader/i386/bsd_pagetable.c: Likewise.
16230 * loader/i386/multiboot_helper.S: Likewise.
16231 * loader/xnu.c: Likewise.
16232 * loader/xnu_resume.c: Likewise.
16233 * io/gzio.c: Likewise.
16234 * term/efi/console.c: Likewise.
16235 * term/terminfo.c: Likewise.
16236 * term/ieee1275/ofconsole.c: Likewise.
16237 * term/i386/pc/serial.c: Likewise.
16238 * term/i386/pc/vesafb.c: Likewise.
16239 * term/i386/pc/vga.c: Likewise.
16240 * term/usb_keyboard.c: Likewise.
16241 * term/gfxterm.c: Likewise.
16242 * aclocal.m4: Likewise.
16243 * util/lvm.c: Likewise.
16244 * util/grub.d/30_os-prober.in: Likewise.
16245 * util/grub.d/10_hurd.in: Likewise.
16246 * util/console.c: Likewise.
16247 * util/grub-macho2img.c: Likewise.
16248 * util/grub-probe.c: Likewise.
16249 * util/hostfs.c: Likewise.
16250 * util/i386/pc/grub-mkimage.c: Likewise.
16251 * util/i386/pc/grub-setup.c: Likewise.
16252 * util/i386/efi/grub-mkimage.c: Likewise.
16253 * util/grub-mkconfig.in: Likewise.
16254 * util/raid.c: Likewise.
16255 * util/resolve.c: Likewise.
16256 * util/grub-mkdevicemap.c: Likewise.
16257 * util/grub-emu.c: Likewise.
16258 * util/getroot.c: Likewise.
16259 * util/hostdisk.c: Likewise.
16260 * util/usb.c: Likewise.
16261 * util/grub-editenv.c: Likewise.
16262 * util/misc.c: Likewise.
16263
d2d49665 162642009-06-10 Felix Zielcke <fzielcke@z-51.de>
16265
16266 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16267 `genparttoollist.sh'.
16268 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16269 Add `*.sh' to the list find searches for and change `mdate.sh'
16270 to `mdate-sh'.
16271
fe052e37 162722009-06-10 Pavel Roskin <proski@gnu.org>
16273
2763ac18 16274 * include/grub/multiboot2.h: Provide compatibility defines for
16275 multiboot2.h.
16276 * include/multiboot2.h: Include stdint.h only if needed, using
16277 angle brackets.
16278 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16279 grub/multiboot2.h.
16280 * loader/ieee1275/multiboot2.c: Likewise.
16281 * loader/multiboot2.c: Likewise.
16282 * loader/multiboot_loader.c: Likewise.
16283
437e6adc 16284 * configure.ac: Use -nostdlib when probing for the target. It
16285 should not be required to have libc for the target.
16286
06a6836c 16287 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16288 they fail without libc headers for the target.
16289 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16290 exports.
16291 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16292 preprocessor conditionals.
16293
fe052e37 16294 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16295 build system doesn't need to be aware of the tar.c internals.
16296
afd22553 162972009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16298
afd22553 16299 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16300
6b787c4f 163012009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16302
16303 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16304 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16305
163062009-06-09 Felix Zielcke <fzielcke@z-51.de>
16307
16308 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16309 aren't available if ata.mod gets used.
6b787c4f 16310
473d1e45 163112009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16312
473d1e45 16313 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16314 initialising controller.
473d1e45 16315 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16316
255a27d4 163172009-06-08 Felix Zielcke <fzielcke@z-51.de>
16318
16319 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16320 to choose between ata and biosdisk module on i386-pc.
16321
473d1e45 163222009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16323
d55842d8 16324 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16325 Subclass and Programming Interface fields in terms of the 3 byte
16326 Class Code register.
16327 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16328
fa5db0b1 16329 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16330 interface is OHCI. Add grub_dprintf for symmetry with
16331 bus/usb/uhci.c.
16332 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16333 interface is UHCI. Add interf variable for programming
16334 interface. Print interface with class/subclass.
16335
c0947beb 16336 * bus/usb/ohci.c: Set interf with correct field.
16337
69da8877 16338 * bus/usb/uhci.c: Remove unneeded doubled lines.
16339 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16340 Remove whitespace inside comment.
16341
9e172e30 163422009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16343
16344 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16345 as fallback an equivalent option without depth.
16346
de65ee2b 163472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 Not fail if unable to retrieve C/H/S on LBA disks
16350
473d1e45 16351 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16352 if unable to retrieve C/H/S on LBA disks
16353
b57ea2c9 163542009-06-08 Pavel Roskin <proski@gnu.org>
16355
16356 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16357 about aliasing.
16358
af361263 163592009-06-08 Felix Zielcke <fzielcke@z-51.de>
16360
16361 * Makefile.in (uninstall): Remove all $lib_DATA files.
16362
4c9ec6b3 163632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 Bugfix: install on partitionless device
16366
16367 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16368 is a whole disk
16369
e76fc924 163702009-06-08 Felix Zielcke <fzielcke@z-51.de>
16371
16372 * Makefile.in (uninstall): Remove all $include_DATA files.
16373
ba5a0d05 163742009-06-08 Felix Zielcke <fzielcke@z-51.de>
16375
16376 * commands/true.c: New file. Implement the true and false commands.
16377 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16378 (true_mod_SOURCES): New variable.
16379 (true_mod_CFLAGS): Likewise.
16380 (true_mod_LDFLAGS): Likewise.
16381
c8048e32 163822009-06-05 Colin D Bennett <colin@gibibit.com>
16383
16384 Optimized font character lookup using binary search instead of linear
16385 search. Fonts now are required to have the character index ordered by
16386 code point.
16387
16388 * font/font.c (load_font_index): Verify that fonts have ordered
16389 character indices.
16390 (find_glyph): Use binary search instead of linear search to find a
16391 character in a font.
16392
408305be 163932009-06-05 Michael Scherer <misc@mandriva.org>
16394
16395 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16396 uses case sensitive btree.
16397 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16398 only for case insensitive filesystems.
16399
8ee1e0d9 164002009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16403 * conf/common.rmk (search_mod_CFLAGS): likewise
16404
a9966eb1 164052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16406
473d1e45 16407 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16408 compensate a compiler bug
16409
9e7100fb 164102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16411
473d1e45 16412 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16413 instead of '\b'
473d1e45 16414
ede21d71 164152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 Definitions for creating asm symbols with Apple's CC
16418
16419 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16420 [APPLE_CC] (VARIABLE): likewise
16421
9dbf7653 164222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 Disable lnxboot.img when compiled
16425 with Apple's CC
16426
16427 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16428 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16429 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16430 [! APPLE_CC] (CODE_LENG): skip
16431 [! APPLE_CC] (setup_sects): likewise
16432 [! APPLE_CC]: skip filling
473d1e45 16433
e93cdc3d 164342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 Address in trampolines based on 32-bit registers when compiled
16437 with Apple's CC
16438
473d1e45 16439 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16440 for addresses
16441 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16442
6c688477 164432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16446
16447 * kern/misc.c [APPLE_CC] (memcpy): new function
16448 [APPLE_CC] (memmove): likewise
16449 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16450 (memcpy): define alias conditionally on !APPLE_CC
6c688477 16451 (memset): likewise
16452 (abort): likewise
16453 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
16454 APPLE_CC are defined
16455 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
16456 (grub_assert_fail): make prototype conditional
16457
e37ffc5c 164582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
16461
473d1e45 16462 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
16463 grub-macho2img
e37ffc5c 16464 (CLEANFILES): add grub-macho2img
16465 (grub_macho2img_SOURCES): new variable
16466 * kern/i386/pc/startup.S (bss_start): new variable
16467 (bss_end): likewise
16468 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
16469 * util/grub-macho2img.c: new file
16470
cf00df31 164712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 Use objconv when compiling with Apple's CC
16474
16475 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
16476 (efiemu64.o): likewise
16477 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
16478 when compiling with Apple's CC
16479 (efiemu64_s.o): likewise
16480 * configure.ac: check for objconv when compiling with Apple's CC
16481 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 16482
d119a20c 164832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 Define segment as well as section when compiling with
16486 Apple's CC
16487
16488 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
16489 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
16490 (efiemu_convert_pointer): likewise
16491 (efiemu_set_virtual_address_map): likewise
16492 (efiemu_convert_pointer): likewise
16493 (efiemu_getcrc32): likewise
16494 (init_crc32_table): likewise
16495 (reflect): likewise
16496 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
16497 (GRUB_MOD_DEP): likewise
473d1e45 16498
c8600122 164992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 Allow a compilation without -mcmodel=large
16502
16503 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
16504 when compiled without -mcmodel=large
473d1e45 16505 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 16506 without -mcmodel=large
473d1e45 16507 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 16508 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 16509
e8df1d4e 165102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 Remove nested functions in efiemu core
16513
16514 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 16515
cc6c3ac1 165162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
16519
16520 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16521 temporary storage
473d1e45 16522 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16523 using Apple's CC
cc6c3ac1 16524 (grub_cpu_is_tsc_supported): likewise
16525 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16526
3e325901 165272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16528
16529 Absolute addressing through constant with Apple's cc
16530
16531 * kern/i386/pc/startup.S: Define necessary constants
16532 and address through it when using ABS with Apple's CC
16533 * boot/i386/pc/diskboot.S: likewise
16534 * boot/i386/pc/boot.S: likewise
16535 * boot/i386/pc/lnxboot.S: likewise
16536 * boot/i386/pc/cdboot.S: likewise
16537 * mmap/i386/pc/mmap_helper.S: likewise
16538 * commands/i386/pc/drivemap_int13h.S: likewise
16539
2b167a72 165402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 Check if compiler is apple cc
16543
16544 * Makefile.in (ASFLAGS): new variable
16545 (TARGET_ASFLAGS): likewise
16546 (TARGET_MODULE_FORMAT): likewise
16547 (TARGET_APPLE_CC): likewise
16548 (OBJCONV): likewise
16549 (TARGET_IMG_CFLAGS): likewise
16550 (TARGET_CPPFLAGS): add includedir
16551 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16552 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16553 Check for linker script only if compiler isn't Apple's CC
16554 (TARGET_MODULE_FORMAT): set
16555 (TARGET_APPLE_CC): likewise
16556 (TARGET_ASFLAGS): likewise
16557 (ASFLAGS): likewise
16558 Check for objcopy only if compiler isn't Apple's CC
16559 Check for BSS symbol only if compiler isn't Apple's CC
16560 * genmk.rb: adapt nm options if we use Apple's utils
16561 * aclocal.m4 (grub_apple_cc): new test
16562 (grub_apple_target_cc): likewise
473d1e45 16563
fb14123e 165642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 Simplify sed expressions and improve awk
16567
16568 * Makefile.in (install-local): simplify sed expression
16569 * gencmdlist.sh: likewise
16570 * genmoddep.awk: avoid adding module as a dependency of itself
16571
5b889789 165722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 Add missing start symbols
16575
16576 * boot/i386/pc/boot.S: add start
fb14123e 16577 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16578
fd2bf2e3 165792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16582
16583 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16584 (relocate_addresses): consider both r_addend and value at offset
16585 (make_mods_section): zerofill modinfo and header
16586 (convert_elf): write prefix here
473d1e45 16587
5389763d 165882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 Use .asciz instead of .string
16591
16592 * i386/pc/diskboot.S: use .asciz instead of .string
16593 * i386/pc/boot.S: likewise
16594 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16595 (GRUB_MOD_NAME): likewise
473d1e45 16596
3eb5ed4e 165972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 gfxpayload support
16600
16601 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16602 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16603 (grub_video_setup): remove
16604 (grub_video_set_mode): new prototype
16605 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16606 (vid_mode): remove
16607 (linux_vesafb_res): compile only on PCBIOS
16608 (grub_linux_boot): support gfxpayload
16609 * loader/i386/pc/xnu.c (video_hook): new function
16610 (grub_xnu_set_video): support gfxpayload
16611 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16612 (DEFAULT_VIDEO_HEIGHT): likewise
16613 (DEFAULT_VIDEO_FLAGS): likewise
16614 (DEFAULT_VIDEO_MODE): new definition
16615 (video_hook): new function
16616 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16617 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16618 loading xnu
16619 * video/video.c (grub_video_setup): removed
473d1e45 16620 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16621 grub_video_setup
16622
4b0e1143 166232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 Avoid calling biosdisk in drivemap
16626
16627 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16628 (revparse_biosdisk): likewise
16629 (list_mappings): derive name from id directly
16630 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16631
fda6cb98 166322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Script fixes
16635
16636 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16637 (grub_lexer_param): add tokenonhold
16638 (grub_script_create_cmdline): remove cmdline. All callers updated
16639 (grub_script_function_create): make functionname
16640 grub_script_arg. All callers updated
16641 (grub_script_execute_argument_to_string): new prototype
16642 * kern/parser.c (state_transitions): reorder
16643 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16644 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16645 make global
16646 (grub_script_execute_cmdline): use new format
16647 * script/sh/function.c (grub_script_function_create): make functionname
16648 grub_script_arg. All callers updated
473d1e45 16649 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16650 (grub_script_yylex): remove
16651 (grub_script_yylex2): renamed to ...
16652 (grub_script_yylex): ...renamed
16653 parse the expressions like a${b}c
16654 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16655 (GRUB_PARSER_TOKEN_VAR): remove
16656 (GRUB_PARSER_TOKEN_NAME): likewise
16657 ("if"): declare as typeless
16658 ("while"): likewise
16659 ("function"): likewise
16660 ("else"): likewise
16661 ("then"): likewise
16662 ("fi"): likewise
16663 (text): remove
16664 (argument): likewise
16665 (script): accept empty scripts and make exit on error
16666 (arguments): use GRUB_PARSER_TOKEN_ARG
16667 (function): likewise
16668 (command): move error handling to script
16669 (menuentry): move grub_script_lexer_ref before
473d1e45 16670 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16671 argument. All callers updated
16672
f4448a07 166732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16674
16675 Prevent GRUB from probing floppies during boot.
16676
16677 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16678 * commands/search.c (options): Add --no-floppy.
16679 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16680 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16681 --no-floppy when searching for UUIDs.
16682
2bf5885a 166832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16684
16685 Simplify the code duplication in commands/search.c.
16686
16687 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16688 (search_fs): ... this. Update all users.
16689
f6fd460a 166902009-06-03 Felix Zielcke <fzielcke@z-51.de>
16691
16692 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16693
cbb3c83e 166942009-05-28 Pavel Roskin <proski@gnu.org>
16695
57788cfd 16696 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16697 Remove the original symlink explicitly.
16698
cbb3c83e 16699 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16700 just one slash. That's how grub_fshelp_find_file() does it.
16701
cd0d5e30 167022009-05-26 Pavel Roskin <proski@gnu.org>
16703
f0f8bbe2 16704 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16705 to `str'.
16706
cd0d5e30 16707 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16708 possibly unused.
16709
8c2cab51 167102009-05-25 Christian Franke <franke@computer.org>
16711
16712 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16713 register.
16714 (grub_atapi_identify): Add wait after drive select.
16715 (grub_ata_identify): Do more strict status register check before
16716 calling grub_atapi_identify (). Suppress error message if status
16717 register is 0x00 after command failure. Add status register
16718 check after PIO read to avoid bogus identify due to stuck DRQ.
16719 Thanks to Pavel Roskin for testing.
16720 (grub_device_initialize): Remove unsafe status register check.
16721 Thanks to 'phcoder' for problem report and patch.
16722 Prevent sign extension in debug message.
16723
230c0ad6 167242009-05-23 Colin D Bennett <colin@gibibit.com>
16725
16726 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16727 definition file, and functions defined in `normal/menu.c' have had
16728 their prototypes moved to `include/grub/menu.h' for consistency.
16729
16730 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16731 from normal.h.
16732 (grub_menu_get_entry): Likewise.
16733 (grub_menu_get_timeout): Likewise.
16734 (grub_menu_set_timeout): Likewise.
16735 (grub_menu_execute_entry): Likewise.
16736 (grub_menu_execute_with_fallback): Likewise.
16737 (grub_menu_entry_run): Likewise.
16738
16739 * include/grub/normal.h: Re-ordered and grouped function
16740 prototypes by file that the function is defined in.
16741 (grub_menu_execute_callback): Removed; moved to menu.h.
16742 (grub_menu_get_entry): Likewise.
16743 (grub_menu_get_timeout): Likewise.
16744 (grub_menu_set_timeout): Likewise.
16745 (grub_menu_execute_entry): Likewise.
16746 (grub_menu_execute_with_fallback): Likewise.
16747 (grub_menu_entry_run): Likewise.
16748 (grub_menu_addentry): Renamed from this ...
16749 (grub_normal_add_menu_entry): ... to this.
16750
16751 * normal/main.c (grub_menu_addentry): Renamed from this ...
16752 (grub_normal_add_menu_entry): ... to this.
16753
16754 * script/sh/execute.c (grub_script_execute_menuentry): Update
16755 reference to renamed grub_menu_addentry function.
16756
861f03a5 167572009-05-23 Felix Zielcke <fzielcke@z-51.de>
16758
16759 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16760
96b1619a 167612009-05-22 Pavel Roskin <proski@gnu.org>
16762
bf6a5fb2 16763 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16764 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16765 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16766 compiling for the i386 targets, but not for the utilities.
16767
96b1619a 16768 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16769 to grub_uint8_t.
16770 (grub_root_drive): Likewise.
16771 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16772 remove alignment.
16773 (grub_root_drive): Change size to byte.
16774 (grub_start_addr): Remove.
16775 (grub_end_addr): Likewise.
16776 (grub_apm_bios_info): Likewise.
16777
b729776b 167782009-05-21 Felix Zielcke <fzielcke@z-51.de>
16779
16780 * normal/i386: Remove.
16781 * normal/powerpc: Likewise.
16782 * normal/sparc64: Likewise.
16783 * normal/x86_64: Likewise.
16784
0a15ce80 167852009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16788 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16789 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16790
33db9015 167912009-05-18 Colin D Bennett <colin@gibibit.com>
16792
d6da58e6 16793 Display error messages when parsing a Lua statement fails.
16794 Previously, executing a syntactically invalid statement like
16795 ")foo" or "bar;" would silently fail.
33db9015 16796
16797 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16798 (grub_lua_parse_line): Improved reporting of Lua parser and
16799 execution errors.
33db9015 16800
46422c89 168012009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 Remove -Werror which causes build to fail on some systems
16804
16805 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16806 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16807 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16808
22f53a96 168092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 trampoline for linux on 64-bit platform
16812
18f547ad 16813 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16814 loader/i386/efi/linux_trampoline.S
16815 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16816 declaration
d6da58e6 16817 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16818 here
22f53a96 16819 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16820 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16821 trampoline
22f53a96 16822 (jumpvector): removed
16823 (grub_linux_trampoline_start): new declaration
16824 (grub_linux_trampoline_end): likewise
16825 (grub_linux_boot): use trampoline when on 64-bit platform
16826 * loader/i386/linux.c: likewise
16827
cb5a0f40 168282009-05-16 Pavel Roskin <proski@gnu.org>
16829
16830 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16831 const to avoid a warning.
16832 (grub_lua_setenv): Likewise.
16833 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16834 lmsg to fix a warning.
16835
334f2c28 168362009-05-16 Felix Zielcke <fzielcke@z-51.de>
16837
16838 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16839 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16840 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16841 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16842 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16843 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16844 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16845 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16846
59e5d3ec 168472009-05-16 Felix Zielcke <fzielcke@z-51.de>
16848
16849 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16850
9d87a1ba 168512009-05-16 Bean <bean123ch@gmail.com>
16852
16853 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16854 (lua_mod_SOURCES): New variable.
16855 (lua_mod_CFLAGS): Likewise.
16856 (lua_mod_LDFLAGS): Likewise.
16857
16858 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16859 (setjmp_mod_SOURCES): New variable.
16860 (setjmp_mod_CFLAGS): Likewise.
16861 (setjmp_LDFLAGS): Likewise.
16862
16863 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16864 (setjmp_mod_SOURCES): New variable.
16865 (setjmp_mod_CFLAGS): Likewise.
16866 (setjmp_LDFLAGS): Likewise.
16867
16868 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16869 (setjmp_mod_SOURCES): New variable.
16870 (setjmp_mod_CFLAGS): Likewise.
16871 (setjmp_LDFLAGS): Likewise.
16872
16873 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16874 (setjmp_mod_SOURCES): New variable.
16875 (setjmp_mod_CFLAGS): Likewise.
16876 (setjmp_LDFLAGS): Likewise.
16877
16878 * normal/i386/setjmp.S: Moved from here ...
16879 * lib/i386/setjmp.S: ... Moved here
16880 * normal/x86_64/setjmp.S: Moved from here ...
16881 * lib/x86_64/setjmp.S: ... Moved here
16882 * normal/powerpc/setjmp.S: Moved from here ...
16883 * lib/powerpc/setjmp.S: ... Moved here
16884 * normal/sparc64/setjmp.S: Moved from here ...
16885 * lib/sparc64/setjmp.S: ... Moved here
16886
16887 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16888 returns_twice in mingw.
16889
16890 * script/lua/grub_lib.c: New file.
16891 * script/lua/grub_lib.h: Likewise.
16892 * script/lua/grub_lua.h: Likewise.
16893 * script/lua/grub_main.c: Likewise.
16894 * script/lua/lapi.c: Likewise.
16895 * script/lua/lapi.h: Likewise.
16896 * script/lua/lauxlib.c: Likewise.
16897 * script/lua/lauxlib.h: Likewise.
16898 * script/lua/lbaselib.c: Likewise.
16899 * script/lua/lcode.c: Likewise.
16900 * script/lua/lcode.h: Likewise.
16901 * script/lua/ldblib.c: Likewise.
16902 * script/lua/ldebug.c: Likewise.
16903 * script/lua/ldebug.h: Likewise.
16904 * script/lua/ldo.c: Likewise.
16905 * script/lua/ldo.h: Likewise.
16906 * script/lua/ldump.c: Likewise.
16907 * script/lua/lfunc.c: Likewise.
16908 * script/lua/lfunc.h: Likewise.
16909 * script/lua/lgc.c: Likewise.
16910 * script/lua/lgc.h: Likewise.
16911 * script/lua/linit.c: Likewise.
16912 * script/lua/liolib.c: Likewise.
16913 * script/lua/llex.c: Likewise.
16914 * script/lua/llex.h: Likewise.
16915 * script/lua/llimits.h: Likewise.
16916 * script/lua/lmathlib.c: Likewise.
16917 * script/lua/lmem.c: Likewise.
16918 * script/lua/lmem.h: Likewise.
16919 * script/lua/loadlib.c: Likewise.
16920 * script/lua/lobject.c: Likewise.
16921 * script/lua/lobject.h: Likewise.
16922 * script/lua/lopcodes.c: Likewise.
16923 * script/lua/lopcodes.h: Likewise.
16924 * script/lua/loslib.c: Likewise.
16925 * script/lua/lparser.c: Likewise.
16926 * script/lua/lparser.h: Likewise.
16927 * script/lua/lstate.c: Likewise.
16928 * script/lua/lstate.h: Likewise.
16929 * script/lua/lstring.c: Likewise.
16930 * script/lua/lstring.h: Likewise.
16931 * script/lua/lstrlib.c: Likewise.
16932 * script/lua/ltable.c: Likewise.
16933 * script/lua/ltable.h: Likewise.
16934 * script/lua/ltablib.c: Likewise.
16935 * script/lua/ltm.c: Likewise.
16936 * script/lua/ltm.h: Likewise.
16937 * script/lua/lua.h: Likewise.
16938 * script/lua/luaconf.h: Likewise.
16939 * script/lua/lualib.h: Likewise.
16940 * script/lua/lundump.c: Likewise.
16941 * script/lua/lundump.h: Likewise.
16942 * script/lua/lvm.c: Likewise.
16943 * script/lua/lvm.h: Likewise.
16944 * script/lua/lzio.c: Likewise.
16945 * script/lua/lzio.h: Likewise.
16946
5e898c9d 169472009-05-16 Bean <bean123ch@gmail.com>
16948
16949 * include/grub/kernel.h (grub_module_header_types): Add type
16950 OBJ_TYPE_CONFIG.
16951
16952 * kern/main.c (grub_load_config): New function.
16953 (grub_main): Call grub_load_config to read boot config.
16954
16955 * grub-mkimage (generate_image): New parameter config_path.
16956 (options): New option --config.
16957 (main): Parse --config option, and pass it to generate_image.
16958
cf353a47 169592009-05-14 Christian Franke <franke@computer.org>
16960
16961 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16962 This fixes build on Cygwin.
16963
3834887f 169642009-05-14 Pavel Roskin <proski@gnu.org>
16965
16966 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16967 jump. This saves two bytes, so the typical case of 2 swapped
16968 drives would fit 32 bytes.
16969
8090fc01 169702009-05-13 Pavel Roskin <proski@gnu.org>
16971
ac963883 16972 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16973 grub_uint32_t to avoid a warning.
16974
8090fc01 16975 * loader/i386/linux.c (allocate_pages): When assigning
16976 real_mode_mem, cast through grub_size_t to fix a warning. The
16977 code already makes sure that the value would fit a pointer.
16978 (grub_linux_setup_video): Cast render_target->data to
16979 grub_size_t to fix a warning.
16980
18f547ad 169812009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16982
16983 * commands/i386/pc/drivemap.c: New file - implement drivemap
16984 command.
16985 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16986 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16987
6f6a8b28 169882009-05-13 Pavel Roskin <proski@gnu.org>
16989
16990 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16991 embedding_area_exists.
16992
15fbf4c4 169932009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16994
16995 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16996 it easier to understand / work with.
59978c8a 16997 Improve warning messages for cases where there's no embedding area,
16998 or when it is too small (or core.img too large).
15fbf4c4 16999
238e871f 170002009-05-13 Pavel Roskin <proski@gnu.org>
17001
0ab3a9a4 17002 * loader/i386/pc/multiboot2.c: Add necessary includes for
17003 grub_multiboot2_real_boot().
17004
a2c8c5f8 17005 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17006 PX record is always little-endian. We only need the lower 2
17007 bytes of the mode.
17008
faec96af 17009 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17010 facilitate code reuse.
17011 (grub_cpio_mount): Use "struct head", not a char buffer. This
17012 fixes a warning reported by gcc 4.4.
17013
238e871f 17014 * kernel/disk.c (grub_disk_read): Use void pointer for the
17015 buffer.
17016 (grub_disk_write): Use const void pointer for the buffer.
17017 Adjust all callers. Remove unnecessary casts.
17018
901d2f0c 170192009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17020
17021 * util/i386/pc/grub-install.in: Update copyright year.
17022
18f547ad 170232009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 17024
17025 gptsync
17026
17027 * commands/gptsync.c: new file
17028 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17029 (gptsync_mod_SOURCES): new variable
17030 (gptsync_mod_CFLAGS): likewise
17031 (gptsync_mod_LDFLAGS): likewise
18f547ad 17032 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 17033 new definition
17034 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17035 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17036 * conf/i386-ieee1275.rmk: likewise
17037 * conf/i386-pc.rmk: likewise
17038 * conf/powerpc-ieee1275.rmk: likewise
17039
b4ba690a 170402009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 Fixed grub-emu
17043
17044 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17045 (grub_dl_ref): likewise
17046
317e1a44 170472009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17048
17049 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17050 split in two functions (one for msdos and one for gpt).
17051
041b8094 170522009-05-08 Pavel Roskin <proski@gnu.org>
17053
752473c2 17054 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17055 not modified.
17056
041b8094 17057 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17058 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17059 Initialize them with -1. Add sanity check for bad1. Eliminate
17060 nerr variable.
17061
172800ce 170622009-05-08 David S. Miller <davem@davemloft.net>
17063
17064 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17065
29aa5e81 170662009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17067
17068 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 17069 existence.
29aa5e81 17070
96613b62 170712009-05-05 Felix Zielcke <fzielcke@z-51.de>
17072
17073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 17074 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 17075
eef73c8a 170762009-05-05 David S. Miller <davem@davemloft.net>
17077
17078 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17079
119494b5 170802009-05-05 Pavel Roskin <proski@gnu.org>
17081
17082 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17083 of grub_dl_ref() and grub_dl_unref().
17084 * commands/parttool.c: Remove preprocessor conditionals around
17085 grub_dl_ref() and grub_dl_unref().
17086 * fs/affs.c: Likewise.
17087 * fs/afs.c: Likewise.
17088 * fs/cpio.c: Likewise.
17089 * fs/ext2.c: Likewise.
17090 * fs/fat.c: Likewise.
17091 * fs/hfs.c: Likewise.
17092 * fs/hfsplus.c: Likewise.
17093 * fs/iso9660.c: Likewise.
17094 * fs/jfs.c: Likewise.
17095 * fs/minix.c: Likewise.
17096 * fs/ntfs.c: Likewise.
17097 * fs/reiserfs.c: Likewise.
17098 * fs/sfs.c: Likewise.
17099 * fs/udf.c: Likewise.
17100 * fs/ufs.c: Likewise.
17101 * fs/xfs.c: Likewise.
17102 * include/grub/dl.h: Likewise.
17103 * loader/xnu.c: Likewise.
17104
de5fd76e 171052009-05-04 Pavel Roskin <proski@gnu.org>
17106
17107 * commands/acpi.c: Remove unused variable my_mod.
17108 * partmap/amiga.c: Likewise.
17109 * partmap/apple.c: Likewise.
17110 * partmap/gpt.c: Likewise.
17111 * partmap/pc.c: Likewise.
17112 * partmap/sun.c: Likewise.
17113 * term/gfxterm.c: Likewise.
17114 * term/i386/pc/vesafb.c: Likewise.
17115 * term/i386/pc/vga.c: Likewise.
17116
983598ad 171172009-05-04 David S. Miller <davem@davemloft.net>
17118
17119 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
17120 pointer args to grub_ieee1275_get_property().
17121
8aadec43 17122 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
17123
9554b15e 17124 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
17125 devices, and do not traverse down under controller nodes.
17126
67e23c90 17127 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
17128 (grub_ofdisk_open): Use it to un-escape "," characters.
17129 * kern/disk.c (find_part_sep): New.
17130 (grub_disk_open): Use it to find the first non-escaped ','
17131 character in the disk name.
17132 * util/ieee1275/devicemap.c (escape_of_path): New.
17133 (grub_util_emit_devicemap_entry): Use it.
17134 * util/sparc64/ieee1275/grub-install.in: Update script to
17135 strip partition specifiers properly by not triggering on
17136 '\' escaped ',' characters.
17137
74bfdd2f 171382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17139
17140 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
17141 to 0x300.
17142 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
17143 resolutions.
17144 (linux_vesafb_modes): Add a lot of additional modes to the list (based
17145 on documentation from Wikipedia).
17146
4241d2b1 171472009-05-04 Pavel Roskin <proski@gnu.org>
17148
17149 * disk/ata.c: Spelling fixes.
17150 * disk/raid.c: Likewise.
17151 * disk/usbms.c: Likewise.
17152 * disk/dmraid_nvidia.c: Likewise.
17153 * kern/ieee1275/openfw.c: Likewise.
17154 * kern/ieee1275/init.c: Likewise.
17155 * kern/ieee1275/cmain.c: Likewise.
17156 * boot/i386/pc/cdboot.S: Likewise.
17157 * video/readers/png.c: Likewise.
17158 * video/i386/pc/vbe.c: Likewise.
17159 * fs/udf.c: Likewise.
17160 * fs/hfs.c: Likewise.
17161 * fs/reiserfs.c: Likewise.
17162 * efiemu/runtime/efiemu.c: Likewise.
17163 * efiemu/main.c: Likewise.
17164 * efiemu/mm.c: Likewise.
17165 * include/grub/elf.h: Likewise.
17166 * include/grub/xnu.h: Likewise.
17167 * include/grub/usbdesc.h: Likewise.
17168 * include/grub/usb.h: Likewise.
17169 * include/grub/script_sh.h: Likewise.
17170 * include/grub/lib/LzmaEnc.h: Likewise.
17171 * include/grub/efiemu/efiemu.h: Likewise.
17172 * include/grub/command.h: Likewise.
17173 * normal/menu.c: Likewise.
17174 * normal/main.c: Likewise.
17175 * normal/datetime.c: Likewise.
17176 * bus/usb/uhci.c: Likewise.
17177 * mmap/i386/uppermem.c: Likewise.
17178 * mmap/mmap.c: Likewise.
17179 * commands/acpi.c: Likewise.
17180 * commands/test.c: Likewise.
17181 * partmap/apple.c: Likewise.
17182 * font/font.c: Likewise.
17183 * loader/sparc64/ieee1275/linux.c: Likewise.
17184 * loader/macho.c: Likewise.
17185 * loader/i386/bsd_trampoline.S: Likewise.
17186 * loader/i386/bsd.c: Likewise.
17187 * loader/xnu.c: Likewise.
17188 * term/i386/pc/vesafb.c: Likewise.
17189 * term/usb_keyboard.c: Likewise.
17190 * util/resolve.c: Likewise.
17191 * util/getroot.c: Likewise.
17192
0cfc0083 171932009-05-04 Felix Zielcke <fzielcke@z-51.de>
17194
17195 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
17196
7c1d00cd 171972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17198
17199 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
17200 build error.
17201
b01f0548 172022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17203
17204 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
17205 parameter only available on BIOS.
17206
ecc3eb22 172072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Removed wrong semicolon in declaration
17210
17211 * grub/misc.h (grub_dprintf): remove semicolon
17212
112972a9 172132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
17216 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
17217 is done by grub_cmd_linux() now).
17218 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17219 restore video to text mode.
17220 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17221 indicates lack of "vga=" parameter. "vga=0" is mapped to
17222 `GRUB_LINUX_VID_MODE_NORMAL'.
17223
afd5c115 172242009-05-04 Felix Zielcke <fzielcke@z-51.de>
17225
17226 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17227 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17228 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17229 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17230 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17231 `grub_script.tab.c'.
17232
17233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17234 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17236 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17238
faa517ce 17239 * Makefile.in: Remove duplicated 2008 in Copyright line.
17240
ae0c0bdc 172412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17242
473d1e45 17243 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17244 unconditionally.
17245 * include/grub/util/misc.h (grub_util_warn): New declaration.
17246
17247 * util/i386/pc/grub-install.in: Understand --force and pass it down
17248 to grub-setup.
17249
17250 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17251 down to setup().
17252 (setup): Improve error messages and add warnings when requested to
17253 install in odd layouts. Refuse to install using blocklists unless
17254 --force was set.
17255
18f547ad 172562009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17257
17258 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17259
6d260daa 172602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 Updated copyright year
17263
17264 * fs/hfsplus.c: updated copyright year
18f547ad 17265
69f853f8 172662009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 HFS+ UUID
17269
18f547ad 17270 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17271 in the space previously used by unused3
17272 (grub_hfsplus_uuid): new function
17273 (grub_hfsplus_fs): added uuid field
17274
4c402e73 172752009-05-03 Pavel Roskin <proski@gnu.org>
17276
17277 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17278 suppress warnings. It's no longer needed.
17279 * disk/host.c: Likewise.
17280 * disk/ata_pthru.c: Likewise.
17281 * disk/loopback.c: Likewise.
17282 * hook/datehook.c: Likewise.
17283 * parttool/pcpart.c: Likewise.
17284 * fs/i386/pc/pxe.c: Likewise.
17285 * fs/ntfscomp.c: Likewise.
17286 * efiemu/main.c: Likewise.
17287 * mmap/mmap.c: Likewise.
17288 * commands/crc.c: Likewise.
17289 * commands/hexdump.c: Likewise.
17290 * commands/hdparm.c: Likewise.
17291 * commands/acpi.c: Likewise.
17292 * commands/echo.c: Likewise.
17293 * commands/minicmd.c: Likewise.
17294 * commands/blocklist.c: Likewise.
17295 * commands/memrw.c: Likewise.
17296 * commands/loadenv.c: Likewise.
17297 * commands/usbtest.c: Likewise.
17298 * commands/lsmmap.c: Likewise.
17299 * commands/boot.c: Likewise.
17300 * commands/parttool.c: Likewise.
17301 * commands/configfile.c: Likewise.
17302 * commands/search.c: Likewise.
17303 * commands/ieee1275/suspend.c: Likewise.
17304 * commands/cat.c: Likewise.
17305 * commands/i386/pc/pxecmd.c: Likewise.
17306 * commands/i386/pc/play.c: Likewise.
17307 * commands/i386/pc/halt.c: Likewise.
17308 * commands/i386/pc/vbeinfo.c: Likewise.
17309 * commands/i386/pc/vbetest.c: Likewise.
17310 * commands/lspci.c: Likewise.
17311 * commands/date.c: Likewise.
17312 * commands/handler.c: Likewise.
17313 * commands/ls.c: Likewise.
17314 * commands/test.c: Likewise.
17315 * commands/cmp.c: Likewise.
17316 * commands/efi/loadbios.c: Likewise.
17317 * commands/efi/fixvideo.c: Likewise.
17318 * commands/halt.c: Likewise.
17319 * commands/help.c: Likewise.
17320 * commands/reboot.c: Likewise.
17321 * hello/hello.c: Likewise.
17322 * script/sh/main.c: Likewise.
17323 * loader/xnu.c: Likewise.
17324 * term/terminfo.c: Likewise.
17325 * term/i386/pc/serial.c: Likewise.
17326 * term/usb_keyboard.c: Likewise.
17327
515b5079 173282009-05-03 David S. Miller <davem@davemloft.net>
17329
17330 * normal/menu.c: Include grub/parser.h
17331
dfc31a22 173322009-05-03 Pavel Roskin <proski@gnu.org>
17333
2fee74f1 17334 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17335 not char*.
17336 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17337 Suggested by Javier Martín <lordhabbit@gmail.com>
17338
dfc31a22 17339 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17340 efiemu??.o doesn't exist.
17341 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17342 copying.
17343
18f547ad 173442009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17345
17346 FreeBSD 64-bit support
17347
18f547ad 17348 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17349 and loader/i386/bsd_trampoline.S
17350 (bsd_mod_ASFLAGS): new variable
17351 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17352 (FREEBSD_MODTYPE_KERNEL64): likewise
17353 (grub_bsd64_trampoline_start): likewise
17354 (grub_bsd64_trampoline_end): likewise
17355 (grub_bsd64_trampoline_selfjump): likewise
17356 (grub_bsd64_trampoline_gdt): likewise
17357 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17358 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17359 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17360 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17361 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17362 of "attrib" member
17363 * loader/i386/bsd_pagetable.c: new file
17364 * loader/i386/bsd_trampoline.S: likewise
17365 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17366 (ALIGN_VAR): likewise
17367 (entry_hi): new variable
17368 (kern_end_mdofs): likewise
17369 (is_64bit): likewise
17370 (grub_freebsd_add_meta): use ALIGN_VAR
17371 (grub_e820_mmap): new declaration
17372 (grub_freebsd_add_mmap): new function
17373 (grub_freebsd_add_meta_module): support 64 bit kernels
17374 (grub_freebsd_list_modules): use ALIGN_VAR
17375 (gdt_descriptor): new declaration
17376 (grub_freebsd_boot): support 64 bit kernels
17377 (grub_bsd_elf64_hook): new function
17378 (grub_bsd_load_elf): support elf64
17379
038c5720 173802009-05-03 Bean <bean123ch@gmail.com>
17381
17382 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17383 after we get the result of if statement.
17384
fc45fb58 173852009-05-03 Bean <bean123ch@gmail.com>
17386
17387 * Makefile.in (enable_efiemu): New variable.
17388
17389 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17390 set.
17391 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17392 path.
17393 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17394 path, add -mno-red-zone option.
17395 (efiemu64_s.o): Likewise.
17396 (efiemu64.o): Use macro $^ for source file.
17397
17398 * configure.ac (--enable-efiemu): New option.
17399
bbee0f2b 174002009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 xnu support
17403
17404 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17405 (pkglib_MODULES): add xnu.mod
17406 (xnu_mod_SOURCES): new variable
17407 (xnu_mod_CFLAGS): likewise
17408 (xnu_mod_LDFLAGS): likewise
17409 (xnu_mod_ASFLAGS): likewise
17410 * conf/i386-pc.rmk: likewise
17411 * conf/x86_64-efi.rmk: likewise
7dd4a573 17412 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17413 new declaration
17414 * include/grub/i386/macho.h: new file
17415 * include/grub/i386/xnu.h: likewise
17416 * include/grub/macho.h: likewise
17417 * include/grub/machoload.h: likewise
17418 * include/grub/x86_64/macho.h: likewise
17419 * include/grub/x86_64/xnu.h: likewise
17420 * include/grub/xnu.h: likewise
17421 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17422 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17423 * loader/i386/efi/xnu.c: new file
17424 * loader/i386/pc/xnu.c: likewise
17425 * loader/i386/xnu.c: likewise
17426 * loader/i386/xnu_helper.S: likewise
17427 * loader/macho.c: likewise
17428 * loader/xnu.c: likewise
17429 * loader/xnu_resume.c: likewise
17430 * util/grub-dumpdevtree: likewise
17431 * include/grub/i386/pit.h: include grub/err.h
17432 (grub_pit_wait): export
17433 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17434
5caf964d 174352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 Efiemu
7dd4a573 17438
5caf964d 17439 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17440 _linux_efi, linux_efi.
17441 new files in grub-emu
5caf964d 17442 new targets efiemu32.o and efiemu64.o
17443 * loader/linux_normal_efiemu.c: likewise
17444 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17445 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17446 files to copy
17447 * include/grub/autoefi.h: new file
7dd4a573 17448 * include/grub/i386/efiemu.h: likewise
5caf964d 17449 * include/grub/i386/pc/efiemu.h: likewise
17450 * include/grub/efi/api.h: add LL suffix when necessary
17451 new definitions relating to tables
17452 * include/grub/efiemu/efiemu.h: new file
17453 * include/grub/efiemu/runtime.h: likewise
17454 * efiemu/prepare.c: likewise
17455 * efiemu/loadcore_common.c: likewise
17456 * efiemu/loadcore64.c: likewise
17457 * efiemu/runtime/efiemu.sh: likewise
17458 * efiemu/runtime/efiemu.S: likewise
17459 * efiemu/runtime/efiemu.c: likewise
17460 * efiemu/runtime/config.h: likewise
17461 * efiemu/prepare32.c: likewise
17462 * efiemu/main.c: likewise
17463 * efiemu/modules/pnvram.c: likewise
17464 * efiemu/modules/i386: likewise
17465 * efiemu/modules/i386/pc: likewise
17466 * efiemu/modules/acpi.c: likewise
17467 * efiemu/i386/pc/cfgtables.c: likewise
17468 * efiemu/i386/loadcore64.c: likewise
17469 * efiemu/i386/loadcore32.c: likewise
17470 * efiemu/prepare64.c: likewise
17471 * efiemu/loadcore.c: likewise
17472 * efiemu/symbols.c: likewise
17473 * efiemu/mm.c: likewise
17474 * efiemu/loadcore32.c: likewise
7dd4a573 17475
174762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 17477
17478 ACPI spoofing
17479
17480 * commands/acpi.c: new file
17481 * commands/i386/pc/acpi.c: likewise
17482 * commands/efi/acpi.c: likewise
17483 * include/grub/acpi.h: likewise
17484 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
17485 (acpi_mod_SOURCES): new variable
17486 (acpi_mod_CFLAGS): likewise
17487 (acpi_mod_LDFLAGS): likewise
17488 * conf/i386-efi.rmk: likewise
17489 * conf/x86_64-efi.rmk: likewise
17490
7dd4a573 174912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 17492
17493 Missing part from mmap patch
17494
17495 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
17496 (grub_mmap_unregister)
17497 (grub_mmap_free_and_unregister): use grub_mmap_register
17498
7dd4a573 174992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 17500
17501 Mmap services
17502
17503 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
17504 * loader/i386/linux.c (find_mmap_size): likewise
17505 (allocate_pages): likewise
17506 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
17507 (grub_fill_multiboot_mmap): likewise
17508 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
17509 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
17510 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
17511 (OPENBSD_MMAP_RESERVED): likewise
17512 * include/grub/i386/pc/memory.h: include grub/memory.h
17513 (grub_lower_mem): removed
17514 (grub_upper_mem): likewise
17515 (GRUB_MACHINE_MEMORY_ACPI): new definition
17516 (GRUB_MACHINE_MEMORY_NVS): likewise
17517 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
17518 (GRUB_MACHINE_MEMORY_HOLE): likewise
17519 (grub_machine_mmap_register): likewise
17520 (grub_machine_mmap_unregister): likewise
17521 (grub_machine_get_upper): likewise
17522 (grub_machine_get_lower): likewise
17523 (grub_machine_get_post64): likewise
17524 * include/grub/i386/efi/memory.h: new file
17525 * include/grub/x86_64/efi/memory.h: likewise
17526 * include/grub/efi/memory.h: likewise
17527 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17528 (mmap_mod_SOURCES): new variable
17529 (mmap_mod_LDFLAGS): likewise
17530 (mmap_mod_ASFLAGS): likewise
17531 * conf/i386-coreboot.rmk: likewise
17532 * conf/i386-ieee1275.rmk: likewise
17533 * conf/i386-efi.rmk: likewise
17534 * conf/x86_64-efi.rmk: likewise
17535 * include/grub/types.h (UINT_TO_PTR): new macro
17536 (PTR_TO_UINT32): likewise
17537 (PTR_TO_UINT64): likewise
17538 * include/grub/memory.h: new file
17539 * mmap/i386/pc/mmap.c: likewise
17540 * mmap/i386/pc/mmap_helper.S: likewise
17541 * mmap/i386/uppermem.c: likewise
17542 * mmap/mmap.c: likewise
17543 * mmap/efi/mmap.c: likewise
7dd4a573 17544 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17545 grub_upper_mem
17546 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17547 (grub_upper_mem): likewise
17548 (grub_machine_init): don't use grub_upper_mem,
17549 make grub_lower_mem local
17550 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17551 grub_mmap_iterate and grub_mmap_get_upper
17552 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17553
d558e6b5 175542009-05-02 Bean <bean123ch@gmail.com>
17555
17556 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17557 script/sh/parser.y.
17558 (pkglib_MODULES): Add normal.mod and sh.mod.
17559 (normal_SOURCES): New variable.
17560 (normal_mod_CFLAGS): Likewise.
17561 (normal_mod_LDFLAGS): Likewise.
17562 (sh_mod_SOURCES): Likewise.
17563 (sh_mod_CFLAGS): Likewise.
17564 (sh_mod_LDFLAGS): Likewise.
17565
17566 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17567 script/sh/lexer.c_DEPENDENCIES.
17568 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17569 kern/rescue_reader.c and kern/rescue_parser.c.
17570 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17571 (grub_emu_SOURCES): Change source files.
17572 (pkglib_MODULES): Remove normal.mod.
17573 (normal_SOURCES): Removed.
17574 (normal_mod_CFLAGS): Likewise.
17575 (normal_mod_LDFLAGS): Likewise.
17576 * conf/i386-coreboot.rmk: Likewise.
17577 * conf/i386-efi.rmk: Likewise.
17578 * conf/i386-ieee1276.rmk: Likewise.
17579 * conf/powerpc-ieee1275.rmk: Likewise.
17580 * conf/sparc64-ieee1275.rmk: Likewise.
17581 * conf/x86_64-efi.rmk: Likewise.
17582
17583 * include/grub/command.h (grub_command_execute): New inline function.
17584
17585 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17586
17587 * include/grub/normal.h: Remove <grub/setjmp.h>.
17588 (grub_fs_module_list): Moved to normal/autofs.c.
17589 (grub_exit_env): Removed.
17590 (grub_command_execute): Likewise.
17591 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17592 parameter script.
17593 (read_command_list): New function declaration.
17594 (read_fs_list): Likewise.
17595
17596 * include/parser.h: Include <grub/reader.h>.
17597 (grub_parser_split_cmdline): Change type of getline parameter.
17598 (grub_parser): New structure.
17599 (grub_parser_class): New variable.
17600 (grub_parser_execute): New function declaration.
17601 (grub_register_rescue_parser): Likewise.
17602 (grub_parser_register): New inline function.
17603 (grub_parser_unregister): Likewise.
17604 (grub_parser_get_current): Likewise.
17605 (grub_parser_set_current): Likewise.
17606
17607 * include/grub/reader.h: New file.
17608 * kern/reader.c: Likewise.
17609 * kern/rescue_parser.c: Likewise.
17610 * kern/rescue_reader.c: Likewise.
17611 * normal/autofs.c: Likewise.
17612 * normal/dyncmd.c: Likewise.
17613
17614 * include/grub/rescue.h: Removed.
17615 * normal/command.h: Likewise.
17616
17617 * include/grub/script.h: Moved to ...
17618 * include/grub/script_sh.h: ... Moved here.
17619 * normal/execute.c: Moved to ...
17620 * script/sh/execute.c: ... Moved here.
17621 * normal/function.c: Moved to ...
17622 * script/sh/function.c: ... Moved here.
17623 * normal/lexer.c: Moved to ...
17624 * script/sh/lexer.c: ... Moved here.
17625 * normal/parser.y: Moved to ...
17626 * script/sh/parser.y: ... Moved here.
17627 * normal/script.c: Moved to ...
17628 * script/sh/script.c: ... Moved here.
17629
17630 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17631 <grub/reader.h>.
17632 (grub_exit_env): Removed.
17633 (fs_module_list): Moved to normal/autofs.c.
17634 (grub_file_getline): Don't handle comment here.
17635 (free_menu): Skip removed field entry->commands.
17636 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17637 script parameter.
17638 (read_config_file): Removed nested parameter, change getline function.
17639 (grub_enter_normal_mode): Removed.
17640 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17641 (read_command_list): Likewise.
17642 (autoload_fs_module): Moved to normal/autofs.c.
17643 (read_fs_list): Likewise.
17644 (reader_nested): New variable.
17645 (grub_normal_execute): Run parser.sh to switch to sh parser.
17646 (grub_cmd_rescue): Removed.
17647 (cmd_normal): Removed.
17648 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17649 rescue command.
17650 (grub_cmdline_run): New function.
17651 (grub_normal_reader_init): Likewise.
17652 (grub_normal_read_line): Likewise.
17653 (grub_env_write_pager): Likewise.
17654 (cmdline): New variable.
17655 (grub_normal_reader): Likewise.
17656 (GRUB_MOD_INIT): Register normal reader and set as current, register
17657 pager hook, register normal command with grub_register_command_prio,
17658 so that it won't show up in command.lst.
17659 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17660 grub_fs_autoload_hook.
17661
17662 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17663 (grub_menu_execute_entry): Replace grub_script_execute with
17664 grub_parser_execute, change parameter to grub_command_execute.
17665
17666 * normal/menu_text.c: Remove <grub/script.h>.
17667
17668 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17669 and <grub/parser.h>.
17670 (run): Change editor_getline to use new parser interface. Change
17671 parameter to grub_command_execute.
17672
17673 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17674 <grub/reader.h> and <grub/parser.h>.
17675 (grub_load_normal_mode): Execute normal command.
17676 (grub_main): Call grub_register_core_commands,
17677 grub_register_rescue_parser and grub_register_rescue_reader, use
17678 grub_reader_loop to enter input loop.
17679
7dd4a573 17680 * kern/parser.c (grub_parser_split_cmdline): Change type of
17681 getline parameter.
d558e6b5 17682 (grub_parser_class): New variable.
17683 (grub_parser_execute): New function.
17684
17685 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17686 * loader/multiboot2.c: Likewise.
17687 * loader/sparc64/ieee1275/linux.c: Likewise.
17688
17689 * util/grub-emu.c (read_command_list): New dummy function.
17690
18db813d 176912009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17692
17693 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17694 count to 16 for CCISS and IDA.
17695
6c67de15 176962009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17697
17698 * normal/menu_text.c (grub_wait_after_message): Print a newline
17699 after waiting for user input.
17700
17701 * loader/i386/linux.c: Include `<grub/normal.h>'.
17702 (grub_cmd_linux): Improve the error message about `ask' mode, by
17703 waiting for user input so it's not missed (we can do this, since
17704 user requested interaction).
17705
d9dc87b0 177062009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Added missing lst to grub-mkrescue
17709
17710 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17711 and ${input_dir}/parttool.lst
17712
ac8a2baa 177132009-04-30 David S. Miller <davem@davemloft.net>
17714
ad22a610 17715 * util/hostdisk.c (device_is_wholedisk): New function.
17716 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17717 zero only if device_is_wholedisk() returns true.
17718
6966215d 17719 * util/hostdisk.c (convert_system_partition_to_system_disk):
17720 Handle virtual disk devices named /dev/vdiskX as found on sparc
17721 and powerpc.
17722
ac8a2baa 17723 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17724 lettered partition specifier is found, convert to numbered.
17725
979b4fb4 177262009-04-29 David S. Miller <davem@davemloft.net>
17727
e2bf39b2 17728 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17729 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17730
3c64e104 17731 * normal/command.c: Add missing newline at end of file.
17732
979b4fb4 17733 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17734 warnings.
17735 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17736 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17737 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17738 ihandles have a 32-bit type but need to be stored in a "void *".
17739
136d9f82 177402009-04-28 Pavel Roskin <proski@gnu.org>
17741
9459c306 17742 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17743 not disk. Adjust all dependencies.
2e08a26a 17744 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17745 grub_disk_close().
17746
136d9f82 17747 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17748 parent's partition, don't copy it by reference, as it gets freed
17749 on close.
17750
7dd4a573 177512009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17752
17753 Preboot hooks support
17754
17755 * commands/boot.c (struct grub_preboot_t): new declaration
17756 (preboots_head): new variable
17757 (preboots_tail): likewise
17758 (grub_loader_register_preboot_hook): new function
17759 (grub_loader_unregister_preboot_hook): likewise
17760 (grub_loader_set): launch preboot hooks
17761 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17762 (grub_loader_register_preboot_hook): new declaration
17763 (grub_loader_unregister_preboot_hook): likewise
17764
5af922b5 177652009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 Warning fix
17768
7dd4a573 17769 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17770 calling grub_dprintf
17771
a5562c30 177722009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 Bug and warning fixes
17775
7dd4a573 17776 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17777 declaration
17778 * commands/test.c (test_parse): fixed bug with file tests and corrected
17779 declaration of find_file
17780
4006f85c 177812009-04-26 Pavel Roskin <proski@gnu.org>
17782
17783 * Makefile.in: Don't install empty manual pages if help2man is
17784 missing. Use help2man option for output, not shell redirection.
17785
5c77c3de 177862009-04-26 David S. Miller <davem@davemloft.net>
17787
17788 * util/grub-mkdevicemap.c (make_device_map): Add missing
17789 NESTED_FUNC_ATTR to process_device().
17790
033b10a8 177912009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 Test command
17794
17795 * commands/test.c: rewritten to use bash-like test
17796
e4343593 177972009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17798
17799 Parttool autoloading and improvements
17800
7dd4a573 17801 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17802 (parttool.lst): new target
17803 * genmk.rb: generate parttool-*
17804 (CLEANFILES): add #{parttool}
17805 (PARTTOOLFILES): new variable
17806 * genparttoollist.sh: new file
7dd4a573 17807 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17808 (grub_pcpart_type): likewise
17809 * commands/parttool.c (helpmsg): new variable
17810 (grub_cmd_parttool): output help if not enough arguments are supplied
17811 autoload modules
17812 (GRUB_MOD_INIT(parttool)): use helpmsg
17813
0d312500 178142009-04-24 David S. Miller <davem@davemloft.net>
17815
7dd4a573 17816 Avoiding opening same device multiple times in device iterator.
0d312500 17817
17818 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17819 and use it to build a list of partitions in iterate_disk() and
0d312500 17820 iterate_partition().
17821
ac20caff 17822 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17823 on disk->data.
17824
0dcf7495 17825 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17826 grub_devalias_iterate() result instead of unconditional 0.
17827 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17828 Also, capture hook return value, either directly or via
17829 grub_children_iterate(), and propagate to caller.
17830 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17831 grub_children_iterate): Return value is now 'int' instead of
17832 'grub_err_t'.
17833 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17834 like a proper iterator, stopping when hooks return non-zero.
17835 (grub_devalias_iterate): Likewise.
17836
c8c08833 178372009-04-23 David S. Miller <davem@davemloft.net>
17838
17839 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17840
f01005a8 178412009-04-22 David S. Miller <davem@davemloft.net>
17842
17843 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17844 is larger than address_cells, use that value for address_cells too.
17845
4e8269da 17846 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17847 IEEE1275_MAX_PATH_LEN): Define.
17848 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17849 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17850 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17851 'devtype'. Explicitly NULL terminate devalias expansion.
17852
a1447506 17853 * util/sparc64/ieee1275/misc.c: New file.
17854 * util/sparc64/ieee1275/grub-setup.c: New file.
17855 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17856 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17857 * util/sparc64/ieee1275/grub-install.in: New file.
17858 * util/ieee1275/ofpath.c: New file.
17859 * util/ieee1275/devicemap.c: New file.
17860 * util/devicemap.c: New file.
17861 * util/deviceiter.c: New file.
17862 * kern/sparc64/ieee1275/init.c: New file.
17863 * include/grub/util/ofpath.h: New file.
17864 * include/grub/util/deviceiter.h: New file.
17865 * util/grub-mkdevicemap.c: Include deviceiter.h.
17866 Implement using grub_util_emit_devicemap_entry and
17867 grub_util_iterate_devices.
17868 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17869 util/devicemap.c into grub-mkdevicemap
17870 * conf/i386-efi.rmk: Likewise.
17871 * conf/i386-ieee1275.rmk: Likewise.
17872 * conf/i386-pc.rmk: Likewise.
17873 * conf/powerpc-ieee1275.rmk: Likewise.
17874 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17875 images and installation utilities. Build kernel as image
17876 instead of as elf binary. Use common rules as much as possible.
17877
7dd4a573 178782009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17879
17880 Correct GPT definition
17881
7dd4a573 17882 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17883 of "attrib" member
17884
c6c5219f 178852009-04-19 Felix Zielcke <fzielcke@z-51.de>
17886
17887 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17888
0552ff9f 178892009-04-19 David S. Miller <davem@davemloft.net>
17890
17891 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17892 (grub_rescue_cmd_linux): Rename to...
17893 (grub_cmd_linux): and fix prototype.
17894 (grub_rescue_cmd_initrd): Rename to...
17895 (grub_cmd_initrd): and fix prototype.
17896 (cmd_linux, cmd_initrd): New.
17897 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17898 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17899
d1a282fc 179002009-04-17 Pavel Roskin <proski@gnu.org>
17901
07c5039f 17902 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17903 format.
17904 (grub_ohci_transfer): Likewise.
17905
b012002d 17906 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17907
1bc09c35 17908 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17909 return without a value. Fix inconsistent indentation.
17910
e0ff9126 17911 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17912 match struct grub_fs.
17913
d1a282fc 17914 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17915 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17916 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17917 * commands/lspci.c (grub_lspci_iter): Likewise.
17918
a96df3f2 179192009-04-16 Bean <bean123ch@gmail.com>
17920
17921 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17922 value.
17923
41bb0fe9 179242009-04-15 Pavel Roskin <proski@gnu.org>
17925
17926 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17927 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17928 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17929 definitions.
17930
596c6970 179312009-04-15 Felix Zielcke <fzielcke@z-51.de>
17932
17933 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17934 that no multiple data or metadata areas are supported and `Unknown
596c6970 17935 metadata header'.
17936
7dd4a573 179372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17938
17939 Move loader out of the kernel
17940
17941 * kern/loader.c: moved to ...
17942 * commands/boot.c: ... moved here
17943 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17944 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17945 * include/grub/kernel.h (grub_machine_fini): export
17946 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17947 (grub_loader_set): likewise
17948 (grub_loader_unset): likewise
17949 (grub_loader_boot): likewise
17950 * conf/common.rmk: new module boot.mod
17951 (pkglib_MODULES): add boot.mod
17952 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17953 (grub_emu_SOURCES): likewise
17954 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17955 (grub_emu_SOURCES): likewise
17956 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17957 (grub_emu_SOURCES): likewise
17958 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17959 (grub_emu_SOURCES): likewise
17960 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17961 (grub_emu_SOURCES): likewise
7dd4a573 17962 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17963 (grub_emu_SOURCES): likewise
0d5d5653 17964 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17965 (grub_emu_SOURCES): likewise
0d5d5653 17966
7dd4a573 179672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17968
17969 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17970
5999d619 17971 * kern/misc.c (grub_itoa): Removed function
17972 (grub_ltoa): likewise
17973 (grub_vsprintf): use grub_lltoa
17974
7dd4a573 179752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17976
17977 Restore grub-emu
17978
17979 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17980 * conf/i386-coreboot.rmk: likewise
17981 * conf/i386-ieee1275.rmk: likewise
17982 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17983
20318222 179842009-04-15 Felix Zielcke <fzielcke@z-51.de>
17985
17986 * INSTALL: Add that `./autogen.sh' needs to be run before
17987 `./configure.'.
17988
d05f0df3 179892009-04-14 Bean <bean123ch@gmail.com>
17990
17991 * Makefile.in (pkglib_DATA): Add handler.lst.
17992 (handler.lst): New rule.
17993
17994 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17995 * conf/i386-coreboot.rmk: Likewise.
17996 * conf/i386-ieee1275.rmk: Likewise.
17997 * conf/i386-efi.rmk: Likewise.
17998 * conf/x86_64-efi.rmk: Likewise.
17999 * conf/powerpc-ieee1275.rmk: Likewise.
18000 * conf/sparc64-ieee1275.rmk: Likewise.
18001
18002 * genhandlerlist.sh: New file.
18003
18004 * genmk.rb: Add rules to generate handler.lst.
18005
18006 * include/grub/normal.h (grub_file_getline): New function definition.
18007 (read_handler_list): Likewise.
18008 (free_handler_list): Likewise.
18009
18010 * include/grub/term.h (grub_term_register_input): Add name parameter
18011 for auto generation of handler.lst.
18012 (grub_term_register_output): Likewise.
18013
18014 * normal/handler.c: New file.
18015
18016 * normal/main.c (get_line): Renamed to grub_file_getline.
18017 (read_config_file): Use the newly renamed grub_file_getline.
18018 (read_command_list): Likewise.
18019 (read_fs_list): Likewise.
18020 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18021 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18022
18023 * term/efi/console.c (grub_console_init): Add name parameter for auto
18024 generation of handler.lst.
18025 * term/gfxterm.c: Likewise.
18026 * term/i386/pc/at_keyboard.c: Likewise.
18027 * term/i386/pc/console.c: Likewise.
18028 * term/i386/pc/serial.c: Likewise.
18029 * term/i386/pc/vesafb.c: Likewise.
18030 * term/i386/pc/vga.c: Likewise.
18031 * term/i386/pc/vga_text.c: Likewise.
18032 * term/ieee1275/ofconsole.c: Likewise.
18033 * term/usb_keyboard.c: Likewise.
18034
33c846be 180352009-04-14 Bean <bean123ch@gmail.com>
18036
18037 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18038 properly with null character.
18039
4484e01e 180402009-04-14 Felix Zielcke <fzielcke@z-51.de>
18041
18042 * configure: Remove.
18043 * config.h.in: Likewise.
f93d668e 18044 * stamp-h.in: Likewise.
4484e01e 18045 * DISTLIST: Likewise.
18046 * conf/common.mk: Likewise.
18047 * conf/i386-coreboot.mk: Likewise.
18048 * conf/i386-efi.mk: Likewise.
18049 * conf/i386-ieee1275.mk: Likewise.
18050 * conf/i386.mk: Likewise.
18051 * conf/i386-pc.mk: Likewise.
18052 * conf/powerpc-ieee1275.mk: Likewise.
18053 * conf/sparc64-ieee1275.mk: Likewise.
18054 * conf/x86_64-efi.mk: Likewise.
18055
18056 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18057 develop on GRUB.
18058
7dd4a573 180592009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 18060 David S. Miller <davem@davemloft.net>
18061
18062 * util/hostdisk.c (make_device_name): Fix buffer length
18063 calculations.
18064
e25b5a8c 180652009-04-14 Felix Zielcke <fzielcke@z-51.de>
18066
18067 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18068 <sys/param.h> and <sys/sysctl.h>.
18069 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18070 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18071 opening the device and reset them afterwards.
18072
1f1f580c 180732009-04-13 Pavel Roskin <proski@gnu.org>
18074
18075 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18076 Reported by John Stanley <jpsinthemix@verizon.net>
18077
7ebc2d6b 180782009-04-13 Robert Millan <rmh@aybabtu.com>
18079
18080 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 18081 that name for menuentries when appropriate.
7ebc2d6b 18082
d8ba3667 180832009-04-13 Felix Zielcke <fzielcke@z-51.de>
18084
18085 * util/grub.d/10_freebsd.in: Add a missing `fi'.
18086
cba416eb 180872009-04-13 Robert Millan <rmh@aybabtu.com>
18088
18089 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
18090 to Linux, simply abort telling the user it's no longer supported.
18091
a547a745 180922009-04-13 Felix Zielcke <fzielcke@z-51.de>
18093
18094 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 18095 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 18096 `freebsd_loadenv' only when devices.hints exist.
18097
232a769c 180982009-04-13 Pavel Roskin <proski@gnu.org>
18099
18100 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
18101
c3012039 181022009-04-13 Felix Zielcke <fzielcke@z-51.de>
18103
18104 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
18105 partition number.
18106 (grub_drive): Likewise.
18107
234022fe 181082009-04-13 David S. Miller <davem@davemloft.net>
18109
18110 * kern/sparc64/ieee1275/ieee1275.c: New file.
18111 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
18112 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
18113 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
18114 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
18115 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
18116 grub_ieee1275_alloc_physmem): Declare new exported functions.
18117
d8e1836c 18118 * include/grub/sparc64/ieee1275/loader.h: New file.
18119 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18120 * include/grub/sparc64/kernel.h: Likewise.
18121 * loader/sparc64/ieee1275/linux.c: Likewise.
18122
96bd81ec 18123 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
18124 (grub_fstest_SOURCES): Likewise.
18125
6a4737e5 18126 * util/hostdisk.c (make_device_name): Do not make any assumptions
18127 about the length of drive names.
18128
1d7a72fd 18129 * kern/dl.c (grub_dl_load_file): Close file immediately when
18130 we are done using it.
18131
56bc2471 181322009-04-12 David S. Miller <davem@davemloft.net>
18133
18134 * kern/misc.c (grub_ltoa): Fix cast when handling negative
18135 values. Noticed by Pavel Roskin.
18136
df38d0bb 18137 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
18138 target compiler.
7dd4a573 18139
e382e93a 18140 * genmk.rb: Add more flexible image type specification, also
18141 pass --strip-unneeded to objcopy.
18142 * conf/i386-pc.rmk: Use *_FORMAT.
18143 * conf/i386-pc.mk: Rebuilt.
18144
f5dbbca9 18145 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
18146 (OFDISK_HASH_SZ): Define.
18147 (ofdisk_hash): New hash table.
18148 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
18149 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
18150 instead of device phandle which is not unique.
18151
91c88b12 18152 * kern/sparc64/ieee1275/init.c: Delete, replace with...
18153 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
18154 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
18155 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
18156 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
18157 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
18158 GRUB_KERNEL_MACHINE_DATA_END): Define.
18159 (grub_kernel_image_size, grub_total_module_size): Declare.
18160
5b5d4aa5 181612009-04-12 Pavel Roskin <proski@gnu.org>
18162
7dd4a573 18163 * configure.ac: Change the logic when we check for target tools.
18164 Do it when the target is specified and it's different from the
18165 specified value of the host.
5b5d4aa5 18166
c91e1793 181672009-04-11 Felix Zielcke <fzielcke@z-51.de>
18168
18169 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
18170 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
18171 GNU/kFreeBSD. Check if a device is a character device. Use
18172 DIOCGMEDIASIZE to get the size.
18173 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
18174 support for GNU/kFreeBSD.
18175 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
18176 is a character device instead of a block device. Add support for
18177 FreeBSD device names.
18178
18179 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
18180 is a character device instead of a block device.
18181
18182 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
18183 is a character device instead of a block device.
18184
b1ac8644 181852009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
18186
18187 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
18188 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
18189 FreeBSD. Check if a device is a character device. Use
18190 DIOCGMEDIASIZE to get the size.
18191 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
18192 support for FreeBSD.
18193 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
18194 is a character device instead of a block device. Add support for
18195 FreeBSD device names.
18196
18197 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
18198 a character device instead of a block device.
18199 (grub_util_check_char_device): New function.
18200
18201 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
18202 a character device instead of a block device.
18203
18204 * include/grub/util/getroot.h (grub_util_check_char_device): New
18205 prototype.
18206
a3f7515a 182072009-04-11 David S. Miller <davem@davemloft.net>
18208
18209 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
18210 static libgcc.
18211 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
18212 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
18213 function, if present.
18214 (__bswapdi2): Likewise.
18215
0d44993d 18216 * include/grub/sparc64/ieee1275/boot.h: New file.
18217 * boot/sparc64/ieee1275/boot.S: Likewise.
18218 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18219
ed3d2bc2 18220 * kern/misc.c (grub_ltoa): New function.
18221 (grub_vsprintf): Use it to format 'long' integers.
18222
d3bfb59c 182232009-04-10 David S. Miller <davem@davemloft.net>
18224
18225 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18226 slots are of type grub_ieee1275_cell_t.
18227 (grub_nand_read): Likewise.
18228 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18229 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18230 macros are used to compare values in arg/ret block of the call.
18231 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18232 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18233 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18234 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18235 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18236 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18237 grub_ieee1275_close, grub_ieee1275_set_property,
18238 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18239 grub_ieee1275_cell_t.
18240 * kern/ieee1275/openfw.c (grub_map): Likewise.
18241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18242 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18243
450e2238 18244 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18245 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18246 (grub_devalias_iterate): Likewise.
18247
7dd4a573 182482009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18249
18250 UFS improvements
18251
18252 * fs/ufs.c (INODE_NBLOCKS): new definition
18253 (struct grub_ufs_dirent): added fields for non-BSD dirents
18254 (grub_ufs_get_file_block): fixed double indirect handling
18255 (grub_ufs_lookup_symlink): use more robust way to determine whether
18256 symlink is inline
18257 (grub_ufs_find_file): support for non-BSD dirents
18258 (grub_ufs_dir): support for non-BSD dirents
18259
e7e6862a 182602009-04-10 Bean <bean123ch@gnail.com>
18261
18262 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18263 attribute, otherwise the size would be wrong for i386 platform.
18264
18265 * include/grub/pci.h (grub_pci_read_word): New inline function.
18266 (grub_pci_read_byte): Likewise.
18267 (grub_pci_write): Likewise.
18268 (grub_pci_write_word): Likewise.
18269 (grub_pci_write_byte): Likewise.
18270
18271 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18272
18273 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18274 (find_framebuf): Scan pci to locate the frame buffer address.
18275
18276 * commands/efi/fixvideo.c: New file.
18277
18278 * commands/efi/loadbios.c: Likewise.
18279
18280 * commands/memrw.c: Likewise.
18281
18282 * util/grub-dumpbios.in: Likewise.
18283
18284 * conf/common.rmk (grub-dumpbios): New utility.
18285 (pkglib_MODULES): New module memrw.mod.
18286 (memrw_mod_SOURCE): New macro.
18287 (memrw_mod_CFLAGS): Likewise.
18288 (memrw_mod_LDFLAGS): Likewise.
18289
7dd4a573 18290 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18291 fixvideo.mod.
18292 (loadbios_mod_SOURCE): New macro.
18293 (loadbios_mod_CFLAGS): Likewise.
18294 (loadbios_mod_LDFLAGS): Likewise.
18295 (fixvideo_mod_SOURCE): Likewise.
18296 (fixvideo_mod_CFLAGS): Likewise.
18297 (fixvideo_mod_LDFLAGS): Likewise.
18298
7dd4a573 18299 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18300 fixvideo.mod.
18301 (loadbios_mod_SOURCE): New macro.
18302 (loadbios_mod_CFLAGS): Likewise.
18303 (loadbios_mod_LDFLAGS): Likewise.
18304 (fixvideo_mod_SOURCE): Likewise.
18305 (fixvideo_mod_CFLAGS): Likewise.
18306 (fixvideo_mod_LDFLAGS): Likewise.
18307
af63ada2 183082009-04-08 Felix Zielcke <fzielcke@z-51.de>
18309
18310 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18311
c2cdde70 183122009-04-07 David S. Miller <davem@davemloft.net>
18313
18314 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18315 support for R_SPARC_OLO10 relocations. Fix compile warning for
18316 R_SPARC_WDISP30 case.
ea3f72cf 18317 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18318
761319cf 183192009-04-06 Pavel Roskin <proski@gnu.org>
18320
1007d1f5 18321 * include/grub/misc.h (ARRAY_SIZE): New macro.
18322 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18323 New macro.
18324 * loader/i386/linux.c (allocate_pages): Use free_pages().
18325 (grub_linux_unload): Don't use free_pages().
18326 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18327 wrong index. Treat all other modes as text modes.
18328 (grub_cmd_linux): Initialize vid_mode unconditionally to
18329 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18330
761319cf 18331 * commands/help.c (print_command_help): Use cmd->prio, not
18332 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18333
ea761d40 183342009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18335
ea761d40 18336 Parttool
18337
18338 * parttool/pcpart.c: new file
18339 * commands/parttool.c: likewise
18340 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18341 (parttool_mod_SOURCES): new variable
18342 (parttool_mod_CFLAGS): likewise
18343 (parttool_mod_LDFLAGS): likewise
18344 (pcpart_mod_SOURCES): likewise
18345 (pcpart_mod_CFLAGS): likewise
18346 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18347 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18348 and parttool/pcpart.c
18349 * conf/i386-efi.rmk: likewise
18350 * conf/i386-ieee1275.rmk: likewise
18351 * conf/i386-pc.rmk: likewise
18352 * conf/powerpc-ieee1275.rmk: likewise
18353 * conf/sparc64-ieee1275.rmk: likewise
18354 * conf/x86_64-ieee1275.rmk: likewise
18355
05aaebfb 183562009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 Support for mtime and further expandability of dir command
18359
18360 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18361 * include/grub/datetime.h: ... moved here and added
05aaebfb 18362 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18363 * include/grub/fs.h: new syntax for dir and mtime functions in
18364 struct grub_fs
05aaebfb 18365 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18366 and GRUB_FSHELP_FLAGS_MASK
18367 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18368 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18369 (grub_ext2_mtime): new function
18370 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18371 (grub_hfsplus_mtime): new function
18372 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18373 (GRUB_UFS_ATTR_FILE): likewise
18374 (GRUB_UFS_ATTR_LNK): likewise
18375 (struct grub_ufs_sblock): new fields mtime
18376 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18377 all users updated
18378 (grub_ufs_dir): mtime support
18379 (grub_ufs_mtime): new function
18380 * fs/affs.c (grub_affs_dir): use new dir syntax
18381 * fs/afs.c (grub_afs_dir): likewise
18382 * fs/cpio.c (grub_cpio_dir): likewise
18383 * fs/fat.c (grub_fat_find_dir): likewise
18384 * fs/hfs.c (grub_hfs_dir): likewise
18385 * fs/iso9660.c (grub_iso9660_dir): likewise
18386 * fs/jfs.c (grub_jfs_dir): likewise
18387 * fs/minix.c (grub_minix_dir): likewise
18388 * fs/ntfs.c (grub_ntfs_dir): likewise
18389 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18390 * fs/sfs.c (grub_sfs_dir): likewise
18391 * fs/xfs.c (grub_xfs_dir): likewise
18392 * util/hostfs.c (grub_hostfs_dir): likewise
18393 * lib/datetime.c: moved to ...
18394 * normal/datetime.c: ... moved here
18395 (grub_unixtime2datetime): new function
18396 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18397 * normal/completion.c (iterate_dir): use new dir syntax
18398 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18399 last modification time of a volume
7dd4a573 18400 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18401 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18403 (normal_mod_SOURCES): likewise
18404 (datetime_mod_SOURCES): Removed lib/datetime.c
18405 * conf/i386-efi.rmk: likewise
7dd4a573 18406 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18407 * conf/i386-pc.rmk: likewise
18408 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18409 * conf/sparc64-ieee1275.rmk: likewise
18410 * conf/x86_64-efi.rmk: likewise
05aaebfb 18411
8a7e1a14 184122009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18415
18416 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18417 on grub_fat_find_dir
18418 (grub_fat_find_dir): use grub_fat_iterate_dir
18419 (grub_fat_label): likewise
18420
04186a9c 184212009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18422
7dd4a573 18423 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18424 and command.h
18425 remove extraneous kernel_elf_HEADERS
18426
da4c0bb6 184272009-04-04 Bean <bean123ch@gnail.com>
18428
18429 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18430
18431 * util/misc.c: Likewise.
18432
54ad9555 184332009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18434
18435 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18436 instead of grub_printf.
18437
7a6bf9f2 184382009-04-03 Robert Millan <rmh@aybabtu.com>
18439
18440 * loader/i386/linux.c (grub_linux_setup_video): Fill
18441 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18442 values from `mode info' structure instead of hardcoded
18443 values.
18444
3fcc2083 184452009-04-01 Pavel Roskin <proski@gnu.org>
18446
18447 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18448 unused now.
18449 * genmk.rb: Likewise.
18450 * configure.ac: Likewise.
18451
5ec9740b 184522009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
18453
18454 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
18455 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
18456
5270cec8 184572009-04-01 David S. Miller <davem@davemloft.net>
18458
18459 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 18460 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 18461 (grub_setjmp): Mark with 'returns_twice' attribute.
18462 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
18463 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
18464 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
18465
9c3dd854 184662009-04-01 Robert Millan <rmh@aybabtu.com>
18467
18468 Reapply fix from 2008-07-28 which was accidentally reverted; also
18469 perform the same fix to a similar check in same function.
18470
18471 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18472 with the same number are found, just use issue a warning with
18473 grub_dprintf(), as this error has been reported to be non-fatal.
18474
0d818b7e 184752009-03-31 Pavel Roskin <proski@gnu.org>
18476
18477 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
18478 for cross-compilation.
18479
95646d92 184802009-03-30 Robert Millan <rmh@aybabtu.com>
18481
18482 Fix i386-ieee1275 build.
18483
18484 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
18485 Remove declaration.
18486
6a003ed1 184872009-03-30 Pavel Roskin <proski@gnu.org>
18488
18489 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
18490 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
18491 zero-terminated, rely only on the strlen value. Fix comparison
18492 of strings differing in length.
18493
92f33540 184942009-03-30 Robert Millan <rmh@aybabtu.com>
18495
18496 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
18497 checking for abi version. Improve error messages on BIOS to notify
18498 user about `linux16' command.
18499
a8c48fd5 185002009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18501
f968172e 18502 Leak fixes
a8c48fd5 18503
f968172e 18504 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
18505 in case of collision
18506 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 18507
9c323f09 185082009-03-29 Robert Millan <rmh@aybabtu.com>
18509
18510 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
18511 set `vid_mode' accordingly.
18512 (grub_linux_boot): Process `vid_mode' and set video mode.
18513
ae68f423 185142009-03-29 Robert Millan <rmh@aybabtu.com>
18515
18516 * util/grub.d/10_linux.in (linux_entry): New function.
18517 Factorize generation of Linux boot entries.
18518
5709cfc4 185192009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18520
18521 Make the format of Environment Block plain text. The boot loader
18522 part is not tested well yet.
7dd4a573 18523
5709cfc4 18524 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18525 (buffer): Removed.
18526 (envblk): Likewise.
18527 (usage): Remove "info" and "clear". Add "unset". Update the
18528 description of "set", as this does not delete variables any
18529 longer.
18530 (create_envblk_file): Complete rewrite.
18531 (open_envblk_file): Likewise.
18532 (cmd_info): Removed.
18533 (cmd_list): Likewise.
18534 (cmd_set): Likewise.
18535 (cmd_clear): Likewise.
18536 (list_variables): New function.
18537 (write_envblk): Likewise.
18538 (set_variables): Likewise.
18539 (unset_variables): Likewise.
18540 (main): Complete rewrite.
18541
18542 * commands/loadenv.c (buffer): Removed.
18543 (envblk): Likewise.
18544 (open_envblk_file): New function.
18545 (read_envblk_file): Complete rewrite.
18546 (grub_cmd_load_env): Likewise.
18547 (grub_cmd_list_env): Likewise.
18548 (struct blocklist): New struct.
18549 (free_blocklists): New function.
18550 (check_blocklists): Likewise.
18551 (write_blocklists): Likewise.
18552 (grub_cmd_save_env): Complete rewrite.
18553
18554 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18555 a plain text signature.
18556 (GRUB_ENVBLK_MAXLEN): Removed.
18557 (struct grub_envblk): Complete rewrite.
18558 (grub_envblk_find): Removed.
18559 (grub_envblk_insert): Likewise.
18560 (grub_envblk_open): New prototype.
18561 (grub_envblk_set): Likewise.
18562 (grub_envblk_delete): Put const to VALUE.
18563 (grub_envblk_iterate): Put const to NAME and VALUE.
18564 (grub_envblk_close): New prototype.
18565 (grub_envblk_buffer): New inline function.
18566 (grub_envblk_size): Likewise.
18567
18568 * lib/envblk.c: Include grub/mm.h.
18569 (grub_env_find): Removed.
18570 (grub_envblk_open): New function.
18571 (grub_envblk_close): Likewise.
18572 (escaped_value_len): Likewise.
18573 (find_next_line): Likewise.
18574 (grub_envblk_insert): Removed.
18575 (grub_envblk_set): New function.
18576 (grub_envblk_delete): Complete rewrite.
18577 (grub_envblk_iterate): Likewise.
18578
a9368fd3 185792009-03-28 Robert Millan <rmh@aybabtu.com>
18580
18581 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18582 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18583 variables. Use 16-bit loader.
18584 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18585 loader.
18586 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18587 (grub_linux16_boot): ... this. Update all users.
18588 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18589 (grub_linux_boot): ... this. Update all users.
18590
18591 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18592 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18593 commands to `linux16' and `initrd16'.
18594 (GRUB_MOD_FINI(linux)): Rename to ...
18595 (GRUB_MOD_FINI(linux16)): ... this.
18596
e4dd5a7e 185972009-03-24 Pavel Roskin <proski@gnu.org>
18598
18599 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18600 not just for compilation.
18601
c04d6e05 186022009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 Move multiboot helper out of kernel
18605
18606 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18607 `loader/i386/multiboot_helper.S'.
18608 * conf/i386-coreboot.rmk: Likewise
18609 * conf/i386-ieee1275.rmk: Likewise
18610
18611 * kern/i386/loader.S: Move multiboot helpers from here...
18612 * loader/i386/multiboot_helper.S: ...moved here
18613 * include/grub/i386/loader.h: Move declarations of multiboot
18614 helpers from here...
18615 * include/grub/i386/multiboot.h: ...moved here
18616 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18617
42a5b3fc 186182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18619
18620 * kern/env.c (grub_env_context_open): Added an argument to specify
18621 whether a new context inherits exported variables from current
18622 one. This is useful when making a sandbox to interpret a config
18623 file.
18624 All callers updated.
18625
18626 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18627
b28bbc4e 186282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18629
18630 * kern/env.c (grub_env_context_close): Fix memory leaks.
18631
f04f02e4 186322009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18633
18634 * normal/main.c (grub_normal_execute): Added an argument
18635 BATCH to specify if an interactive interface should be provided
18636 after reading a config file.
18637 All callers updated.
18638 (read_command_list): Prevent being executed twice.
18639 (read_fs_list): Likewise.
18640
42a5b3fc 18641 * include/grub/normal.h (grub_normal_execute): Updated the
18642 prototype.
f04f02e4 18643
41473ac2 186442009-03-22 Pavel Roskin <proski@gno.org>
18645
fbc00b0c 18646 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18647 _start.
18648 * kern/i386/pc/startup.S: Likewise.
18649 * kern/i386/efi/startup.S: Likewise.
18650 * kern/i386/ieee1275/startup.S: Likewise.
18651 * kern/i386/coreboot/startup.S: Likewise.
18652 * kern/x86_64/efi/startup.S: Likewise.
18653
41473ac2 18654 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18655 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18656 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18657
2274cc8f 186582009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18661
18662 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18663 limit detection.
18664 Use vaddr of correct segment for entry_point.
18665
b1b797cb 186662009-03-21 Bean <bean123ch@gmail.com>
18667
18668 * commands/blocklist.c: Add include file <grub/command.h>, remove
18669 <grub/normal.h> and <grub/arg.h>.
18670 (grub_cmd_blocklist): Use the new command interface.
18671 (GRUB_MOD_INIT): Likewise.
18672 (GRUB_MOD_FINI): Likewise.
18673 * commands/boot.c: Likewise.
18674 * commands/cat.c: Likewise.
18675 * commands/cmp.c: Likewise.
18676 * commands/configfile.c: Likewise.
18677 * commands/crc.c: Likewise.
18678 * commands/echo.c: Likewise.
18679 * commands/halt.c: Likewise.
18680 * commands/handler.c: Likewise.
18681 * commands/hdparm.c: Likewise.
18682 * commands/help.c: Likewise.
18683 * commands/hexdump.c: Likewise.
18684 * commands/loadenv.c: Likewise.
18685 * commands/ls.c: Likewise.
18686 * commands/lsmmap.c: Likewise.
18687 * commands/lspci.c: Likewise.
18688 * commands/loadenv.c: Likewise.
18689 * commands/read.c: Likewise.
18690 * commands/reboot.c: Likewise.
18691 * commands/search.c: Likewise.
18692 * commands/sleep.c: Likewise.
18693 * commands/test.c: Likewise.
18694 * commands/usbtest.c: Likewise.
18695 * commands/videotest.c: Likewise.
18696 * commands/i386/cpuid.c: Likewise.
18697 * commands/i386/pc/halt.c: Likewise.
18698 * commands/i386/pc/play.c: Likewise.
18699 * commands/i386/pc/pxecmd.c: Likewise.
18700 * commands/i386/pc/vbeinfo.c: Likewise.
18701 * commands/i386/pc/vbetest.c: Likewise.
18702 * commands/ieee1275/suspend.c: Likewise.
18703 * disk/loopback.c: Likewise.
18704 * font/font_cmd.c: Likewise.
18705 * hello/hello.c: Likewise.
18706 * loader/efi/appleloader.c: Likewise.
18707 * loader/efi/chainloader.c: Likewise.
18708 * loader/i386/bsd.c: Likewise.
18709 * loader/i386/efi/linux.c: Likewise.
18710 * loader/i386/ieee1275/linux.c: Likewise.
18711 * loader/i386/linux.c: Likewise.
18712 * loader/i386/pc/chainloader.c: Likewise.
18713 * loader/i386/pc/linux.c: Likewise.
18714 * loader/powerpc/ieee1275/linux.c: Likewise.
18715 * loader/multiboot_loader.c: Likewise.
18716 * term/gfxterm.c: Likewise.
18717 * term/i386/pc/serial.c: Likewise.
18718 * term/terminfo.c: Likewise.
18719
18720 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18721 * term/i386/pc/vga.c: Likewise.
18722 * video/readers/jpeg.c: Likewise.
18723 * video/readers/png.c: Likewise.
18724 * video/readers/tga.c: Likewise.
18725
18726 * util/grub-fstest (cmd_loopback): Removed.
18727 (cmd_blocklist): Likewise.
18728 (cmd_ls): Likewise.
18729 (grub_register_command): Likewise.
18730 (grub_unregister_command): Likewise.
18731 (execute_command): Use grub_command_find to locate command and execute
18732 it.
18733
18734 * include/grub/efi/chainloader.h: Removed.
18735 * loader/efi/chainloader_normal.c: Likewise.
18736 * loader/i386/bsd_normal.c: Likewise.
18737 * loader/i386/pc/chainloader_normal.c: Likewise.
18738 * loader/i386/pc/multiboot_normal.c: Likewise.
18739 * loader/linux_normal.c: Likewise.
18740 * loader/multiboot_loader_normal.c: Likewise.
18741 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18742
18743 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18744 and grub_register_command_p1.
18745
18746 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18747 kern/command.c, lib/arg.c and commands/extcmd.c.
18748 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18749 (minicmd_mod_SOURCES): New variable.
18750 (minicmd_mod_CFLAGS): Likewise.
18751 (minicmd_mod_LDFLAGS): Likewise.
18752 (extcmd_mod_SOURCES): Likewise.
18753 (extcmd_mod_CFLAGS): Likewise.
18754 (extcmd_mod_LDFLAGS): Likewise.
18755 (boot_mod_SOURCES): Removed.
18756 (boot_mod_CFLAGS): Likewise.
18757 (boot_mod_LDFLAGS): Likewise.
18758
18759 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18760 kern/corecmd.c.
18761 (kernel_img_HEADERS): Add command.h.
18762 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18763 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18764 and lib/arg.c.
18765 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18766 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18767 remove the corresponding normal mode command.
18768 (normal_mod_SOURCES): Remove normal/arg.c.
18769 * conf/i386-coreboot.rmk: Likewise.
18770 * conf/i386-efi.rmk: Likewise.
18771 * conf/i386-ieee1275.rmk: Likewise.
18772 * conf/powerpc-ieee1275.rmk: Likewise.
18773 * conf/x86_64-efi.rmk: Likewise.
18774
18775 * include/grub/arg.h: Move from here ...
18776 * include/grub/lib/arg.h: ... to here.
18777
18778 * normal/arg.c: Move from here ...
18779 * lib/arg.c: ... to here.
18780
18781 * commands/extcmd.c: New file.
18782 * commands/minicmd.c: Likewise.
18783 * include/grub/command.h: Likewise.
18784 * include/grub/extcmd.h: Likewise.
18785 * kern/command.c: Likewise.
18786 * kern/corecmd.c: Likewise.
18787
18788 * kern/list.c (grub_list_iterate): Return int instead of void.
18789 (grub_list_insert): New function.
18790 (grub_prio_list_insert): Likewise.
18791
18792 * kern/rescue.c (grub_rescue_command): Removed.
18793 (grub_rescue_command_list): Likewise.
18794 (grub_rescue_register_command): Likewise.
18795 (grub_rescue_unregister_command): Likewise.
18796 (grub_rescue_cmd_boot): Move to minicmd.c
18797 (grub_rescue_cmd_help): Likewise.
18798 (grub_rescue_cmd_info): Likewise.
18799 (grub_rescue_cmd_boot): Likewise.
18800 (grub_rescue_cmd_testload): Likewise.
18801 (grub_rescue_cmd_dump): Likewise.
18802 (grub_rescue_cmd_rmmod): Likewise.
18803 (grub_rescue_cmd_lsmod): Likewise.
18804 (grub_rescue_cmd_exit): Likewise.
18805 (grub_rescue_print_devices): Moved to corecmd.c.
18806 (grub_rescue_print_files): Likewise.
18807 (grub_rescue_cmd_ls): Likewise.
18808 (grub_rescue_cmd_insmod): Likewise.
18809 (grub_rescue_cmd_set): Likewise.
18810 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18811 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18812 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18813 commands, remove grub_rescue_register_command calls.
b1b797cb 18814
7d074e3c 18815 * normal/command.c (grub_register_command): Removed.
b1b797cb 18816 (grub_unregister_command): Likewise.
18817 (grub_command_find): Likewise.
18818 (grub_iterate_commands): Likewise.
18819 (rescue_command): Likewise.
18820 (export_command): Moved to corecmd.c.
18821 (set_command): Removed.
18822 (unset_command): Likewise.
18823 (insmod_command): Likewise.
18824 (rmmod_command): Likewise.
18825 (lsmod_command): Likewise.
18826 (grub_command_init): Likewise.
18827
18828 * normal/completion.c (iterate_command): Use cmd->prio to check for
18829 active command.
18830 (complete_arguments): Use grub_extcmd_t structure to find options.
18831 (grub_normal_do_completion): Change function grub_iterate_commands to
18832 grub_command_iterate.
18833
18834 * normal/execute.c (grub_script_execute_cmd): No need to parse
18835 argument here.
18836
18837 * normal/main.c (grub_dyncmd_dispatcher): New function.
18838 (read_command_list): Register unload commands as dyncmd.
18839 (grub_cmd_normal): Use new command interface, register rescue,
18840 unregister normal at entry, register normal, unregister rescue at exit.
18841
18842 * include/grub/list.h (grub_list_test_t): New type.
18843 (grub_list_iterate): Return int instead of void.
18844 (grub_list_insert): New function.
18845 (GRUB_AS_NAMED_LIST_P): New macro.
18846 (GRUB_AS_PRIO_LIST): Likewise.
18847 (GRUB_AS_PRIO_LIST_P): Likewise.
18848 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18849 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18850 (grub_prio_list): New structure.
18851 (grub_prio_list_insert): New function.
18852 (grub_prio_list_remove): New inline function.
18853
18854 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18855 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18856 (GRUB_COMMAND_FLAG_MENU): Likewise.
18857 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18858 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18859 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18860 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18861 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18862 (grub_command): Likewise.
18863 (grub_register_command): Likewise.
18864 (grub_command_find): Likewise.
18865 (grub_iterate_commands): Likewise.
18866 (grub_command_init): Likewise.
18867 (grub_arg_parse): Likewise.
18868 (grub_arg_show_help): Likewise.
18869
18870 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18871 (grub_rescue_unregister_command): Likewise.
18872
18873 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18874 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18875 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18876
18877 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18878 grub_rescue_cmd_initrd.
18879 * include/grub/i386/loader.h: Likewise.
18880 * include/grub/x86_64/loader.h: Likewise.
18881
18882 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18883
1f4147aa 188842009-03-21 Bean <bean123ch@gmail.com>
18885
18886 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18887 instead of stat in mingw environment.
18888
18889 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18890
18891 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18892
18893 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18894 AC_CONFIG_LINKS.
18895
2156d5ba 188962009-03-21 Bean <bean123ch@gmail.com>
18897
18898 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18899 out of range error.
18900
177b82ca 189012009-03-18 Michel Dänzer <michel@daenzer.net>
18902
18903 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18904 checking inode flags for EXT4_EXTENTS_FLAG.
18905
14aad807 189062009-03-18 Robert Millan <rmh@aybabtu.com>
18907
18908 * loader/i386/linux.c: Include `<grub/video.h>' and
18909 `<grub/i386/pc/vbe.h>'..
18910 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18911 (grub_linux32_boot): Attempt to configure video settings with
18912 grub_linux_setup_video().
18913 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18914 to avoid grub_console_fini() which would step out of graphical mode
18915 unconditionally.
18916
8cf83a27 189172009-03-14 Robert Millan <rmh@aybabtu.com>
18918
18919 Fix build on powerpc.
18920 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18921
40164e75 189222009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18925 background image command.
18926
c58bc32a 189272009-03-12 Colin D Bennett <colin@gibibit.com>
18928
18929 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18930 (grub_gfxterm_putchar): Extract pairs of identical calls to
18931 draw_cursor out of conditional blocks.
18932
5415144a 189332009-03-11 Pavel Roskin <proski@gnu.org>
18934
18935 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18936 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18937
6394042e 189382009-03-11 Robert Millan <rmh@aybabtu.com>
18939
18940 * loader/i386/multiboot_elfxx.c
18941 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18942
b7b50e5f 189432009-03-11 Felix Zielcke <fzielcke@z-51.de>
18944
18945 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18946 `kern/handler.c'.
18947
1ca7fc96 189482009-03-11 Robert Millan <rmh@aybabtu.com>
18949
18950 * loader/i386/multiboot.c (code_size): New variable.
18951 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18952 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18953 4-byte alignment to MBI and others by increasing
7d074e3c 18954 `boot_loader_name_length' appropriately.
1ca7fc96 18955
18956 * loader/i386/multiboot_elfxx.c
18957 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18958
a83ea1d2 189592009-03-09 Felix Zielcke <fzielcke@z-51.de>
18960
18961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18962 `fs/ext2.c'.
18963
aa9f3bff 189642009-03-08 Robert Millan <rmh@aybabtu.com>
18965
18966 Make loader/i386/linux.c usable on i386-pc again.
18967
18968 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18969 memory to heap.
18970 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18971 `#error' stanza.
18972
d8b3b60e 189732009-03-07 Bean <bean123ch@gmail.com>
18974
18975 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18976 allocation.
18977
b362c9e9 189782009-03-06 Robert Millan <rmh@aybabtu.com>
18979
18980 Fix display issue on terminals with screen size other than 80x25
18981 (e.g. gfxterm with resolution higher than 640x480).
18982
18983 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18984 position relative to the center of the terminal instead of relying
b362c9e9 18985 on a hardcoded offset.
18986
9304eef1 189872009-03-04 Robert Millan <rmh@aybabtu.com>
18988
18989 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18990 installed.
18991
18992 * Makefile.in (host_kernel): New variable.
18993 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18994 scripts instead of just the windows one.
18995 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18996
eabc95fb 189972009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18998
18999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19000 `kern/handler.c'.
19001 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19002 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19005 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19006 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19007
ceb1223c 190082009-03-04 Felix Zielcke <fzielcke@z-51.de>
19009
19010 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19011 or if there's no space for the disk label and print the partition number on a
19012 invalid magic.
19013
4910684a 190142009-03-04 Felix Zielcke <fzielcke@z-51.de>
19015
19016 * util/misc.c: Include <time.h>.
19017 (grub_millisleep): New function.
19018
7e9ca17a 190192009-03-04 Bean <bean123ch@gmail.com>
19020
19021 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19022 another option -mno-red-zone.
19023
19024 * commands/handler.c: Change module description.
19025
19026 * kern/handler.c: Add missing space at the end of description line.
19027
19028 * kern/list.c: Likewise.
19029
f501677c 190302009-03-03 Robert Millan <rmh@aybabtu.com>
19031
19032 Move more components to the relocation area, and fix mbi pointer
19033 handling to use the destination rather than the origin (thanks to
19034 Vladimir Serbinenko for spotting).
19035
19036 * loader/i386/multiboot.c (mbi_dest): New variable.
19037 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19038 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19039 relocation area.
19040
9902d047 190412009-03-01 Bean <bean123ch@gmail.com>
19042
50fb7002 19043 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 19044 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19045 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19046 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19047
19048 * loader/i386/efi/linux.c (acpi_guid): New variable.
19049 (acpi_guid): Likewise.
19050 (EBDA_SEG_ADDR): New constant.
19051 (LOW_MEM_ADDR): Likewise.
19052 (FAKE_EBDA_SEG): Likewise.
19053 (fake_bios_data): New function.
19054 (grub_linux_boot): Call fake_bios_data.
19055
71b9f361 190562009-03-01 Bean <bean123ch@gmail.com>
19057
19058 * commands/terminal.c: Removed.
19059
19060 * commands/handler.c: New file.
19061
19062 * include/grub/list.h: Likewise.
19063
19064 * include/grub/handler.h: Likewise.
19065
19066 * kern/list.c: Likewise.
19067
19068 * kern/handler.c: Likewise.
19069
19070 * kern/term.h: Include header file <grub/handler.h>.
19071 (grub_term_input): Move next field to the beginning.
19072 (grub_term_output): Likewise.
19073 (grub_term_input_class): New variable.
19074 (grub_term_output_class): Likewise.
19075 (grub_term_register_input): Changed to inline function.
19076 (grub_term_register_output): Likewise.
19077 (grub_term_unregister_input): Likewise.
19078 (grub_term_unregister_output): Likewise.
19079 (grub_term_set_current_input): Likewise.
19080 (grub_term_set_current_output): Likewise.
19081 (grub_term_get_current_input): Likewise.
19082 (grub_term_get_current_output): Likewise.
19083 (grub_term_iterate_input): Removed.
19084 (grub_term_iterate_output): Likewise.
19085
19086 * kern/term.c (grub_term_list_input): Removed.
19087 (grub_term_list_output): Likewise.
19088 (grub_term_input_class): New variable.
19089 (grub_term_output_class): Likewise.
50fb7002 19090 (grub_cur_term_input): Change variable as macro.
71b9f361 19091 (grub_cur_term_output): Likewise.
19092 (grub_term_register_input): Removed.
19093 (grub_term_register_output): Likewise.
19094 (grub_term_unregister_input): Likewise.
19095 (grub_term_unregister_output): Likewise.
19096 (grub_term_set_current_input): Likewise.
19097 (grub_term_set_current_output): Likewise.
19098 (grub_term_iterate_input): Likewise.
19099 (grub_term_iterate_output): Likewise.
19100 (grub_term_get_current_input): Likewise.
19101 (grub_term_get_current_output): Likewise.
19102
19103 * util/grub-editenv.c: Include header file <grub/handler.h>.
19104 (grub_term_get_current_input): Removed.
19105 (grub_term_get_current_output): Likewise.
19106 (grub_term_input_class): New variable.
50fb7002 19107 (grub_term_output_class): Likewise.
71b9f361 19108
19109 * util/grub-fstest.c (grub_term_get_current_input): Removed.
19110 (grub_term_get_current_output): Likewise.
19111 (grub_term_input_class): New variable.
50fb7002 19112 (grub_term_output_class): Likewise.
71b9f361 19113
19114 * util/grub-probe.c (grub_term_get_current_input): Removed.
19115 (grub_term_get_current_output): Likewise.
19116 (grub_term_input_class): New variable.
50fb7002 19117 (grub_term_output_class): Likewise.
71b9f361 19118
19119 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
19120 (grub_term_get_current_output): Likewise.
19121 (grub_term_input_class): New variable.
50fb7002 19122 (grub_term_output_class): Likewise.
71b9f361 19123
19124 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
19125 (terminal_mod_SOURCES): Likewise.
19126 (terminal_mod_CFLAGS): Likewise.
19127 (terminal_mod_LDFLAGS): Likewise.
19128
19129 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
19130 handler.c.
19131 (kernel_img_SOURCES): Add list.c and handler.c.
19132 (kernel_img_HEADERS): Add list.h and handler.h.
19133
19134 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19135 handler.c.
19136 (kernel_mod_SOURCES): Add list.c and handler.c.
19137 (kernel_mod_HEADERS): Add list.h and handler.h.
19138
19139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
19140 handler.c.
19141 (kernel_elf_SOURCES): Add list.c and handler.c.
19142 (kernel_elf_HEADERS): Add list.h and handler.h.
19143
19144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19145 handler.c.
19146 (kernel_elf_SOURCES): Add list.c and handler.c.
19147 (kernel_elf_HEADERS): Add list.h and handler.h.
19148
19149 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19150 handler.c.
19151 (kernel_mod_SOURCES): Add list.c and handler.c.
19152 (kernel_mod_HEADERS): Add list.h and handler.h.
19153
19154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19155 handler.c.
19156 (kernel_elf_SOURCES): Add list.c and handler.c.
19157 (kernel_elf_HEADERS): Add list.h and handler.h.
19158
8a31787f 191592009-02-27 Robert Millan <rmh@aybabtu.com>
19160
19161 Factorize elf32 / elf64 code in Multiboot loader. This will
19162 prevent it from getting out of sync again.
19163
19164 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
19165 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
19166 grub_multiboot_load_elf64): Move from here ...
19167 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
19168 grub_multiboot_load_elf): ... to here (new file).
19169
51cd3dfc 191702009-02-27 Robert Millan <rmh@aybabtu.com>
19171
19172 * util/grub.d/10_linux.in: Rename "single-user mode" to
19173 "recovery mode".
19174
6e8c9c3a 191752009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 Don't leak in SCSI code.
19178 * disk/scsi.c (grub_scsi_close): free `scsi'.
19179
4b6bf4f9 191802009-02-27 Robert Millan <rmh@aybabtu.com>
19181
19182 * loader/i386/pc/multiboot.c: Move from here ...
19183 * loader/i386/multiboot.c: ... to here. Update all users.
19184
b9413424 191852009-02-27 Robert Millan <rmh@aybabtu.com>
19186
19187 Patch from Alexandre Bique <bique.alexandre@gmail.com>
19188 * util/i386/pc/grub-setup.c (setup): Fix directory path.
19189
50fb7002 191902009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 19191
19192 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
19193 b-tree.
19194
8cc50345 191952009-02-27 Robert Millan <rmh@aybabtu.com>
19196
19197 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
19198 `0x' qualifier as 0 when base is specified as parameter).
19199
6e09b8b7 192002009-02-24 Bean <bean123ch@gmail.com>
19201
19202 * configure.ac: Check for -mcmodel=large in x86_64 target.
19203
19204 * include/grub/efi/api.h (efi_call_10): New macro.
19205 (efi_wrap_10): New function.
19206
19207 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
19208 (GRUB_PE32_REL_BASED_HIGH): Likewise.
19209 (GRUB_PE32_REL_BASED_LOW): Likewise.
19210 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
19211 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
19212 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
19213 (GRUB_PE32_REL_BASED_SECTION): Likewise.
19214 (GRUB_PE32_REL_BASED_REL): Likewise.
19215 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
19216 (GRUB_PE32_REL_BASED_DIR64): Likewise.
19217 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
19218
19219 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19220 issue.
19221
19222 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19223 (efi_wrap_10): New function.
19224
19225 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19226
19227 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19228 MB/MBP model (NV chipset).
19229 (devdata_devs): Add devpath_5 to the list.
19230
19231 * load/i386/efi/linux.c (video_base): Remove variable.
19232 (RGB_MASK): New macro.
19233 (RGB_MAGIC): Likewise.
19234 (LINE_MIN): Likewise.
19235 (LINE_MAX): Likewise.
19236 (FBTEST_STEP): Likewise.
19237 (FBTEST_COUNT): Likewise.
19238 (fb_list): New variable.
19239 (grub_find_video_card): Remove function.
19240 (find_framebuf): New function.
19241 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19242 line length.
19243
19244 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19245 problem for x86_64.
19246
74b21bee 192472009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19248
19249 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19250
19251 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19252 coding tool name.
19253
a455f472 192542009-02-22 Robert Millan <rmh@aybabtu.com>
19255
19256 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19257 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19258 in our relocation, instead of using it directly from heap. Also
19259 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19260
6374daf3 192612009-02-21 Robert Millan <rmh@aybabtu.com>
19262
19263 Implement USB keyboard support (based on patch by Marco Gerards)
19264
19265 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19266 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19267 (usb_keyboard_mod_LDFLAGS): New variables.
19268
19269 * term/usb_keyboard.c: New file.
19270
8fa4ea70 192712009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 Corrected wrong declaration
19274
19275 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19276
353976ac 192772009-02-14 Christian Franke <franke@computer.org>
19278
19279 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19280 (grub_lspci_iter): Print class code and programming interface byte.
19281
6aa1169b 192822009-02-14 Christian Franke <franke@computer.org>
19283
19284 * gendistlist.sh: Ignore `.svn' directories.
19285
265372ca 192862009-02-14 Felix Zielcke <fzielcke@z-51.de>
19287
19288 * fs/fat.c: Add 2009 to Copyright line.
19289
9ff516f3 192902009-02-14 Christian Franke <franke@computer.org>
19291
19292 * commands/hdparm.c: New file. Provides `hdparm' command
19293 which sends ATA commands via grub_disk_ata_pass_through ().
19294
19295 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19296
19297 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19298 and <grub/cpu/io.h> to include/grub/ata.h.
19299 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19300 (GRUB_CDROM_SECTOR_SIZE): Remove.
19301 (GRUB_ATA_*): Move to include/grub/ata.h.
19302 (GRUB_ATAPI_*): Likewise.
19303 (enum grub_ata_commands): Likewise.
19304 (enum grub_ata_timeout_milliseconds): Likewise.
19305 (struct grub_ata_device): Likewise.
19306 (grub_ata_regset): Likewise.
19307 (grub_ata_regget): Likewise.
19308 (grub_ata_regset2): Likewise.
19309 (grub_ata_regget2): Likewise.
19310 (grub_ata_check_ready): Likewise.
19311 (grub_ata_wait_not_busy): Remove static, exported in
19312 include/grub/ata.h.
19313 (grub_ata_wait_drq): Likewise.
19314 (grub_ata_pio_read): Likewise.
19315
19316 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19317 function for hdparm.mod.
19318
19319 * include/grub/ata.h: New file, contains declarations from
19320 disk/ata.c.
19321 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19322
19323 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19324 (grub_disk_ata_pass_through): New exported variable.
19325
19326 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19327
772e23da 193282009-02-13 Colin D Bennett <colin@gibibit.com>
19329
19330 Support multiple fallback entries, and provide an API to support
19331 executing default+fallback menu entries. Renamed the `terminal' menu
19332 viewer to `text'.
19333
19334 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19335 variable declaration.
19336 (grub_menu_execute_callback): New structure declaration.
19337 (grub_menu_execute_callback_t): New typedef.
19338 (grub_menu_execute_with_fallback): New function declaration.
19339 (grub_menu_get_entry): Likewise.
19340 (grub_menu_get_timeout): Likewise.
19341 (grub_menu_set_timeout): Likewise.
19342
19343 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19344
19345 * normal/menu.c (grub_wait_after_message): Moved to
19346 `normal/menu_text.c'.
19347 (draw_border): Likewise.
19348 (print_message): Likewise.
19349 (print_entry): Likewise.
19350 (print_entries): Likewise.
19351 (grub_menu_init_page): Likewise.
19352 (get_entry_number): Likewise.
19353 (print_timeout): Likewise.
19354 (run_menu): Likewise.
19355 (grub_menu_execute_entry): Likewise.
19356 (show_text_menu): Likewise.
19357 (get_and_remove_first_entry_number): New function.
19358 (grub_menu_execute_with_fallback): Likewise.
19359 (get_entry): Renamed to ...
19360 (grub_menu_get_entry): .. this and made it global.
19361 (get_timeout): Renamed to ...
19362 (grub_menu_get_timeout): ... this and made it global.
19363 (set_timeout): Renamed to ...
19364 (grub_menu_set_timeout): ... this and made it global.
19365 (grub_normal_terminal_menu_viewer): Renamed to ...
19366 (grub_normal_text_menu_viewer): ... this.
19367
19368 * normal/menu_text.c: New file. Extracted text-menu-specific code
19369 from normal/menu.c.
19370
19371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19372 (normal_mod_SOURCES): Likewise.
19373
19374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19375 (normal_mod_SOURCES): Likewise.
19376
19377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19378 (normal_mod_SOURCES): Likewise.
19379
19380 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19381 (normal_mod_SOURCES): Likewise.
19382
19383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19384 (normal_mod_SOURCES): Likewise.
19385
19386 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19387 (normal_mod_SOURCES): Likewise.
19388
19389 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19390 (normal_mod_SOURCES): Likewise.
19391
16ac430e 193922009-02-11 Robert Millan <rmh@aybabtu.com>
19393
19394 * util/grub.d/00_header.in: Update old reference to `font' command.
19395
06ff20fc 193962009-02-10 Felix Zielcke <fzielcke@z-51.de>
19397
19398 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19399
19400 Based on patch from Javier Martín.
19401
96da9407 194022009-02-09 Felix Zielcke <fzielcke@z-51.de>
19403
19404 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19405 to avoid false positives with FAT.
96da9407 19406 (grub_fstest_SOURCES): Likewise.
19407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19408 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19411 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19413
6dca6fe4 194142009-02-09 Felix Zielcke <fzielcke@z-51.de>
19415
06ff20fc 19416 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19417 bpb.version_specific.fat12_or_fat16.fstype and
19418 bpb.version_specific.fat32.fstype.
19419
2550c62f 194202009-02-08 Robert Millan <rmh@aybabtu.com>
19421
be110b30 19422 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19423
56978920 194242009-02-08 Robert Millan <rmh@aybabtu.com>
19425
19426 * Makefile.in (host_os, host_cpu): New variables.
19427 (target_os): Remove. Update all users.
19428
d64399b5 194292009-02-08 Marco Gerards <marco@gnu.org>
19430
19431 * Makefile.in (enable_grub_emu_usb): New variable.
19432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19433 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19434 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19435 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19436 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19437 `usbtest.mod' and `usbms.mod'.
19438 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19439 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19440 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19441 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19442 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19443 variables.
19444
19445 * disk/usbms.c: New file.
19446
19447 * include/grub/usb.h: Likewise.
19448
19449 * include/grub/usbtrans.h: Likewise.
19450
19451 * include/grub/usbdesc.h: Likewise.
19452
19453 * bus/usb/usbtrans.c: Likewise.
19454
19455 * bus/usb/ohci.c: Likewise.
19456
19457 * bus/usb/uhci.c: Likewise.
19458
19459 * bus/usb/usbhub.c: Likewise.
19460
19461 * bus/usb/usb.c: Likewise.
19462
19463 * commands/usbtest.c: Likewise.
19464
19465 * util/usb.c: Likewise.
50fb7002 19466
d64399b5 19467 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
19468
19469 * configure.ac: Test for libusb presence.
50fb7002 19470
d64399b5 19471 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
19472
2b40d6bb 194732009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
19474
19475 * kern/mm.c: Add more comments.
19476
73a4ce81 194772009-02-08 Robert Millan <rmh@aybabtu.com>
19478
19479 Patch from Javier Martín.
19480 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
19481 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
19482
f821ce59 194832009-02-08 Robert Millan <rmh@aybabtu.com>
19484
19485 * fs/cpio.c: Split tar functionality to ...
19486 * fs/tar.c: ... here (new file). Update all users.
19487
aebfc4b0 194882009-02-07 Robert Millan <rmh@aybabtu.com>
19489
19490 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
19491 backward-incompatible features.
19492
19493 Based on patch from Javier Martín, with some adjustments.
19494
50fb7002 194952009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 19496
19497 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
19498
0bb5115e 194992009-02-07 Robert Millan <rmh@aybabtu.com>
19500
19501 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
19502 position of `disk/lvm.c' to ensure grub_init_all() always picks it
19503 after the RAID stuff.
19504
38a0f8e7 195052009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
19506
50fb7002 19507 Fixes problem when running vbetest command as reported by
38a0f8e7 19508 Vladimir Serbinenko <phcoder@gmail.com>.
19509
19510 * (grub_vbe_set_video_mode): Fixed problem with text modes.
19511
3143cc1c 195122009-02-04 Felix Zielcke <fzielcke@z-51.de>
19513
19514 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
19515 /dev/md/NpN style mdraid devices.
19516
9cba6fce 195172009-02-03 Felix Zielcke <fzielcke@z-51.de>
19518
19519 * util/unifont2pff.rb: Remove.
19520
e507a2c1 195212009-02-03 Felix Zielcke <fzielcke@z-51.de>
19522
19523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19524 `#'.
19525
d2c2b4cd 195262009-02-03 Felix Zielcke <fzielcke@z-51.de>
19527
19528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19529 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19530 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19535
b4315fb0 195362009-02-02 Christian Franke <franke@computer.org>
19537
19538 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19539
de3aa260 195402009-02-01 Felix Zielcke <fzielcke@z-51.de>
19541
7c3ff286 19542 * INSTALL: Note that we now require at least autoconf 2.59 and
19543 that LZO is optional.
de3aa260 19544
825a182b 195452009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19546
19547 Base on patch on bug #24154 created by Tomas Tintera
19548 <trosos@seznam.cz>.
19549
19550 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19551
a69ef770 195522009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19553
7c3ff286 19554 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19555 <bero@arklinux.org>.
19556
19557 * normal/parser.y (script_init): Add missing semicolon.
19558
6fa42fa6 195592009-01-31 Colin D Bennett <colin@gibibit.com>
19560
7c3ff286 19561 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19562 (free_menu_entry_classes): Added.
19563 (grub_normal_menu_addentry): Added class property handling.
19564 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19565 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19566
19567 * normal/menu_viewer.c: New file.
19568
19569 * normal/menu.c (run_menu_entry): Renamed to ...
19570 (grub_menu_execute_entry): ... this and made it as global.
19571 (grub_menu_run): Renamed to ...
19572 (show_text_menu): ... this and made it local.
19573 (show_text_menu): Adapt to new function names.
19574 (grub_normal_terminal_menu_viewer): New global variable.
19575
19576 * include/grub/menu.h: New file.
19577
19578 * include/grub/menu_viewer.h: New file.
19579
19580 * include/grub/normal.h: Added include to grub/menu.h.
19581 (grub_menu_entry): Moved to include/grub/menu.h.
19582 (grub_menu_entry_t): Likewise.
19583 (grub_menu): Likewise.
19584 (grub_menu_t): Likewise.
19585 (grub_normal_terminal_menu_viewer): Added.
19586 (grub_menu_execute_entry): Likewise.
19587 (grub_menu_run): Removed.
19588
19589 * DISTLIST: Added include/grub/menu.h.
19590 Added include/grub/menu_viewer.h.
19591 Added normal/menu_viewer.c.
19592
195932009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19594
19595 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19596 arglist for menutitle arguments.
19597
19598 * normal/main.c (grub_normal_menu_addentry): Likewise.
19599
19600 * normal/parser.y (menuentry): Likewise.
19601
19602 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19603
19604 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19605 (grub_script_create_cmdmenu): Likewise.
19606
19607 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19608
19609 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19610 changes.
19611
19612 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19613
19614 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19615
19616 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19617
19618 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19619
19620 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19621
19622 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19623
56192c23 196242009-01-30 Christian Franke <franke@computer.org>
19625
19626 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19627 in option help text.
19628
d72521b3 196292009-01-27 Pavel Roskin <proski@gnu.org>
19630
19631 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19632
994b5e84 196332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19634
19635 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19636
19637 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19638
19639 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19640 unregister function.
19641
6a7eab2c 196422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19643
19644 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19645
19646 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19647
19648 * util/grub-mkfont.c (usage): Fix typo.
19649
19650 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19651
1806b56e 196522009-01-26 Daniel Mierswa <impulze@impulze.org>
19653
3fb18f09 19654 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19655
336e1fb9 19656 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19657
1806b56e 19658 * kern/misc.c (grub_strcasecmp): New function.
19659 (grub_strcasecmp): Use grub_size_t instead of int for length.
19660 Fix return value.
19661 * include/grub/misc.h: Update function prototypes.
19662
580b2a0f 196632009-01-26 Robert Millan <rmh@aybabtu.com>
19664
19665 * configure.ac: Fix cross-compilation check.
ef257b36 19666
d31c24f1 196672009-01-22 Christian Franke <franke@computer.org>
19668
19669 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19670 (precision) digit string. Allow `.format2' without `format1' (width).
19671 Limit input chars for `%s' output to `format2' if specified. This is
19672 compatible with standard printf ().
19673
3138b44c 196742009-01-22 Christian Franke <franke@computer.org>
19675
19676 * disk/ata.c (grub_ata_wait_status): Replace by ...
19677 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19678 other status bits may be invalid while BSY is asserted.
19679 (grub_ata_check_ready): New function.
19680 (grub_ata_cmd): Removed.
19681 (grub_ata_wait_drq): New function.
19682 (grub_ata_strncpy): Remove inline.
19683 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19684 and error check now done by grub_ata_wait_drq ().
19685 (grub_ata_pio_write): Likewise.
19686 (grub_atapi_identify): Set DEV before check for !BSY. Use
19687 grub_ata_wait_drq () to wait for data.
19688 (grub_ata_device_initialize): Add status register check to
19689 detect missing SATA slave devices. Add debug messages.
19690 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19691 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19692 transfer loop by grub_ata_pio_write ().
19693 (grub_ata_identify): Set DEV before check for !BSY. Use
19694 grub_ata_wait_drq () to wait for data.
ef257b36 19695 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19696 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19697 read/write in one loop. Fix invalid command on write. Fix incomplete
19698 command on (size % batch) == 0. Add missing error check after write of
19699 last block. Add debug messages.
19700 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19701
59a64ef6 197022009-01-19 Christian Franke <franke@computer.org>
19703
19704 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19705 (GRUB_ATAPI_IREASON_*): Likewise.
19706 (grub_ata_pio_write): Fix timeout error return.
19707 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19708 (grub_atapi_wait_drq): New function.
19709 (grub_atapi_packet): New parameter `size'.
19710 Use grub_atapi_wait_drq () and direct write instead of
19711 grub_ata_pio_write ().
19712 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19713 reads the number of bytes requested by the device for each DRQ
19714 assertion.
19715 (grub_atapi_write): Remove old implementation, return not
19716 implemented instead.
19717
1cfe20b3 197182009-01-19 Christian Franke <franke@computer.org>
19719
19720 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19721 of 512 to calculate data size.
19722 (grub_scsi_read12): Likewise.
19723 (grub_scsi_write10): Likewise.
19724 (grub_scsi_write12): Likewise.
19725 (grub_scsi_read): Adjust size according to blocksize.
19726 Add checks for invalid blocksize and unaligned transfer.
19727
bee5fe5d 197282009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19729
19730 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19731
ef257b36 19732 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19733 width glyphs.
19734
3e643f8c 197352009-01-19 Robert Millan <rmh@aybabtu.com>
19736
19737 * config.guess: Update to latest version from config git.
19738 * config.sub: Likewise.
19739
4fa80998 197402009-01-17 Felix Zielcke <fzielcke@z-51.de>
19741
19742 * Makefile.in: Change font compilation to use new grub-mkfont instead
19743 of java version.
19744
19745 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19746 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19747 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19748 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19749 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19750 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19751 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19752 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19753 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19754
7086085b 197552009-01-16 Christian Franke <franke@computer.org>
19756
19757 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19758 (enum grub_ata_timeout_milliseconds): New enum.
19759 (grub_ata_wait_status): Add parameter milliseconds.
19760 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19761 recovery from timed-out commands.
19762 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19763 return grub_errno instead of REG_ERROR.
19764 (grub_ata_pio_write): Add parameter milliseconds.
19765 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19766 Pass milliseconds to grub_ata_wait_status () and
19767 grub_ata_pio_read ().
19768 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19769 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19770 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19771 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19772 It is not suitable for device detection, because DEV bit is ignored,
19773 the command may run too long, and not all devices set the signature
19774 properly.
19775 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19776 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19777 Fix device selection, DEV bit must be set first to address the registers
19778 of the correct device.
19779 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19780 grub_ata_pio_read/write ().
19781 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19782 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19783
4a412913 197842009-01-13 Carles Pina i Estany <carles@pina.cat>
19785
19786 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19787
7795c55e 197882009-01-13 Bean <bean123ch@gmail.com>
d913988c 19789
19790 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19791
7795c55e 197922009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19793
19794 * Makefile.in: (enable_grub_mkfont): New variable.
19795 (freetype_cflags): Likewise.
19796 (freetype_libs): Likewise.
19797
19798 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19799 (grub_mkfont_SOURCES): New variable.
19800 (grub_mkfont_CFLAGS): Likewise.
19801 (grub_mkfont_LDFLAGS): Likewise.
19802
19803 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19804 library if `--enable-grub-mkfont' is requested.
19805 (enable_grub_mkfont): New variable.
19806 (freetype_cflags): Likewise.
19807 (freetype_libs): Likewise.
19808
19809 * util/grub-mkfont.c: New file.
19810
093af1fe 198112009-01-12 Christian Franke <franke@computer.org>
19812
19813 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19814 mode check. Fix setting of compat_use[].
19815
f36cc108 198162009-01-10 Robert Millan <rmh@aybabtu.com>
19817
19818 Update a few copyright years which we forgot to do in 2008 (only for
19819 files whose changes made in 2008 were copyright-significant)
19820
19821 * Makefile.in: Add 2008 to Copyright line.
19822 * disk/ieee1275/ofdisk.c: Likewise.
19823 * disk/efi/efidisk.c: Likewise.
19824 * kern/dl.c: Likewise.
19825 * kern/sparc64/ieee1275/init.c: Likewise.
19826 * kern/mm.c: Likewise.
19827 * kern/efi/mm.c: Likewise.
19828 * boot/i386/pc/boot.S: Likewise.
19829 * genfslist.sh: Likewise.
19830 * fs/iso9660.c: Likewise.
19831 * fs/hfs.c: Likewise.
19832 * fs/jfs.c: Likewise.
19833 * fs/minix.c: Likewise.
19834 * fs/ufs.c: Likewise.
19835 * gensymlist.sh.in: Likewise.
19836 * genkernsyms.sh.in: Likewise.
19837 * include/grub/misc.h: Likewise.
19838 * include/grub/types.h: Likewise.
19839 * include/grub/symbol.h: Likewise.
19840 * include/grub/elf.h: Likewise.
19841 * include/grub/kernel.h: Likewise.
19842 * include/grub/disk.h: Likewise.
19843 * include/grub/dl.h: Likewise.
19844 * include/grub/i386/linux.h: Likewise.
19845 * include/grub/i386/pc/biosdisk.h: Likewise.
19846 * include/grub/efi/api.h: Likewise.
19847 * include/grub/efi/pe32.h: Likewise.
19848 * include/grub/util/misc.h: Likewise.
19849 * normal/execute.c: Likewise.
19850 * normal/arg.c: Likewise.
19851 * normal/completion.c: Likewise.
19852 * normal/lexer.c: Likewise.
19853 * normal/parser.y: Likewise.
19854 * normal/misc.c: Likewise.
19855 * commands/i386/pc/vbeinfo.c: Likewise.
19856 * commands/hexdump.c: Likewise.
19857 * commands/terminal.c: Likewise.
19858 * commands/ls.c: Likewise.
19859 * commands/help.c: Likewise.
19860 * partmap/pc.c: Likewise.
19861 * loader/efi/chainloader.c: Likewise.
19862 * loader/multiboot_loader.c: Likewise.
19863 * loader/i386/pc/multiboot2.c: Likewise.
19864 * term/efi/console.c: Likewise.
19865 * term/i386/pc/serial.c: Likewise.
19866 * util/lvm.c: Likewise.
19867 * util/console.c: Likewise.
19868 * util/i386/efi/grub-mkimage.c: Likewise.
19869 * util/raid.c: Likewise.
19870
7f02114b 198712009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19872
19873 * commands/videotest.c: Removed include to grub/machine/memory.h.
19874
19875 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19876 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19877 (video_mod_SOURCES): Removed.
19878 (video_mod_CFLAGS): Likewise.
19879 (video_mod_LDFLAGS): Likewise.
19880 (gfxterm_mod_SOURCES): Likewise.
19881 (gfxterm_mod_CFLAGS): Likewise.
19882 (gfxterm_mod_LDFLAGS): Likewise.
19883 (videotest_mod_SOURCES): Likewise.
19884 (videotest_mod_CFLAGS): Likewise.
19885 (videotest_mod_LDFLAGS): Likewise.
19886 (bitmap_mod_SOURCES): Likewise.
19887 (bitmap_mod_CFLAGS): Likewise.
19888 (bitmap_mod_LDFLAGS): Likewise.
19889 (tga_mod_SOURCES): Likewise.
19890 (tga_mod_CFLAGS): Likewise.
19891 (tga_mod_LDFLAGS): Likewise.
19892 (jpeg_mod_SOURCES): Likewise.
19893 (jpeg_mod_CFLAGS): Likewise.
19894 (jpeg_mod_LDFLAGS): Likewise.
19895 (png_mod_SOURCES): Likewise.
19896 (png_mod_CFLAGS): Likewise.
19897 (png_mod_LDFLAGS): Likewise.
19898
19899 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19900 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19901 (video_mod_SOURCES): Added.
19902 (video_mod_CFLAGS): Likewise.
19903 (video_mod_LDFLAGS): Likewise.
19904 (videotest_mod_SOURCES): Likewise.
19905 (videotest_mod_CFLAGS): Likewise.
19906 (videotest_mod_LDFLAGS): Likewise.
19907 (bitmap_mod_SOURCES): Likewise.
19908 (bitmap_mod_CFLAGS): Likewise.
19909 (bitmap_mod_LDFLAGS): Likewise.
19910 (tga_mod_SOURCES): Likewise.
19911 (tga_mod_CFLAGS): Likewise.
19912 (tga_mod_LDFLAGS): Likewise.
19913 (jpeg_mod_SOURCES): Likewise.
19914 (jpeg_mod_CFLAGS): Likewise.
19915 (jpeg_mod_LDFLAGS): Likewise.
19916 (png_mod_SOURCES): Likewise.
19917 (png_mod_CFLAGS): Likewise.
19918 (png_mod_LDFLAGS): Likewise.
19919 (gfxterm_mod_SOURCES): Likewise.
19920 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19921 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19922
19923 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19924 grub/machine/console.h.
19925
644fff97 199262009-01-04 Jerone Young <jerone@gmail.com>
19927
19928 Make on screen instructions clearer
19929
19930 Based on patch created by Jidanni <jidanni@jidanni.org>
19931
19932 * normal/menu.c: print clearer instructions on the screen
19933
1e901a75 199342009-01-02 Colin D Bennett <colin@gibibit.com>
19935
19936 New font engine.
34c44600 19937
1e901a75 19938 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19939 build system and fixed gfxterm.c to work with different sized fonts.
19940
19941 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19942
1e901a75 19943 * configure: Re-generated.
34c44600 19944
1e901a75 19945 * DISTLIST: Removed font/manager.c.
19946 Added font/font.c.
19947 Added font/font_cmd.c.
34c44600 19948
1e901a75 19949 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19950 compilation.
34c44600 19951
1e901a75 19952 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19953
19954 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19955
19956 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19957
1e901a75 19958 * normal/menu.c: Likewise.
34c44600 19959
1e901a75 19960 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19961 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19962
1e901a75 19963 * include/grub/font.h: Replaced with new file.
34c44600 19964
1e901a75 19965 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19966 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19967 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19968 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19969 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19970 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19971 fg_red, fg_green, fg_blue, fg_alpha.
19972 (grub_video_adapter): Removed blit_glyph.
34c44600 19973 (grub_video_blit_glyph): Removed.
19974
1e901a75 19975 * font/manager.c: Removed file.
34c44600 19976
19977 * font/font.c: New file.
19978
1e901a75 19979 * font/font_cmd.c: Likewise.
34c44600 19980
1e901a75 19981 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19982
1e901a75 19983 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19984 (grub_video_vbe_map_rgba): Likewise.
19985 (grub_video_vbe_unmap_color_int): Likewise.
19986 (grub_video_vbe_blit_glyph): Removed.
19987 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19988
1e901a75 19989 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19990 (get_pixel): Likewise.
34c44600 19991 (set_pixel): Likewise.
19992
1e901a75 19993 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19994
1e901a75 19995 * term/gfxterm.c: Adapted to new font engine.
34c44600 19996
1e901a75 19997 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19998
1e901a75 19999 * term/i386/pc/vga.c: Likewise.
34c44600 20000
1e901a75 20001 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 20002
1e901a75 20003 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 20004
1e901a75 20005 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20006
1e901a75 20007 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20008
1e901a75 20009 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 20010
1e901a75 20011 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 20012
1e901a75 20013 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 20014
1e901a75 20015 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 20016
1e901a75 20017 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20018
20019 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 20020
1e901a75 20021 * util/grub-mkconfig_lib.in: Changed font extension.
20022
278922e8 200232008-12-28 Felix Zielcke <fzielcke@z-51.de>
20024
20025 * util/getroot.c (grub_util_get_grub_dev): Add support for
20026 /dev/md/dNNpNN style partitionable mdraid devices.
20027
3ced05cf 200282008-12-12 Alex Smith <alex@alex-smith.me.uk>
20029
20030 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20031 at a time limit of the PXE TFTP API correctly.
20032 (grub_pxefs_close): Likewise.
20033
7fd0ee30 200342008-11-29 Robert Millan <rmh@aybabtu.com>
20035
34c44600 20036 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 20037 grub_ata_device_initialize() calls.
20038
34c44600 200392008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 20040
20041 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20042 iteration failed.
20043 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20044
89313780 200452008-11-28 Robert Millan <rmh@aybabtu.com>
20046
20047 Fix build on powerpc-ieee1275. Based on patch created by
20048 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20049 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20050 `kern/ieee1275/mmap.c'.
20051 * include/grub/powerpc/ieee1275/memory.h: New file.
20052
15257703 20053 Provide grub-install on coreboot.
20054 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20055 (grub_install_SOURCES): New variable.
20056 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20057 usable on coreboot.
20058
9fc5388a 200592008-11-25 Felix Zielcke <fzielcke@z-51.de>
20060
20061 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20062 to `grub_term_input_t'.
20063 (grub_term_get_current_output): Change return type to
20064 `grub_term_output_t'.
20065
bc3a2f31 200662008-11-22 Robert Millan <rmh@aybabtu.com>
20067
34c44600 20068 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 20069 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20070 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20071 grub_vga_text_cls().
20072
80fc88f2 20073 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 20074 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 20075
cbf36fd3 20076 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20077 to 0x200000 (avoids trouble with some OFW implementations, and matches
20078 with the one in Yaboot).
20079 Reported by Manoel Abranches
20080
73e8e268 200812008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 20082
20083 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20084 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20085
73e8e268 20086 * util/grub-mkconfig_lib.in (grub_warn): New function.
20087 (convert_system_path_to_grub_path): Use grub_warn() when issuing
20088 warnings, to obtain consistent formatting.
20089 * util/grub.d/00_header.in: Likewise.
20090 * util/update-grub_lib.in: Likewise.
20091
e94045a1 20092 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 20093 Move comment text to `#error' stanza.
e94045a1 20094
79d29fd7 20095 Harmonize ieee1275's grub_available_iterate() with the generic
20096 grub_machine_mmap_iterate() interface (fixes a recently-introduced
20097 build problem on i386-ieee1275):
20098 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
20099 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
20100 parameter `type'. Update all users of this function.
20101 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20102 `kern/ieee1275/mmap.c'.
20103 * kern/ieee1275/init.c
20104 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
20105 with ...
20106 (grub_machine_mmap_iterate): ... this.
20107 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
20108 return type to `grub_err_t'. Update all implementations of this
20109 function prototype.
20110 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
20111 Likewise.
20112
60d6b16e 20113 Add `lsmmap' command (lists firmware-provided memory map):
20114 * commands/lsmmap.c: New file.
20115 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
20116 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
20117 variables.
20118 * conf/powerpc-ieee1275.rmk: Likewise.
20119 * conf/i386-coreboot.rmk: Likewise.
20120 * conf/i386-ieee1275.rmk: Likewise.
20121
ebaaf49b 201222008-11-19 Robert Millan <rmh@aybabtu.com>
20123
20124 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 20125 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
20126 constraints to initrd allocation (based on code from
20127 loader/i386/pc/linux.c). Without them, initrd was allocated too high
20128 for Linux to find it.
ebaaf49b 20129
dfab719f 201302008-11-14 Robert Millan <rmh@aybabtu.com>
20131
20132 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
20133 order to cope with duplicate slashes.
20134
10fc3eb9 201352008-11-14 Robert Millan <rmh@aybabtu.com>
20136
20137 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
20138 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
20139 don't want to mess with lower memory, because it is used in the Linux
20140 loader.
20141
20142 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 20143 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 20144 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
20145 is in our heap (probably as a result of it being corrupted during
2f2a3442 20146 decompression). Add #error instance with comment to explain why this
20147 loader isn't currently usable on PC/BIOS.
10fc3eb9 20148
e2e07847 201492008-11-14 Robert Millan <rmh@aybabtu.com>
20150
20151 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 20152 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 20153
fe8e8d69 201542008-11-12 Robert Millan <rmh@aybabtu.com>
20155
20156 Make loader/i386/linux.c buildable on i386-pc (although disabled).
20157
20158 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
20159 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
20160 from here ...
20161 * include/grub/i386/pc/memory.h: ... to here.
20162
976b07d0 201632008-11-12 Robert Millan <rmh@aybabtu.com>
20164
20165 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
20166 split).
20167
20168 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
20169 (grub_console_cur_color, grub_console_real_putchar)
20170 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20171 (grub_console_setcolorstate, grub_console_setcolor)
20172 (grub_console_getcolor): Move from here ...
20173 * include/grub/i386/vga_common.h: ... to here (new file).
20174
20175 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
20176 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
20177 `<grub/i386/io.h>'.
20178 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
20179 `<grub/i386/vga_common.h>'.
20180
76679cd3 201812008-11-12 Robert Millan <rmh@aybabtu.com>
20182
20183 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
20184 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
20185 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
20186 variables.
20187 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20188 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
20189
20190 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
20191 grub_console_init() with call to grub_vga_text_init().
20192 (grub_machine_fini): Replace call to
20193 grub_console_fini() with call to grub_vga_text_fini() and
20194 grub_at_keyboard_fini().
20195
20196 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
20197 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20198 (grub_console_setcolorstate, grub_console_setcolor)
20199 (grub_console_getcolor): New function prototypes.
20200
20201 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
20202 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
20203 (grub_vga_text_setcursor): Static-ize.
20204 (grub_vga_text_term): New structure.
20205 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
20206
20207 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
20208 (grub_console_cur_color, grub_console_standard_color)
20209 (grub_console_normal_color, grub_console_highlight_color)
20210 (map_char, grub_console_putchar, grub_console_getcharwidth)
20211 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
20212 (grub_console_getcolor): Move from here ...
20213 * term/i386/vga_common.c: ... to here (same function names).
20214
95b841d3 202152008-11-12 Robert Millan <rmh@aybabtu.com>
20216
20217 Use newly-added Multiboot support in coreboot.
20218
20219 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20220 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20221
20222 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20223 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20224 (codestart): Store the MBI in `startup_multiboot_info' when we're
20225 being loaded using Multiboot.
20226
20227 * kern/i386/coreboot/init.c (grub_machine_init): Move
20228 grub_at_keyboard_init() call to beginning of function (useful for
20229 debugging). Call grub_machine_mmap_init() before attempting to use
20230 grub_machine_mmap_iterate().
20231 (grub_lower_mem, grub_upper_mem): Move from here ...
20232 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20233 here (new file).
20234
20235 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20236 function prototype.
20237
761ca975 202382008-11-12 Robert Millan <rmh@aybabtu.com>
20239
20240 Fix a regression introduced by the at_keyboard.mod split. Because
20241 some terminals are default on some platforms and non-default on
20242 others, the first terminal being registered determines which is
20243 going to be default.
20244
20245 * kern/term.c (grub_term_register_input): If this is the first
20246 terminal being registered, set it as the current one.
20247 (grub_term_register_output): Likewise.
20248
20249 * term/efi/console.c (grub_console_init): Do not call
20250 grub_term_set_current_output() or grub_term_set_current_input().
20251 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20252 * term/i386/pc/console.c (grub_console_init): Likewise.
20253 (grub_console_fini): Do not call grub_term_set_current_input()
20254 (but leave grub_term_set_current_output() to restore text mode).
20255
6c529df7 202562008-11-10 Robert Millan <rmh@aybabtu.com>
20257
20258 * util/grub.d/00_header.in: Add backward compatibility check for
20259 versions of terminal.mod that don't understand `terminal_input' or
20260 `terminal_output'.
20261
132e4113 202622008-11-09 Robert Millan <rmh@aybabtu.com>
20263
20264 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20265 `terminal_input' / `terminal_output', not `terminal'.
20266
ac293d50 202672008-11-08 Robert Millan <rmh@aybabtu.com>
20268
20269 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20270 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20271
0025933a 202722008-11-08 Robert Millan <rmh@aybabtu.com>
20273
20274 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20275 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20276 members. Update all users.
20277 * util/console.c (grub_ncurses_term): Split in ...
20278 (grub_ncurses_term_input): ... this, and ...
20279 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20280 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20281
37c86336 202822008-11-08 Robert Millan <rmh@aybabtu.com>
20283
20284 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20285 (PKGDATA): Add $(pkgdata_SRCDIR).
20286 (pkglib_BUILDDIR): New variable.
20287 (pkgdata_SRCDIR): New variable.
20288 (build_env.mk): New target.
20289 (include_DATA): New variable.
20290 (install-local): Install $(include_DATA) files in $(includedir).
20291
b6c15a2d 202922008-11-07 Pavel Roskin <proski@gnu.org>
20293
d99d46f1 20294 * gendistlist.sh: Use C locale for sorting to ensure consistent
20295 output on all systems.
20296
b6c15a2d 20297 * util/grub.d/00_header.in: Remove incorrect space before
20298 "serial".
20299
c32ee8c9 203002008-11-07 Robert Millan <rmh@aybabtu.com>
20301
20302 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20303 per specification.
20304 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20305 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20306 (based on find_multi_boot1_header).
20307 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20308 using find_multi_boot2_header(), and abort if neither Multiboot or
20309 Multiboot headers were found.
20310
651c29b7 203112008-11-07 Robert Millan <rmh@aybabtu.com>
20312
20313 Modularize at_keyboard.mod:
20314
20315 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20316 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20317 (at_keyboard_mod_LDFLAGS): New variables.
20318
20319 Actual terminal split:
20320
20321 * include/grub/term.h (struct grub_term): Split in ...
20322 (struct grub_term_input): ... this, and ...
20323 (struct grub_term_output): ... this. Update all users.
20324 (grub_term_set_current): Split in ...
20325 (grub_term_set_current_input): ... this, and ...
20326 (grub_term_set_current_output): ... this.
20327 (grub_term_get_current): Split in ...
20328 (grub_term_get_current_input): ... this, and ...
20329 (grub_term_get_current_output): ... this.
20330 (grub_term_register): Split in ...
20331 (grub_term_register_input): ... this, and ...
20332 (grub_term_register_output): ... this.
20333 (grub_term_unregister): Split in ...
20334 (grub_term_unregister_input): ... this, and ...
20335 (grub_term_unregister_output): ... this.
20336 (grub_term_iterate): Split in ...
20337 (grub_term_iterate_input): ... this, and ...
20338 (grub_term_iterate_output): ... this.
20339
20340 * kern/term.c (grub_term_list): Split in ...
20341 (grub_term_list_input): ... this, and ...
20342 (grub_term_list_output): ... this. Update all users.
20343 (grub_cur_term): Split in ...
20344 (grub_cur_term_input): ... this, and ...
20345 (grub_cur_term_output): ... this. Update all users.
20346 (grub_term_set_current): Split in ...
20347 (grub_term_set_current_input): ... this, and ...
20348 (grub_term_set_current_output): ... this.
20349 (grub_term_get_current): Split in ...
20350 (grub_term_get_current_input): ... this, and ...
20351 (grub_term_get_current_output): ... this.
20352 (grub_term_register): Split in ...
20353 (grub_term_register_input): ... this, and ...
20354 (grub_term_register_output): ... this.
20355 (grub_term_unregister): Split in ...
20356 (grub_term_unregister_input): ... this, and ...
20357 (grub_term_unregister_output): ... this.
20358 (grub_term_iterate): Split in ...
20359 (grub_term_iterate_input): ... this, and ...
20360 (grub_term_iterate_output): ... this.
20361
20362 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20363 a check for input and one for output (and only attempt to get keys
20364 from user when input works).
20365
20366 * util/grub-probe.c (grub_term_get_current): Split in ...
20367 (grub_term_get_current_input): ... this, and ...
20368 (grub_term_get_current_output): ... this.
20369 * util/grub-fstest.c: Likewise.
20370 * util/i386/pc/grub-setup.c: Likewise.
20371 * util/grub-editenv.c: Likewise.
20372
20373 Portability adjustments:
20374
20375 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20376 `term/i386/pc/at_keyboard.c'.
20377 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20378 grub_keyboard_controller_init() (now handled by terminal .init).
20379 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20380 grub_at_keyboard_init().
20381 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20382 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20383 at_keyboard.mod via input terminal interface).
20384 * include/grub/i386/coreboot/console.h: Convert into a stub for
20385 `<grub/i386/pc/console.h>'.
20386
20387 Migrate full terminals to new API:
20388
20389 * term/efi/console.c (grub_console_term): Split into ...
20390 (grub_console_term_input): ... this, and ...
20391 (grub_console_term_output): ... this. Update all users.
20392 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20393 (grub_ofconsole_init): Split into ...
20394 (grub_ofconsole_init_input): ... this, and ...
20395 (grub_ofconsole_init_output): ... this.
20396 (grub_ofconsole_term): Split into ...
20397 (grub_ofconsole_term_input): ... this, and ...
20398 (grub_ofconsole_term_output): ... this. Update all users.
20399 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20400 (grub_serial_term_input): ... this, and ...
20401 (grub_serial_term_output): ... this. Update all users.
20402 * term/i386/pc/console.c (grub_console_term): Split into ...
20403 (grub_console_term_input): ... this, and ...
20404 (grub_console_term_output): ... this. Update all users.
20405 (grub_console_term_input): Only enable it on PC/BIOS platform.
20406 (grub_console_init): Remove grub_keyboard_controller_init() call.
20407
20408 Migrate input terminals to new API:
20409
20410 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20411 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20412 i386-specific anyway).
20413 (grub_console_checkkey): Rename to ...
20414 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20415 users.
20416 (grub_keyboard_controller_orig): New variable.
20417 (grub_console_getkey): Rename to ...
20418 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20419 users.
20420 (grub_keyboard_controller_init): Static-ize. Save original
20421 controller value so that it can be restored ...
20422 (grub_keyboard_controller_fini): ... here (new function).
20423 (grub_at_keyboard_term): New structure.
20424 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20425 functions.
20426
20427 Migrate output terminals to new API:
20428
20429 * term/i386/pc/vga.c (grub_vga_term): Change type to
20430 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20431 members. Update all users.
20432 * term/gfxterm.c (grub_video_term): Change type to
20433 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20434 members. Update all users.
20435 * include/grub/i386/pc/console.h (grub_console_checkkey)
20436 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20437 etc).
20438
20439 Migrate `terminal' command and userland tools to new API:
20440
20441 * commands/terminal.c (grub_cmd_terminal): Split into ...
20442 (grub_cmd_terminal_input): ... this, and ...
20443 (grub_cmd_terminal_output): ... this.
20444 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20445 `terminal_input' and `terminal_output'.
20446 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20447 `terminal_input' / `terminal_output' API.
20448 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20449 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20450 provided ${GRUB_TERMINAL}, convert it).
20451
96e5d876 204522008-11-04 Robert Millan <rmh@aybabtu.com>
20453
20454 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
20455 for FreeBSD.
20456 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
20457
556f3775 204582008-11-03 Bean <bean123ch@gmail.com>
20459
20460 * kern/elf.c (grub_elf32_load): Revert to previous code.
20461 (grub_elf64_load): Likewise.
20462
20463 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
20464
926b9823 204652008-11-01 Robert Millan <rmh@aybabtu.com>
20466
20467 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
20468 (TARGET_CPPFLAGS): Likewise.
20469 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
20470
1432e958 204712008-11-01 Carles Pina i Estany <carles@pina.cat>
20472
20473 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
20474
dba3f844 204752008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 20476
20477 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
20478 addition of objects until the code is not going to be able to fail.
20479
dba3f844 204802008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 20481
20482 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
20483 (add a missing NULL check, and correct them by moving the pointer
20484 operations after the actual check).
20485
7ab28c21 204862008-10-29 Robert Millan <rmh@aybabtu.com>
20487
20488 * util/i386/pc/grub-install.in: Handle empty string as output from
20489 make_system_path_relative_to_its_root().
20490
1b7748eb 204912008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
20492
20493 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
20494 circular metadata worst case scenario. If the metadata is circular
20495 then copy the wrap in place.
20496 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
20497 project lib/format_text/layout.h
20498 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
20499
c9618ab2 205002008-10-03 Felix Zielcke <fzielcke@z-51.de>
20501
7a36edca 20502 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 20503
bf981c62 205042008-10-03 Felix Zielcke <fzielcke@z-51.de>
20505
20506 * util/update-grub_lib.in: Mention filename in warning message.
20507
6d994591 205082008-09-29 Felix Zielcke <fzielcke@z-51.de>
20509
20510 * NEWS: Update for rename of update-grub to grub-mkconfig.
20511
18ade780 205122008-09-29 Felix Zielcke <fzielcke@z-51.de>
20513
20514 * util/update-grub_lib.in: Copy to ...
20515 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 20516 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 20517 * util/update-grub.in: Rename to ...
20518 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
20519 option. Add `--output' option to allow users to specify the generated
20520 configuration file. Default to stdout.
20521 (update_grub_dir): Rename to ...
20522 (grub_mkconfig_dir): ... this.
20523 (grub_cfg): Default to an empty string.
20524 * conf/common.rmk (update-grub): Rename to ...
20525 (grub-mkconfig): ... this.
20526 (update-grub_lib): Copy to ...
20527 (grub-mkconfig_lib): ... this.
20528 (update-grub_SCRIPTS): Copy to ...
20529 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20530 (update-grub_DATA): Rename to ...
20531 (grub-mkconfig_DATA): ... this.
20532
556ce6ac 205332008-09-28 Robert Millan <rmh@aybabtu.com>
20534
20535 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20536 to `modified'. Add the real `created' field.
20537 (grub_iso9660_uuid): Use `modified' rather than `created' for
20538 constructing the UUID.
20539
205402008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20541
20542 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20543 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20544
92274e85 205452008-09-28 Bean <bean123ch@gmail.com>
20546
20547 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20548 Thanks to Christian Franke for finding this bug.
20549
add6f17a 205502008-09-25 Robert Millan <rmh@aybabtu.com>
20551
20552 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20553 instances of grub_util_get_disk_name() (see previous commit).
20554
d2a367b8 205552008-09-25 Robert Millan <rmh@aybabtu.com>
20556
20557 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20558 `util/i386/get_disk_name.c'.
20559 * conf/i386-efi.rmk: Likewise.
20560 * conf/x86_64-efi.rmk: Likewise.
20561 * conf/i386-coreboot.rmk: Likewise.
20562 * conf/i386-ieee1275.rmk: Likewise.
20563 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20564 `util/ieee1275/get_disk_name.c'.
20565 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20566 * util/ieee1275/get_disk_name.c: Remove file.
20567 * util/i386/get_disk_name.c: Remove file.
20568 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20569 "hd%d" for device.map entries, rather than using
20570 grub_util_get_disk_name().
20571
81a06771 205722008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20573
20574 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20575 warning.
20576 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20577
5a004279 205782008-09-24 Carles Pina i Estany <carles@pina.cat>
20579
20580 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20581 Changed to 0x5100.
20582 (GRUB_TERM_PPAGE): Changed to 0x4900.
20583
397093d3 205842008-09-24 Robert Millan <rmh@aybabtu.com>
20585
20586 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20587 macros (they were i386-pc specific).
20588 * include/grub/sparc64/ieee1275/console.h: Likewise.
20589 * include/grub/efi/console.h: Likewise.
20590
a91b6c7c 205912008-09-22 Bean <bean123ch@gmail.com>
20592
20593 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20594 resident and in attribute list.
20595
20596 * include/grub/ntfs.h (BMP_LEN): Removed.
20597
c40fd116 205982008-09-22 Bean <bean123ch@gmail.com>
20599
81a06771 20600 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20601 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20602
20603 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20604 error occurs, as grub_disk_open will call grub_disk_close, which will
20605 call p->close (scsi).
20606
81a06771 206072008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20608
20609 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20610 (AC_PREREQ): Bumped to 2.59.
20611 (AC_TRY_COMPILE): Replace obsolete macro with ...
20612 (AC_COMPILE_IFELSE): ... this.
20613 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20614 (AC_LINK_IFELSE): ... this.
20615
5dc43410 206162008-09-21 Felix Zielcke <fzielcke@z-51.de>
20617
20618 * autogen.sh: Add a call to `gendistlist.sh'.
20619
9035dce4 206202008-09-19 Christian Franke <franke@computer.org>
20621
20622 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20623 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20624 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20625 Export __enable_execute_stack() to modules.
20626 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20627 New function.
20628
7fd75377 206292008-09-09 Felix Zielcke <fzielcke@z-51.de>
20630
040030b3 20631 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20632 Sort the list.
20633
206342008-09-09 Felix Zielcke <fzielcke@z-51.de>
20635
20636 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20637 #include <grub/util/hostdisk.h>.
20638
89d5ffcf 206392008-09-08 Robert Millan <rmh@aybabtu.com>
20640
20641 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20642 segments when their filesz is zero (grub_file_read() interprets
81a06771 20643 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20644 Use `lowest_segment' rather than 0 for calculating the current
20645 segment load address.
20646
40da438f 206472008-09-08 Robert Millan <rmh@aybabtu.com>
20648
20649 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20650 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20651 clobbered useful information.
20652
ddbf5556 206532008-09-08 Robert Millan <rmh@aybabtu.com>
20654
20655 * include/grub/util/biosdisk.h: Move to ...
20656 * include/grub/util/hostdisk.h: ... here. Update all users.
20657 * util/biosdisk.c: Move to ...
20658 * util/hostdisk.c: ... here. Update all users.
20659
783d0f48 206602008-09-07 Robert Millan <rmh@aybabtu.com>
20661
20662 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20663 variables.
20664 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20665 and length can be stored directly in the `mbi->mmap_addr' and
20666 `mbi->mmap_length' struct fields.
20667
548e2ea5 206682008-09-07 Robert Millan <rmh@aybabtu.com>
20669
20670 * conf/i386.rmk: New file. Provides declaration for building
20671 `cpuid.mod'.
20672 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20673 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20674 variables.
20675 Include `conf/i386.mk'.
20676 * conf/i386-efi.rmk: Likewise.
20677 * conf/x86_64-efi.rmk: Likewise.
20678 * conf/i386-coreboot.rmk: Likewise.
20679 * conf/i386-ieee1275.rmk: Likewise.
20680
0ea85a37 206812008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20682
20683 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20684 Adds optimization support for BGR based modes.
20685
20686 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20687 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20688 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20689 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20690 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20691 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20692 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20693 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20694 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20695 (grub_video_i386_vbeblit_index_index): Likewise.
20696 (grub_video_i386_vbeblit_replace_directN): Added.
20697 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20698 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20699 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20700 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20701 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20702 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20703 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20704 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20705 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20706 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20707 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20708 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20709 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20710
20711 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20712 (grub_video_i386_vbefill_R8G8B8): Likewise.
20713 (grub_video_i386_vbefill_index): Likewise.
20714 (grub_video_i386_vbefill_direct32): Added.
20715 (grub_video_i386_vbefill_direct24): Likewise.
20716 (grub_video_i386_vbefill_direct16): Likewise.
20717 (grub_video_i386_vbefill_direct8): Likewise.
20718
81a06771 20719 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20720 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20721 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20722 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20723 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20724 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20725
0ea85a37 20726 * video/video.c (grub_video_get_blit_format): Updated to use new
20727 blit formats. Added handling for 16 bit color modes.
81a06771 20728
20729 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20730 fillers.
20731 (common_blitter): Updated to use new blitters.
20732
20733 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20734 Removed.
20735 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20736 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20737 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20738 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20739 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20740 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20741 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20742 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20743 (grub_video_i386_vbeblit_index_index): Likewise.
20744 (grub_video_i386_vbeblit_replace_directN): Added.
20745 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20746 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20747 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20748 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20749 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20750 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20751 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20752 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20753 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20754 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20755 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20756 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20757 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20758
0ea85a37 20759 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20760 (grub_video_i386_vbefill_R8G8B8): Likewise.
20761 (grub_video_i386_vbefill_index): Likewise.
20762 (grub_video_i386_vbefill_direct32): Added.
20763 (grub_video_i386_vbefill_direct24): Likewise.
20764 (grub_video_i386_vbefill_direct16): Likewise.
20765 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20766
0ea85a37 20767 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20768 types.
81a06771 20769
0ea85a37 20770 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20771 types.
81a06771 20772
0ea85a37 20773 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20774 blitter types.
81a06771 20775
0ea85a37 20776 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20777 types.
20778
e8a83df6 207792008-09-06 Felix Zielcke <fzielcke@z-51.de>
20780
20781 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20782 RAID level 1.
20783
6bcd8ee5 207842008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20785
6bcd8ee5 20786 * fs/iso9660.c (grub_iso9660_date): New structure.
20787 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20788 (grub_iso9660_uuid): New function.
c375ae58 20789
59261157 207902008-09-05 Bean <bean123ch@gmail.com>
20791
20792 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20793
20794 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20795 insensitive bit for names in Win32 and Win32 & DOS namespace.
20796
20797 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20798
20799 * include/grub/types.h (LONG_MAX): Likewise.
20800
58b6645a 208012008-09-04 Felix Zielcke <fzielcke@z-51.de>
20802
4ee55921 20803 * util/getroot.c: Include <config.h>.
20804 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20805 add support for /dev/md/N devices and handle LVM double dash escaping.
20806
208072008-09-04 Felix Zielcke <fzielcke@z-51.de>
20808
20809 * config.guess: Update to latest version from config git.
20810 * config.sub: Likewise.
58b6645a 20811
9124f65d 208122008-09-03 Robert Millan <rmh@aybabtu.com>
20813
20814 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20815 `disk->total_sectors'.
20816
81a06771 208172008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20818
20819 * include/grub/normal.h: Fixed incorrect comment for
20820 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20821
81a06771 208222008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20823
20824 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20825 values with defines.
20826
20827 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20828 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20829 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20830 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20831 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20832 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20833 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20834 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20835 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20836 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20837 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20838 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20839 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20840 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20841 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20842 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20843 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20844 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20845 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20846
93d5cbf8 208472008-08-31 Robert Millan <rmh@aybabtu.com>
20848
20849 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20850 declaration.
20851 (grub_multiboot): Fix a few warnings.
20852
21751d50 208532008-08-31 Robert Millan <rmh@aybabtu.com>
20854
20855 * loader/i386/pc/multiboot.c: Update comment not to say that
20856 boot_device support is unimplemented.
20857
e27a75c5 208582008-08-31 Robert Millan <rmh@aybabtu.com>
20859
20860 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20861 or memory map support are unimplemented.
20862
81a06771 208632008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20864
20865 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20866
81a06771 208672008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20868
20869 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20870 total video memory in 'vbeinfo' output; show color format details for
20871 each video mode.
20872
7c5d8d95 208732008-08-30 Pavel Roskin <proski@gnu.org>
20874
20875 * util/genmoddep.c: Remove for real this time.
20876 * DISTLIST: Remove util/genmoddep.c.
20877
4cebd25a 208782008-08-30 Robert Millan <rmh@aybabtu.com>
20879
20880 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20881 as required by Multiboot spec (it was already 4-byte aligned, but
20882 only by chance).
20883
b497a269 208842008-08-29 Pavel Roskin <proski@gnu.org>
20885
e3925185 20886 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20887 * kern/powerpc/ieee1275/startup.S: ... this.
20888 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20889 * DISTLIST: Likewise.
20890
b497a269 20891 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20892 grub/cpu/kernel.h. Add start label for consistency with other
20893 platforms. Add grub_prefix immediately after start. Add jump
20894 to the code after grub_prefix.
20895 * include/grub/powerpc/kernel.h: Provide valid values for
20896 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20897
6e5a42fe 208982008-08-29 Bean <bean123ch@gmail.com>
20899
20900 * configure.ac: Change host_os to cygwin for mingw.
20901 (asprintf): New check for function.
20902
20903 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20904 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20905
20906 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20907 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20908 sync, sleep and grub_util_get_disk_size for mingw.
20909
20910 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20911 to get size in mingw.
20912 (open_device): Use flag O_BINARY if it's defined.
20913 (find_root_device): Add dummy code for mingw.
20914
20915 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20916 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20917 (get_scsi_disk_name): Return 0 for mingw.
20918
20919 * util/hostfs.c: #include <grub/util/misc.h>.
20920 (grub_hostfs_open): Use "rb" flag to open file, use
20921 grub_util_get_disk_size to get disk size for mingw.
20922
20923 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20924 (asprintf): New function if HAVE_ASPRINTF is not set.
20925 (sync): New function for mingw.
20926 (sleep): Likewise.
20927 (grub_util_get_disk_size): Likewise.
20928
ab3f2673 209292008-08-28 Pavel Roskin <proski@gnu.org>
20930
20931 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20932 kern/time.c.
20933
1c282483 209342008-08-28 Robert Millan <rmh@aybabtu.com>
20935
20936 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20937
678e849c 209382008-08-28 Robert Millan <rmh@aybabtu.com>
20939
20940 Change find_grub_drive() syntax so it doesn't prevent it from
20941 detecting NULL names as errors.
20942
20943 * util/biosdisk.c (find_grub_drive): Move free slot search code
20944 from here ...
20945 (find_free_slot): ... to here.
20946 (read_device_map): Use find_free_slot() to search for free slots.
20947
965c75ca 209482008-08-27 Marco Gerards <marco@gnu.org>
20949
20950 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20951 (scsi_mod_SOURCES): New variable.
20952 (scsi_mod_CFLAGS): Likewise
20953 (scsi_mod_LDFLAGS): Likewise.
20954
20955 * disk/scsi.c: New file.
20956
20957 * include/grub/scsi.h: Likewise.
20958
20959 * include/grub/scsicmd.h: Likewise.
20960
20961 * disk/ata.c: Include <grub/scsi.h>.
20962 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20963 instead.
20964 (grub_ata_iterate): Skip ATAPI devices.
20965 (grub_ata_open): Only handle ATAPI devices.
20966 (struct grub_atapi_read): Removed.
20967 (grub_atapi_readsector): Likewise.
20968 (grub_ata_read): No longer handle ATAPI devices.
20969 (grub_ata_write): Likewise.
20970 (grub_atapi_iterate): New function.
20971 (grub_atapi_read): Likewise.
20972 (grub_atapi_write): Likewise.
20973 (grub_atapi_open): Likewise.
20974 (grub_atapi_close): Likewise.
20975 (grub_atapi_dev): New variable.
20976 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20977 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20978
20979 * include/grub/disk.h (enum grub_disk_dev_id): Add
20980 `GRUB_DISK_DEVICE_SCSI_ID'.
20981
c07ae501 209822008-08-26 Robert Millan <rmh@aybabtu.com>
20983
20984 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20985 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20986 descriptive.
20987
5ed20adc 209882008-08-23 Bean <bean123ch@gmail.com>
20989
20990 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20991 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20992 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20993 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20994 dm_nv.mod.
20995 (raid5rec_mod_SOURCES): New macro.
20996 (raid5rec_mod_CFLAGS): Likewise.
20997 (raid5rec_mod_LDFLAGS): Likewise.
20998 (raid6rec_mod_SOURCES): Likewise.
20999 (raid6rec_mod_CFLAGS): Likewise.
21000 (raid6rec_mod_LDFLAGS): Likewise.
21001 (mdraid_mod_SOURCES): Likewise.
21002 (mdraid_mod_CFLAGS): Likewise.
21003 (mdraid_mod_LDFLAGS): Likewise.
21004 (dm_nv_mod_SOURCES): Likewise.
21005 (dm_nv_mod_CFLAGS): Likewise.
21006 (dm_nv_mod_LDFLAGS): Likewise.
21007
21008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21009 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21010 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21011
21012 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21013 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21014
21015 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21016
21017 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21018
21019 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21020
21021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21022
21023 * disk/raid5_recover.c: New file.
21024
21025 * disk/raid6_recover.c: Likewise.
21026
21027 * disk/mdraid_linux.c: Likewise.
21028
21029 * disk/dmraid_nvidia.c: Likewise.
21030
21031 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21032 ULONG_MAX.
21033
21034 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21035 calculate the size of raid device.
21036 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21037 different layout of raid5.
21038 (grub_raid_scan_device): Remove code specific to mdraid.
21039 (grub_raid_list): New variable.
21040 (free_array): New function.
21041 (grub_raid_register): Likewise.
21042 (grub_raid_unregister): Likewise.
21043 (grub_raid_rescan): Likewise.
21044 (GRUB_MOD_INIT): Don't iterate device here.
21045 (GRUB_MOD_FINI): Use free_array to release resource.
21046
21047 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21048 (grub_raid5_recover_func_t): New function variable type.
21049 (grub_raid6_recover_func_t): Likewise.
21050 (grub_raid5_recover_func): New variable.
21051 (grub_raid6_recover_func): Likewise.
21052 (grub_raid_register): New function.
21053 (grub_raid_unregister): Likewise.
21054 (grub_raid_rescan): Likewise.
21055 (grub_raid_block_xor): Likewise.
21056
21057 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21058 (CMD_CRC): New macro.
21059 (part): Removed.
21060 (read_file): Handle device as well as file.
21061 (cmd_crc): New function.
21062 (fstest): Handle multiple disks.
21063 (options): Remove part, raw and long, add root and diskcount.
21064 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 21065 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 21066 add handling for the new options, support multiple disks.
21067
21068 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21069
29c18915 210702008-08-23 Bean <bean123ch@gmail.com>
21071
21072 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21073
21074 * genfslist.sh: Ignore kernel.mod.
21075
21076 * genpartmaplist.sh: Likewise.
21077
8415f261 210782008-08-23 Robert Millan <rmh@aybabtu.com>
21079
21080 * util/getroot.c (find_root_device): Skip anything that starts with
21081 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21082
d5a7dc5b 210832008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 21084
d5a7dc5b 21085 * util/update-grub.in (GRUB_GFXMODE): Export variable.
21086 * util/grub.d/00_header.in: Allow the administrator to change default
21087 gfxmode via ${GRUB_GFXMODE}.
21088
380cfbb4 210892008-08-21 Felix Zielcke <fzielcke@z-51.de>
21090
21091 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
21092
c9baafe7 210932008-08-21 Robert Millan <rmh@aybabtu.com>
21094
21095 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
21096 loader.
21097 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
21098 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
21099
e290bef2 211002008-08-20 Carles Pina i Estany <carles@pina.cat>
21101
21102 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
21103 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
21104
f9dbfc96 211052008-08-19 Robert Millan <rmh@aybabtu.com>
21106
21107 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
21108 (struct grub_virtual_screen): Remove `cursor_color'.
21109 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
21110 initialization.
21111 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
21112
dd6bd6ab 211132008-08-18 Robert Millan <rmh@aybabtu.com>
21114
21115 Unify (identical) linux_normal.c files.
21116 * loader/i386/efi/linux_normal.c: Move from here ...
21117 * loader/linux_normal.c: ... to here. Update all users.
21118 * loader/i386/pc/linux_normal.c: Delete. Update all users.
21119 * loader/i386/ieee1275/linux_normal.c: Likewise.
21120
7f42f83e 211212008-08-18 Robert Millan <rmh@aybabtu.com>
21122
21123 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
21124 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
21125 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
21126 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
21127 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
21128 New macros.
21129 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
21130 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
21131 (GRUB_LINUX_CL_END_OFFSET): ... to here.
21132 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
21133 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
21134 (GRUB_EFI_CL_END_OFFSET): Rename to ...
21135 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
21136 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
21137 Initialize `params->video_cursor_x' and `params->video_cursor_y'
21138 portably using grub_getxy().
21139 Replace `-EFI' with `-bzImage' in boot message.
21140
38487ddb 211412008-08-17 Robert Millan <rmh@aybabtu.com>
21142
21143 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
21144
deceb3ec 211452008-08-17 Robert Millan <rmh@aybabtu.com>
21146
21147 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
21148
21149 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
21150 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
21151 (grub_machine_mmap_iterate): New function declaration.
21152 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
21153 structure.
21154 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
21155 macros.
21156
21157 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
21158 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
21159 Move e820 parsing from here ...
21160 * kern/i386/pc/mmap.c: New file.
21161 (grub_machine_mmap_iterate): ... to here.
21162
21163 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
21164 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
21165 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
21166 (grub_available_iterate): Redeclare to return `void', and redeclare
21167 its hook to use grub_uint64_t as addr and size parameters, and rename
21168 to ...
21169 (grub_machine_mmap_iterate): ... this. Update all users.
21170
21171 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
21172 to make it more readable. Rename to ...
21173 (grub_machine_mmap_iterate): ... this.
21174
21175 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
21176 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
21177 (grub_multiboot): Allocate an extra region after the payload, and fill
21178 it with a Multiboot memory map. Adjust a.out loader to calculate size
21179 with the extra space.
21180 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
21181 with the extra space.
21182
f8aa0f43 211832008-08-17 Carles Pina i Estany <carles@pina.cat>
21184
9807deb9 21185 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 21186
605f5bb6 211872008-08-17 Felix Zielcke <fzielcke@z-51.de>
21188
21189 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
21190 mdate-sh to the list `find' searches for.
21191 * DISTLIST: Regenerated.
21192
210db6c6 211932008-08-16 Felix Zielcke <fzielcke@z-51.de>
21194
21195 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
21196 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 21197 genmoddep.awk, gensymlist.sh.in.
21198 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 21199 * DISTLIST: Regenerated.
48cdbfd4 21200 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 21201
1082b929 212022008-08-16 Robert Millan <rmh@aybabtu.com>
21203
21204 * disk/raid.c (grub_raid_init): Handle/report errors set by
21205 grub_device_iterate().
21206 * disk/lvm.c (grub_lvm_init): Likewise.
21207
42ce5170 212082008-08-15 Bean <bean123ch@gmail.com>
21209
21210 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21211 and datehook.mod.
21212 (datetime_mod_SOURCES): New macro.
21213 (datetime_mod_CFLAGS): Likewise.
21214 (datetime_mod_LDFLAGS): Likewise.
21215 (date_mod_SOURCES): Likewise.
21216 (date_mod_CFLAGS): Likewise.
21217 (date_mod_LDFLAGS): Likewise.
21218 (datehook_mod_SOURCES): Likewise.
21219 (datehook_mod_CFLAGS): Likewise.
21220 (datehook_mod_LDFLAGS): Likewise.
21221
21222 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21223 and datehook.mod.
21224 (datetime_mod_SOURCES): New macro.
21225 (datetime_mod_CFLAGS): Likewise.
21226 (datetime_mod_LDFLAGS): Likewise.
21227 (date_mod_SOURCES): Likewise.
21228 (date_mod_CFLAGS): Likewise.
21229 (date_mod_LDFLAGS): Likewise.
21230 (datehook_mod_SOURCES): Likewise.
21231 (datehook_mod_CFLAGS): Likewise.
21232 (datehook_mod_LDFLAGS): Likewise.
21233
21234 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21235 and datehook.mod.
21236 (datetime_mod_SOURCES): New macro.
21237 (datetime_mod_CFLAGS): Likewise.
21238 (datetime_mod_LDFLAGS): Likewise.
21239 (date_mod_SOURCES): Likewise.
21240 (date_mod_CFLAGS): Likewise.
21241 (date_mod_LDFLAGS): Likewise.
21242 (datehook_mod_SOURCES): Likewise.
21243 (datehook_mod_CFLAGS): Likewise.
21244 (datehook_mod_LDFLAGS): Likewise.
21245
21246 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21247 and datehook.mod.
21248 (datetime_mod_SOURCES): New macro.
21249 (datetime_mod_CFLAGS): Likewise.
21250 (datetime_mod_LDFLAGS): Likewise.
21251 (date_mod_SOURCES): Likewise.
21252 (date_mod_CFLAGS): Likewise.
21253 (date_mod_LDFLAGS): Likewise.
21254 (datehook_mod_SOURCES): Likewise.
21255 (datehook_mod_CFLAGS): Likewise.
21256 (datehook_mod_LDFLAGS): Likewise.
21257
21258 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21259 and datehook.mod.
21260 (datetime_mod_SOURCES): New macro.
21261 (datetime_mod_CFLAGS): Likewise.
21262 (datetime_mod_LDFLAGS): Likewise.
21263 (date_mod_SOURCES): Likewise.
21264 (date_mod_CFLAGS): Likewise.
21265 (date_mod_LDFLAGS): Likewise.
21266 (datehook_mod_SOURCES): Likewise.
21267 (datehook_mod_CFLAGS): Likewise.
21268 (datehook_mod_LDFLAGS): Likewise.
21269
21270 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21271
21272 * commands/date.c: New file.
21273
21274 * hook/datehook.c: Likewise.
21275
21276 * include/grub/lib/datetime.h: Likewise.
21277
21278 * include/grub/i386/cmos.h: Likewise.
21279
21280 * lib/datetime.c: Likewise.
21281
21282 * lib/i386/datetime.c: Likewise.
21283
21284 * lib/efi/datetime.c: Likewise.
21285
0e9242da 212862008-08-14 Robert Millan <rmh@aybabtu.com>
21287
21288 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21289 (grub_mkelfimage_SOURCES): New variable.
21290 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21291
21292 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21293 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21294 * conf/powerpc-ieee1275.rmk: Likewise.
21295 * conf/i386-ieee1275.rmk: Likewise.
21296
21297 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21298 * kern/i386/coreboot/init.c: Likewise.
21299
21300 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21301 with `<grub/cpu/kernel.h>'.
21302 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21303 to ...
21304 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21305 * kern/i386/coreboot/startup.S: Likewise.
21306
21307 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21308 (GRUB_MOD_GAP): Remove.
21309 * include/grub/powerpc/kernel.h: New file.
21310 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21311 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21312 * include/grub/i386/kernel.h: New file.
21313 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21314 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21315 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21316
21317 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21318 `grub-mkelfimage'.
21319 Use --directory when invoking grub_mkimage.
21320
21321 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21322 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21323 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21324 and GRUB_KERNEL_CPU_PREFIX.
21325
b86408f8 213262008-08-14 Felix Zielcke <fzielcke@z-51.de>
21327
d5e619ca 21328 * include/grub/err.h (grub_err_printf): New function prototype.
21329 * util/misc.c (grub_err_printf): New function.
21330 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21331 grub_printf.
21332 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21333
7161f0e0 213342008-08-13 Robert Millan <rmh@aybabtu.com>
21335
21336 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21337
a1967522 213382008-08-13 Robert Millan <rmh@aybabtu.com>
21339
21340 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21341 boot entry.
21342
371458b5 213432008-08-12 Robert Millan <rmh@aybabtu.com>
21344
21345 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21346 of the relocation code from here ...
21347 (grub_multiboot): ... to here.
21348 (forward_relocator, backward_relocator): Move from here ...
21349 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21350 (grub_multiboot_backward_relocator): ... to here.
21351 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21352 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21353 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21354 (grub_multiboot_forward_relocator_end)
21355 (grub_multiboot_backward_relocator)
21356 (grub_multiboot_backward_relocator_end): New variables.
21357
05f9452b 213582008-08-12 Bean <bean123ch@gmail.com>
21359
21360 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21361
20024ab0 213622008-08-11 Robert Millan <rmh@aybabtu.com>
21363
21364 * kern/i386/linuxbios/startup.S: Move from here ...
21365 * kern/i386/coreboot/startup.S: ... to here.
21366
21367 * kern/i386/linuxbios/init.c: Move from here ...
21368 * kern/i386/coreboot/init.c: ... to here.
21369
21370 * kern/i386/linuxbios/table.c: Move from here ...
21371 * kern/i386/coreboot/mmap.c: ... to here.
21372
21373 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21374
e352e9cd 213752008-08-11 Robert Millan <rmh@aybabtu.com>
21376
21377 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21378 errors. Leave it to the upper layer to handle them.
21379
2d05bc6a 213802008-08-09 Christian Franke <franke@computer.org>
21381
21382 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21383 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21384 Install `grub.d/10_windows' only on Cygwin.
21385 * configure.ac: Add subst of `target_os'.
21386 Check `target_os' also before setting TARGET_OBJ2ELF.
21387 Add `--enable-grub-pe2elf'.
21388
042bd419 213892008-08-08 Robert Millan <rmh@aybabtu.com>
21390
21391 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21392 (grub_last_time): Change type to grub_uint64_t.
21393 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21394 (grub_disk_close): Likewise.
21395
21396 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21397 (run_menu): Migrate code from to using grub_get_time_ms().
21398
21399 * util/misc.c (grub_get_time_ms): New function.
21400
7f280db5 214012008-08-08 Marco Gerards <marco@gnu.org>
21402
21403 * disk/ata.c (grub_ata_regget): Change return type to
21404 `grub_uint8_t'.
21405 (grub_ata_regget2): Likewise.
21406 (grub_ata_wait_status): New function.
21407 (grub_ata_wait_busy): Removed function, updated all users to use
21408 `grub_ata_wait_status'.
21409 (grub_ata_wait_drq): Likewise.
21410 (grub_ata_cmd): New function.
21411 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21412 error handling.
21413 (grub_ata_pio_write): Add error handling.
21414 (grub_atapi_identify): Likewise.
21415 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21416 handling.
21417 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21418 handling. Actually use the detected registers. Reorder the
21419 detection logic such that it is easier to read.
21420 (grub_ata_pciinit): Do not assign the same ID to each controller.
21421 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21422 handling.
21423 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21424
21425 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21426
1fbc5e66 214272008-08-08 Marco Gerards <marco@gnu.org>
21428
21429 * NEWS: Update.
21430
819ce6c0 214312008-08-07 Bean <bean123ch@gmail.com>
21432
21433 * include/grub/x86_64/pci.h: New file.
21434
5c41d44d 214352008-08-07 Christian Franke <franke@computer.org>
21436
21437 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21438 (TIMER2_GATE): Likewise.
21439 (grub_pit_wait): Add enable/disable of the timer2 gate
21440 bit of port 0x61. This fixes a possible infinite loop.
21441
5ebc275d 214422008-08-07 Bean <bean123ch@gmail.com>
21443
21444 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21445 kern/i386/tsc.c and kern/i386/pit.c.
21446
21447 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21448 x86_64 platform.
21449
21450 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
21451 <grub/i386/tsc.h>.
21452
21453 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
21454
e383b3d0 214552008-08-07 Bean <bean123ch@gmail.com>
21456
21457 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
21458
21459 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
21460
21461 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
21462 multiple inclusion. Add #include <grub/types.h>.
21463
1cbb58ac 214642008-08-06 Christian Franke <franke@computer.org>
21465
21466 * conf/common.rmk: Build and install `10_windows'.
21467 * util/grub.d/10_windows.in: New script.
21468
337f5a1e 214692008-08-06 Pavel Roskin <proski@gnu.org>
21470
21471 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
21472
057bc4ac 214732008-08-06 Robert Millan <rmh@aybabtu.com>
21474
21475 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
21476 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
21477
2b99f123 214782008-08-06 Bean <bean123ch@gmail.com>
21479
21480 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
21481 (grub_pxefs_fs_int): Remove dummy definition.
21482 (grub_pxefs_open): Use data->block_size to store the current block
21483 size setting.
21484 (grub_pxefs_read): Use block size stored in data->block_size. As the
21485 value of grub_pxe_blksize can be changed after the file is opened.
21486
9f0234cb 214872008-08-06 Bean <bean123ch@gmail.com>
21488
21489 * fs/i386/pc/pxe.c (curr_file): new variable.
21490 (grub_pxefs_open): Simply the handling of pxe file system. Don't
21491 require the dummy internal file system anymore.
21492 (grub_pxefs_read): Removed.
21493 (grub_pxefs_close): Likewise.
21494 (grub_pxefs_fs_int): Likewise.
21495 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
21496 connection when we switch file.
21497 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
21498
a55d42e0 214992008-08-06 Robert Millan <rmh@aybabtu.com>
21500
21501 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
21502 `halt.mod'.
21503 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
21504 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
21505
21506 * kern/i386/halt.c: New file.
21507 * kern/i386/reboot.c: Likewise.
21508 * include/grub/i386/reboot.h: Likewise.
21509 * include/grub/i386/halt.h: Likewise.
21510
21511 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
21512 Include `<grub/cpu/halt.h>'.
21513 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
21514 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
21515
21516 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
21517 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
21518 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
21519 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21520 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21521 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21522 from here ...
21523 * include/grub/i386/at_keyboard.h: ... to here.
21524
24371d26 215252008-08-05 Robert Millan <rmh@aybabtu.com>
21526
21527 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21528 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21529 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21530 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21531 `kern/generic/millisleep.c'.
21532
21533 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21534 instead of grub_get_rtc().
21535 (grub_tsc_init): Initialize `tsc_boot_time'.
21536
21537 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21538 (grub_machine_init): Use grub_tsc_init() rather than
21539 installing an RTC-based handler via grub_install_get_time_ms().
21540
21541 * kern/i386/pit.c: New file.
21542 * include/grub/i386/pit.h: Likewise.
21543
9e7007b3 215442008-08-05 Bean <bean123ch@gmail.com>
21545
21546 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21547
21548 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21549 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21550 (pxe_mod_SOURCES): New macro.
21551 (pxe_mod_CFLAGS): Likewise.
21552 (pxe_mod_LDFLAGS): Likewise.
21553 (pxecmd_mod_SOURCES): Likewise.
21554 (pxecmd_mod_CFLAGS): Likewise.
21555 (pxecmd_mod_LDFLAGS): Likewise.
21556
21557 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21558 (grub_pxe_call): Likewise.
21559
21560 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21561
21562 * commands/i386/pc/pxecmd.c: New file.
21563
9f0234cb 21564 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21565
21566 * include/grub/i386/pc/pxe.h: Likewise.
21567
6977d49f 215682008-08-05 Bean <bean123ch@gmail.com>
21569
21570 * util/console.c (grub_console_cur_color): New variable.
21571 (grub_console_standard_color): Likewise.
21572 (grub_console_normal_color): Likewise.
21573 (grub_console_highlight_color): Likewise.
21574 (color_map): Likewise.
21575 (use_color): Likewise.
21576 (NUM_COLORS): New macro.
21577 (grub_ncurses_setcolorstate): Handle color properly.
21578 (grub_ncurses_setcolor): Don't change color here, just remember the
21579 settings, color will be set in grub_ncurses_setcolorstate.
21580 (grub_ncurses_getcolor): New function.
21581 (grub_ncurses_init): Initialize color pairs.
21582 (grub_ncurses_term): New member grub_ncurses_getcolor.
21583
9c2ff3ee 215842008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21585
9c2ff3ee 21586 High resolution timer support. Implemented for x86 CPUs using TSC.
21587 Extracted generic grub_millisleep() so it's linked in only as needed.
21588 This requires a Pentium compatible CPU; if the RDTSC instruction is
21589 not supported, then it falls back on the generic grub_get_time_ms()
21590 implementation that uses the machine's RTC.
21591
21592 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21593 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21594 `kern/generic/millisleep.c'.
21595
21596 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21597 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21598
21599 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21600 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21601
21602 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21603
21604 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21605 `kern/generic/millisleep.c'.
21606
21607 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21608
21609 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21610
21611 * kern/generic/rtc_get_time_ms.c: New file.
21612
21613 * kern/generic/millisleep.c: New file.
337f5a1e 21614
9c2ff3ee 21615 * kern/misc.c: Don't include
21616 <kern/time.h> anymore.
21617 (grub_millisleep_generic): Removed.
21618
21619 * commands/sleep.c (grub_interruptible_millisleep): Uses
21620 grub_get_time_ms() instead of grub_get_rtc().
21621
21622 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21623 function.
21624 (grub_cpu_is_cpuid_supported): New inline function.
21625 (grub_cpu_is_tsc_supported): New inline function.
21626 (grub_tsc_init): New function prototype.
21627 (grub_tsc_get_time_ms): New function prototype.
21628
21629 * kern/i386/tsc.c (grub_get_time_ms): New file.
21630
21631 * include/grub/time.h: Include <grub/types.h.
21632 (grub_millisleep_generic): Removed.
21633 (grub_get_time_ms): New prototype.
21634 (grub_install_get_time_ms): New prototype.
21635 (grub_rtc_get_time_ms): New prototype.
21636
21637 * kern/time.c (grub_get_time_ms): New function.
21638 (grub_install_get_time_ms): New function.
21639
21640 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21641 <grub/time.h> anymore.
21642 (grub_millisleep): Removed.
21643 (grub_machine_init): Call grub_tsc_init.
21644
21645 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21646 get_time_ms() implementation.
21647
21648 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21649 (ieee1275_get_time_ms): New function.
21650 (grub_machine_init): Install get_time_ms() implementation.
21651
21652 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21653 (grub_machine_init): Call grub_tsc_init().
21654 (grub_millisleep): Removed.
bf06a93f 21655
9c2ff3ee 21656 * kern/ieee1275/init.c (grub_millisleep): Removed.
21657 (grub_machine_init): Install ieee1275_get_time_ms()
21658 implementation.
21659 (ieee1275_get_time_ms): New function.
21660 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21661 real work.
21662
9ec92aaf 216632008-08-05 Marco Gerards <marco@gnu.org>
21664
21665 * disk/ata.c: Include <grub/pci.h>.
21666 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21667 (grub_ata_initialize): Rewritten.
21668 (grub_ata_device_initialize): New function.
21669
8d23f507 216702008-08-04 Pavel Roskin <proski@gnu.org>
21671
21672 * kern/main.c: Include grub/mm.h.
21673
5e15ee3d 216742008-08-04 Robert Millan <rmh@aybabtu.com>
21675
21676 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21677 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21678 corruption problem).
21679
a9053f8f 216802008-08-04 Robert Millan <rmh@aybabtu.com>
21681
21682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21683 warnings introduced in my last commit.
21684
dd19c7d7 216852008-08-03 Robert Millan <rmh@aybabtu.com>
21686
21687 Make PCI available on all i386 architectures.
21688
21689 * include/grub/i386/pc/pci.h: Move from here ...
21690 * include/grub/i386/pci.h: ... to here.
21691
21692 * include/grub/i386/pc/pci.h: Remove.
21693 * include/grub/i386/efi/pci.h: Remove.
21694 * include/grub/x86_64/efi/pci.h: Remove.
21695
21696 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21697 `<grub/cpu/pci.h>'.
21698
21699 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21700 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21701 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21702
21703 * conf/i386-ieee1275.rmk: Likewise.
21704
e14a6184 217052008-08-03 Robert Millan <rmh@aybabtu.com>
21706
21707 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21708 (grub_console_setcursor): Make it possible to set cursor off.
21709
52768e37 217102008-08-03 Robert Millan <rmh@aybabtu.com>
21711
21712 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21713 of modules instead of assuming which platform provides what.
21714 * util/update-grub.in: Likewise.
21715
2d52f57f 217162008-08-03 Robert Millan <rmh@aybabtu.com>
21717
21718 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21719 instead of `grub_install_dos_part' to determine whether a drive needs
21720 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21721 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21722
2a5cd121 217232008-08-02 Robert Millan <rmh@aybabtu.com>
21724
21725 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21726
93808428 217272008-08-02 Robert Millan <rmh@aybabtu.com>
21728
21729 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21730 of informational grub_dprintf() calls.
21731
3bd0a12a 217322008-08-02 Robert Millan <rmh@aybabtu.com>
21733
21734 * disk/memdisk.c (memdisk_size): Don't initialize.
21735 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21736
21737 * include/grub/i386/pc/kernel.h
21738 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21739 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21740 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21741 (grub_arch_memdisk_size): Remove.
21742
21743 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21744 field (was only used to transfer a constant). Add `type' field to
21745 support multiple module types.
21746 (grub_module_iterate): New function.
21747
21748 * kern/device.c (grub_device_open): Do not hide error messages
21749 when grub_disk_open() fails. Use grub_print_error() instead.
21750
21751 * kern/i386/pc/init.c (grub_arch_modules_addr)
21752 (grub_arch_memdisk_size): Remove functions.
21753 (grub_arch_modules_addr): Return the module address in high memory
21754 (now that it isn't copied anymore).
21755
21756 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21757 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21758 decompression routine (grub_total_module_size already includes that
21759 now). Don't copy modules back to low memory.
21760
21761 * kern/main.c: Include `<grub/mm.h>'.
21762 (grub_load_modules): Split out (and use) ...
21763 (grub_module_iterate): ... this function, which iterates through
21764 module objects and runs a hook.
21765 Comment out grub_mm_init_region() call, as it would cause non-ELF
21766 modules to be overwritten.
21767
21768 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21769 the memdisk image in its own region, make it part of the module list.
21770 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21771 (main): Parse --memdisk|-m option, and pass user-provided path as
21772 parameter to generate_image().
21773 (add_segments): Pass `memdisk_path' down to load_modules().
21774 (load_modules): Embed memdisk image in module section when requested.
21775 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21776 `header.type' instead of `header.offset'.
21777
21778 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21779 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21780 (memdisk_mod_LDFLAGS): New variables.
21781 * conf/i386-coreboot.rmk: Likewise.
21782 * conf/i386-ieee1275.rmk: Likewise.
21783
a927cc73 217842008-08-02 Robert Millan <rmh@aybabtu.com>
21785
21786 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21787 (backward_relocator): New variables. Used to allocate and relocate
21788 the payload, respectively.
21789 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21790 address, install the appropriate relocator code in each bound of
a927cc73 21791 the payload, and set the entry point such that
21792 grub_multiboot_real_boot() will jump to one of them.
21793
21794 * kern/i386/loader.S (grub_multiboot_payload_size)
21795 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21796 (grub_multiboot_payload_entry_offset): New variables.
21797 (grub_multiboot_real_boot): Set cpu context to what the relocator
21798 expects, and jump to the relocator instead of the payload.
21799
21800 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21801 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21802 (grub_multiboot_payload_entry_offset): Export.
21803
b15d8a0c 218042008-08-01 Bean <bean123ch@gmail.com>
21805
21806 * normal/menu_entry.c (editor_getline): Don't return the original
21807 string as result, as it will be released by lexer once it has done
21808 using it.
21809
cdfb3d22 218102008-08-01 Robert Millan <rmh@aybabtu.com>
21811
21812 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21813 within menuentries, not before them.
21814 util/grub.d/10_hurd.in: Likewise.
21815
9175e93d 218162008-08-01 Bean <bean123ch@gmail.com>
21817
21818 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21819 (bufio_mod_SOURCES): New macro.
21820 (bufio_mod_CFLAGS): Likewise.
21821 (bufio_mod_LDFLAGS): Likewise.
21822
21823 * include/grub/bufio.h: New file.
21824
21825 * io/bufio.c: Likewise.
21826
21827 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21828 (grub_video_reader_png): Use grub_buffile_open to open file.
21829
21830 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21831 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21832
21833 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21834 (grub_video_reader_tga): Use grub_buffile_open to open file.
21835
21836 * font/manager.c: Include <grub/bufio.h>.
21837 (add_font): Use grub_buffile_open to open file.
21838
3d8383e7 218392008-07-31 Robert Millan <rmh@aybabtu.com>
21840
21841 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21842 ELF segments, use a macro for arbitrarily accessing any of them instead
21843 of preparing a pointer that allows access to one at a time.
21844 (grub_multiboot_load_elf64): Likewise.
21845
16e641b6 218462008-07-31 Bean <bean123ch@gmail.com>
21847
21848 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21849 GRUB_KERNEL_MACHINE_DATA_END.
21850
59198b72 218512008-07-30 Robert Millan <rmh@aybabtu.com>
21852
21853 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21854 Increase from 0x50 to 0x60.
21855 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21856 use UUIDs to identify the root drive for them. If that's not
21857 possible, abort.
21858 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21859 check, for cross-disk installs.
21860
ae88bca3 218612008-07-30 Robert Millan <rmh@aybabtu.com>
21862
21863 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21864 is non-empty, use it to set the `prefix' environment variable instead
21865 of the usual approach.
21866 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21867 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21868 environment variable instead of dummy make_install_device().
21869
21870 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21871 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21872 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21873
21874 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21875 New variable reference.
21876 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21877 New macro. Defines offset of `grub_prefix' within startup.S (relative
21878 to `start').
21879 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21880 section within startup.S (relative to `start').
21881 * include/grub/i386/coreboot/kernel.h: Likewise.
21882
21883 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21884 Overwrite grub_prefix with its contents, at the beginning of the
21885 first segment.
21886 (main): Understand -p|--prefix.
21887
14f41dd1 218882008-07-30 Robert Millan <rmh@aybabtu.com>
21889
21890 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21891
4ca049a3 218922008-07-30 Robert Millan <rmh@aybabtu.com>
21893
21894 * term/i386/pc/vga_text.c (grub_console_cls): Use
21895 grub_console_gotoxy() to go back to beginning of the screen.
21896 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21897
2921d337 218982008-07-29 Christian Franke <franke@computer.org>
21899
21900 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21901 Add conversion of emulated mount points on Cygwin.
21902
b609876d 219032008-07-29 Christian Franke <franke@computer.org>
21904
21905 * util/update-grub.in: Add a check for admin
21906 group on Cygwin.
21907 Remove old `grub.cfg.new' before creation.
21908 Add `-f' to `mv' to handle the different filesystem
21909 semantics of Windows.
21910
e93e4679 219112008-07-29 Bean <bean123ch@gmail.com>
21912
21913 * normal/main.c (get_line): Fix buffer overflow bug.
21914
41694fd0 219152008-07-28 Robert Millan <rmh@aybabtu.com>
21916
21917 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21918 (struct grub_apple_header): New struct. Describes the layout of
21919 the partmap header.
21920 (apple_partition_map_iterate): Check the header magic as well as the
21921 partition magic (which was already being checked).
21922
cfd0b4e6 219232008-07-28 Pavel Roskin <proski@gnu.org>
21924
21925 * genmk.rb: Add a warning to the beginning of the output that
21926 it's a generated file and should not be edited.
21927
93cce016 219282008-07-28 Robert Millan <rmh@aybabtu.com>
21929
21930 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21931 with the same number are found, just use issue a warning with
21932 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21933
cd1df915 219342008-07-27 Robert Millan <rmh@aybabtu.com>
21935
21936 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21937 information.
21938
b70a8427 219392008-07-27 Bean <bean123ch@gmail.com>
21940
21941 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21942 (grub_fat_find_dir): Ignore case when comparing filename.
21943
8f5e379f 219442008-07-27 Bean <bean123ch@gmail.com>
21945
21946 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21947 smallino, as it's more descriptive, and i8count can be confused with
21948 the other field count.
21949 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21950 inode type.
21951
a85cd5a0 219522008-07-27 Bean <bean123ch@gmail.com>
21953
21954 * commands/crc.c: New file.
21955
21956 * lib/crc.c: Likewise.
21957
21958 * include/grub/lib/crc.h: Likewise.
21959
21960 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21961
21962 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21963 (hexdump): Move this function to ...
21964
21965 * lib/hexdump.c: ... here.
21966
21967 * include/grub/hexdump.h: Renamed to ...
21968
21969 * include/grub/lib/hexdump.h: ... this.
21970
21971 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21972
21973 * util/grub-editenv.c: Likewise.
21974
21975 * include/envblk.h: Renamed to ...
21976
21977 * include/lib/envblk.h: ... this.
21978
21979 * util/envblk.c: Renamed to ...
21980
21981 * lib/envblk.c: ... this.
21982
21983 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21984 lib/hexdump.c.
21985 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21986 (pkglib_MODULES): Add crc.mod.
21987 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21988 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21989 (crc_mod_SOURCES): New macro.
21990 (crc_mod_CFLAGS): Likewise.
21991 (crc_mod_LDFLAGS): Likewise.
21992
21993 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21994
21995 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21996
21997 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21998
21999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22000
22001 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22002
c298def0 220032008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 22004
22005 * commands/help.c: Include <grub/term.h>.
22006 (TERM_WIDTH): Removed. Updated all users.
22007
cc349fb3 220082008-07-27 Pavel Roskin <proski@gnu.org>
22009
22010 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22011 spurious warnings about a comment within a comment.
22012
9051607e 220132008-07-25 Robert Millan <rmh@aybabtu.com>
22014
22015 * util/getroot.c (find_root_device): Skip devices that match
22016 /dev/dm-[0-9]. This lets the real device be found for any type of
22017 abstraction (LVM, EVMS, RAID..).
22018 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22019 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22020 device is found first, find_root_device() will now skip it.
22021
01453bfc 220222008-07-24 Pavel Roskin <proski@gnu.org>
22023
22024 * include/grub/types.h: Use __builtin_bswap32() and
22025 __builtin_bswap64() with gcc 4.3 and newer.
22026
6af9849f 220272008-07-24 Christian Franke <franke@computer.org>
22028
3a0fa256 22029 * util/i386/pc/grub-install.in: If `--debug' is specified,
22030 pass `--verbose' to grub-setup.
22031 Abort script if make_system_path_relative_to_its_root() fails.
22032
7810e747 220332008-07-24 Bean <bean123ch@gmail.com>
22034
22035 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22036 variable `target_platform' should be `platform'.
22037
42290e17 220382008-07-24 Bean <bean123ch@gmail.com>
22039
51cc5193 22040 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 22041 (grub_png_init_fixed_block): New function.
22042 (grub_png_decode_image_data): Handle fixed huffman code compression.
22043
2a8a80e4 220442008-07-24 Bean <bean123ch@gmail.com>
22045
22046 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22047 (grub_pe2elf_SOURCES): New macro.
22048 (CLEANFILES): Add grub-pe2elf.
22049
22050 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22051 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22052 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22053 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22054 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22055 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22056 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22057 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22058 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22059 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22060 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22061 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22062 (GRUB_PE32_DT_FUNCTION): Likewise.
22063 (GRUB_PE32_REL_I386_DIR32): Likewise.
22064 (GRUB_PE32_REL_I386_REL32): Likewise.
22065 (grub_pe32_symbol): New structure.
22066 (grub_pe32_reloc): Likewise.
22067
22068 * util/grub-pe2elf.c: New file.
22069
22070 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22071 start symbol in non pc platform.
22072
22073 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22074
22075 The following patches are from Christian Franke.
22076
22077 * include/grub/dl.h: Remove .previous, gas supports this only
22078 for ELF format.
22079
22080 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22081 Remove .type, gas supports this only for ELF format.
22082
22083 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22084 nullbytes in symbol table. This fixes an infinite loop if table is
22085 zero filled.
22086
22087 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
22088 TARGET_IMG_LDFLAGS and EXEEXT.
22089
22090 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
22091 TARGET_IMG_LDFLAGS_AC.
22092 (grub_CHECK_STACK_ARG_PROBE): New function.
22093
22094 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
22095
22096 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
22097
22098 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
22099 to set TARGET_IMG_LD* accordingly.
22100 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
22101 Add call to grub_CHECK_STACK_ARG_PROBE.
22102 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
22103
22104 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
22105
22106 * genmk.rb: Add EXEEXT to CLEANFILES.
22107
12ccdb75 221082008-07-23 Robert Millan <rmh@aybabtu.com>
22109
22110 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
22111 define the codes for arrows and lines used for the menu).
22112 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
22113 as well.
22114
22115 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
22116 fonts, because the latter are too slow.
22117
18eeaf04 221182008-07-21 Bean <bean123ch@gmail.com>
22119
22120 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
22121 a20. Run keyboard test last, as it will cause macbook to halt.
22122
b095e2ad 221232008-07-18 Pavel Roskin <proski@gnu.org>
22124
22125 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
22126 load foreign architecture modules correctly anyway. Keep
22127 support for loading host architecture modules, whether we
22128 compile them or not.
22129
737feb35 221302008-07-17 Pavel Roskin <proski@gnu.org>
22131
3f4ce737 22132 * configure.ac: Use -m32 or -m64 regardless of whether we had to
22133 change target_cpu. The compiler default can mismatch target_cpu
22134 in any case.
22135
4ad2d049 22136 * disk/efi/efidisk.c: Fix format warnings on x86_64.
22137 * kern/efi/efi.c: Likewise.
22138
f6130a12 22139 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
22140 target compiler is functional.
22141 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
22142 are set up.
22143
58393a2d 22144 * configure.ac: Default to efi platform for x86_64-apple. Allow
22145 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
22146 adjustments from the rest, only do them if target is not
22147 explicitly given. Merge other adjustments with the final sanity
22148 check. Remove an extraneous check for supported CPU. Be
22149 specific which CPU and which platform is not supported.
22150
737feb35 22151 * configure.ac: Default to pc platform for x86_64.
22152
546f966a 221532008-07-17 Robert Millan <rmh@aybabtu.com>
22154
22155 Partial LinuxBIOS -> Coreboot rename.
22156
22157 * conf/i386-linuxbios.rmk: Renamed to ...
22158 * conf/i386-coreboot.rmk: ... this.
22159 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
22160 * configure.ac: Accept "coreboot" as input platform (but maintain
22161 compatibility with "linuxbios").
22162 * include/grub/i386/linuxbios: Renamed to ...
22163 * include/grub/i386/coreboot: ... this.
22164
20011694 221652008-07-17 Bean <bean123ch@gmail.com>
22166
22167 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 22168 (appleldr_mod_SOURCE): New variable.
20011694 22169 (appleldr_mod_CFLAGS): Likewise.
22170 (appleldr_mod_LDFLAGS): Likewise.
22171 (pci_mod_SOURCES): Likewise.
22172 (pci_mod_CFLAGS): Likewise.
22173 (pci_mod_LDFLAGS): Likewise.
22174 (lspci_mod_SOURCES): Likewise.
22175 (lspci_mod_CFLAGS): Likewise.
22176 (lspci_mod_LDFLAGS): Likewise.
22177
22178 * conf/x86_64-efi.rmk: New file.
22179
22180 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
22181 macro.
22182 (grub_efidisk_write): Likewise.
22183
22184 * include/efi/api.h (efi_call_0): New macro.
22185 (efi_call_1): Likewise.
22186 (efi_call_2): Likewise.
22187 (efi_call_3): Likewise.
22188 (efi_call_4): Likewise.
22189 (efi_call_5): Likewise.
22190 (efi_call_6): Likewise.
22191
22192 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
22193 grub_rescue_cmd_chainloader.
22194
22195 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
22196 (grub_pe32_optional_header): Change some fields based on i386 or
22197 x86_64 platform.
22198 (GRUB_PE32_PE32_MAGIC): Likewise.
22199
22200 * include/grub/efi/uga_draw.h: New file.
22201
22202 * include/grub/elf.h (STN_ABS): New constant.
22203 (R_X86_64_NONE): Relocation constant for x86_64.
22204 (R_X86_64_64): Likewise.
22205 (R_X86_64_PC32): Likewise.
22206 (R_X86_64_GOT32): Likewise.
22207 (R_X86_64_PLT32): Likewise.
22208 (R_X86_64_COPY): Likewise.
22209 (R_X86_64_GLOB_DAT): Likewise.
22210 (R_X86_64_JUMP_SLOT): Likewise.
22211 (R_X86_64_RELATIVE): Likewise.
22212 (R_X86_64_GOTPCREL): Likewise.
22213 (R_X86_64_32): Likewise.
22214 (R_X86_64_32S): Likewise.
22215 (R_X86_64_16): Likewise.
22216 (R_X86_64_PC16): Likewise.
22217 (R_X86_64_8): Likewise.
22218 (R_X86_64_PC8): Likewise.
22219
22220 * include/grub/i386/efi/pci.h: New file.
22221
22222 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22223 Change it value based on platform.
22224 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22225 (GRUB_E820_RAM): Likewise.
22226 (GRUB_E820_RESERVED): Likewise.
22227 (GRUB_E820_ACPI): Likewise.
22228 (GRUB_E820_NVS): Likewise.
22229 (GRUB_E820_EXEC_CODE): Likewise.
22230 (GRUB_E820_MAX_ENTRY): Likewise.
22231 (grub_e820_mmap): New structure.
22232 (linux_kernel_header): Change the efi field according to different
22233 kernel version, also field from linux_kernel_header.
22234
22235 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22236
22237 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22238 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22239 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22240 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22241 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22242 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22243 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22244 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22245 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22246 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22247
22248 * include/grub/x86_64/efi/kernel.h: New file.
22249
22250 * include/grub/x86_64/efi/loader.h: Likewise.
22251
22252 * include/grub/x86_64/efi/machine.h: Likewise.
22253
22254 * include/grub/x86_64/efi/pci.h: Likewise.
22255
22256 * include/grub/x86_64/efi/time.h: Likewise.
22257
22258 * include/grub/x86_64/linux.h: Likewise.
22259
22260 * include/grub/x86_64/setjmp.h: Likewise.
22261
22262 * include/grub/x86_64/time.h: Likewise.
22263
22264 * include/grub/x86_64/types.h: Likewise.
22265
22266 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22267 GRUB_TARGET_SIZEOF_VOID_P.
22268
22269 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22270 (grub_efi_locate_handle): Likewise.
22271 (grub_efi_open_protocol): Likewise.
22272 (grub_efi_set_text_mode): Likewise.
22273 (grub_efi_stall): Likewise.
22274 (grub_exit): Likewise.
22275 (grub_reboot): Likewise.
22276 (grub_halt): Likewise.
22277 (grub_efi_exit_boot_services): Likewise.
22278 (grub_get_rtc): Likewise.
22279
22280 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22281 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22282 (grub_efi_allocate_pages): Wrap efi calls.
22283 (grub_efi_free_pages): Wrap efi calls.
22284 (grub_efi_get_memory_map): Wrap efi calls.
22285
22286 * kern/x86_64/dl.c: New file.
22287
22288 * kern/x86_64/efi/callwrap.S: Likewise.
22289
22290 * kern/x86_64/efi/startup.S: Likewise.
22291
22292 * loader/efi/appleloader.c: Likewise.
22293
22294 * loader/efi/chainloader.c (cmdline): New variable.
22295 (grub_chainloader_unload): Wrap efi calls.
22296 (grub_chainloader_boot): Likewise.
22297 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22298 command line.
22299
22300 * loader/efi/chainloader_normal.c (chainloader_command):
22301 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22302 command line.
22303
22304 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22305 method.
22306 (grub_e820_add_region): New function.
22307 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22308 booting.
22309 (grub_find_video_card): New function.
22310 (grub_linux_setup_video): New function.
22311 (grub_rescue_cmd_linux): Probe for video information.
22312
22313 * normal/x86_64/setjmp.S: New file.
22314
22315 * term/efi/console.c (map_char): New function.
22316 (grub_console_putchar): Map unicode char.
22317 (grub_console_checkkey): Wrap efi calls.
22318 (grub_console_getkey): Likewise.
22319 (grub_console_getwh): Likewise.
22320 (grub_console_gotoxy): Likewise.
22321 (grub_console_cls): Likewise.
22322 (grub_console_setcolorstate): Likewise.
22323 (grub_console_setcursor): Likewise.
22324
22325 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22326
59652a20 223272008-07-16 Pavel Roskin <proski@gnu.org>
22328
ef294055 22329 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22330 format strings.
22331
59652a20 22332 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22333 pointer, not an integer. This fixes a warning and prevents
22334 precision loss on 64-bit systems.
22335 (relocate_addresses): Remove unneeded cast.
22336
afc3b5d7 223372008-07-15 Pavel Roskin <proski@gnu.org>
22338
506b2b3e 22339 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22340
62ead89c 22341 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22342
c4cd51d7 22343 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22344 Fix comparison between signed and unsigned.
22345
0d3d8f28 22346 * include/grub/i386/ieee1275/console.h: Declare
22347 grub_console_init() and grub_console_fini().
22348
8804b286 22349 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22350 It's empty and unused.
22351
ee01cf35 22352 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22353 beginning to avoid warnings with some compilers.
22354
afc3b5d7 22355 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22356 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22357
e4e8eaa5 223582008-07-14 Pavel Roskin <proski@gnu.org>
22359
407aceb4 22360 * kern/env.c (grub_register_variable_hook): Don't copy empty
22361 string, it leaks memory. Pass "" to grub_env_set(), it should
22362 handle constant strings.
22363
e4e8eaa5 22364 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22365 * commands/cmp.c (grub_cmd_cmp): Likewise.
22366 * kern/dl.c (grub_dl_flush_cache): Likewise.
22367 (grub_dl_load_core): Likewise.
22368 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22369 (grub_elf64_load_phdrs): Likewise.
22370
d4e2dad3 223712008-07-13 Pavel Roskin <proski@gnu.org>
22372
22373 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22374 between signed and unsigned.
22375 (LzmaEnc_Finish): Fix warning about an unused parameter.
22376
aa24b516 223772008-07-13 Bean <bean123ch@gmail.com>
22378
22379 * Makefile.in (enable_lzo): New rule.
22380
22381 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22382
22383 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22384
22385 * boot/i386/pc/lnxboot.S: #include <config.h>.
22386
22387 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22388 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22389
22390 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22391 compression algorithm according to configure macro.
22392
22393 * kern/i386/pc/startup.S (codestart): Likewise.
22394
22395 * kern/i386/pc/lzma_decode.S: New file.
22396
22397 * include/grub/lib/LzFind.h: Likewise.
22398
22399 * include/grub/lib/LzHash.h: Likewise.
22400
22401 * include/grub/lib/LzmaDec.h: Likewise.
22402
22403 * include/grub/lib/LzmaEnc.h: Likewise.
22404
22405 * include/grub/lib/LzmaTypes.h: Likewise.
22406
22407 * lib/LzFind.c: Likewise.
22408
22409 * lib/LzmaDec.c: Likewise.
22410
22411 * lib/LzmaEnc.c: Likewise.
22412
4ae821ac 224132008-07-13 Bean <bean123ch@gmail.com>
22414
22415 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22416 (grub_ext4_extent_header): New structure.
22417 (grub_ext4_extent): Likewise.
22418 (grub_ext4_extent_idx): Likewise.
22419 (grub_ext4_find_leaf): New function.
22420 (grub_ext2_read_block): Handle extents.
22421
9a745147 224222008-07-12 Robert Millan <rmh@aybabtu.com>
22423
22424 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22425
d49a4cf6 224262008-07-11 Robert Millan <rmh@aybabtu.com>
22427
22428 * util/grub.d/40_custom.in: New file. Example on how to add custom
22429 entries to /etc/grub.d.
22430 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22431 40_custom (implicitly, by merging all the grub.d rules).
22432
947414b4 224332008-07-11 Pavel Roskin <proski@gnu.org>
22434
0059cf6f 22435 * commands/read.c (grub_getline): Fix invalid memory access.
22436 Don't add newline to the variable value.
22437
947414b4 22438 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22439 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22440 (serial_hw_get_port): Check validity of the port number.
22441 (grub_cmd_serial): Check return value of serial_hw_get_port().
22442
62a02d00 224432008-07-07 Pavel Roskin <proski@gnu.org>
22444
22445 * boot/i386/pc/diskboot.S (notification_string): Replace
22446 "Loading kernel" with just "loading". This is shorter, less
22447 confusing and saves a few bytes for possible future changes.
22448
3e5581b0 224492008-07-05 Pavel Roskin <proski@gnu.org>
22450
ea387a48 22451 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
22452 size for ATAPI devices, they are undefined. Output sector
22453 number in decimal form.
22454
3e5581b0 22455 * disk/ata.c: Use named constants for status bits.
22456
fdecb8fd 224572008-07-04 Pavel Roskin <proski@gnu.org>
22458
bcd35b90 22459 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
22460 grub_addr_t before casting it to the void pointer to fix a
22461 warning. Non-addressable regions are discarded earlier.
22462 (grub_arch_modules_addr): Cast _end to grub_addr_t.
22463 * kern/i386/linuxbios/table.c: Include grub/misc.h.
22464 (check_signature): Don't shadow table_header.
22465 (grub_linuxbios_table_iterate): Cast numeric constants to
22466 grub_linuxbios_table_header_t.
22467 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
22468 grub_stop().
22469
af58ab3d 22470 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
22471 prevent warnings.
22472
1759aa57 22473 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
22474 pointer, which can cause warnings. Support 64-bit addresses.
22475
fdecb8fd 22476 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
22477 of sizeof(long). This fixes PowerPC image generation on x86_64.
22478
8516d2a8 224792008-07-04 Robert Millan <rmh@aybabtu.com>
22480
22481 This fixes a performance issue when pc & gpt partmap iterators
22482 didn't abort iteration even after our hook found what it was
fe987087 22483 looking for (often causing expensive probes of non-existent drives).
8516d2a8 22484
22485 Some callers relied on previous buggy behaviour, since they would
34c44600 22486 raise an error when their own hooks caused early abortion of its
8516d2a8 22487 iteration.
22488
22489 * kern/device.c (grub_device_open): Improve error message.
22490 * disk/lvm.c (grub_lvm_open): Likewise.
22491 * disk/raid.c (grub_raid_open): Likewise.
22492
22493 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
22494 when hook requests it, independently of grub_errno.
22495 (pc_partition_map_probe): Do not fail when find_func() caused
22496 early abortion of pc_partition_map_iterate().
22497
22498 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
22499 when hook requests it, independently of grub_errno.
22500 (gpt_partition_map_probe): Do not fail when find_func() caused
22501 early abortion of gpt_partition_map_iterate().
22502
22503 * kern/partition.c (grub_partition_iterate): Abort parent iteration
22504 when hook requests it, independently of grub_errno. Do not fail when
22505 part_map_iterate_hook() caused early abortion of p->iterate().
22506
22507 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
22508 when grub_partition_iterate() returned with non-zero.
22509
277d0de9 225102008-07-03 Pavel Roskin <proski@gnu.org>
22511
22512 * disk/ata.c (grub_ata_pio_write): Check status before writing,
22513 like we do in grub_ata_pio_read().
22514 (grub_ata_readwrite): Always write individual sectors. Fix the
22515 sector count for the remainder.
22516 (grub_ata_write): Enable writing to ATA devices. Correctly
22517 report error for ATAPI devices.
22518
d4c9b428 225192008-07-02 Pavel Roskin <proski@gnu.org>
22520
e43fc690 22521 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22522 warning.
22523
f707af42 22524 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22525 for every read sector, we already increment it for the whole
22526 batch. This fixes reading more than 256 sectors at once.
22527
11e16b15 22528 * util/grub-editenv.c (cmd_info): Cast argument to long
22529 explicitly. ptrdiff_t reduces to int on i386.
22530
cbabfdd4 22531 * util/grub-editenv.c (main): Be specific which parameter is
22532 missing.
22533
b8fbce0a 22534 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22535 (memdisk): Make memdisk_orig_addr a pointer.
22536
c9c8e606 22537 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22538 for file offsets, use grub_off_t instead. Fix printf format
22539 warnings.
22540
ca62e598 22541 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22542 there. Real unexpected warnings should not drown in the noise
22543 about known problems.
22544
ce8d1766 22545 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22546 grub_disk_addr_t for memory addresses.
22547
00c7a56a 22548 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22549 explicitly to fix a warning.
22550
08d3ef09 22551 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22552
cb71ba20 22553 * Makefile.in (MODULE_LDFLAGS): New variable.
22554 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22555 the linker accepts --build-id=none.
22556 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22557 MODULE_LDFLAGS.
22558 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22559
d4c9b428 22560 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22561 those in Linux XFS code. Provide a way to access 64-bit parent
22562 inode.
22563 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22564 the end of struct grub_xfs_dir_header.
22565
d4156eee 225662008-07-02 Bean <bean123ch@gmail.com>
22567
22568 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22569 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22570 and GRUB_IEEE1275_FLAG_NO_ANSI.
22571
22572 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22573 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22574 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22575
22576 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22577 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22578
22579 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22580 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22581
22582 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22583 esc sequence on non ANSI terminal.
22584 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22585
22586 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22587 beginning of file.
22588
2270f77b 225892008-07-02 Bean <bean123ch@gmail.com>
22590
22591 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22592 (grub_editenv_SOURCES): New variable.
22593 (pkglib_MODULES): Add loadenv.mod.
22594 (loadenv_mod_SOURCES): New variable.
22595 (loadenv_mod_CFLAGS): Likewise.
22596 (loadenv_mod_LDFLAGS): Likewise.
22597
22598 * include/grub/envblk.h: New file.
22599
22600 * util/envblk.c: New file.
22601
22602 * util/grub-editenv.c: New file.
22603
22604 * commands/loadenv.c: New file.
22605
0e9e51ec 226062008-07-01 Pavel Roskin <proski@gnu.org>
22607
d89b7634 22608 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22609 not unsigned char. This fixes warnings and is consistent with
22610 other tags.
22611
bf1835b1 22612 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22613
8222a04b 22614 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22615
6a42d99d 22616 * term/tparm.c (analyze): Always set *popcount.
22617
10b159d1 22618 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22619 cast to fix a warning.
22620
b8789f6c 22621 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22622 cast to suppress a warning.
22623
29d7e38a 22624 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22625 grub_fshelp_read_file() expects.
22626
f341f669 22627 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22628 write uuid as a 32-bit value in CPU byte order, so declare and
22629 use it as such.
22630
0e9e51ec 22631 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22632 long if the format specifier expects it.
22633 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22634 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22635 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22636 long to fix a warning.
22637 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22638 grub_dprintf() arguments to fix warnings.
22639
3aefa857 226402008-06-30 Pavel Roskin <proski@gnu.org>
22641
56c7668b 22642 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22643 install_bsd_part immediately before core.img is embedded or
22644 modified on disk. This fixes core.img verification if core.img
22645 cannot be embedded.
22646
3aefa857 22647 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22648 core_path to calculate the blocklist.
22649 Patch from Javier Martín <lordhabbit@gmail.com>
22650
5444088d 226512008-06-29 Robert Millan <rmh@aybabtu.com>
22652
22653 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22654 block to disk block.
22655 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22656 Patch from Niels Böhm <bitbucket@arcor.de>
22657
674835c8 226582008-06-29 Robert Millan <rmh@aybabtu.com>
22659
22660 * util/update-grub_lib.in (font_path): Search for fonts in
22661 /boot/grub first, which is more likely to be readable (we aren't
22662 deciding where fonts live, just looking for them).
22663
f527dbc8 226642008-06-26 Pavel Roskin <proski@gnu.org>
22665
6c2d8df6 22666 * util/biosdisk.c (read_device_map): Don't leave dead map
22667 entries for devices failing stat() check.
22668
f527dbc8 22669 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22670 core_path_dev for the core.img path on the target device.
22671
aebe3d13 226722008-06-26 Robert Millan <rmh@aybabtu.com>
22673
22674 * disk/fs_uuid.c: New file.
22675 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22676 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22677 (fs_uuid_mod_LDFLAGS): New variables.
22678 * include/grub/disk.h (grub_disk_dev_id): Add
22679 `GRUB_DISK_DEVICE_UUID_ID'.
22680 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22681 implement iterate().
22682
37aaf354 226832008-06-26 Robert Millan <rmh@aybabtu.com>
22684
22685 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22686 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22687 Linux image includes no initrd.
22688
25ff262a 226892008-06-21 Javier Martín <lordhabbit@gmail.com>
22690
22691 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22692 call to resolve the core image location that effectively appended the
22693 name twice.
22694
76a2bd44 226952008-06-21 Robert Millan <rmh@aybabtu.com>
22696
22697 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22698 call from here ...
22699
22700 * util/grub.d/10_hurd.in: ... to here ...
22701 * util/grub.d/10_linux.in: ... and here.
22702
650e1c79 227032008-06-19 Robert Millan <rmh@aybabtu.com>
22704
fe987087 22705 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22706 after it has been set by grub_machine_set_prefix().
22707
6ce63911 227082008-06-19 Robert Millan <rmh@aybabtu.com>
22709
22710 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22711 search result when not saving to variable, not the other way around.
22712 When saving to variable, abort iteration as soon as a match is found.
22713
73940cec 227142008-06-19 Robert Millan <rmh@aybabtu.com>
22715
22716 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22717 check for partition that provides /boot/grub. Its logic is flawed,
22718 as it prevents prepare_grub_to_access_device() from being called
22719 multiple times.
22720
3c62a39d 227212008-06-19 Robert Millan <rmh@aybabtu.com>
22722
22723 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22724 "insmod" command directly when abstraction modules are needed,
fe987087 22725 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22726 since it had already been processed).
22727
47395a42 227282008-06-19 Pavel Roskin <proski@gnu.org>
22729
22730 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22731 changed. This is needed in case GRUB_LIBDIR changes.
22732 * conf/i386-ieee1275.rmk: Likewise.
22733 * conf/i386-linuxbios.rmk: Likewise.
22734 * conf/i386-pc.rmk: Likewise.
22735 * conf/powerpc-ieee1275.rmk: Likewise.
22736
a145ac2d 227372008-06-18 Pavel Roskin <proski@gnu.org>
22738
22739 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22740 kernel_elf_symlist.c to symlist.c for consistency with other
22741 architectures. Update all users.
22742 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22743
7847c51e 227442008-06-18 Robert Millan <rmh@aybabtu.com>
22745
22746 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22747 it in prefix.
22748
22749 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22750 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22751 a RAID device, run setup() for all members independently on whether
22752 LVM abstraction is being used.
22753 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22754 If grub-mkimage has set `*install_dos_part == -2', don't override this
22755 value.
22756 Perform *install_dos_part adjustments independently on whether
22757 we're embedding or not.
22758 Clarify error message when image is too big for embedding.
22759 Remove duplicate *install_dos_part stanza.
22760
b23e5644 227612008-06-17 Robert Millan <rmh@aybabtu.com>
22762
22763 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22764 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22765 variables.
22766 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22767 values in grub_ofconsole_normal_color and
22768 grub_ofconsole_highlight_color (they're not directly related to
22769 background and foreground).
22770 (grub_ofconsole_setcolorstate): Extract background and foreground
22771 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22772
0aac2f79 227732008-06-17 Robert Millan <rmh@aybabtu.com>
22774
22775 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22776 /boot/grub for the check in last commit, not /boot (they could be
22777 different partitions).
22778
3cca7ef3 227792008-06-16 Robert Millan <rmh@aybabtu.com>
22780
22781 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22782 asked to setup access for the same partition that provides /boot,
22783 don't bother using UUIDs since our root already has the value we
22784 want.
22785
347396d8 227862008-06-16 Robert Millan <rmh@aybabtu.com>
22787
22788 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22789 I2O devices.
22790 Patch from Sven Mueller <sven@debian.org>.
22791
991477f8 227922008-06-16 Robert Millan <rmh@aybabtu.com>
22793
22794 * util/update-grub.in: Check for $EUID instead of $UID.
22795 Reported by Vincent Zweije.
22796
d31a32a1 227972008-06-16 Bean <bean123ch@gmail.com>
22798
fe987087 22799 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22800 (grub_ext2_read_block): Likewise.
22801 (grub_ext2_read_inode): Likewise.
22802 (grub_ext2_mount): Likewise.
22803 (grub_ext2_close): Likewise.
22804 (grub_ext3_get_journal): Removed.
22805
fe987087 22806 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22807 (grub_reiserfs_read_symlink): Likewise.
22808 (grub_reiserfs_mount): Likewise.
22809 (grub_reiserfs_open): Likewise.
22810 (grub_reiserfs_read): Likewise.
22811 (grub_reiserfs_close): Likewise.
22812 (grub_reiserfs_get_journal): Removed.
22813
22814 * fs/fshelp.c (grub_fshelp_read): Removed.
22815 (grub_fshelp_map_block): Likewise.
22816
22817 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22818 (grub_fshelp_journal): Likewise.
22819 (grub_fshelp_read): Likewise.
22820 (grub_fshelp_map_block): Likewise.
22821
3540a760 228222008-06-16 Pavel Roskin <proski@gnu.org>
22823
22824 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22825 floating point anymore.
22826 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22827
95614c84 228282008-06-15 Pavel Roskin <proski@gnu.org>
22829
22830 * commands/ls.c (grub_ls_list_files): Use integer calculations
22831 for human readable format, avoid floating point use.
22832 * kern/misc.c (grub_ftoa): Remove.
22833 (grub_vsprintf): Remove floating point support.
22834
50465dd6 228352008-06-15 Robert Millan <rmh@aybabtu.com>
22836
fe6b695a 22837 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22838 devices.
22839 Reported by Max Vozeler.
22840
a9207284 228412008-06-15 Robert Millan <rmh@aybabtu.com>
22842
22843 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22844 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22845 skipped later.
22846 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22847 the beginning of the prefix.
22848
22849 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22850 It is assumed that if we have a memdisk, grub-mkimage has set
22851 grub_prefix to include the "(memdisk)" drive in it.
22852
a7cbd45a 228532008-06-15 Robert Millan <rmh@aybabtu.com>
22854
22855 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22856 Initialize keyboard controller after registering the terminal, so that
22857 grub_printf() can be called from grub_keyboard_controller_init().
22858
21cf716a 228592008-06-15 Robert Millan <rmh@aybabtu.com>
22860
22861 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22862 extent-btree which is written as big endian on disk.
22863 Reported by Alain Greppin <al@chilibi.org>.
22864
23a64d8e 228652008-06-14 Robert Millan <rmh@aybabtu.com>
22866
22867 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22868 * util/i386/pc/grub-install.in (modules): Likewise.
22869
d687651c 228702008-06-13 Pavel Roskin <proski@gnu.org>
22871
22872 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22873
dfe9ddd4 228742008-06-13 Bean <bean123ch@gmail.com>
22875
22876 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22877
22878 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22879
22880 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22881 to indicate sparse block.
22882
16ae7781 228832008-06-12 Pavel Roskin <proski@gnu.org>
22884
e6d1a308 22885 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22886 number, grub_fshelp_read() does it for us.
22887
16ae7781 22888 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22889 linear disk read with journal translation.
22890 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22891 * include/grub/fshelp.h: Declare grub_fshelp_read().
22892
40fd3a2b 228932008-06-09 Pavel Roskin <proski@gnu.org>
22894
22895 * fs/minix.c (grub_minix_mount): Handle error reading
22896 superblock.
22897
f5679726 228982008-06-08 Robert Millan <rmh@aybabtu.com>
22899
22900 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22901 don't append the RAID prefix afterwards.
22902 Reported by Clint Adams.
22903
ce525529 229042008-06-08 Robert Millan <rmh@aybabtu.com>
22905
22906 Based on description from Pavel:
22907 * kern/disk.c (grub_disk_check_range): Rename to ...
22908 (grub_disk_adjust_range): ... this. Add a comment explaining the
22909 tasks performed by this function.
22910
ad4936a0 229112008-06-08 Robert Millan <rmh@aybabtu.com>
22912
22913 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22914 `num_serial' (for consistency with other variables).
22915 (struct grub_ntfs_data): Add `uuid' member.
22916 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22917 (grub_ntfs_uuid): New function.
22918 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22919
dc20b0f9 229202008-06-07 Pavel Roskin <proski@gnu.org>
22921
22922 * util/biosdisk.c (open_device): Revert last change to the
22923 function, it broke installation. The sector needs to be
22924 different dependent on which device is opened.
22925
c5e3cfba 229262008-06-06 Robert Millan <rmh@aybabtu.com>
22927
22928 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22929 rest of GRUB, and breakage doesn't happen if its value were modified.
22930
22931 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22932 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22933 a constant (same value).
22934 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22935 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22936
26a1f8c4 229372008-06-06 Robert Millan <rmh@aybabtu.com>
22938
22939 * util/biosdisk.c (open_device): Do not modify sector offset when
22940 accessing a partition. kern/disk.c already handles this for us.
22941
25d6b327 229422008-06-06 Robert Millan <rmh@aybabtu.com>
22943
22944 * util/grub-emu.c (grub_machine_init): Move code in this function from
22945 here ...
22946 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22947 segfault in case grub_printf() is called).
22948
22949 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22950 grub_probe. Update all users not to explicitly add it again.
22951 (grub_device): New variable; contains corresponding device for grubdir.
22952 (fs_module, partmap_module, devabstraction_module): Pass
22953 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22954 every time.
22955
9ece62fb 229562008-06-05 Robert Millan <rmh@aybabtu.com>
22957
22958 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22959 is found, print it (same layout as with labels).
22960
1ad36d37 229612008-06-04 Robert Millan <rmh@aybabtu.com>
22962
22963 * util/biosdisk.c (get_drive): Rename to ...
22964 (find_grub_drive): ... this. Update all users.
22965
22966 (get_os_disk): Rename to ...
22967 (convert_system_partition_to_system_disk): ... this. Update all users.
22968
22969 (find_drive): Rename to ...
22970 (find_system_device): ... this. Update all users.
22971
e6a30859 229722008-06-04 Robert Millan <rmh@aybabtu.com>
22973
22974 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22975 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22976 (make_device_map): Likewise.
22977
00c108a4 229782008-06-01 Robert Millan <rmh@aybabtu.com>
22979
22980 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22981 before dereferencing it.
22982
22983 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22984 union with fat12/fat16-specific ones. Add some new fields, including
22985 `num_serial' for both versions.
22986 (struct grub_fat_data): Add `uuid' member.
22987 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22988 names. Initialize `data->uuid' using `num_serial'.
22989 (grub_fat_uuid): New function.
22990 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22991
22992 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22993 (grub_reiserfs_uuid): New function.
22994 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22995 member.
22996
22997 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22998 (grub_xfs_uuid): New function.
22999 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23000
1385c5bb 230012008-06-01 Robert Millan <rmh@aybabtu.com>
23002
23003 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23004 code that is backward compatible with pre-uuid search command.
23005
c682dfd7 230062008-05-31 Robert Millan <rmh@aybabtu.com>
23007
23008 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23009 floppies after everything else, to ensure floppy drive isn't accessed
23010 unnecessarily (patch from Bean).
23011
b7db5d47 230122008-05-31 Robert Millan <rmh@aybabtu.com>
23013
23014 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23015 not print device names when we were asked to set a variable.
23016
6e037aa9 230172008-05-31 Robert Millan <rmh@aybabtu.com>
23018
23019 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23020 using "cursor-on" and "cursor-off" commands (understood at least by
23021 the Open Firmware flavour on OLPC).
23022
41305bc8 230232008-05-31 Michael Gorven <michael@gorven.za.net>
23024
23025 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23026 on and off sequences.
23027
69ba137e 230282008-05-31 Robert Millan <rmh@aybabtu.com>
23029
23030 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23031 * util/update-grub.in: Likewise.
23032
520ae21b 230332008-05-30 Pavel Roskin <proski@gnu.org>
23034
23035 * util/biosdisk.c (linux_find_partition): Simplify logic and
23036 make the code more universal. Keep special processing for
23037 devfs, but use a simple rule for all other devices. If the
23038 device ends with a number, append 'p' and the partition number.
23039 Otherwise, append only the partition number.
23040
5786569b 230412008-05-30 Robert Millan <rmh@aybabtu.com>
23042
23043 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23044 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23045 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23046 the `root' parameter to Linux.
23047
51500452 230482008-05-30 Robert Millan <rmh@aybabtu.com>
23049
23050 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23051 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23052 --fs_uuid with --fs-uuid.
23053 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23054 all filesystems support them).
23055
811d3878 230562008-05-30 Robert Millan <rmh@aybabtu.com>
23057
23058 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 23059 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 23060
cab63c95 230612008-05-30 Robert Millan <rmh@aybabtu.com>
23062
23063 * util/grub.d/00_header.in: Remove obsolete comment referencing
23064 convert_system_path_to_grub_path().
23065 * util/update-grub.in: Likewise.
23066 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23067 (convert_system_path_to_grub_path): Add a warning message explaining
23068 that this function is deprecated. Rely on is_path_readable_by_grub()
23069 for the readability checks.
23070 (font_path): Use is_path_readable_by_grub() for the readability
23071 check rather than convert_system_path_to_grub_path().
23072
972e2f7a 230732008-05-30 Robert Millan <rmh@aybabtu.com>
23074
23075 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23076 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23077 converting it first.
23078 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23079 grub.cfg for access to font file, and afterwards call it again to set
23080 the root device.
23081
62191274 230822008-05-30 Robert Millan <rmh@aybabtu.com>
23083
23084 * commands/search.c (options): Add --fs_uuid option.
23085 (search_fs_uuid): New function.
23086 (grub_cmd_search): Fix --set argument passing.
23087 Use search_fs_uuid() when requested via --fs_uuid.
23088 (grub_search_init): Update help message.
23089 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
23090 and redeclare it as an array of 16-bit words.
23091 (grub_ext2_uuid): New function.
23092 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
23093 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
23094 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
23095 (GRUB_DEVICE_BOOT_UUID): New variables.
23096 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
23097 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
23098 whenever possible.
23099 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
23100 just assume `root' variable has the right value.
23101 * util/grub.d/10_linux.in: Likewise.
23102 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
23103 via PRINT_FS_UUID.
23104 (main): Recognise `-t fs_uuid' argument.
23105
01b73ec8 231062008-05-30 Robert Millan <rmh@aybabtu.com>
23107
23108 * util/biosdisk.c (map): Redefine structure to hold information
23109 about GRUB drive name.
fe6b695a 23110 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 23111 drive names.
23112 (call_hook): Remove.
23113 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
23114 member. Assume drive has partitions.
23115 (grub_util_biosdisk_open): Access device names via `.device' struct
23116 member.
23117 (open_device): Likewise.
23118 (find_drive): Likewise.
23119 (read_device_map): Adjust map[] usage to match the new struct
23120 definition. Don't check for duplicates (still possible, but not cheap
23121 anymore).
23122 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
23123 (make_device_name): Remove assumption of BIOS-like drive names.
23124
22f16596 231252008-05-30 Pavel Roskin <proski@gnu.org>
23126
23127 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
23128 compiling execute.c doesn't need grub_script.tab.h anymore.
23129 (normal/command.c_DEPENDENCIES): Likewise.
23130 (normal/function.c_DEPENDENCIES): Likewise.
23131 * conf/i386-ieee1275.rmk: Likewise.
23132 * conf/i386-linuxbios.rmk: Likewise.
23133 * conf/i386-pc.rmk: Likewise.
23134 * conf/powerpc-ieee1275.rmk: Likewise.
23135 * conf/sparc64-ieee1275.rmk: Likewise.
23136
528ad8f2 231372008-05-29 Pavel Roskin <proski@gnu.org>
23138
d1dff95d 23139 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
23140 when scanning metadata for volume group name.
23141
528ad8f2 23142 * include/grub/script.h: Don't include grub_script.tab.h. It's
23143 a generated file, which may only be included from the files with
23144 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
23145 use union YYSTYPE, as the later allows forward declaration.
23146 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
23147
47248e08 231482008-05-29 Robert Millan <rmh@aybabtu.com>
23149
23150 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
23151 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
23152 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
23153 (grub_console_checkkey): Add grub_dprintf() call to report unknown
23154 scan codes.
23155
ee632529 231562008-05-29 Robert Millan <rmh@aybabtu.com>
23157
23158 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
23159 control key combinations.
23160
eee96e08 231612008-05-29 Robert Millan <rmh@aybabtu.com>
23162
23163 * util/powerpc/ieee1275/grub-install.in: Move from here ...
23164 * util/ieee1275/grub-install.in: ... to here.
23165 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
23166 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
23167 (grub_install_SOURCES): Likewise.
23168
da9a6a94 231692008-05-29 Robert Millan <rmh@aybabtu.com>
23170
23171 * fs/affs.c: Update copyright year.
23172 * fs/ext2.c: Likewise.
23173 * fs/fshelp.c: Likewise.
23174 * fs/hfsplus.c: Likewise.
23175 * fs/ntfs.c: Likewise.
23176 * fs/xfs.c: Likewise.
23177 * include/grub/fshelp.h: Likewise.
23178 * util/grub-mkdevicemap.c: Likewise.
23179
12e65f3a 231802008-05-28 Robert Millan <rmh@aybabtu.com>
23181
23182 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
23183 might need to be fatfs to support some firmware implementations
23184 (e.g. OFW or EFI).
23185
23023641 231862008-05-28 Robert Millan <rmh@aybabtu.com>
23187
23188 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
23189 devices.
23190 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23191 (make_device_map): Likewise.
23192
887d2619 231932008-05-20 Bean <bean123ch@gmail.com>
23194
23195 * fs/fshelp.c (grub_fshelp_map_block): New function.
23196 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
23197 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
23198
23199 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
23200 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
23201 (grub_fshelp_journal): New structure.
23202 (grub_fshelp_map_block): New function prototype.
23203 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
23204 (grub_fshelp_map_block): Likewise.
23205
23206 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
23207 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
23208 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
23209 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
23210 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
23211 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
23212 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
23213 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
23214 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
23215 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
23216 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
23217 (grub_ext2_sblock): New members for journal support.
23218 (grub_ext3_journal_header): New structure.
23219 (grub_ext3_journal_revoke_header): Likewise.
23220 (grub_ext3_journal_block_tag): Likewise.
23221 (grub_ext3_journal_sblock): Likewise.
23222 (grub_fshelp_node): New members logfile and journal.
23223 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23224 grub_fshelp_map_block to get real block number.
23225 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23226 number.
23227 (grub_ext2_read_inode): Likewise.
23228 (grub_ext3_get_journal): New function.
23229 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23230 (grub_ext2_close): Release memory used by journal.
23231
23232 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23233 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23234 (grub_reiserfs_transaction_header): Renamed to
23235 grub_reiserfs_description_block, replace field data with real_blocks.
23236 (grub_reiserfs_commit_block): New structure.
23237 (grub_reiserfs_data): New member journal.
23238 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23239 number.
23240 (grub_reiserfs_read_symlink): Likewise.
23241 (grub_reiserfs_iterate_dir): Likewise.
23242 (grub_reiserfs_open): Likewise.
23243 (grub_reiserfs_read): Likewise.
23244 (grub_reiserfs_get_journal): New function.
23245 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23246 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23247 using grub_reiserfs_get_journal.
23248 (grub_reiserfs_close): Release memory used by journal.
23249
23250 * fs/affs.c (grub_affs_read_block): Change block type to
23251 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23252
23253 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23254
23255 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23256
23257 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23258
23259 * fs/udf.c (grub_udf_read_block): Change block type to
23260 grub_disk_addr_t. Use type cast to avoid warning.
23261
23262 * fs/xfs.c (grub_xfs_read_block): Likewise.
23263
b7c6bed5 232642008-05-16 Christian Franke <franke@computer.org>
23265
23266 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23267 to ensure that break with ESC will always work.
23268 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23269 Remove ESC from keyboard queue.
23270
eedf167f 232712008-05-16 Christian Franke <franke@computer.org>
23272
23273 * util/biosdisk.c: [__CYGWIN__] Add includes.
23274 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23275 (get_os_disk): Move variable declarations to OS specific
23276 parts to avoid warning.
23277 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23278 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23279 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23280 Cygwin.
23281 * util/getroot.c: [__CYGWIN__] Add includes.
23282 (strip_extra_slashes): Fix "/" case.
23283 [__CYGWIN__] (get_win32_path): New function.
23284 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23285 [__CYGWIN__] (find_root_device): Disable.
23286 [__CYGWIN__] (get_bootsec_serial): New function.
23287 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23288 [__linux__] (grub_guess_root_device): Add early returns to simplify
23289 structure.
23290 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23291 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23292 check for Linux only.
23293
a079699e 232942008-05-15 Bean <bean123ch@gmail.com>
23295
23296 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23297 keyboard hang problem in apple's intel mac.
23298
1cf4059a 232992008-05-09 Robert Millan <rmh@aybabtu.com>
23300
23301 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23302 devices.
23303 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23304 (make_device_map): Likewise.
23305 Reported by Aurelien Jarno <aurel32@debian.org>
23306
ed759390 233072008-05-07 Ian Campbell <ijc@hellion.org.uk>
23308
23309 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23310 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23311 (make_device_map): Output entries for xvd type disks.
23312
b56c4eaa 233132008-05-07 Robert Millan <rmh@aybabtu.com>
23314
23315 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23316 devices.
23317 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23318 (make_device_map): Likewise.
23319 Reported by Roland Dreier <rdreier@cisco.com>
23320
7f8866ed 233212008-05-07 Robert Millan <rmh@aybabtu.com>
23322
23323 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23324 grub_strstr() call. Correct a few mistakes in failure path handling.
23325
b0346e0f 233262008-05-06 Robert Millan <rmh@aybabtu.com>
23327
23328 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23329 Do not print a trailing slash (therefore, the root directory is an
23330 empty string).
23331 (convert_system_path_to_grub_path): Do not remove trailing slash
23332 from make_system_path_relative_to_its_root() output.
23333
23334 * util/i386/pc/grub-install.in: Add trailing slash to output from
23335 make_system_path_relative_to_its_root().
23336
6cf12cbd 233372008-05-06 Robert Millan <rmh@aybabtu.com>
23338
23339 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23340 ensures that output lines aren't intermangled with those sent to
23341 stderr (via grub_util_info()).
23342 * util/grub-probe.c (grub_refresh): Likewise.
23343 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23344
0fbb3117 233452008-05-05 Christian Franke <franke@computer.org>
23346
23347 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23348 Add Cygwin device names.
23349 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23350 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23351 (check_device): Return error instead of success on empty name.
23352 (make_device_map): Move label inside linux specific code to
23353 prevent compiler warning.
23354
8124cdb7 233552008-04-30 Robert Millan <rmh@aybabtu.com>
23356
23357 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23358 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23359 first boot option.
23360 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23361
094c01d0 233622008-04-29 Robert Millan <rmh@aybabtu.com>
23363
23364 * docs/grub.cfg: New file (example GRUB configuration).
23365
f4b1fc02 233662008-04-26 Robert Millan <rmh@aybabtu.com>
23367
329ce2a5 23368 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23369 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23370 and `disk/ieee1275/nand.c'.
f4b1fc02 23371
25f16ec1 233722008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23373
25f16ec1 23374 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23375 i386-linuxbios.
23376
23377 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23378 change the buffer size to 4096 for cdrom device.
23379
23380 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23381 and nand.mod.
23382 (_linux_mod_SOURCES): New variable.
23383 (_linux_mod_CFLAGS): Likewise.
23384 (_linux_mod_LDFLAGS): Likewise.
23385 (linux_mod_SOURCES): Likewise.
23386 (linux_mod_CFLAGS): Likewise.
23387 (linux_mod_LDFLAGS): Likewise.
23388 (nand_mod_SOURCES): Likewise.
23389 (nand_mod_CFLAGS): Likewise.
23390 (nand_mod_LDFLAGS): Likewise.
23391
23392 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23393 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23394 type property. (nand device in olpc don't have this property)
23395
23396 * include/grub/disk.h (grub_disk_dev_id): New macro
23397 GRUB_DISK_DEVICE_NAND_ID.
23398
23399 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23400 function prototype.
23401 (grub_rescue_cmd_initrd): Likewise.
23402
23403 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23404 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23405 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23406
25f16ec1 23407 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23408 GRUB_MACHINE_IEEE1275 is defined.
23409
23410 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23411 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23412
23413 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23414 on nested function heap_init.
23415 (grub_upper_mem): New variable for i386-ieee1275.
23416 (grub_get_extended_memory): New function for i386-ieee1275.
23417 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23418
23419 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23420 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23421 property.
f19dbdb7 23422
25f16ec1 23423 * loader/i386/ieee1275/linux.c: New file.
23424
23425 * loader/i386/ieee1275/linux_normal.c: New file.
23426
23427 * disk/ieee1275/nand.c: New file.
23428
e89d61e9 234292008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23430
23431 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23432 value.
23433 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23434
602566f6 234352008-04-18 Robert Millan <rmh@aybabtu.com>
23436
23437 Restructures early code path on ieee1275 to unify grub_main() as
23438 the first C function that is executed in every platform.
23439
23440 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23441 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23442 cmain().
23443 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23444 * kern/ieee1275/cmain.c (cmain): Rename to ...
23445 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23446 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23447 at the beginning.
23448
57490c2b 234492008-04-18 Robert Millan <rmh@aybabtu.com>
23450
23451 * util/update-grub.in: Fix syntax error when setting
23452 `GRUB_PRELOAD_MODULES'.
23453 Reported by Stephane Chazelas <stephane@artesyncp.com>
23454
1977517d 234552008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
23456
23457 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
23458 section into account, newer toolchains generate unique build ids
23459 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 23460 we want build ids to be preserved
1977517d 23461 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
23462 far from other sections don't cause the raw binary images grow
23463 size
23464
bfb1f1a2 234652008-04-15 Robert Millan <rmh@aybabtu.com>
23466
23467 * disk/lvm.c: Update copyright year.
23468 * kern/misc.c: Likewise.
23469
01979850 234702008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23471
23472 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 23473 there is no memory left for physical volume name.
01979850 23474
0a1150e2 234752008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23476
23477 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
23478 volume name mapping to support bigger than 9 character names properly.
23479
82ead3fe 234802008-04-13 Robert Millan <rmh@aybabtu.com>
23481
23482 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
23483 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
23484
e54a72f5 234852008-04-13 Christian Franke <franke@computer.org>
23486
23487 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
23488 to create a floppy emulation boot CD when non emulation mode
23489 does not work.
23490 Enable Joliet CD filesystem extension.
23491
9fe86034 234922008-04-13 Robert Millan <rmh@aybabtu.com>
23493
23494 * kern/misc.c (grub_strncat): Fix off-by-one error.
23495 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
23496
23497 * kern/env.c (grub_env_context_close): Clear current context, not
23498 previous one.
23499 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
23500
23501 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
23502
7ceeee39 235032008-04-13 Robert Millan <rmh@aybabtu.com>
23504
23505 Improve robustness when handling LVM.
23506
23507 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 23508 (and leave `*p' unmodified).
7ceeee39 23509 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
23510 through it.
23511 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
23512 iterating through it.
23513 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
23514 through it.
fe6b695a 23515 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 23516 when due) on each grub_lvm_getvalue() or grub_strstr() call.
23517 Don't assume `vg->pvs != NULL' when iterating through it.
23518
58cd3d85 235192008-04-13 Robert Millan <rmh@aybabtu.com>
23520
23521 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23522 * genmk.rb (partmap): New variable.
23523 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23524 (#{partmap}): New target rule.
23525 * genpartmaplist.sh: New file.
23526 * Makefile.in (pkglib_DATA): Add partmap.lst.
23527 (partmap.lst): New target rule.
23528 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23529 modules (including all partition maps), instead of preloading them.
23530
78b51059 235312007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23532
23533 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23534 `linux-boot-prober' (if installed) to detect other operating
23535 systems which are installed on the computer and add them to
23536 the boot menu.
23537 * conf/common.rmk: Build and install 30_os-prober.
23538
a91627b4 235392008-04-12 Robert Millan <rmh@aybabtu.com>
23540
23541 * kern/powerpc/ieee1275/init.c: Move from here ...
23542 * kern/ieee1275/init.c: ... to here. Update all users.
23543
23544 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23545 * kern/ieee1275/cmain.c: ... to here. Update all users.
23546
23547 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23548 * kern/ieee1275/openfw.c: ... to here. Update all users.
23549
23550 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23551 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23552
322562ea 235532008-04-10 Pavel Roskin <proski@gnu.org>
23554
23555 * configure.ac: Always use "_cv_" in cache variables for
23556 compatibility with Autoconf 2.62.
23557
a02a73c5 235582008-04-07 Robert Millan <rmh@aybabtu.com>
23559
23560 Revert grub/machine/init.h addition by Pavel (since it breaks on
23561 i386-ieee1275 and others):
23562 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23563 * util/powerpc/ieee1275/misc.c: Likewise.
23564
25c024b1 235652008-04-07 Robert Millan <rmh@aybabtu.com>
23566
23567 * util/grub-probe.c (probe): Improve error message.
23568
3cbd2f98 235692008-04-07 Robert Millan <rmh@aybabtu.com>
23570
23571 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23572 (this prevents the presence of a bogus entry from ruining the whole
23573 thing).
23574
87a297bf 235752008-04-06 Pavel Roskin <proski@gnu.org>
23576
36747a62 23577 * util/biosdisk.c: Include grub/util/biosdisk.h.
23578 * util/grub-fstest.c (execute_command): Make static.
23579 * util/grub-mkdevicemap.c (check_device): Likewise.
23580 * util/i386/pc/misc.c: Include grub/machine/init.h.
23581 * util/powerpc/ieee1275/misc.c: Likewise.
23582 * util/lvm.c: Include grub/util/lvm.h.
23583 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23584 grub/cache.h.
23585 * util/raid.c: Include grub/util/raid.h.
23586 (grub_util_getdiskname): Make static.
23587
87a297bf 23588 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23589 grub_hostfs_fini(), as they are called from grub_init_all() and
23590 grub_fini_all() respectively. This fixes an infinite loop in
23591 grub-fstest due to double registration of hostfs.
23592 Reported by Christian Franke <Christian.Franke@t-online.de>
23593
f6ce7629 235942008-04-05 Pavel Roskin <proski@gnu.org>
23595
23596 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23597 all 8 functions. Otherwise, probe function 0 only.
23598
070e49e4 235992008-04-04 Pavel Roskin <proski@gnu.org>
23600
8b088a4c 23601 * commands/lspci.c (grub_lspci_iter): Print the bus number
23602 correctly.
23603
4f657021 23604 * commands/lspci.c (grub_pci_classes): Fix typos.
23605 (grub_lspci_iter): Don't print func twice. Print vendor ID
23606 before device ID, as it's normally done.
23607
070e49e4 23608 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23609 Fix signedness warnings.
23610 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23611 Likewise.
23612 * util/ieee1275/get_disk_name.c: Include config.h so that
23613 _GNU_SOURCE is defined and getline() is declared. Mark an
23614 unused argument as such. Fix a signedness warning.
23615
ba7328dc 236162008-04-02 Pavel Roskin <proski@gnu.org>
23617
26887f22 23618 * genkernsyms.sh.in: Use more robust assignments for CC and
23619 srcdir. Quote srcdir.
23620 * gensymlist.sh.in: Likewise. Assert at the compile time that
23621 the symbol table is not empty.
23622
ba7328dc 23623 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23624 * fs/cpio.c (grub_cpio_read): Likewise.
23625
0f582c6b 236262008-04-01 Pavel Roskin <proski@gnu.org>
23627
4b6e1995 23628 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23629 * disk/host.c (grub_host_open): Likewise.
23630 * disk/loopback.c (grub_loopback_open): Likewise.
23631 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23632 disk->id as in disk/host.c, not a multi-character constant.
23633
828a2768 23634 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23635 later is obsolete, potentially dangerous and sets a bad example.
23636 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23637 * util/misc.c (grub_util_get_image_size): Likewise.
23638
2bb4fb47 23639 * disk/loopback.c (options): Improve help for "--partitions".
23640
0f582c6b 23641 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23642 options to align them with the short options, e.g. "echo -e".
23643
a33224e0 236442008-03-31 Bean <bean123ch@gmail.com>
23645
23646 * video/reader/png.c (grub_png_data): New member is_16bit and
23647 image_data.
23648 (grub_png_decode_image_header): Detect 16 bit png image.
23649 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23650 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23651 (grub_video_reader_png): Release memory occupied by image_data.
23652
23653 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23654 4096 bytes.
23655 (grub_nfs_mount): Skip the test for sector per cluster.
23656
23657 * include/grub/ntfs.h (MAX_SPC): Removed.
23658
86cb4f54 236592008-03-31 Bean <bean123ch@gmail.com>
23660
23661 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23662 (grub_probe_SOURCES): Add fs/afs.c.
23663 (grub_fstest_SOURCES): Likewise.
23664 (afs_mod_SOURCES): New variable.
23665 (afs_mod_CFLAGS): Likewise.
23666 (afs_mod_LDFLAGS): Likewise.
23667
23668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23669 (grub_emu_SOURCES): Likewise.
23670
23671 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23672
23673 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23674
23675 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23676
23677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23678
23679 * fs/afs.c: New file.
23680
17c74c21 236812008-03-30 Pavel Roskin <proski@gnu.org>
23682
4cb68e89 23683 * disk/host.c: Include grub/misc.h to fix a warning.
23684 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23685 warnings about implicit declarations.
23686
8790bb04 23687 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23688 variable.
23689 * include/grub/i386/loader.h: Change declaration of
23690 grub_linux_boot() to match what grub_loader_set() expects.
23691 * util/getroot.c (grub_guess_root_device): Return const char* to
23692 fix a warning.
23693 * util/grub-probe.c (probe): Fix a warning about uninitialized
23694 abstraction_name variable.
23695 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23696 second argument as unused to fix a warning.
23697
9a3f3296 23698 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23699 missing grub_error() call.
23700
0ecef90d 23701 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23702 2.60 and newer uses it to define datadir.
23703
0bf6d401 23704 * commands/sleep.c: Fix warning about implicit declaration.
23705 * disk/memdisk.c: Likewise.
23706 * loader/aout.c: Likewise.
23707 * loader/i386/bsd_normal.c: Likewise.
23708 * util/grub-probe.c: Likewise.
23709
7cdacf97 23710 * commands/i386/cpuid.c (has_longmode): Make static.
23711 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23712 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23713
17c74c21 23714 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23715 GDT. This is more robust, as %ds can change.
23716 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23717 calling real_to_prot().
23718 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23719
80a3e68b 237202008-03-28 Pavel Roskin <proski@gnu.org>
23721
23722 * kern/i386/pc/startup.S: Assert that uncompressed functions
23723 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23724 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23725 code, as they push parts of the code (error handlers) beyond
23726 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23727 code as correctness and size.
23728
77bcd272 237292008-03-28 Pavel Roskin <proski@gnu.org>
23730
23731 * kern/i386/pc/startup.S
23732 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23733 data block address to the real mode, keep offset minimal. This
23734 works around a bug in AWARD BIOS on old Athlon systems, which
23735 makes CD detection hang.
23736
c5dfd43b 237372008-03-26 Pavel Roskin <proski@gnu.org>
23738
23739 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23740 const.
23741 * include/grub/normal.h: Add grub_parse_color_name_pair()
23742 declaration.
23743
bf962df2 237442008-03-24 Bean <bean123ch@gmail.com>
23745
23746 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23747 (cd_count): Removed.
23748 (cd_drive): New variable.
23749 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23750 (grub_biosdisk_call_hook): Likewise.
23751 (grub_biosdisk_iterate): Change cdrom detection method.
23752 (grub_biosdisk_open): Replace cd_start with cd_drive.
23753 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23754 detect cdrom device.
23755
23756 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23757 Removed.
23758 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23759 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23760 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23761 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23762 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23763 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23764 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23765 (grub_biosdisk_cdrp): New structure.
23766 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23767
23768 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23769
23770 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23771 device.
23772
23773 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23774 New function.
23775
68e7fc7a 237762008-03-20 Robert Millan <rmh@aybabtu.com>
23777
23778 Remove 2 TiB limit in ata.mod.
23779 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23780 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23781 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23782 grub_uint64_t instead of grub_uint32_t.
23783
38ad2cf5 237842008-03-05 Bean <bean123ch@gmail.com>
23785
23786 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23787 (grub_multiboot): Set boot device.
23788
23789 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23790
2b89344e 237912008-03-02 Bean <bean123ch@gmail.com>
23792
23793 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23794 symlink_buffer.
23795
87a95d1f 237962008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23797
23798 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23799 texinfo.tex.
23800
23801 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23802 modified.
23803
23804 * docs/fdl.texi: New file.
f19dbdb7 23805
87a95d1f 23806 * docs/mdate-sh: New file. Copied from gnulib.
23807 * docs/texinfo.tex: Likewise.
23808
23809 * config.guess: Updated from gnulib.
23810 * install-sh: Likewise.
23811
7dc15d8e 238122008-02-28 Robert Millan <rmh@aybabtu.com>
23813
23814 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23815 (aout_mod_SOURCES): New variable.
23816 (aout_mod_CFLAGS): Likewise.
23817 (aout_mod_LDFLAGS): Likewise.
23818
23819 * conf/i386-ieee1275.rmk: Likewise.
23820
b00ab696 238212008-02-28 Robert Millan <rmh@aybabtu.com>
23822
23823 * util/update-grub.in: Reorganise terminal validity check. Accept
23824 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23825 Based on suggestion by Franklin PIAT.
23826
79ca2d78 238272008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23828
23829 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23830 function.
23831 * util/getroot.c (grub_util_check_block_device): New function that
23832 returns the given argument if it is a block device and returns NULL else.
23833 * util/grub-probe.c (argument_is_device): New variable.
23834 (probe): Promote device_name from a variable to an argument. Receive
23835 device_name from grub_util_check_block_device() if path is NULL and from
23836 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23837 (options): Introduce new parameter '-d, --device'.
79ca2d78 23838 (main): Add description of the new parameter to the help screen.
23839 Rename path variable to argument. Set argument_is_device if the '-d'
23840 option is given. Pass argument to probe() depending on
23841 argument_is_device.
23842
0d16e571 238432008-02-24 Bean <bean123ch@gmail.com>
23844
23845 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23846 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23847 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23848 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23849 (GRUB_ISO9660_VOLDESC_END): Likewise.
23850 (grub_iso9660_primary_voldesc): New member escape.
23851 (grub_iso9660_data): New member joliet.
23852 (grub_iso9660_convert_string): New function.
23853 (grub_iso9660_mount): Detect joliet extension.
23854 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23855 (grub_iso9660_iso9660_label): Likewise.
23856
23857 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23858 (grub_setup_SOURCES): Add fs/udf.c.
23859 (grub_fstest_SOURCES): Likewise.
23860 (udf_mod_SOURCES): New variable.
23861 (udf_mod_CFLAGS): Likewise.
23862 (udf_mod_LDFLAGS): Likewise.
23863
23864 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23865 (grub_emu_SOURCES): Likewise.
23866
23867 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23868
23869 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23870
23871 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23872
23873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23874
23875 * fs/udf.c: New file.
23876
8a594a17 238772008-02-24 Robert Millan <rmh@aybabtu.com>
23878
23879 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23880 (normal/lexer.c_DEPENDENCIES): New variables.
23881 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23882 (normal/lexer.c_DEPENDENCIES): Likewise.
23883 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23884 (normal/lexer.c_DEPENDENCIES): Likewise.
23885 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23886 (normal/lexer.c_DEPENDENCIES): Likewise.
23887 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23888 (normal/lexer.c_DEPENDENCIES): Likewise.
23889 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23890 (normal/lexer.c_DEPENDENCIES): Likewise.
23891
2dc33c03 238922008-02-23 Robert Millan <rmh@aybabtu.com>
23893
23894 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23895 since they were intended to be in hex. This didn't break previously
23896 because of a bug in gpt_partition_map_iterate() (see below).
23897
23898 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23899 when checking the validity of GPT header.
23900 Remove `partno', since it always provides the same information as `i'.
23901
f6f4cfb0 239022008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23903
23904 * include/grub/efi/time.h: Fix a wrong comment.
23905
79ff665f 239062008-02-19 Pavel Roskin <proski@gnu.org>
23907
23908 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23909 message.
23910
d38e24c2 239112008-02-19 Bean <bean123ch@gmail.com>
23912
23913 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23914 (aout_mod_SOURCES): New variable.
23915 (aout_mod_CFLAGS): Likewise.
23916 (aout_mod_LDFLAGS): Likewise.
23917 (_bsd_mod_SOURCES): New variable.
23918 (_bsd_mod_CFLAGS): Likewise.
23919 (_bsd_mod_LDFLAGS): Likewise.
23920 (bsd_mod_SOURCES): New variable.
23921 (bsd_mod_CFLAGS): Likewise.
23922 (bsd_mod_LDFLAGS): Likewise.
23923
23924 * include/grub/aout.h: New file.
23925
23926 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23927
23928 * include/grub/i386/bsd.h: New file.
23929
23930 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23931 to make it public.
23932
23933 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23934 function is called, so that it's possible to change it inside the hook.
23935 (grub_elf64_load): Likewise.
23936 (grub_elf_file): Don't close the file if elf header is not found.
23937 (grub_elf_close): Close the file if grub_elf_file fails (The new
23938 grub_elf_file won't close it).
23939 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23940 (grub_elf64_size): Likewise.
23941
23942 * kern/i386/loader.S (grub_unix_real_boot): New function.
23943
23944 * loader/aout.c: New file.
23945
23946 * loader/i386/bsd.c: New file.
23947
23948 * loader/i386/bsd_normal.c: New file.
23949
23950 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23951
23952 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23953 can test other formats.
d38e24c2 23954
b93bdb0f 239552008-02-19 Robert Millan <rmh@aybabtu.com>
23956
23957 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23958 (grub_gpt_partition_type_empty): Redefine with macro from
23959 `<grub/gpt_partition.h>'.
23960 (gpt_partition_map_iterate): Adjust partition type comparison.
23961
23962 Export `entry' as partmap-specific `part.data' struct.
23963 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23964
23965 * include/grub/gpt_partition.h (grub_gpt_header)
23966 (grub_gpt_partentry): ... to here (new file).
23967
23968 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23969
23970 (grub_gpt_partition_type_bios_boot): New const variable, defined
23971 with macro from `<grub/gpt_partition.h>'.
23972
23973 (setup): Replace `first_start' with `embed_region', which keeps
23974 track of the embed region (and is partmap-agnostic).
23975
23976 Replace find_first_partition_start() with find_usable_region(),
23977 which finds a usable region for embedding using partmap-specific
23978 knowledge (supports PC/MSDOS and GPT).
23979
23980 Fix all assumptions that the embed region start at sector 1, using
23981 `embed_region.start' from now on. Similarly, use `embed_region.end'
23982 rather than `first_start' to calculate available size.
23983
23984 In grub_util_info() message, replace "into after the MBR" with an
23985 indication of the specific sector our embed region starts at.
23986
66cb40f6 239872008-02-19 Robert Millan <rmh@aybabtu.com>
23988
23989 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23990 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23991 `commands/reboot.c'.
23992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23993 (halt_mod_SOURCES): Likewise.
23994 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23995 (halt_mod_SOURCES): Likewise.
23996
b7202015 239972008-02-17 Christian Franke <franke@computer.org>
23998
23999 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24000
32b0fc49 240012008-02-17 Robert Millan <rmh@aybabtu.com>
24002
24003 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24004 set `first_start' to 0 for non-PC/MSDOS partition maps.
24005
aca63502 240062008-02-16 Robert Millan <rmh@aybabtu.com>
24007
24008 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24009 do not assume partition map is PC/MSDOS before performing checks that
24010 are specific to that layout.
24011
0de8be86 240122008-02-13 Robert Millan <rmh@aybabtu.com>
24013
24014 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24015 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24016 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24017
c3db8364 240182008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24019
24020 * configure.ac: Only a cosmetic change on the handling of
24021 -fno-stack-protector.
24022
f714229e 240232008-02-12 Alexandre Boeglin <alex@boeglin.org>
24024
c3db8364 24025 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24026 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24027 reboot.c.
f714229e 24028 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24029 (halt_mod_SOURCES): New variable.
24030 (halt_mod_CFLAGS): Likewise.
24031 (halt_mod_LDFLAGS): Likewise.
24032 (reboot_mod_SOURCES): Likewise.
24033 (reboot_mod_CFLAGS): Likewise.
24034 (reboot_mod_LDFLAGS): Likewise.
24035
c3db8364 24036 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24037 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24038 reboot.c.
f714229e 24039 (halt_mod_SOURCES): Likewise.
24040 (reboot_mod_SOURCES): Likewise.
24041
c3db8364 24042 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24043 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 24044 (reboot_mod_SOURCES): Likewise.
24045
24046 * commands/i386/pc/reboot.c: merge this file ...
24047
24048 * commands/ieee1275/reboot.c: ... and this file ...
24049
24050 * commands/reboot.c: ... to this file.
c3db8364 24051 Add some precompiler directive to include the correct header for
24052 each machine.
f714229e 24053
24054 * commands/ieee1275/halt.c: move this file ...
24055
24056 * commands/halt.c: ... to here.
c3db8364 24057 Add some precompiler directive to include the correct header for
24058 each machine.
f714229e 24059
24060 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24061 (grub_halt): Likewise.
24062
24063 * kern/efi/efi.c (grub_reboot): New function.
24064 (grub_halt): Likewise.
24065
c74493e0 240662008-02-12 Robert Millan <rmh@aybabtu.com>
24067
24068 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24069 /dev (like it is done for /dev/mapper). This doesn't provide support
24070 for EVMS, but at least it is now easy to identify the problem when it
24071 arises.
24072
d0db4b04 240732008-02-11 Robert Millan <rmh@aybabtu.com>
24074
24075 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24076 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24077 comparing it with -1, not 0.
24078
bf748642 240792008-02-10 Robert Millan <rmh@aybabtu.com>
24080
24081 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24082 `disk/lvm.c'.
24083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24084 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24085
24086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
24087 `disk/lvm.c' to the end of the list.
24088 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24089 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24090
b5db202a 240912008-02-10 Robert Millan <rmh@aybabtu.com>
24092
24093 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
24094 grub_print_error() instead. This will let user know why we're entering
24095 rescue mode.
24096 Based on suggestions from Sam Morris.
24097
83abee31 240982008-02-10 Alexandre Boeglin <alex@boeglin.org>
24099
24100 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
24101 on remaining N args, instead of "--" arg N times.
24102
78d5a08b 241032008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
24104
24105 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
24106 (fill_with_default_glyph): Changed to use unknown_glyph for fill
24107 pattern for unknown glyphs.
24108
68807e5f 241092008-02-09 Robert Millan <rmh@aybabtu.com>
24110
24111 * configure.ac: Probe for `help2man'.
24112 * Makefile.in (builddir): New variable.
24113 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
24114 or otherwise add a few flags/options to it.
24115 (install-local): For every executable utility or script that is
24116 installed, invoke $(HELP2MAN) to install a manpage based on --help
24117 output.
24118
24119 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
24120 that it doesn't prevent --help from working in build tree.
24121
24122 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
24123 with `bug-grub@gnu.org'.
24124 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
24125 * util/update-grub.in (usage): New function.
24126 Implement proper argument check, with support for --help and --version
24127 (as well as existing -y).
24128
241292008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 24130
24131 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
24132 avoid overwriting previous output.
24133 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
24134
c1962162 241352008-02-09 Robert Millan <rmh@aybabtu.com>
24136
24137 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
24138 drawing the menu.
24139
3dac2e3f 241402008-02-09 Robert Millan <rmh@aybabtu.com>
24141
24142 * commands/sleep.c: New file.
24143 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
24144 (sleep_mod_SOURCES): New variable.
24145 (sleep_mod_CFLAGS): Likewise.
24146 (sleep_mod_LDFLAGS): Likewise.
24147
7a634e08 241482008-02-09 Robert Millan <rmh@aybabtu.com>
24149
24150 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
24151 situations in which we can deduce the RAID size and the superblock
24152 doesn't match it.
24153
b92f0c18 241542008-02-09 Robert Millan <rmh@aybabtu.com>
24155
24156 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
24157 and return a grub_diskmemberlist_t composed of LVM physical volumes.
24158 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
24159
24160 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
24161 and return a grub_diskmemberlist_t composed of physical array members.
24162 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
24163
24164 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
24165 prototype.
24166 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
24167 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
24168 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
24169
24170 * util/grub-probe.c (probe): Move partmap probing code from here ...
24171 (probe_partmap): ... to here.
24172 (probe): Use probe_partmap() once for the disk we're probing, and
24173 additionally, when such disk contains a memberlist() struct member,
24174 once for each disk that is contained in the structure returned by
24175 memberlist().
24176
91a4bf68 241772008-02-09 Robert Millan <rmh@aybabtu.com>
24178
24179 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
24180 environment variable to 'all' in order to obtain debug output from
24181 non-util/ code.
24182 * util/i386/pc/grub-setup.c (main): Likewise.
24183
a96f9caa 241842008-02-08 Robert Millan <rmh@aybabtu.com>
24185
24186 * disk/raid.c (grub_raid_scan_device): Check for
24187 `array->device[sb.this_disk.number]' rather than for
24188 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 24189 guaranteed to be accessible.
a96f9caa 24190
b37a9222 241912008-02-08 Robert Millan <rmh@aybabtu.com>
24192
24193 * disk/raid.c: Update copyright.
24194 * fs/cpio.c: Likewise.
24195 * include/grub/raid.h: Likewise.
24196 * loader/i386/pc/multiboot.c: Likewise.
24197 * util/hostfs.c: Likewise.
24198
5626aee1 241992008-02-08 Robert Millan <rmh@aybabtu.com>
24200
24201 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
24202 to a grub_disk_t array.
24203 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
24204 `device[x]'.
24205 (grub_raid_scan_device): Replace `device[x].name' accesses with
24206 `device[x]->name'. Simplify initialization of `array->device[x]'.
24207
554f0187 242082008-02-08 Robert Millan <rmh@aybabtu.com>
24209
24210 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
24211 grub_dprintf() calls.
24212 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
24213 error message.
24214
1ec8425d 242152008-02-07 Christian Franke <franke@computer.org>
24216
24217 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
24218 instead of fseek and ftell to support large files.
24219 (grub_hostfs_read): Likewise.
24220
f2156fda 242212008-02-07 Robert Millan <rmh@aybabtu.com>
24222
24223 Patch from Jeroen Dekkers.
24224 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24225 failure, since successfully reading all array members might not be
f2156fda 24226 required.
24227
9216e0e7 242282008-02-06 Robert Millan <rmh@aybabtu.com>
24229
24230 * util/grub-probe.c (probe): Simplify partmap probing (with the
24231 assumption that the first word up to the underscore equals to
24232 the module name).
24233
b0dfd29a 242342008-02-06 Christian Franke <franke@computer.org>
24235
24236 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24237 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24238 last block of a cpio or tar stream.
24239 Check for "TRAILER!!!" instead of any empty data
24240 block to detect last block of a cpio stream.
24241 (grub_cpio_dir): Fix constness of variable np.
24242 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24243 cpio or tar trailer is detected. This fixes a crash
24244 on open of a non existing file.
24245
c32865bf 242462008-02-05 Bean <bean123ch@gmail.com>
24247
24248 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24249 address of entry.
24250 (grub_multiboot_load_elf64): Likewise.
24251 (grub_multiboot): Initialize mbi structure.
24252
24253 * util/grub-fstest.c: Don't include unused header file script.h.
24254
fe6b695a 24255 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24256 of file.
24257 (grub_fstest_SOURCES): Likewise.
24258
409480b7 242592008-02-05 Robert Millan <rmh@aybabtu.com>
24260
24261 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24262 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24263 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24264 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24265
24266 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24267 (translation_table): Replace hardcoded values with macros
24268 provided by `<grub/term.h>'.
24269
24270 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24271 (keyboard_map): Correct/add a few values, with macros provided
24272 by `<grub/term.h>'.
24273 (keyboard_map_shift): Zero values that don't differ from their
24274 `keyboard_map' equivalents.
24275 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24276 Discard the second scan code that is always sent by Caps lock.
24277 Only use `keyboard_map_shift' when it provides a non-zero value,
24278 otherwise fallback to `keyboard_map'.
24279
99fadbaa 242802008-02-04 Bean <bean123ch@gmail.com>
24281
24282 * Makefile.in (enable_grub_fstest): New variable.
24283
24284 * conf/common.rmk (grub_fstest_init.lst): New rule.
24285 (grub_fstest_init.h): Likewise.
24286 (grub_fstest_init.c): Likewise.
24287 (util/grub-fstest.c_DEPENDENCIES): New variable.
24288 (grub_fstest_SOURCES): Likewise.
24289
24290 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24291
24292 * util/grub-fstest.c: New file.
24293
bf567c50 242942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24295
24296 Make grub-setup handle a separate root device.
f19dbdb7 24297
bf567c50 24298 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24299 so that the root device can be compared with the destination
24300 device.
24301 When embedding the core image, if the root and destination devices
24302 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24303 0xFF.
24304 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24305
9be6b98b 243062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24307
24308 Add support for having a grub directory in a different drive. This
24309 is still only the data handling part.
f19dbdb7 24310
9be6b98b 24311 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24312 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24313 (grub_root_drive): New variable.
24314
24315 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24316 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24317 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24318 as it was.
24319
24320 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24321
24322 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24323 macro.
24324 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24325
24326 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24327 is bogus, because PXE booting does not specify any drive
24328 correctly.
24329
24330 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24331 am not sure if this is really correct.
24332
24333 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24334 is always identical to the boot drive when booting from a CD.
24335
24336 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24337 longer.
24338 (root_drive): New variable.
24339 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24340 (setup_sectors): Push %dx right after popping it, because %dh will
24341 be modified later.
24342 (copy_buffer): Restore %dx.
24343
e0ca0677 243442008-02-03 Robert Millan <rmh@aybabtu.com>
24345
24346 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24347 use `cdboot.img' for cdrom images.
24348
3b3f6629 243492008-02-03 Robert Millan <rmh@aybabtu.com>
24350
24351 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24352 only setup gfxterm when `font' command has succeeded.
24353
d42b3672 243542008-02-03 Robert Millan <rmh@aybabtu.com>
24355
24356 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24357 (grub_rescue_cmd_multiboot_loader)
24358 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24359
fa370ea6 243602008-02-03 Pavel Roskin <proski@gnu.org>
24361
e0c5dacb 24362 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24363 %edx and %esi from stack only after grub_gate_a20() is called.
24364 grub_gate_a20() clobbers %edx.
24365
f2a76e1d 243662008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24367
24368 * configure.ac (AC_INIT): Bumped to 1.96.
24369
24370 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24371 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24372 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24373 video/readers/png.c.
24374
90fd32d1 243752008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24376
24377 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24378 (cdboot_img_SOURCES): New variable.
24379 (cdboot_img_ASFLAGS): New variable.
24380 (cdboot_img_LDFLAGS): New variable.
24381
24382 * boot/i386/pc/cdboot.S: New file.
24383
24384 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24385 (cd_count): Likewise.
24386 (grub_biosdisk_get_drive): Add support for cd device.
24387 (grub_biosdisk_call_hook): Likewise.
24388 (grub_biosdisk_iterate): Likewise.
24389 (grub_biosdisk_open): Likewise.
24390 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24391 (grub_biosdisk_rw): Support reading from cd device.
24392 (GRUB_MOD_INIT): Iterate cd devices.
24393
24394 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24395 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24396 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24397
24398 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24399
4020aa53 244002008-02-02 Robert Millan <rmh@aybabtu.com>
24401
24402 * commands/read.c: New file.
24403 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24404 (read_mod_SOURCES): New variable.
24405 (read_mod_CFLAGS): Likewise.
24406 (read_mod_LDFLAGS): Likewise.
24407
e03a1132 244082008-02-02 Robert Millan <rmh@aybabtu.com>
24409
24410 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24411 determining whether menu has to be displayed.
24412
58c69220 244132008-02-02 Marco Gerards <marco@gnu.org>
24414
24415 * bus/pci.c: New file.
24416
24417 * include/grub/pci.h: Likewise.
24418
24419 * include/grub/i386/pc/pci.h: Likewise.
24420
24421 * commands/lspci.c: Likewise.
24422
24423 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24424 `lspci.mod'.
24425 (pci_mod_SOURCES): New variable.
24426 (pci_mod_CFLAGS): Likewise.
24427 (pci_mod_LDFLAGS): Likewise.
24428 (lspci_mod_SOURCES): Likewise.
24429 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24430 (lspci_mod_LDFLAGS): Likewise.
58c69220 24431
c004e1b4 244322008-02-02 Bean <bean123ch@gmail.com>
24433
24434 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24435 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24436
24437 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24438 (grub_xfs_btree_node): New structure.
24439 (grub_xfs_btree_root): New structure.
24440 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24441 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24442 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24443 (GRUB_XFS_EXTENT_SIZE): Likewise.
24444 (grub_xfs_read_block): Support btree format type.
24445 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24446 Use directory block as basic unit.
24447
24448 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24449
24450 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
24451 __attribute__ ((__regparm__ (1))).
24452
f95562bf 244532008-02-01 Robert Millan <rmh@aybabtu.com>
24454
24455 Correct a mistake in previous commit.
24456
24457 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
24458 top.
24459 (normal/command.c_DEPENDENCIES): New variable.
24460
7d31f41f 244612008-02-01 Robert Millan <rmh@aybabtu.com>
24462
24463 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
24464 top.
24465 (normal/command.c_DEPENDENCIES): New variable.
24466 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
24467 * conf/i386-ieee1275.rmk: Likewise.
24468 * conf/i386-linuxbios.rmk: Likewise.
24469 * conf/i386-pc.rmk: Likewise.
24470 * conf/sparc64-ieee1275.rmk: Likewise.
24471 * conf/powerpc-ieee1275.rmk: Likewise.
24472 (grub_emu_SOURCES): Add `fs/fshelp.c'.
24473
24474 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
24475
60b6be74 244762008-02-01 Robert Millan <rmh@aybabtu.com>
24477
24478 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
24479 call at beginning of function.
24480
078522ab 244812008-01-31 Pavel Roskin <proski@gnu.org>
24482
24483 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 24484 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
24485 (grub_mkrescue_SOURCES): Likewise.
078522ab 24486 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
24487
ccaa8a5f 244882008-01-30 Robert Millan <rmh@aybabtu.com>
24489
24490 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
24491 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
24492 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
24493 (grub_probe_SOURCES): ... to here.
24494
24495 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
24496 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
24497 * conf/i386-ieee1275.rmk: Likewise.
24498 * conf/i386-linuxbios.rmk: Likewise.
24499 * conf/powerpc-ieee1275.rmk: Likewise.
24500
ae5a9cd7 245012008-01-30 Tristan Gingold <gingold@free.fr>
24502
24503 * kern/rescue.c: Silently accept empty lines.
24504
70bc2ef2 245052008-01-29 Bean <bean123ch@gmail.com>
24506
24507 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
24508 (real_code_2): Code cleanup and change comment style.
24509 (move_memory): Avoid using 32-bit address mode.
24510
6a4d50ea 245112008-01-29 Bean <bean123ch@gmail.com>
24512
24513 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
24514 (png_mod_SOURCES): New variable.
24515 (png_mod_CFLAGS): Likewise.
24516 (png_mod_LDFLAGS): Likewise.
24517
24518 * video/readers/png.c: New file.
24519
11cc30ac 245202008-01-28 Robert Millan <rmh@aybabtu.com>
24521
24522 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24523 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24524 `ifndef GRUB_MOD_GAP' hack.
24525 * util/elf/grub-mkimage.c (add_segments): Likewise.
24526
3abc589f 245272008-01-27 Robert Millan <rmh@aybabtu.com>
24528
24529 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24530 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24531 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24532
e1907778 245332008-01-27 Robert Millan <rmh@aybabtu.com>
24534
24535 Get grub-emu to build again (including parallel builds).
24536
24537 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24538 Split into ...
24539 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24540 (normal/execute.c_DEPENDENCIES): ... this, ...
24541 (grub-emu_DEPENDENCIES): ... and this.
24542
24543 * conf/i386-efi.rmk: Likewise.
24544 * conf/i386-linuxbios.rmk: Likewise.
24545 * conf/i386-ieee1275.rmk: Likewise.
24546 * conf/powerpc-ieee1275.rmk: Likewise.
24547 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24548
2216b101 245492008-01-27 Robert Millan <rmh@aybabtu.com>
24550
24551 * NEWS: Add a few items.
24552
f75172d9 245532008-01-27 Robert Millan <rmh@aybabtu.com>
24554
24555 Fix parallel builds with grub-emu. Based on earlier commit for
24556 grub-probe and grub-setup.
24557
24558 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24559 (util/grub-emu.c_DEPENDENCIES): ... this.
24560 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24561 (util/grub-emu.c_DEPENDENCIES): ... this.
24562 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24563 (util/grub-emu.c_DEPENDENCIES): ... this.
24564 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24565 (util/grub-emu.c_DEPENDENCIES): ... this.
24566 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24567 (util/grub-emu.c_DEPENDENCIES): ... this.
24568
3f51de77 245692008-01-27 Pavel Roskin <proski@gnu.org>
24570
24571 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24572 to create a gap between _end and the modules added to the image
24573 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24574 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24575 * util/elf/grub-mkimage.c (add_segments): Likewise.
24576
2033f53e 245772008-01-26 Pavel Roskin <proski@gnu.org>
24578
24579 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24580 just return an error.
24581
22da1f6f 245822008-01-26 Bean <bean123ch@gmail.com>
24583
24584 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24585 (grub_reiserfs_get_item): Save offset of the next item.
24586 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24587
2a9525e6 245882008-01-25 Robert Millan <rmh@aybabtu.com>
24589
24590 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24591 make all filesystem sources appear together (possibly fixing omissions
24592 while at it).
24593 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24594 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24595 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24597
24598 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24599 add `kern/file.c'.
24600 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24601 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24602 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24603 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24604
24605 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24606 (probe): Add a sanity check to make sure of our ability to read
24607 requested files when probing for filesystem type.
24608
24609 * genmk.rb: Update copyright year (2007).
24610
24611 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24612 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24613 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24614 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24615 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24616 : Remove function prototypes.
24617
b95f71b5 246182008-01-25 Robert Millan <rmh@aybabtu.com>
24619
24620 Revert my previous commits (based on wrong assumption of how grub_errno
24621 works).
24622
fe6b695a 24623 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24624 * kern/file.c (grub_file_open): Likewise.
24625
d08bbb49 246262008-01-24 Pavel Roskin <proski@gnu.org>
24627
24628 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24629 that hang if GRUB tries to setup colors.
24630 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24631 colors for firmwares that don't support it.
24632 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24633 Recognize Open Hack'Ware, set flags to work around its
24634 limitations.
24635
605e36ed 246362008-01-24 Robert Millan <rmh@aybabtu.com>
24637
24638 * kern/file.c (grub_file_open): Do not account previous failures of
24639 unrelated functions when grub_errno is checked for.
24640 Reported by Oleg Strikov.
24641
bac332a1 246422008-01-24 Bean <bean123ch@gmail.com>
24643
24644 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24645 (grub_ufs_sblock): New member volume name.
24646 (grub_ufs_find_file): Fix string copy bug.
24647 (grub_ufs_label): Implement this function properly.
24648
24649 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24650 (grub_hfs_iterate_records): Use the correct file number for extents
24651 and catalog file. Fix problem in next index calculation.
24652 (grub_hfs_find_node): Replace recursive function call with loop.
24653 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24654
15c80c09 246552008-01-23 Robert Millan <rmh@aybabtu.com>
24656
24657 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24658 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24659 (grub_multiboot2_real_boot): New function prototype.
24660
24661 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24662 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24663
24664 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24665 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24666
305338fd 246672008-01-23 Robert Millan <rmh@aybabtu.com>
24668
24669 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24670 #ifdef'ed out grub_printf().
24671
3ea52685 246722008-01-23 Robert Millan <rmh@aybabtu.com>
24673
24674 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24675 grub_dprintf calls, since they make "debug=all" mode unusable.
24676 (grub_console_checkkey): Likewise.
24677
5882ae4b 246782008-01-23 Robert Millan <rmh@aybabtu.com>
24679
24680 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24681 `term/i386/pc/at_keyboard.c'.
24682 (pkglib_MODULES): Add `serial.mod'.
24683 (serial_mod_SOURCES): New variable.
24684 (serial_mod_CFLAGS): Likewise.
24685 (serial_mod_LDFLAGS): Likewise.
24686
24687 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24688 `<grub/powerpc/ieee1275/console.h>'.
24689 (grub_keyboard_controller_init): New function prototype.
24690 (grub_console_checkkey): Likewise.
24691 (grub_console_getkey): Likewise.
24692
24693 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24694 keyboard on i386.
24695
24696 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24697 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24698
06ab5303 246992008-01-23 Robert Millan <rmh@aybabtu.com>
24700
24701 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24702 present, "(memdisk)/boot/grub" becomes the default prefix.
24703
24704 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24705 a memdisk tarball with all the modules. Add --overlay=DIR option that
24706 allows users to overlay additional files into the image.
24707
dbb475a4 247082008-01-23 Robert Millan <rmh@aybabtu.com>
24709
24710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24711 and `machine/memory.h'.
24712 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24713 (_multiboot_mod_SOURCES): New variable.
24714 (_multiboot_mod_CFLAGS): Likewise.
24715 (_multiboot_mod_LDFLAGS): Likewise.
24716 (multiboot_mod_SOURCES): Likewise.
24717 (multiboot_mod_CFLAGS): Likewise.
24718 (multiboot_mod_LDFLAGS): Likewise.
24719
24720 * include/grub/i386/ieee1275/loader.h: New file.
24721
24722 * include/grub/i386/ieee1275/machine.h: Likewise.
24723
24724 * include/grub/i386/ieee1275/memory.h: Likewise.
24725
24726 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24727 variable declaration.
24728 (grub_os_area_size): Likewise.
24729
24730 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24731 (grub_lower_mem, grub_upper_mem): New variables.
24732 (grub_stop_floppy): New function (just to make
24733 grub_multiboot2_real_boot() happy).
24734
24735 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24736 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24737 (grub_stop): New function.
24738 Include `"../realmode.S"' and `"../loader.S"'.
24739
24740 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24741 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24742
24743 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24744 rely on grub_multiboot2_real_boot() for final boot.
24745
25638629 247462008-01-22 Robert Millan <rmh@aybabtu.com>
24747
24748 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24749 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24750 device that doesn't look like an SD card.
24751 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24752 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24754 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24755 found.
24756
9dad816d 247572008-01-22 Robert Millan <rmh@aybabtu.com>
24758
24759 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24760 avoid claiming over our own code.
24761
34842f2d 247622008-01-22 Bean <bean123ch@gmail.com>
24763
24764 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24765 (jpeg_mod_SOURCES): New variable.
24766 (jpeg_mod_CFLAGS): Likewise.
24767 (jpeg_mod_LDFLAGS): Likewise.
24768
24769 * video/readers/jpeg.c : New file.
24770
44023a28 247712008-01-22 Bean <bean123ch@gmail.com>
24772
24773 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24774 there are no more items.
24775
bc2d8ac6 247762008-01-21 Robert Millan <rmh@aybabtu.com>
24777
24778 * kern/mm.c (grub_mm_init_region): Improve debug message.
24779
261bd4bc 247802008-01-21 Robert Millan <rmh@aybabtu.com>
24781
24782 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24783 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24784 address.
24785 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24786 a C macro.
24787 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24788 Indicates start of upper memory.
24789 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24790 (generate_image): Abort when image size is big enough to corrupt
24791 upper memory.
24792
24793 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24794 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24795 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24796 instead of hardcoding 0xA0000.
24797 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24798 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24799 instead of hardcoding 0xA0000.
24800
f970b55e 248012008-01-21 Robert Millan <rmh@aybabtu.com>
24802
24803 * disk/memdisk.c (memdisk_size): New variable.
24804 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24805 `memdisk_size'.
24806 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24807 image to dynamic memory.
24808 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24809 `memdisk_size'. Free memdisk block.
24810
1a8b0526 248112008-01-21 Robert Millan <rmh@aybabtu.com>
24812
24813 Fix detection of very small filesystems (like tar).
24814
24815 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24816 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24817 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24818 a problem with this disk).
24819
6e9b4aab 248202008-01-21 Robert Millan <rmh@aybabtu.com>
24821
24822 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24823 on grub_biosdisk_rw_standard() error.
24824
0d8837b2 248252008-01-21 Robert Millan <rmh@aybabtu.com>
24826
24827 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24828 recent changes.
24829 * kern/elf.c: Likewise.
24830 * kern/ieee1275/ieee1275.c: Likewise.
24831 * kern/powerpc/ieee1275/openfw.c: Likewise.
24832 * term/ieee1275/ofconsole.c: Likewise.
24833
ffd36e34 248342008-01-21 Robert Millan <rmh@aybabtu.com>
24835
24836 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24837
3f0093d0 24838 * include/grub/kernel.h (grub_arch_memdisk_addr)
24839 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24840
3f0093d0 24841 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24842 (grub_arch_memdisk_size): ... to here.
ffd36e34 24843
6c391b21 248442008-01-21 Robert Millan <rmh@aybabtu.com>
24845
24846 Mostly based on bugfix from Bean.
24847
24848 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24849 attribute with hook() parameter.
24850 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24851 declaration.
24852 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24853 attribute with hook() parameter.
24854 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24855 declaration.
24856
55a581dc 248572008-01-21 Robert Millan <rmh@aybabtu.com>
24858
24859 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24860 (pkglib_MODULES): Add `memdisk.mod'.
24861 (memdisk_mod_SOURCES): New variable.
24862 (memdisk_mod_CFLAGS): Likewise.
24863 (memdisk_mod_LDFLAGS): Likewise.
24864
24865 * disk/memdisk.c: New file.
24866
24867 * include/grub/disk.h (grub_disk_dev_id): Add
24868 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24869
24870 * include/grub/i386/pc/kernel.h
24871 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24872 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24873 (grub_kernel_image_size): New variable declaration.
24874 (grub_total_module_size): Likewise.
24875 (grub_memdisk_image_size): Likewise.
24876
24877 * include/grub/i386/pc/memory.h
24878 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24879
24880 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24881 (grub_arch_memdisk_addr): New variable declaration.
24882 (grub_arch_memdisk_size): Likewise.
24883
24884 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24885 (grub_arch_memdisk_size): Likewise.
24886
24887 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24888 (codestart): Replace hardcoded `0x100000' with
24889 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24890
24891 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24892 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24893 not NULL, append the contents of the file it refers to, at the end of
24894 the compressed kernel image. Initialize `grub_memdisk_image_size'
24895 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24896 (options): Add "memdisk"|'m' option.
24897 (main): Parse --memdisk|-m option, and pass user-provided path as
24898 parameter to generate_image().
24899
3d7f54c9 249002008-01-20 Robert Millan <rmh@aybabtu.com>
24901
24902 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24903 grub_dprintf() calls from here ...
24904 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24905
0bf74728 249062008-01-20 Robert Millan <rmh@aybabtu.com>
24907
24908 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24909
24910 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24911 declaration.
24912 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24913 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24914 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24915 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24916 property).
24917 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24918 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24919
33bf70a7 249202008-01-19 Robert Millan <rmh@aybabtu.com>
24921
fe6b695a 24922 Get rid of confusing function (superseded by
33bf70a7 24923 `grub_ieee1275_get_integer_property')
24924 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24925 prototype.
24926 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24927 function.
24928 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24929 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24930 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24931
e2da7d26 249322008-01-19 Robert Millan <rmh@aybabtu.com>
24933
24934 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24935 command after "shut-down", since implementations differ on which
24936 the command for halt is.
24937
59f1fd8d 249382008-01-19 Robert Millan <rmh@aybabtu.com>
24939
24940 * include/grub/i386/linuxbios/console.h: Add header protection.
24941 (grub_keyboard_controller_init): New function prototype.
24942 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24943 (KEYBOARD_COMMAND_READ): Likewise.
24944 (KEYBOARD_COMMAND_WRITE): Likewise.
24945 (KEYBOARD_SCANCODE_SET1): Likewise.
24946 (grub_keyboard_controller_write): New function.
24947 (grub_keyboard_controller_read): Likewise.
24948 (grub_keyboard_controller_init): Likewise.
24949
24950 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24951 (grub_console_init): On coreboot/LinuxBIOS, call
24952 grub_keyboard_controller_init().
24953
5f5a7c15 249542008-01-19 Robert Millan <rmh@aybabtu.com>
24955
24956 PowerPC changes provided by Pavel Roskin.
24957
24958 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24959 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24960 don't rely on cmain() doing it.
24961 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24962 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24963
1210e168 249642008-01-16 Robert Millan <rmh@aybabtu.com>
24965
24966 * include/grub/i386/linuxbios/memory.h
24967 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24968 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24969 receive `table_header' as argument. Instead, probe for it in the
24970 known memory ranges where it can be present.
24971 (grub_available_iterate): Do not pass a fixed `table_header' address
24972 to grub_linuxbios_table_iterate().
24973
3d04eab8 249742008-01-15 Robert Millan <rmh@aybabtu.com>
24975
24976 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24977 * conf/i386-ieee1275.rmk: New file.
24978 * include/grub/i386/ieee1275/console.h: Likewise.
24979 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24980 * include/grub/i386/ieee1275/kernel.h: Likewise.
24981 * include/grub/i386/ieee1275/time.h: Likewise.
24982 * kern/i386/ieee1275/init.c: Likewise.
24983 * kern/i386/ieee1275/startup.S: Likewise.
24984
d1bc1b73 249852008-01-15 Robert Millan <rmh@aybabtu.com>
24986
24987 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24988 when pointers are 32-bit (but still do set it to one when they are
24989 64-bit).
24990
66a65807 249912008-01-15 Robert Millan <rmh@aybabtu.com>
24992
24993 * include/grub/ieee1275/ieee1275.h
24994 (grub_ieee1275_get_integer_property): New function prototype.
24995
24996 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24997 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24998 grub_ieee1275_get_property() to handle endianness.
66a65807 24999
25000 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25001 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 25002 where appropriate.
66a65807 25003 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25004 (grub_map): Likewise.
25005 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25006
a83ccafd 250072008-01-15 Bean <bean123ch@gmail.com>
25008
25009 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25010 (grub_script_execute_cmdline): Reset grub_errno.
25011
25012 * normal/main.c (read_config_file): Reset grub_errno.
25013
25014 * normal/parse.y (script_init): New.
25015 (script): Move function and menuentry here.
25016 (delimiter): New.
25017 (command): Add delimiter at the end of command.
25018 (commands): Adjust to match the new command.
25019 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 25020 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 25021 (if): Use the new commands.
25022
25023 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25024
df6ecfc6 250252008-01-15 Robert Millan <rmh@aybabtu.com>
25026
25027 * normal/menu.c (run_menu): Move timeout message from here ...
25028 (print_timeout): ... to here.
25029 (run_menu): Use print_timeout() once during initial draw to print
25030 the whole message, and again in every clock tick to update only
25031 the number of seconds.
25032
87ae25eb 250332008-01-15 Robert Millan <rmh@aybabtu.com>
25034
25035 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25036 actual size of `available' from grub_ieee1275_get_property(), and
25037 restrict parsing to that bound.
25038
47bf09a4 250392008-01-15 Christian Franke <franke@computer.org>
25040
25041 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25042 (argp_program_version): Remove variable.
25043 (argp_program_bug_address): Likewise.
25044 (options): Convert from struct argp_option to struct option.
25045 (struct arguments): Remove.
25046 (parse_opt): Remove.
25047 (usage): New function.
25048 (main): Replace struct args members by simple variables.
25049 Replace argp_parse() by getopt_long().
25050 Add switch to evaluate options.
25051 Add missing "(...)" around root_dev in prefix string.
25052
c86f1469 250532008-01-14 Robert Millan <rmh@aybabtu.com>
25054
25055 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25056 for grub_ieee1275_exit(), in order to improve portability.
25057
e622c559 250582008-01-14 Robert Millan <rmh@aybabtu.com>
25059
25060 * util/grub.d/10_linux.in (prefix): Define.
25061 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25062
44cb1ec8 250632008-01-13 Pavel Roskin <proski@gnu.org>
25064
25065 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25066 grub_errno if no errors have been detected.
25067
1eb8c802 250682008-01-12 Robert Millan <rmh@aybabtu.com>
25069
25070 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25071 (grub_util_get_dev_abstraction): New function prototype.
25072
25073 * util/getroot.c: Include `<grub/util/getroot.h>'
25074 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25075 (grub_util_get_dev_abstraction): ... here (new function).
25076
25077 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25078 `PRINT_ABSTRACTION'.
25079 (probe): Probe for abstraction type when requested.
25080 (main): Understand `--target=abstraction'.
25081
25082 * util/i386/efi/grub-install.in: Add abstraction module to core
25083 image when it is found to be necessary.
25084 * util/i386/pc/grub-install.in: Likewise.
25085 * util/powerpc/ieee1275/grub-install.in: Likewise.
25086
25087 * util/update-grub_lib.in (font_path): Return system path without
25088 converting to GRUB path.
25089 * util/update-grub.in: Convert system path returned by font_path()
25090 to a GRUB path. Use `grub-probe -t abstraction' to determine what
25091 abstraction module is needed for loading fonts (if any). Export
25092 that as `GRUB_PRELOAD_MODULES'.
25093 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
25094 insmod commands).
25095
52bd3de9 250962008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
25097
25098 Remove some unused code from reiserfs.
f19dbdb7 25099
52bd3de9 25100 * fs/reiserfs.c (struct grub_reiserfs_key)
25101 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
25102 (struct grub_reiserfs_node_body): Removed.
25103 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25104 Likewise.
25105 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25106 Likewise.
25107 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25108 Likewise.
25109 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25110 Likewise.
25111 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25112 Likewise.
25113 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
25114 Likewise.
25115 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25116 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25117 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25118
2f80039d 251192008-01-10 Robert Millan <rmh@aybabtu.com>
25120
25121 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
25122 Determines if a file is garbage left by packaging systems, etc.
25123 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
25124 for processing /etc/grub.d scripts.
25125 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
25126 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
25127 as a condition for processing Linux images.
25128
87888032 251292008-01-10 Pavel Roskin <proski@gnu.org>
25130
25131 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
25132 to compile reiserfs.c on PowerPC.
25133
7e54fced 251342008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 25135
25136 * kern/device.c (grub_device_iterate): Do not abort device iteration
25137 when one of the devices cannot be opened.
25138 * kern/disk.c (grub_disk_open): Do not account previous failures of
25139 unrelated functions when grub_errno is checked for.
25140
5aa541e6 251412008-01-08 Robert Millan <rmh@aybabtu.com>
25142
25143 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
25144 `! grub_linux_is_bzimage', change order of address comparison to make
25145 it more intuitive, and improve "too big zImage" error message.
25146
7076340d 251472008-01-08 Robert Millan <rmh@aybabtu.com>
25148
25149 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
25150 `$(update-grub_DATA)'.
25151 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
25152 targets.
25153
9ca70333 251542008-01-07 Robert Millan <rmh@aybabtu.com>
25155
25156 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
25157 which instruction is modified by grub-setup during installation
25158 (since it wasn't obvious by only looking at this file).
25159
38ccf575 251602008-01-07 Robert Millan <rmh@aybabtu.com>
25161
25162 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
25163 listing actual TODO items.
25164
f5db4291 251652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25166
868967cf 25167 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
25168 correctly.
25169 (grub_reiserfs_get_key_offset): Likewise.
25170 (grub_reiserfs_set_key_offset): Likewise.
25171 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 25172 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 25173
25174 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
25175 better to remove the bitfield version completely.
f19dbdb7 25176
868967cf 251772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25178
f5db4291 25179 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
25180 allocated from the heap, due to the fshelp implementation.
25181 (grub_reiserfs_dir): Free NODE, due to the same reason.
25182
492e6d9d 251832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25184
25185 Mostly from Vincent Pelletier:
f19dbdb7 25186
492e6d9d 25187 * fs/reiserfs.c: New file.
f19dbdb7 25188
492e6d9d 25189 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
25190 (reiserfs_mod_SOURCES): New variable.
25191 (reiserfs_mod_CFLAGS): Likewise.
25192 (reiserfs_mod_LDFLAGS): Likewise.
25193
25194 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
25195 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
25196 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
25197 normal/color.c.
25198
9ce3e7c1 251992008-01-06 Robert Millan <rmh@aybabtu.com>
25200
25201 * normal/color.c: Remove `<grub/env.h>'.
25202
f3b58148 252032008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
25204
25205 * include/grub/normal.h: Include <grub/env.h>.
25206
7ac3bcfa 252072008-01-05 Robert Millan <rmh@aybabtu.com>
25208
25209 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
25210 usage example with `(hd0,1)'.
fb358190 25211 Reported by Samuel Thibault.
7ac3bcfa 25212
c8ee99d7 252132008-01-05 Robert Millan <rmh@aybabtu.com>
25214
25215 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
25216 (grub_linux_boot_zimage): Rename to ...
25217 (grub_linux_boot): ... this.
25218 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25219 (grub_linux_boot_zimage): Conditionalize zImage copy.
25220
25221 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25222 (grub_linux_boot_bzimage): Remove prototype.
25223 (grub_linux_boot_zimage): Rename to ...
25224 (grub_linux_boot): ... this.
25225
25226 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25227 (grub_linux_boot): Remove function.
25228
0ece25b1 252292008-01-05 Robert Millan <rmh@aybabtu.com>
25230
25231 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25232 (grub_env_write_color_highlight): Likewise.
25233 (grub_wait_after_message): Likewise.
25234
25235 * normal/color.c: New file.
25236
25237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25238 (normal_mod_DEPENDENCIES): Likewise.
25239
25240 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25241 (normal_mod_DEPENDENCIES): Likewise.
25242
25243 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25244 (normal_mod_DEPENDENCIES): Likewise.
25245
25246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25247 (normal_mod_DEPENDENCIES): Likewise.
25248
25249 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25250 for waiting after a message is printed.
25251 * normal/main.c (read_config_file): Likewise.
25252 (grub_normal_init): Register grub_env_write_color_normal() and
25253 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25254 `color_highlight' variables as global.
25255
25256 * normal/menu.c (grub_wait_after_message): New function.
25257 (grub_color_menu_normal): New variable. Replaces ...
25258 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25259 (grub_color_menu_highlight): New variable. Replaces ...
25260 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25261 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25262 `GRUB_TERM_COLOR_STANDARD'.
25263 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25264 `normal_code' and `highlight_code' to `old_color_normal' and
25265 `old_color_highlight', respectively.
25266 (grub_menu_init_page): Update colors when drawing the menu, based on
25267 `menu_color_normal' and `menu_color_highlight' variables.
25268 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25269 a message is printed.
25270
182dd4e5 252712008-01-05 Robert Millan <rmh@aybabtu.com>
25272
25273 * kern/env.c (grub_env_context_open): Propagate hooks for global
25274 variables to new context.
25275
25276 * kern/main.c (grub_set_root_dev): Export `root' variable.
25277
ddf8f6ad 252782008-01-05 Robert Millan <rmh@aybabtu.com>
25279
25280 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25281 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25282 them.
25283
d8b43d9b 252842008-01-05 Robert Millan <rmh@aybabtu.com>
25285
25286 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25287
2bff2de3 252882008-01-04 Christian Franke <franke@computer.org>
25289
25290 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25291 of eisa_mmap.
25292
97eab917 252932008-01-03 Pavel Roskin <proski@gnu.org>
25294
25295 * kern/i386/linuxbios/init.c: Put "void" to all function
25296 declarations with no arguments.
25297 * kern/powerpc/ieee1275/init.c: Likewise.
25298 * term/i386/pc/at_keyboard.c: Likewise.
25299 * term/i386/pc/vga_text.c: Likewise.
25300 * util/grub-mkdevicemap.c: Likewise.
25301
b9416d00 253022008-01-02 Robert Millan <rmh@aybabtu.com>
25303
25304 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25305 message when loaded image is out of bounds.
25306 (grub_multiboot_load_elf64): Likewise.
25307
92695df9 253082008-01-02 Pavel Roskin <proski@gnu.org>
25309
25310 * util/grub.d/10_linux.in: Try version without ".old" when
25311 looking for initrd. It's better to use initrd from the newer
25312 kernel of the same version than no initrd at all.
25313
d98d9cad 253142008-01-01 Robert Millan <rmh@aybabtu.com>
25315
25316 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25317
dbfdce36 253182008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25319
f19dbdb7 25320 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25321 grub_video_get_active_render_target.
25322 (grub_video_adapter): Added unmap_color and get_active_render_target.
25323
f19dbdb7 25324 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25325 grub_video_get_active_render_target.
25326 (grub_video_get_info): Changed method to accept NULL pointer as an
25327 argument to allow detection of active video adapter.
25328
25329 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25330 grub_video_vbe_unmap_color_int.
25331 Added grub_video_vbe_unmap_color and
25332 grub_video_vbe_get_active_render_target.
25333 (grub_video_vbe_adapter): Added unmap_color and
25334 get_active_render_target.
25335
f19dbdb7 25336 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25337 with grub_video_vbe_unmap_color_int.
25338
25339 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25340 (DEFAULT_NORMAL_COLOR): Likewise.
25341 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25342 (DEFAULT_FG_COLOR): Removed.
25343 (DEFAULT_BG_COLOR): Likewise.
25344 (DEFAULT_CURSOR_COLOR): Changed value.
25345 (grub_virtual_screen): Added standard_color_setting,
25346 normal_color_setting, highlight_color_setting and term_color.
25347 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25348 (bitmap_width): Added.
25349 (bitmap_height): Likewise.
25350 (bitmap): Likewise.
25351 (set_term_color): Likewise.
25352 (grub_virtual_screen_setup): Changed to use new terminal coloring
25353 settings.
25354 (grub_gfxterm_init): Added init for bitmap.
25355 (grub_gfxterm_fini): Added destroy for bitmap.
25356 (redraw_screen_rect): Updated to use background bitmap and new
25357 terminal coloring.
25358 (scroll_up): Added optimization for case when there is no bitmap.
25359 (grub_gfxterm_cls): Fixed to use correct background color.
25360 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25361 coloring.
25362 (grub_virtual_screen_setcolor): Likewise.
25363 (grub_virtual_screen_getcolor): Added.
25364 (grub_gfxterm_background_image_cmd): Likewise.
25365 (grub_video_term): Added setcolor and getcolor.
25366 (MOD_INIT): Added registration of background_image command.
25367 (MOD_TERM): Added unregistration for background_image command.
25368
c3c20931 253692007-12-30 Pavel Roskin <proski@gnu.org>
25370
25371 * loader/multiboot_loader.c: Fix multiboot command
25372 unregistration. Fix all typos in the word "multiboot".
25373
df266716 253742007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25375
25376 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25377 support for initrd names used in Fedora.
25378
fc6e896c 253792007-12-26 Bean <bean123ch@gmail.com>
25380
25381 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25382 (cpio_mod_SOURCES): New variable.
25383 (cpio_mod_CFLAGS): Likewise.
25384 (cpio_mod_LDFLAGS): Likewise.
25385
25386 * fs/cpio.c: New file.
25387
25388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25389
25390 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25391
25392 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25393
25394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25395
533110ad 253962007-12-25 Robert Millan <rmh@aybabtu.com>
25397
25398 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25399 (grub_getcolor): New function.
25400
25401 * kern/term.c (grub_getcolor): New function.
25402 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25403 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25404 (print_entry): Set normal and highlight colors to
25405 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25406 respectively, before printing and restore them to old
25407 values afterwards.
25408 (grub_menu_init_page): Likewise. Fill an additional colored space
25409 that would otherwise be left blank.
25410
25411 * term/efi/console.c (grub_console_getcolor): New function.
25412 (struct grub_console_term.getcolor): New variable.
25413 * term/i386/pc/console.c (grub_console_getcolor): New function.
25414 (struct grub_console_term.getcolor): New variable.
25415 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25416 (struct grub_console_term.getcolor): New variable.
25417
25418 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25419 (struct grub_console_term.setcolor): Remove variable.
25420 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25421 (struct grub_console_term.setcolor): Remove variable.
25422 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25423 (struct grub_console_term.setcolor): Remove variable.
25424 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25425 (struct grub_console_term.setcolor): Remove variable.
25426
4931827f 254272007-12-25 Robert Millan <rmh@aybabtu.com>
25428
25429 * configure.ac: Search for possible unifont.hex locations, and
25430 define UNIFONT_HEX if found.
25431
25432 * Makefile.in (UNIFONT_HEX): Define variable.
25433 (DATA): Rename to ...
25434 (PKGLIB): ... this. Update all users.
25435 (PKGDATA): New variable.
25436 (pkgdata_IMAGES): Rename to ...
25437 (pkglib_IMAGES): ... this. Update all users.
25438 (pkgdata_MODULES): Rename to ...
25439 (pkglib_MODULES): ... this. Update all users.
25440 (pkgdata_PROGRAMS): Rename to ...
25441 (pkglib_PROGRAMS): ... this. Update all users.
25442 (pkgdata_DATA): Rename to ...
25443 (pkglib_DATA): ... this. Update all users.
25444 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25445 (unicode.pff, ascii.pff): New rules.
25446 (all-local): Add `$(PKGDATA)' dependency.
25447 (install-local): Process `$(PKGDATA)'.
25448
25449 * util/update-grub_lib.in (font_path): Search for *.pff files in
25450 a few more locations, including `${pkgdata}'.
25451
57e57e31 254522007-12-23 Robert Millan <rmh@aybabtu.com>
25453
25454 Patch from Bean <bean123ch@gmail.com>:
25455 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
25456 `size'.
25457
4bc72aa9 254582007-12-21 Bean <bean123ch@gmail.com>
25459
25460 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
25461 (ntfscomp_mod_SOURCES): New variable.
25462 (ntfscomp_mod_CFLAGS): Likewise.
25463 (ntfscomp_mod_LDFLAGS): Likewise.
25464
25465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
25466 (grub_probe_SOURCES): Likewise.
25467 (grub_emu_SOURCES): Likewise.
25468
25469 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25470 (grub_emu_SOURCES): Likewise.
25471
25472 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25473 (grub_emu_SOURCES): Likewise.
25474
25475 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25476 (grub_emu_SOURCES): Likewise.
25477
25478 * fs/ntfs.c (grub_ntfscomp_func): New variable.
25479 (read_run_list): Renamed to grub_ntfs_read_run_list.
25480 (decomp_nextvcn): Moved to ntfscomp.c.
25481 (decomp_getch): Likewise.
25482 (decomp_get16): Likewise.
25483 (decomp_block): Likewise.
25484 (read_block): Likewise.
25485 (read_data): Partially moved to ntfscomp.c.
25486 (fixup): Change unsigned to grub_uint16_t.
25487 (read_mft): Change unsigned long to grub_uint32_t.
25488 (read_attr): Likewise.
25489 (read_data): Likewise.
25490 (read_run_data): Likewise.
25491 (read_run_list): Likewise.
25492 (read_mft): Likewise.
25493
25494 * fs/ntfscomp.c: New file.
25495
25496 * include/grub/ntfs.h: New file.
25497
af680a87 254982007-12-16 Robert Millan <rmh@aybabtu.com>
25499
25500 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
25501 IDE disk check, since Linux is known to support 20 IDE disks.
25502 Reported by Colin Watson.
25503
84be7599 255042007-12-15 Bean <bean123ch@gmail.com>
25505
25506 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
25507 (lnxboot_img_SOURCES): New variable.
25508 (lnxboot_img_ASFLAGS): Likewise.
25509 (lnxboot_img_LDFLAGS): Likewise.
25510
25511 * boot/i386/pc/lnxboot.S: New file.
25512
6af9db01 255132007-11-24 Pavel Roskin <proski@gnu.org>
25514
25515 * configure.ac: Test if '--build-id=none' is supported by the
25516 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
25517 objcopy to generate incorrect binary files (binutils
25518 2.17.50.0.18-1 as shipped by Fedora 8).
25519 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25520 linking, so that build ID doesn't break the test.
25521
7361cfe6 255222007-11-24 Pavel Roskin <proski@gnu.org>
25523
25524 * include/grub/i386/time.h: use "void" in the argument list
25525 of grub_cpu_idle().
25526 * include/grub/powerpc/time.h: Likewise.
25527 * include/grub/sparc64/time.h: Likewise.
25528
1593e10c 255292007-11-18 Christian Franke <franke@computer.org>
25530
25531 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25532 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25533 This fixes the problem that function keys did not work in grub-emu.
25534
3b8db1a8 255352007-11-18 Christian Franke <franke@computer.org>
25536
25537 * disk/host.c (grub_host_open): Remove attribute unused from
25538 name parameter. Add check for "host". This fixes the problem
25539 that grub-emu does not find partitions.
25540
2e29408d 255412007-11-18 Christian Franke <franke@computer.org>
25542
25543 * util/hostfs.c (is_dir): New function.
25544 (grub_hostfs_dir): Handle missing dirent.d_type case.
25545 (grub_hostfs_read): Add missing fseek().
25546 (grub_hostfs_label): Clear label pointer. This fixes a crash
25547 of grub-emu on "ls (host)".
25548
398cd047 255492007-11-18 Christian Franke <franke@computer.org>
25550
25551 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25552 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25553 to 64 bit boundary by default.
25554
c405c391 255552007-11-18 Bean <bean123ch@gmail.com>
25556
25557 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25558 (hexdump_mod_SOURCES): New variable.
25559 (hexdump_mod_CFLAGS): Likewise.
25560 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25561
c405c391 25562 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25563
25564 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25565
25566 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25567
25568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25569
25570 * include/grub/hexdump.h: New file.
25571
25572 * commands/hexdump.c: New file.
25573
5cced7fd 255742007-11-10 Robert Millan <rmh@aybabtu.com>
25575
25576 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25577 in grub_outb() calls.
25578 (beep_on): Likewise.
25579
8b714eb0 255802007-11-10 Christian Franke <franke@computer.org>
25581
25582 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25583 (grub_menu_run): Likewise.
25584
ce0f1839 255852007-11-10 Robert Millan <rmh@aybabtu.com>
25586
25587 * include/grub/i386/efi/machine.h: New file.
25588 * include/grub/i386/linuxbios/machine.h: Likewise.
25589 * include/grub/i386/pc/machine.h: Likewise.
25590 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25591 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25592
25593 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25594 (serial_hw_io_addr): New variable.
25595 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25596 instead of `(unsigned short *) 0x400'.
25597
270c237d 255982007-11-10 Bean <bean123ch@gmail.com>
25599
25600 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25601
a87783bf 256022007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25603
25604 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25605 (vga_mod_SOURCES): Added.
25606 (vga_mod_CFLAGS): Likewise.
25607 (vga_mod_LDFLAGS): Likewise.
25608
25609 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25610 grub_outb() calls.
25611 (set_map_mask): Likewise.
25612 (set_read_map): Likewise.
25613 (set_read_address): Likewise.
25614 (vga_font): Removed variable.
25615 (get_vga_glyph): Removed function.
25616 (invalidate_char): Likewise.
25617 (write_char): Changed to use grub_font_get_glyph() for font
25618 information.
25619 (grub_vga_putchar): Likewise.
25620 (grub_vga_getcharwidth): Likewise.
25621
6433b448 256222007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25623
25624 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25625 flags.
25626 (pxeboot_img_LDFLAGS): Likewise.
25627 (diskboot_img_LDFLAGS): Likewise.
25628 (kernel_img_LDFLAGS): Likewise.
25629
49178511 256302007-11-06 Robert Millan <rmh@aybabtu.com>
25631
25632 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25633 in grub_outb() calls.
25634 (serial_hw_init): Likewise.
25635
53b052de 256362007-11-05 Robert Millan <rmh@aybabtu.com>
25637
25638 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25639 spaces. Skip non-regular files.
25640
5ab33bba 256412007-11-05 Robert Millan <rmh@aybabtu.com>
25642
25643 * kern/disk.c (grub_disk_firmware_fini)
25644 (grub_disk_firmware_is_tainted): New variables.
25645
25646 * include/grub/disk.h (grub_disk_firmware_fini)
25647 (grub_disk_firmware_is_tainted): Likewise.
25648
25649 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25650 (grub_disk_biosdisk_fini): ... to here.
25651 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25652 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25653 is set. Register grub_disk_biosdisk_fini() in
25654 `grub_disk_firmware_fini'.
25655
25656 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25657 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25658 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25659 to finish existing firmware disk interface.
25660
25661 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25662 (ata_mod_SOURCES): New variable.
25663 (ata_mod_CFLAGS): Likewise.
25664 (ata_mod_LDFLAGS): Likewise.
25665
0149ab7c 256662007-11-05 Robert Millan <rmh@aybabtu.com>
25667
25668 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25669 (grub_ata_wait): Reimplement using grub_millisleep().
25670
25671 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25672 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25673
be7ac41e 256742007-11-03 Marco Gerards <marco@gnu.org>
25675
25676 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25677 (CRTC_ADDR_PORT): New macro.
25678 (CRTC_DATA_PORT): Likewise.
25679 (CRTC_CURSOR): Likewise.
25680 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25681 (CRTC_CURSOR_ADDR_LOW): Likewise.
25682 (update_cursor): New function.
25683 (grub_console_real_putchar): Call `update_cursor'.
25684 (grub_console_gotoxy): Likewise.
25685 (grub_console_cls): Set the default color when clearing the
25686 screen.
25687 (grub_console_setcursor): Implemented.
25688
bb06ab2e 256892007-11-03 Marco Gerards <marco@gnu.org>
25690
25691 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25692 become activate.
25693 (grub_ata_pio_write): Likewise.
25694
25695 (grub_atapi_identify): Wait after issuing an ATA command.
25696 (grub_atapi_packet): Likewise.
25697 (grub_ata_identify): Likewise.
25698 (grub_ata_readwrite): Likewise.
25699
cf8f780b 257002007-11-03 Marco Gerards <marco@gnu.org>
25701
25702 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25703 (grub_ata_pio_write): Likewise.
25704 (grub_ata_readwrite): Use `grub_error', instead of
25705 returning `grub_errno'.
25706
ed649e54 257072007-11-03 Marco Gerards <marco@gnu.org>
25708
25709 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25710 grub_ata_pio_write once for every single sector, instead of for
25711 multiple sectors.
25712
ca25d8f0 257132007-10-31 Robert Millan <rmh@aybabtu.com>
25714
25715 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25716
25717 * conf/i386-linuxbios.rmk: New file.
25718
25719 * kern/i386/pc/hardware.c: Likewise.
25720 * term/i386/pc/at_keyboard.c: Likewise.
25721 * term/i386/pc/vga_text.c: Likewise.
25722
25723 * include/grub/i386/linuxbios/boot.h: Likewise.
25724 * include/grub/i386/linuxbios/console.h: Likewise.
25725 * include/grub/i386/linuxbios/init.h: Likewise.
25726 * include/grub/i386/linuxbios/kernel.h: Likewise.
25727 * include/grub/i386/linuxbios/loader.h: Likewise.
25728 * include/grub/i386/linuxbios/memory.h: Likewise.
25729 * include/grub/i386/linuxbios/serial.h: Likewise.
25730 * include/grub/i386/linuxbios/time.h: Likewise.
25731
25732 * kern/i386/linuxbios/init.c: Likewise.
25733 * kern/i386/linuxbios/startup.S: Likewise.
25734 * kern/i386/linuxbios/table.c: Likewise.
25735
e911ecc1 257362007-10-31 Marco Gerards <marco@gnu.org>
25737
25738 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25739 (ata_mod_SOURCES): New variable.
25740 (ata_mod_CFLAGS): Likewise.
25741 (ata_mod_LDFLAGS): Likewise.
25742
25743 * disk/ata.c: New file.
25744
25745 * include/grub/disk.h (grub_disk_dev_id): Add
25746 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25747
7f66d0e0 257482007-10-31 Robert Millan <rmh@aybabtu.com>
25749
25750 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25751 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25752
25753 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25754 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25755
25756 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25757 `<grub/types.h>'.
25758
25759 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25760
5cd7dd46 257612007-10-27 Robert Millan <rmh@aybabtu.com>
25762
3236ca65 25763 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25764
2ebfc90f 257652007-10-22 Robert Millan <rmh@aybabtu.com>
25766
25767 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25768 `"../realmode.S"'.
25769 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25770
73fcb0f3 257712007-10-22 Robert Millan <rmh@aybabtu.com>
25772
25773 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25774 (pkgdata_MODULES): Add `biosdisk.mod'.
25775 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25776 variables.
25777
25778 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25779 (grub_biosdisk_init): Replace with ...
25780 (GRUB_MOD_INIT(biosdisk)): ... this.
25781 (grub_biosdisk_fini): Replace with ...
25782 (GRUB_MOD_FINI(biosdisk)): ... this.
25783
25784 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25785 (grub_machine_init): Remove call to grub_biosdisk_init().
25786 (grub_machine_fini): Remove call to grub_machine_fini().
25787
25788 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25789
3381d274 257902007-10-22 Robert Millan <rmh@aybabtu.com>
25791
25792 * include/grub/time.h: New file.
25793 * include/grub/i386/time.h: Likewise.
25794 * include/grub/powerpc/time.h: Likewise.
25795 * include/grub/sparc64/time.h: Likewise.
25796
25797 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25798 instances to ...
25799 (KERNEL_MACHINE_TIME_HEADER): ... this.
25800 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25801 instances to ...
25802 (KERNEL_MACHINE_TIME_HEADER): ... this.
25803 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25804 instances to ...
25805 (KERNEL_MACHINE_TIME_HEADER): ... this.
25806
25807 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25808 (grub_millisleep): New function.
25809 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25810 (grub_millisleep): New function.
25811 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25812 Remove `grub/machine/time.h' include.
25813 (grub_millisleep): New function.
25814 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25815 Remove `grub/machine/time.h' include.
25816 (grub_millisleep): New function.
25817
25818 * include/grub/misc.h (grub_div_roundup): New function.
25819
25820 * kern/misc.c: Include `<grub/time.h>'.
25821 (grub_millisleep_generic): New function.
25822
25823 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25824 Add `time.h'.
25825 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25826 Add `time.h'.
25827 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25828 `machine/time.h'. Add `time.h'.
25829 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25830
a39a0312 258312007-10-21 Robert Millan <rmh@aybabtu.com>
25832
25833 * include/grub/misc.h (grub_max): New function.
25834
2aad70e2 258352007-10-21 Robert Millan <rmh@aybabtu.com>
25836
25837 * util/misc.c (grub_util_info): Call fflush() before returning.
25838
54b71c4b 258392007-10-20 Robert Millan <rmh@aybabtu.com>
25840
25841 * genmk.rb (Image): Copy `extra_flags' from here ...
25842 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25843
25844 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25845 to `argc' and `args' arguments.
25846
a979f513 258472007-10-17 Robert Millan <rmh@aybabtu.com>
25848
25849 * kern/i386/loader.S: New file.
25850
25851 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25852 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25853 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25854 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25855 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25856 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25857 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25858 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25859 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25860 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25861 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25862 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25863 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25864 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25865
25866 * kern/i386/realmode.S: New file.
25867
25868 * kern/i386/pc/startup.S (protstack): Moved from here ...
25869 * kern/i386/realmode.S (protstack)... to here.
25870 * kern/i386/pc/startup.S (gdt): Moved from here ...
25871 * kern/i386/realmode.S (gdt)... to here.
25872 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25873 * kern/i386/realmode.S (prot_to_real)... to here.
25874
25875 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25876 `kern/i386/realmode.S'.
25877
825fc8fd 258782007-10-17 Robert Millan <rmh@aybabtu.com>
25879
25880 * include/grub/i386/loader.h: New file.
25881
25882 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25883 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25884 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25885 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25886 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25887 * include/grub/i386/loader.h (grub_linux_prot_size)
25888 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25889 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25890 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25891 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25892
25893 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25894
e179b2f4 258952007-10-15 Robert Millan <rmh@aybabtu.com>
25896
25897 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25898 filesystem when dev->disk is unset.
25899 Do probe for filesystem even when dev->disk->has_partitions is set.
25900 In case a filesystem is found, always report it.
25901 In case it isn't, if dev->disk->has_partitions is set, report that
25902 a partition table was found instead of reporting that no filesystem
25903 could be identified.
25904
5db82af6 259052007-10-12 Robert Millan <rmh@aybabtu.com>
25906
25907 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25908 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25909
68f6ac74 25910 * include/grub/types.h (grub_host_to_target16): New macro.
25911 (grub_host_to_target32): Likewise.
25912 (grub_host_to_target64): Likewise.
25913 (grub_target_to_host16): Likewise.
25914 (grub_target_to_host32): Likewise.
25915 (grub_target_to_host64): Likewise.
5db82af6 25916
25917 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25918 Renamed from to ...
25919 (GRUB_MOD_ALIGN): ...this. Update all users.
25920
68f6ac74 25921 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25922 grub_host_to_target32.
25923 Replace grub_be_to_cpu32 with grub_target_to_host32.
25924 (load_modules): Likewise.
25925 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25926 Replace grub_be_to_cpu32 with grub_target_to_host32.
25927 Replace grub_cpu_to_be16 with grub_host_to_target16.
25928 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25929
3cf497cc 259302007-10-12 Robert Millan <rmh@aybabtu.com>
25931
25932 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25933 * util/elf/grub-mkimage.c: ... here.
25934
25935 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25936 `util/powerpc/ieee1275/grub-mkimage.c'.
25937
c8cc3692 259382007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25939
c8cc3692 25940 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25941 and make it easier to figure out.
25942 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25943 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25944 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25945 leave us with less than HEAP_MIN_SIZE total heap.
25946 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25947
5c58b791 259482007-10-03 Robert Millan <rmh@aybabtu.com>
25949
25950 * include/grub/i386/io.h: New file.
25951 * commands/i386/pc/play.c (inb): Removed.
25952 (outb): Removed.
25953 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25954 with grub_outb().
afcd2ef8 25955 * term/i386/pc/serial.c (inb): Removed.
25956 (outb): Removed.
25957 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25958 with grub_outb().
25959 * term/i386/pc/vga.c (inb): Removed.
25960 (outb): Removed.
25961 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25962 with grub_outb().
5c58b791 25963
1a477ed6 259642007-10-02 Robert Millan <rmh@aybabtu.com>
25965
25966 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25968 Reported by Marcin Kurek.
25969
6b5d80fa 259702007-09-07 Robert Millan <rmh@aybabtu.com>
25971
25972 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25973 SmartFirmware version updates (as released by Sven Luther), and avoid
25974 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25975 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25976 known broken.
25977
5618afbf 259782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25979
25980 From Hitoshi Ozeki:
25981 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25982 when merging two regions.
25983
6139dcd9 259842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25985
508e39ee 25986 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25987 * normal/completion.c (grub_normal_do_completion): Likewise.
25988 Reported by Hitoshi Ozeki.
25989
259902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25991
6139dcd9 25992 Do not use devices at boot in chainloading.
f19dbdb7 25993
6139dcd9 25994 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25995 (boot_part_addr): Likewise.
25996 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25997 with BOOT_DRIVE and BOOT_PART_ADDR.
25998 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25999 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26000
38da6516 260012007-08-29 Robert Millan <rmh@aybabtu.com>
26002
26003 Patch from Simon Peter <dn.tlp@gmx.net>:
26004 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26005 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26006 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26007 util/i386/pc/grub-setup.c_DEPENDENCIES.
26008 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26009 util/grub-probe.c_DEPENDENCIES.
26010 * conf/powerpc-ieee1275.rmk: Likewise.
26011
29d0928c 260122007-08-28 Robert Millan <rmh@aybabtu.com>
26013
26014 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26015 to tell grub-mkdevicemap how to name devices.
26016 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26017 feature).
26018
26019 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26020 util/i386/get_disk_name.c.
26021 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26022 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26023 util/ieee1275/get_disk_name.c.
26024
26025 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26026
26027 * DISTLIST: Add util/i386/get_disk_name.c and
26028 util/ieee1275/get_disk_name.c.
26029
26030 * util/grub-mkdevicemap.c: Replace device naming logic with
26031 grub_util_get_disk_name() calls.
26032
5a0d3cca 260332007-08-20 Robert Millan <rmh@aybabtu.com>
26034
26035 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26036 (so that it works for both plural and singular quantities).
26037
8b72db2f 260382007-08-05 Robert Millan <rmh@aybabtu.com>
26039
26040 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26041 so that [xz] isn't taken into account when determining order.
26042
352466bf 260432007-08-02 Marco Gerards <marco@gnu.org>
26044
26045 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26046 `include/multiboot2.h', `include/grub/elfload.h',
26047 `include/multiboot.h', `include/grub/multiboot.h',
26048 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26049 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26050 `kern/elf.c', `loader/multiboot_loader.c',
26051 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26052 `loader/i386/pc/multiboot2.c',
26053 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26054 `util/i386/pc/grub-mkrescue.in'. Remove
26055 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26056 `include/grub/i386/pc/util/biosdisk.h' and
26057 `include/grub/powerpc/ieee1275/multiboot.h'.
26058
8f096014 260592007-08-02 Bean <bean123ch@gmail.com>
26060
26061 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26062 (ntfs_mod_SOURCES): New variable.
26063 (ntfs_mod_CFLAGS): Likewise.
26064 (ntfs_mod_LDFLAGS): Likewise.
26065
26066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26067 (grub_probe_SOURCES): Likewise.
26068 (grub_emu_SOURCES): Likewise.
26069
26070 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26071 (grub_emu_SOURCES): Likewise.
26072
26073 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26074 (grub_emu_SOURCES): Likewise.
f19dbdb7 26075
8f096014 26076 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26077
26078 * fs/ntfs.c: New file.
26079
9959f7db 260802007-08-02 Bean <bean123ch@gmail.com>
26081
26082 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26083
26084 * file.h (grub_file): Likewise.
26085
26086 * fshelp.h (grub_fshelp_read_file): Likewise.
26087
26088 * util/i386/pc/grub-setup.c (setup): Likewise.
26089 (save_first_sector): Likewise.
26090 (save_blocklists): Likewise.
f19dbdb7 26091
9959f7db 26092 * fs/affs.c (grub_affs_read_file): Likewise.
26093
26094 * fs/ext2.c (grub_ext2_read_file): Likewise.
26095
26096 * fs/fat.c (grub_fat_read_data): Likewise.
26097
26098 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
26099
26100 * fs/hfs.c (grub_hfs_read_file): Likewise.
26101
26102 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26103
26104 * fs/jfs.c (grub_jfs_read_file): Likewise.
26105
26106 * fs/minix.c (grub_minix_read_file): Likewise.
26107
26108 * fs/sfs.c (grub_sfs_read_file): Likewise.
26109
26110 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 26111
9959f7db 26112 * fs/xfs.c (grub_xfs_read_file): Likewise.
26113
26114 * command/blocklist.c (read_blocklist): Likewise.
26115 (print_blocklist): Likewise.
26116
0a203f83 261172007-08-02 Marco Gerards <marco@gnu.org>
26118
26119 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
26120 `util/hostfs.c'.
26121
26122 * disk/host.c: New file.
26123
26124 * util/hostfs.c: Likewise.
26125
26126 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
26127 return `GRUB_ERR_BAD_FS'.
26128 * fs/sfs.c (grub_sfs_mount): Likewise.
26129 * fs/xfs.c (grub_xfs_mount): Likewise.
26130
26131 * include/grub/disk.h (enum grub_disk_dev_id): Add
26132 `GRUB_DISK_DEVICE_HOST_ID'.
26133
26134 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
26135
e5dfe777 261362007-07-24 Jerone Young <jerone@gmail.com>
26137
f19dbdb7 26138 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 26139 modules for compilation.
26140 * conf/powerpc-ieee1275.rmk: Likewise.
26141
26142 * include/multiboot.h: Move multiboot definitions to one file. Rename
26143 many definitions to not get grub specific.
26144 * include/multiboot2.h: Create header with multiboot 2 definitions.
26145 * include/grub/multiboot.h: Header for grub specific function
26146 prototypes and definitions.
26147 * include/grub/multiboot2.h: Likewise.
26148 * include/grub/multiboot_loader.h: Likewise.
26149 * include/grub/i386/pc/multiboot.h: Removed.
26150 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
26151
26152 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
26153 and 2 to allow for one multiboot and module commands.
26154 * loader/multiboot2.c: Add multiboot2 functionality.
26155 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
26156 and definition names.
26157 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
26158 2 functions.
26159 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
26160 ieee1275 specific multiboot2 code.
26161
26162 * kern/i386/pc/startup.S: Change headers and definition names for
26163 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
26164
daf0f0ba 261652007-07-22 Robert Millan <rmh@aybabtu.com>
26166
26167 * geninitheader.sh: Process file specified in first parameter rather
26168 than hardcoding grub_modules_init.lst.
fe6b695a 26169 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 26170 than hardcoding grub_modules_init.h.
26171
26172 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
26173 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
26174 grub_probe_init.[ch] and grub_setup_init.[ch].
26175
26176 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
26177 grub_modules_init.h with grub_emu_init.h.
26178 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
26179 grub_probe_init.[ch] files.
26180 * conf/i386-efi.rmk: Likewise.
26181 * conf/i386-pc.rmk: Likewise.
26182 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
26183 grub_setup_init.[ch] files.
26184
26185 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
26186 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
26187 to initialize modules rather than a list of hardcoded functions.
26188 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
26189 grub_init_all() to initialize modules rather than a list of hardcoded
26190 functions.
26191
54cdc1cc 261922007-07-22 Robert Millan <rmh@aybabtu.com>
26193
26194 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26195 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
26196
ad0686cc 261972007-07-22 Robert Millan <rmh@aybabtu.com>
26198
26199 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26200 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
26201 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
26202 flag when running on SmartFirmware.
26203 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
26204 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
26205 was set.
26206
26207 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26208 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
26209 rather than decreasing it.
26210
26211 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
26212 there's not enough space to do it, fail in the same way as when it
26213 can't be done because there are no partitions.
26214
26215 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
26216 when nvsetenv failed.
26217
969c02ec 262182007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26219
26220 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26221 because this rule is automatically generated.
26222 (grub-mkrescue): Removed for the same reason as above.
26223
5a79f472 262242007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26225
26226 Migrate to GNU General Public License Version 3.
f19dbdb7 26227
5a79f472 26228 * COPYING: Replaced with the plain text version of GPLv3.
26229
26230 * config.guess: Updated from gnulib.
26231 * config.sub: Likewise.
26232
26233 * geninit.sh: Output a GPLv3 copyright notice.
26234 * geninitheader.sh: Likewise.
26235 * genmodsrc.sh: Likewise.
26236 * gensymlist.sh.in: Likewise.
26237
26238 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26239 * boot/i386/pc/diskboot.S: Likewise.
26240 * boot/i386/pc/pxeboot.S: Likewise.
26241 * commands/blocklist.c: Likewise.
26242 * commands/boot.c: Likewise.
26243 * commands/cat.c: Likewise.
26244 * commands/cmp.c: Likewise.
26245 * commands/configfile.c: Likewise.
26246 * commands/echo.c: Likewise.
26247 * commands/help.c: Likewise.
26248 * commands/ls.c: Likewise.
26249 * commands/search.c: Likewise.
26250 * commands/terminal.c: Likewise.
26251 * commands/test.c: Likewise.
26252 * commands/videotest.c: Likewise.
26253 * commands/i386/cpuid.c: Likewise.
26254 * commands/i386/pc/halt.c: Likewise.
26255 * commands/i386/pc/play.c: Likewise.
26256 * commands/i386/pc/reboot.c: Likewise.
26257 * commands/i386/pc/vbeinfo.c: Likewise.
26258 * commands/i386/pc/vbetest.c: Likewise.
26259 * commands/ieee1275/halt.c: Likewise.
26260 * commands/ieee1275/reboot.c: Likewise.
26261 * commands/ieee1275/suspend.c: Likewise.
26262 * disk/loopback.c: Likewise.
26263 * disk/lvm.c: Likewise.
26264 * disk/raid.c: Likewise.
26265 * disk/efi/efidisk.c: Likewise.
26266 * disk/i386/pc/biosdisk.c: Likewise.
26267 * disk/ieee1275/ofdisk.c: Likewise.
26268 * font/manager.c: Likewise.
26269 * fs/affs.c: Likewise.
26270 * fs/ext2.c: Likewise.
26271 * fs/fat.c: Likewise.
26272 * fs/fshelp.c: Likewise.
26273 * fs/hfs.c: Likewise.
26274 * fs/hfsplus.c: Likewise.
26275 * fs/iso9660.c: Likewise.
26276 * fs/jfs.c: Likewise.
26277 * fs/minix.c: Likewise.
26278 * fs/sfs.c: Likewise.
26279 * fs/ufs.c: Likewise.
26280 * fs/xfs.c: Likewise.
26281 * hello/hello.c: Likewise.
26282 * include/grub/acorn_filecore.h: Likewise.
26283 * include/grub/arg.h: Likewise.
26284 * include/grub/bitmap.h: Likewise.
26285 * include/grub/boot.h: Likewise.
26286 * include/grub/cache.h: Likewise.
26287 * include/grub/device.h: Likewise.
26288 * include/grub/disk.h: Likewise.
26289 * include/grub/dl.h: Likewise.
26290 * include/grub/elfload.h: Likewise.
26291 * include/grub/env.h: Likewise.
26292 * include/grub/err.h: Likewise.
26293 * include/grub/file.h: Likewise.
26294 * include/grub/font.h: Likewise.
26295 * include/grub/fs.h: Likewise.
26296 * include/grub/fshelp.h: Likewise.
26297 * include/grub/gzio.h: Likewise.
26298 * include/grub/hfs.h: Likewise.
26299 * include/grub/kernel.h: Likewise.
26300 * include/grub/loader.h: Likewise.
26301 * include/grub/lvm.h: Likewise.
26302 * include/grub/misc.h: Likewise.
26303 * include/grub/mm.h: Likewise.
26304 * include/grub/net.h: Likewise.
26305 * include/grub/normal.h: Likewise.
26306 * include/grub/parser.h: Likewise.
26307 * include/grub/partition.h: Likewise.
26308 * include/grub/pc_partition.h: Likewise.
26309 * include/grub/raid.h: Likewise.
26310 * include/grub/rescue.h: Likewise.
26311 * include/grub/script.h: Likewise.
26312 * include/grub/setjmp.h: Likewise.
26313 * include/grub/symbol.h: Likewise.
26314 * include/grub/term.h: Likewise.
26315 * include/grub/terminfo.h: Likewise.
26316 * include/grub/tparm.h: Likewise.
26317 * include/grub/types.h: Likewise.
26318 * include/grub/video.h: Likewise.
26319 * include/grub/efi/api.h: Likewise.
26320 * include/grub/efi/chainloader.h: Likewise.
26321 * include/grub/efi/console.h: Likewise.
26322 * include/grub/efi/console_control.h: Likewise.
26323 * include/grub/efi/disk.h: Likewise.
26324 * include/grub/efi/efi.h: Likewise.
26325 * include/grub/efi/pe32.h: Likewise.
26326 * include/grub/efi/time.h: Likewise.
26327 * include/grub/i386/linux.h: Likewise.
26328 * include/grub/i386/setjmp.h: Likewise.
26329 * include/grub/i386/types.h: Likewise.
26330 * include/grub/i386/efi/kernel.h: Likewise.
26331 * include/grub/i386/efi/loader.h: Likewise.
26332 * include/grub/i386/efi/time.h: Likewise.
26333 * include/grub/i386/pc/biosdisk.h: Likewise.
26334 * include/grub/i386/pc/boot.h: Likewise.
26335 * include/grub/i386/pc/chainloader.h: Likewise.
26336 * include/grub/i386/pc/console.h: Likewise.
26337 * include/grub/i386/pc/init.h: Likewise.
26338 * include/grub/i386/pc/kernel.h: Likewise.
26339 * include/grub/i386/pc/loader.h: Likewise.
26340 * include/grub/i386/pc/memory.h: Likewise.
26341 * include/grub/i386/pc/multiboot.h: Likewise.
26342 * include/grub/i386/pc/serial.h: Likewise.
26343 * include/grub/i386/pc/time.h: Likewise.
26344 * include/grub/i386/pc/vbe.h: Likewise.
26345 * include/grub/i386/pc/vbeblit.h: Likewise.
26346 * include/grub/i386/pc/vbefill.h: Likewise.
26347 * include/grub/i386/pc/vbeutil.h: Likewise.
26348 * include/grub/i386/pc/vga.h: Likewise.
26349 * include/grub/ieee1275/ieee1275.h: Likewise.
26350 * include/grub/ieee1275/ofdisk.h: Likewise.
26351 * include/grub/powerpc/libgcc.h: Likewise.
26352 * include/grub/powerpc/setjmp.h: Likewise.
26353 * include/grub/powerpc/types.h: Likewise.
26354 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26355 * include/grub/powerpc/ieee1275/console.h: Likewise.
26356 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26357 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26358 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26359 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26360 * include/grub/powerpc/ieee1275/time.h: Likewise.
26361 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26362 * include/grub/sparc64/libgcc.h: Likewise.
26363 * include/grub/sparc64/setjmp.h: Likewise.
26364 * include/grub/sparc64/types.h: Likewise.
26365 * include/grub/sparc64/ieee1275/console.h: Likewise.
26366 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26367 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26368 * include/grub/sparc64/ieee1275/time.h: Likewise.
26369 * include/grub/util/biosdisk.h: Likewise.
26370 * include/grub/util/getroot.h: Likewise.
26371 * include/grub/util/lvm.h: Likewise.
26372 * include/grub/util/misc.h: Likewise.
26373 * include/grub/util/raid.h: Likewise.
26374 * include/grub/util/resolve.h: Likewise.
26375 * io/gzio.c: Likewise.
26376 * kern/device.c: Likewise.
26377 * kern/disk.c: Likewise.
26378 * kern/dl.c: Likewise.
26379 * kern/elf.c: Likewise.
26380 * kern/env.c: Likewise.
26381 * kern/err.c: Likewise.
26382 * kern/file.c: Likewise.
26383 * kern/fs.c: Likewise.
26384 * kern/loader.c: Likewise.
26385 * kern/main.c: Likewise.
26386 * kern/misc.c: Likewise.
26387 * kern/mm.c: Likewise.
26388 * kern/parser.c: Likewise.
26389 * kern/partition.c: Likewise.
26390 * kern/rescue.c: Likewise.
26391 * kern/term.c: Likewise.
26392 * kern/efi/efi.c: Likewise.
26393 * kern/efi/init.c: Likewise.
26394 * kern/efi/mm.c: Likewise.
26395 * kern/i386/dl.c: Likewise.
26396 * kern/i386/efi/init.c: Likewise.
26397 * kern/i386/efi/startup.S: Likewise.
26398 * kern/i386/pc/init.c: Likewise.
26399 * kern/i386/pc/lzo1x.S: Likewise.
26400 * kern/i386/pc/startup.S: Likewise.
26401 * kern/ieee1275/ieee1275.c: Likewise.
26402 * kern/powerpc/cache.S: Likewise.
26403 * kern/powerpc/dl.c: Likewise.
26404 * kern/powerpc/ieee1275/cmain.c: Likewise.
26405 * kern/powerpc/ieee1275/crt0.S: Likewise.
26406 * kern/powerpc/ieee1275/init.c: Likewise.
26407 * kern/powerpc/ieee1275/openfw.c: Likewise.
26408 * kern/sparc64/cache.S: Likewise.
26409 * kern/sparc64/dl.c: Likewise.
26410 * kern/sparc64/ieee1275/init.c: Likewise.
26411 * kern/sparc64/ieee1275/openfw.c: Likewise.
26412 * loader/efi/chainloader.c: Likewise.
26413 * loader/efi/chainloader_normal.c: Likewise.
26414 * loader/i386/efi/linux.c: Likewise.
26415 * loader/i386/efi/linux_normal.c: Likewise.
26416 * loader/i386/pc/chainloader.c: Likewise.
26417 * loader/i386/pc/chainloader_normal.c: Likewise.
26418 * loader/i386/pc/linux.c: Likewise.
26419 * loader/i386/pc/linux_normal.c: Likewise.
26420 * loader/i386/pc/multiboot.c: Likewise.
26421 * loader/i386/pc/multiboot_normal.c: Likewise.
26422 * loader/powerpc/ieee1275/linux.c: Likewise.
26423 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26424 * normal/arg.c: Likewise.
26425 * normal/cmdline.c: Likewise.
26426 * normal/command.c: Likewise.
26427 * normal/completion.c: Likewise.
26428 * normal/execute.c: Likewise.
26429 * normal/function.c: Likewise.
26430 * normal/lexer.c: Likewise.
26431 * normal/main.c: Likewise.
26432 * normal/menu.c: Likewise.
26433 * normal/menu_entry.c: Likewise.
26434 * normal/misc.c: Likewise.
26435 * normal/parser.y: Likewise.
26436 * normal/script.c: Likewise.
26437 * normal/i386/setjmp.S: Likewise.
26438 * normal/powerpc/setjmp.S: Likewise.
26439 * normal/sparc64/setjmp.S: Likewise.
26440 * partmap/acorn.c: Likewise.
26441 * partmap/amiga.c: Likewise.
26442 * partmap/apple.c: Likewise.
26443 * partmap/gpt.c: Likewise.
26444 * partmap/pc.c: Likewise.
26445 * partmap/sun.c: Likewise.
26446 * term/gfxterm.c: Likewise.
26447 * term/terminfo.c: Likewise.
26448 * term/efi/console.c: Likewise.
26449 * term/i386/pc/console.c: Likewise.
26450 * term/i386/pc/serial.c: Likewise.
26451 * term/i386/pc/vesafb.c: Likewise.
26452 * term/i386/pc/vga.c: Likewise.
26453 * term/ieee1275/ofconsole.c: Likewise.
26454 * util/biosdisk.c: Likewise.
26455 * util/console.c: Likewise.
26456 * util/genmoddep.c: Likewise.
26457 * util/getroot.c: Likewise.
26458 * util/grub-emu.c: Likewise.
26459 * util/grub-mkdevicemap.c: Likewise.
26460 * util/grub-probe.c: Likewise.
26461 * util/lvm.c: Likewise.
26462 * util/misc.c: Likewise.
26463 * util/raid.c: Likewise.
26464 * util/resolve.c: Likewise.
26465 * util/update-grub.in: Likewise.
26466 * util/update-grub_lib.in: Likewise.
26467 * util/grub.d/00_header.in: Likewise.
26468 * util/grub.d/10_hurd.in: Likewise.
26469 * util/grub.d/10_linux.in: Likewise.
26470 * util/i386/efi/grub-install.in: Likewise.
26471 * util/i386/efi/grub-mkimage.c: Likewise.
26472 * util/i386/pc/grub-install.in: Likewise.
26473 * util/i386/pc/grub-mkimage.c: Likewise.
26474 * util/i386/pc/grub-mkrescue.in: Likewise.
26475 * util/i386/pc/grub-setup.c: Likewise.
26476 * util/i386/pc/misc.c: Likewise.
26477 * util/powerpc/ieee1275/grub-install.in: Likewise.
26478 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
26479 * util/powerpc/ieee1275/misc.c: Likewise.
26480 * video/bitmap.c: Likewise.
26481 * video/video.c: Likewise.
26482 * video/i386/pc/vbe.c: Likewise.
26483 * video/i386/pc/vbeblit.c: Likewise.
26484 * video/i386/pc/vbefill.c: Likewise.
26485 * video/i386/pc/vbeutil.c: Likewise.
26486 * video/readers/tga.c: Likewise.
26487
3572d015 264882007-07-02 Robert Millan <rmh@aybabtu.com>
26489
26490 * conf/i386-efi.rmk: Replace obsolete reference to
26491 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
26492 with util/getroot.c.
26493 * conf/powerpc-ieee1275.rmk: Likewise.
26494 * conf/sparc64-ieee1275.rmk: Likewise.
26495
26496 * util/grub-emu.c (main): Fix unchecked pointer handling.
26497
2c2a681b 264982007-07-02 Robert Millan <rmh@aybabtu.com>
26499
26500 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
26501 invocation to fail, in order to support partition-less media.
26502
26503 * util/i386/pc/grub-install.in: Likewise.
26504
26505 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
26506 which fs or partmap modules are needed (akin to its sister scripts).
26507
26508 Also use grub-probe to get rid of unportable /proc/mounts check.
26509
26510 Print the same informational message that the other scripts do, before
fe6b695a 26511 exiting.
2c2a681b 26512
6193defe 265132007-06-23 Robert Millan <rmh@aybabtu.com>
26514
fe6b695a 26515 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 26516 a font file can be found and, if so, echo the GRUB path to it.
26517
26518 * util/update-grub.in: Handle multiple terminals depending on user
26519 input, platform availability and font file presence. Propagate
26520 variables of our findings to /etc/grub.d/ children.
26521
26522 * util/grub.d/00_header.in: Handle multiple terminals, based on
26523 environment setup by update-grub.
26524
eface1dc 265252007-06-23 Robert Millan <rmh@aybabtu.com>
26526
ba50d28f 26527 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26528
bf697e28 265292007-06-21 Robert Millan <rmh@aybabtu.com>
26530
26531 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26532 indicate end of data section in kernel image.
26533 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26534 GRUB_KERNEL_MACHINE_DATA_END.
26535
26536 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26537 space for it.
26538 * kern/i386/efi/startup.S: Likewise.
26539
26540 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26541 during image generation. Implement --prefix option to override this
26542 patch.
26543 * util/i386/efi/grub-mkimage.c: Likewise.
26544
26545 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26546 code to make path relative to its root into a separate function.
26547
26548 * util/i386/pc/grub-install.in: Use newly provided
26549 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26550 pass the result to grub-install --prefix.
26551
baa574b4 265522007-06-13 Robert Millan <rmh@aybabtu.com>
26553
26554 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26555 DEFAULT_DEVICE_MAP.
26556 * util/grub-emu.c: Use above definitions from misc.h instead of
26557 defining them.
26558 * util/grub-mkdevicemap.c: Likewise.
26559 * util/i386/pc/grub-setup.c: Likewise.
26560 * util/grub-probe.c: Likewise.
26561 (probe): Abort with grub_util_error() when either
26562 grub_guess_root_device or grub_util_get_grub_dev fails.
26563
0215dcbf 265642007-06-12 Robert Millan <rmh@aybabtu.com>
26565
26566 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26567 "pager" assignment.
26568 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26569 "pcdata".
26570 * util/grub-probe.c (probe): Likewise for "drive_name".
26571
8af2ab7b 265722007-06-11 Robert Millan <rmh@aybabtu.com>
26573
26574 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26575 not just the cdrom one.
26576
59d31694 265772007-06-11 Robert Millan <rmh@aybabtu.com>
26578
26579 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26580 Add --pkglibdir=DIR option to override pkglibdir.
26581 Mention --image-type=TYPE in help output.
26582 Fix --grub-mkimage (it was a no-op).
fe6b695a 26583 Abort gracefully when no parameter is given.
59d31694 26584
7ee367e4 265852007-06-11 Robert Millan <rmh@aybabtu.com>
26586
26587 * util/i386/pc/grub-mkrescue.in: New file.
26588 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26589 * Makefile.in: Handle bin_SCRIPTS.
26590
29b0ed46 265912007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26592
26593 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26594 list of video modes.
26595
c0f90770 265962007-06-06 Robert Millan <rmh@aybabtu.com>
26597
26598 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26599 file doesn't exist, or if it is in a filesystem grub can't read.
26600
26601 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26602 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26603 header comment to fit in 80 columns when the variables are resolved.
26604
26605 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26606 could be identified by update-grub. Remove redundant check for
fe6b695a 26607 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26608 handles that).
26609
fb36dc26 266102007-06-04 Robert Millan <rmh@aybabtu.com>
26611
26612 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26613
26614 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26615
26616 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26617
0c68c93e 266182007-06-04 Robert Millan <rmh@aybabtu.com>
26619
26620 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26621
26622 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26623 grub_apple_partition_map_fini.
26624
26625 * util/biosdisk.c
26626 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26627 to access >2 TiB disks).
26628
26629 Print disk->total_sectors with %llu instead of %lu, since this
26630 variable is always 64-bit (prevents wrong disk size from being displayed
26631 on either >2 TiB disk or big-endian CPU).
26632
26633 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26634 into a generic case that supports all (sane) partition maps.
26635
26636 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26637 breaks big-endian.
26638
26639 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26640 and grub_apple_partition_map_fini() after that.
26641
0f23eb74 266422007-06-01 Robert Millan <rmh@aybabtu.com>
26643
26644 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26645
26646 * util/grub.d/00_header.in: Only enable gfxterm when
26647 convert_system_path_to_grub_path() succeeds.
26648
42c71976 266492007-05-20 Robert Millan <rmh@aybabtu.com>
26650
26651 * util/update-grub_lib.in: New file.
26652 * DISTLIST: Add update-grub_lib.in.
26653 * conf/common.rmk: Generate update-grub_lib and install it in
26654 $(lib_DATA).
26655 * Makefile.in: Add install routine for $(lib_DATA).
26656
26657 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26658 function provided by update-grub_lib to support arbitrary paths of
26659 unifont.pff.
26660 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26661 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26662
5beb2291 266632007-05-19 Robert Millan <rmh@aybabtu.com>
26664
26665 * commands/i386/cpuid.c: New module.
26666 * DISTLIST: Add it.
26667 * conf/i386-efi.rmk: Enable cpuid.mod.
26668 * conf/i386-pc.rmk: Likewise.
26669
7262eca1 266702007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26671
26672 * kern/disk.c (grub_disk_read): Check return value of
26673 grub_realloc().
26674
260ba823 266752007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26676
26677 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26678 arrays.
26679 * disk/raid.c (grub_raid_open): Likewise.
26680
1ecb6cf2 266812007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26682
26683 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26684 stack instead of on the heap.
26685
26686 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26687 before doing a read on it.
26688
26689 * configure.ac: Only use -fno-stack-protector for the target
26690 environment.
f19dbdb7 26691
21c8cbb1 266922007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26693
26694 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26695 __attribute_ ((unused)) to mode_type argument.
26696
26697 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26698
21c8cbb1 26699 * kern/misc.c (memcmp): Fix prototype.
26700
26701 * include/grub/partition.h [GRUB_UTIL]
26702 (grub_gpt_partition_map_init): Add prototype.
26703 (grub_gpt_partition_map_fini): Likewise.
26704
26705 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26706 at the right place.
26707
26708 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26709 (grub_fat_read_data): Likewise.
26710 (grub_fat_find_dir): Likewise.
26711
26712 * font/manager.c (find_glyph): Make table a const.
26713 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26714
849d55d3 267152007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26716
26717 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26718 code, first search for device in /dev/mapper, then in /dev.
26719 (grub_util_get_grub_dev): New function.
26720 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26721 prototype.
26722 * util/grub-probe.c (probe): Remove check for RAID, call
26723 grub_util_get_grub_dev() instead of
26724 grub_util_biosdisk_get_grub_dev().
26725 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26726 grub_util_biosdisk_get_grub_dev().
26727 * util/i386/pc/grub-setup.c (main): Likewise.
26728
8fff7c2f 267292007-05-16 Robert Millan <rmh@aybabtu.com>
26730
26731 * DISTLIST: Update for the latest changes.
26732 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26733 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26734 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26735 grub/util/biosdisk.h.
26736 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26737 grub/util/biosdisk.h.
26738
48e12b52 267392007-05-16 Robert Millan <rmh@aybabtu.com>
26740
26741 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26742
46b9d128 267432007-05-16 Robert Millan <rmh@aybabtu.com>
26744
26745 * util/i386/efi/grub-install.in: New.
26746 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26747 newly added grub-install.
26748 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26749 include.
26750 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26751 grub/util/biosdisk.h.
26752 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26753 grub/util/biosdisk.h.
26754
2d1a40a9 267552007-05-16 Robert Millan <rmh@aybabtu.com>
26756
26757 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26758 * include/grub/util/biosdisk.h: ... here.
26759 * util/i386/pc/biosdisk.c: Moved to ...
26760 * util/biosdisk.c: ... here.
26761 * util/i386/pc/getroot.c: Moved to ...
26762 * util/getroot.c: ... here.
26763 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26764 * util/grub-mkdevicemap.c: ... here.
26765 * util/i386/pc/grub-probe.c: Moved to ...
26766 * util/grub-probe.c: ... here.
26767
9e26e3bc 267682007-05-15 Robert Millan <rmh@aybabtu.com>
26769
26770 * util/update-grub.in: Remove duplicated line in grub.cfg header
26771 message.
26772
57f96397 267732007-05-13 Robert Millan <rmh@aybabtu.com>
26774
26775 * util/update-grub.in: Fix a few assumptions about the devices holding
26776 /, /boot and /boot/grub being the same.
26777 * util/grub.d/00_header.in: Likewise.
26778 * util/grub.d/10_hurd.in: Likewise.
26779 * util/grub.d/10_linux.in: Likewise.
26780
26781 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26782 patterns. Use that to define the `.old' suffix as older than `'.
26783
26784 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26785
26786 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26787 the grub.cfg header message.
26788
2e610d62 267892007-05-11 Robert Millan <rmh@aybabtu.com>
26790
26791 * util/update-grub.in: Create device.map if it doesn't already exist,
26792 before attempting to run grub-probe.
26793 Check for grub-probe and grub-mkdevicemap with the same code
26794 grub-install is using.
26795 Remove test mode.
26796
3f6a10ef 267972007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26798
26799 * Makefile.in: Add the datarootdir autoconf variable.
26800
02e7b75e 268012007-05-09 Robert Millan <rmh@aybabtu.com>
26802
26803 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26804 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26805
75f396cc 268062007-05-07 Robert Millan <rmh@aybabtu.com>
26807
26808 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26809 determine partition map module.
26810 * util/i386/pc/grub-install.in: Use this feature to decide which
26811 partition module to load, instead of hardcoding pc and gpt.
26812
da65cb36 268132007-05-07 Robert Millan <rmh@aybabtu.com>
26814
26815 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26816 source directory differs from build directory.
26817
b57d6a91 268182007-05-05 Robert Millan <rmh@aybabtu.com>
26819
26820 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26821 initialisation.
26822
509d00f1 268232007-05-05 Robert Millan <rmh@aybabtu.com>
26824
26825 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26826
c48f23ef 268272007-05-05 Robert Millan <rmh@aybabtu.com>
26828
26829 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26830 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26831
20b97658 268322007-05-05 Robert Millan <rmh@aybabtu.com>
26833
26834 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26835 (grub_probe_SOURCES): Likewise.
26836 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26837 GPT and initialize dos_part and bsd_part accordingly.
26838 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26839 install_bsd_part.
26840 (main): Activate gpt module for use during partition identification,
26841 and deactivate it afterwards.
26842 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26843 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26844 partition identification, and deactivate it afterwards.
26845
99123174 268462007-05-05 Robert Millan <rmh@aybabtu.com>
26847
26848 * term/i386/pc/console.c (grub_console_fini): Call
26849 grub_term_set_current() before grub_term_unregister().
26850
ebd97f6e 268512007-05-04 Robert Millan <rmh@aybabtu.com>
26852
26853 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26854 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26855 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26856 and update-grub_DATA.
26857 * conf/common.rmk: Build and install update-grub components.
26858 * conf/common.mk: Regenerate.
26859 * util/update-grub.in: New. Core of update-grub.
26860 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26861 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26862 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26863 * util/grub.d/README: New. Document grub.d directory layout.
26864
b06a264d 268652007-05-01 Robert Millan <rmh@aybabtu.com>
26866
26867 * util/grub-emu.c: Move initialization functions
26868 grub_util_biosdisk_init() and grub_init_all() before
26869 grub_util_biosdisk_get_grub_dev(), which relies on them.
26870
41f0050e 268712007-04-19 Robert Millan <rmh@aybabtu.com>
26872
26873 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26874 it is used later.
26875
04582bb3 268762007-04-18 Jerone Young <jerone@gmail.com>
26877
f19dbdb7 26878 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26879 stanza.
26880
08db4632 268812007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26882
08db4632 26883 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26884 continue on and look for device node with real device name.
26885
801b76be 268862007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26887
fe6b695a 26888 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26889 ability.
26890 * Makefile.in: Add autoconf package transformation code.
26891 * util/i386/pc/grub-install.in: Likewise.
26892 * util/powerpc/ieee1275/grub-install.in: Likewise.
26893
6795c4e1 268942007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26895
26896 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26897 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26898 (EXT2_REVISION): Likewise.
26899 (EXT2_INODE_SIZE): Likewise.
26900 (struct grub_ext2_block_group): Added a missing member
26901 "used_dirs".
26902 (grub_ext2_read_inode): Divide by the inode size in a superblock
26903 instead of 128 to obtain INODES_PER_BLOCK.
26904 Use the macro EXT2_INODE_SIZE instead of directly using
26905 SBLOCK->INODE_SIZE.
26906
d70af616 269072007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26908
26909 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26910 superblock instead of the structure size to compute an
26911 offset. This fixes the problem that GRUB could not read a
26912 filesystem when inode size is different from 128-byte.
26913
3b801603 269142007-03-05 Marco Gerards <marco@gnu.org>
26915
26916 * normal/main.c (read_config_file): When "menu" is not set, create
26917 an initial context.
26918
4785bfe4 269192007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26920
26921 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26922 (HEAP_LIMIT): New macro.
26923 (grub_claim_heap): Claim memory up to `heaplimit'.
26924
a0cbb023 269252007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26926
26927 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26928 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26929 (_start): Likewise.
26930 (grub_arch_modules_addr): Return address after `_end'.
26931 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26932 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26933 (add_segments): Calculate `_end' from phdr size and location.
26934 (ALIGN_UP): Moved to ...
26935 * include/grub/misc.h: here.
26936 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26937 New macro.
26938 (GRUB_IEEE1275_MODULE_BASE): Removed.
26939
fd7d8eba 269402007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26941
26942 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26943 loop boundary.
26944
9b09e6fc 269452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26946
26947 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26948 All users updated.
26949 (grub_elf64_load_hook_t): Likewise.
26950 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26951 debug output.
26952
3ce27299 269532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26954
26955 * kern/mm.c: Update copyright.
26956 (grub_mm_debug): Correct syntax error.
26957 (grub_mm_dump_free): New function.
26958 (grub_debug_free): Call `grub_free'.
26959 * include/grub/mm.h: Update copyright.
26960 (grub_mm_dump_free): Add declaration.
26961
077d5fee 269622007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26963
26964 * include/grub/ieee1275/ieee1275.h: Update copyright.
26965 * kern/powerpc/ieee1275/init.c: Likewise.
26966 * kern/powerpc/ieee1275/openfw.c: Likewise.
26967
26968 * loader/powerpc/ieee1275/linux.c: Likewise.
26969 * include/grub/elfload.h: Likewise.
26970 * kern/elf.c: Likewise.
26971 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26972 callers.
26973 (grub_elf64_load): Likewise.
26974 (grub_elf32_load_segment): Move to a nested function.
26975 (grub_elf64_load_segment): Likewise.
26976
dc946850 269772007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26978
26979 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26980 prototype.
26981 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26982 (grub_heap_len): Likewise.
26983 (HEAP_SIZE): New macro.
26984 (grub_claim_heap): New function.
26985 (grub_machine_init): Don't claim heap directly. Call
26986 `grub_claim_heap'.
26987 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26988 (grub_available_iterate): New function.
26989
baa2a121 269902007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26991
26992 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26993 * configure.ac: Use it for testing the HOST and TARGET compilers.
26994
4fe9862e 269952006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26996
26997 * Makefile.in (enable_grub_emu): New variable.
26998 * configure.ac (--enable-grub-emu): New option.
26999 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27000 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27001 * conf/i386-pc.rmk: Likewise.
27002 * conf/powerpc-ieee1275.rmk: Likewise.
27003 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27004
a8aa5762 270052006-12-12 Marco Gerards <marco@gnu.org>
27006
27007 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27008
27009 * kern/env.c (grub_env_unset): Don't free the member `value' when
27010 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27011 pointer.
27012
27013 * normal/main.c (current_menu): Removed.
27014 (free_menu): Unset the `menu' environment variable.
27015 (grub_normal_menu_addentry): Make use of the environment variable
27016 `menu', instead of using the global `current_menu'. Allocate
27017 memory for the sourcecode of this entry.
27018 (read_config_file): New argument `nested', changed all callers.
27019 Only in the case of a new context, initialize a new menu. Set the
27020 `menu' environment variable.
27021 (grub_normal_execute): Don't set and unset the environment
27022 variable `menu' here anymore. Only free the menu when leaving the
27023 context.
27024
27025 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27026 leak.
27027
957b3a3e 270282006-12-11 Marco Gerards <marco@gnu.org>
27029
27030 * normal/menu_entry.c (run): Fix off by one bug so the last line
27031 is executed. Move the loader check to outside the loop.
27032
ef875714 270332006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27034
27035 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27036
4e739985 270372006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27038
27039 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27040 the number of sectors. Reported by Andrey Shuvikov
27041 <mr_hyro@yahoo.com>.
f19dbdb7 27042
790707f2 270432006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27044
27045 * kern/disk.c (grub_disk_read): When there is a read error, always
27046 try to read only the necessary data.
f19dbdb7 27047
790707f2 27048 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27049 disk/raid.c.
27050 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27051 prototype.
27052 [GRUB_UTIL] (grub_raid_fini): Likewise.
27053 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 27054 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 27055 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27056 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27057 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27058 and grub_raid_fini().
f19dbdb7 27059
03e58196 270602006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27061
27062 * include/grub/types.h (__unused): Rename to UNUSED.
27063 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27064 (grub_elf64_size): Likewise.
f19dbdb7 27065
ae4f23bf 270662006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27067
27068 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27069 grub_error_push and grub_error_pop in the error-handling path.
27070 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27071 length.
27072
2166cc83 270732006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27074
27075 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27076 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27078 (kernel_elf_SOURCES): Likewise.
27079 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27080 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27081 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27082 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27083 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27084 (elf_mod_SOURCES): New variable.
27085 (elf_mod_CFLAGS): Likewise.
27086 (elf_mod_LDFLAGS): Likewise.
27087 * include/grub/types.h (__unused): New macro.
27088 * include/grub/elfload.h: New file.
27089 * kern/elf.c: Likewise.
27090 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
27091 (ELF32_LOADMASK): New macro.
27092 (ELF64_LOADMASK): Likewise.
27093 (vmlinux): Removed.
27094 (grub_linux_load32): New function.
27095 (grub_linux_load64): Likewise.
27096 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
27097 Use grub_elf_t instead of grub_file_t.
27098
a09d5aa5 270992006-11-02 Hollis Blanchard <hollis@penguinppc.org>
27100
27101 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
27102 `catch_result' to struct set_color_args.
27103
d976fc51 271042006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27105
27106 * normal/menu.c: Include grub/script.h.
27107 * normal/menu_entry.c: Likewise.
27108 * include/grub/normal.h: Do not include grub/script.h.
27109
67507549 271102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27111
27112 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
27113
69203a99 271142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27115
27116 * kern/disk.c (grub_disk_open): Print debug messages when opening a
27117 disk.
27118 (grub_disk_close): Print debug messages when closing a disk.
27119 (grub_disk_read): Print debug messages when disk read fails.
27120 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
27121 filesystem type.
27122 * kern/partition.c: Include misc.h.
27123 (grub_partition_iterate): Print debug messages when detecting
27124 partition type.
27125
e2b8278c 271262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27127
27128 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
27129 is negative.
27130 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
27131
97b2f2ff 271322006-10-26 Hollis Blanchard <hollis@penguinppc.org>
27133
27134 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27135 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
27136
6555d655 271372006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
27138
27139 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
27140 instead of sizeof(lv). Patch by Michael Guntsche.
27141
4d42b77f 271422006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
27143
27144 * disk/lvm.c: Rename VGS to VG_LIST.
27145 (grub_lvm_iterate): Change VGS->LV to VG-LV.
27146 (grub_lvm_open): Likewise.
27147 Thanks to Michael Guntsche for finding this bug.
27148
5d74d927 271492006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27150
27151 * configure.ac (AC_INIT): Bumped to 1.95.
27152
a1bb27e4 271532006-10-14 Robert Millan <rmh@aybabtu.com>
27154
27155 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
27156 with "/dev/.static/dev/md".
27157
e0994b8b 271582006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27159
27160 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
27161 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
27162 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
27163 DRIVE_NAME are always freed.
27164
27165 * util/i386/pc/biosdisk.c (make_device_name): Add one into
27166 DOS_PART, as a DOS partition is counted from one instead of zero
27167 now. Reported by Robert Millan.
27168
ddd5cee9 271692006-10-14 Robert Millan <rmh@aybabtu.com>
27170
27171 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
27172 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
27173 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
27174 string returned by grub_guess_root_device.
27175 * util/i386/pc/grub-setup.c: Likewise.
27176 * util/i386/pc/grub-probefs.c: Likewise.
27177
27178 * util/i386/pc/grub-probefs.c: Rename to ...
27179 * util/i386/pc/grub-probe.c: ... this.
27180 * DISTLIST: Remove grub-probefs, add grub-probe.
27181 * conf/i386-efi.rmk: Likewise.
27182 * conf/i386-pc.rmk: Likewise.
27183 * util/i386/pc/grub-install.in: Likewise.
27184
27185 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
27186 choose which information we want to print.
27187
2b002173 271882006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27189
27190 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
27191 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
27192 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
27193 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
27194 video/readers/tga.c and video/i386/pc/vbeutil.c.
27195
271962006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
27197
27198 Added support for RAID and LVM.
f19dbdb7 27199
2b002173 27200 * disk/lvm.c: New file.
27201 * disk/raid.c: Likewise.
27202 * include/grub/lvm.h: Likewise.
f19dbdb7 27203 * include/grub/raid.h: Likewise.
2b002173 27204 * include/grub/util/lvm.h: Likewise.
27205 * include/grub/util/raid.h: Likewise.
27206 * util/lvm.c: Likewise.
27207 * util/raid.c: Likewise.
27208
27209 * include/grub/disk.h (grub_disk_dev_id): Add
27210 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
27211 (grub_disk_get_size): New prototype.
27212 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
27213 returns a partition.
27214 (grub_disk_get_size): New function.
f19dbdb7 27215
2b002173 27216 * kern/i386/pc/init.c (make_install_device): Copy the prefix
27217 verbatim if grub_install_dos_part is -2.
27218
27219 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27220 and LVM devices.
27221
27222 * util/i386/pc/grub-setup.c (setup): New argument
27223 MUST_EMBED. Force embedding of GRUB when the argument is
27224 true. Close FILE before returning.
27225 (main): Add support for RAID and LVM.
f19dbdb7 27226
2b002173 27227 * conf/common.rmk: Add RAID and LVM modules.
27228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27229 util/lvm.c.
27230 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27231
27232 * kern/misc.c (grub_strstr): New function.
27233 * include/grub/misc.h (grub_strstr): New prototype.
27234
050548d0 272352006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27236
27237 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27238
da849d2d 272392006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27240
27241 * kern/misc.c (grub_strtoull): Guess the base only if not
27242 specified.
27243
97b2f2ff 272442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27245
27246 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27247 PowerMac support.
27248
97b2f2ff 272492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27250
27251 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27252
27253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27254 Remove `flags' argument. All callers changed.
27255 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27256 (IEEE1275_IHANDLE_INVALID): New variable.
27257 (IEEE1275_CELL_INVALID): New variable.
27258 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27259 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27260 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27261 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27262 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27263 codes from Open Firmware. All callers updated.
27264 (grub_ieee1275_next_property): Directly return Open Firmware return
27265 code.
27266 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27267 Standardize error checking from `grub_ieee1275_get_property'.
27268 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27269 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27270
97b2f2ff 272712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27272
27273 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27274 `instance_to_package_args' to `instance_to_path_args'.
27275
27276 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27277 `grub_ieee1275_chosen'.
27278
27279 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27280 `grub_ieee1275_interpret'.
27281
97b2f2ff 272822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27283
27284 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27285
97b2f2ff 272862006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27287
27288 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27289 (__cmpdi): Likewise.
27290
27291 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27292 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27293 `grub_ssize_t'.
27294
02bb8acc 27295 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27296
27297 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27298 to type `grub_ssize_t'.
27299 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27300
7f9a8531 273012006-09-22 Marco Gerards <marco@gnu.org>
27302
27303 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27304 newlines.
27305
b5ef1102 273062006-09-22 Marco Gerards <marco@gnu.org>
27307
27308 * commands/echo.c: New file.
27309
27310 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27311
27312 * conf/common.rmk (echo_mod_SOURCES): New variable.
27313 (echo_mod_CFLAGS): Likewise.
27314 (echo_mod_LDFLAGS): Likewise.
27315
2cff3677 273162006-09-22 Marco Gerards <marco@gnu.org>
27317
27318 * normal/main.c (get_line): Malloc memory instead of using
27319 preallocated memory. Removed the arguments `cmdline' and
27320 `max_len'. Updated all callers.
27321
6ba4688b 273222006-09-22 Marco Gerards <marco@gnu.org>
27323
27324 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27325 (normal_mod_DEPENDENCIES): Likewise.
27326
27327 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27328 (normal_mod_DEPENDENCIES): Likewise.
27329
27330 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27331
e02ac02c 273322006-09-22 Johan Rydberg <jrydberg@gnu.org>
27333
27334 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27335 programs.
27336 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27337 (normal_mod_DEPENDENCIES): Likewise.
27338 * conf/i386-pc.mk: Regenerate.
27339 * conf/i386-efi.mk: Likewise
27340 * conf/common.mk: Likewise.
27341 * conf/powerpc-ieee1275.mk: Likewise.
27342 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27343
8d252e44 273442006-09-22 Robert Millan <rmh@aybabtu.com>
27345
27346 Sync with i386 version.
27347 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27348 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27349
209bf7ac 273502006-09-21 Robert Millan <rmh@aybabtu.com>
27351
27352 Import from GRUB Legacy (lib/device.c):
27353 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27354 (init_device_map) [__linux__]: Add support for I2O devices.
27355
6b146090 273562006-09-14 Marco Gerards <marco@gnu.org>
27357
27358 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27359 `-melf_i386'.
27360
e38600a8 273612006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27362
27363 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27364 /boot/grub/*.lst.
78fa1790 27365
2952da5d 27366 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27367
2952da5d 27368 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27369 before adding it to device.map.
27370
01b82a64 273712006-08-15 Johan Rydberg <jrydberg@gnu.org>
27372
fe6b695a 27373 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27374 compiles a file; using the -MD option.
27375 * conf/common.mk: Regenerate.
27376 * conf/i386-pc.mk: Likewise.
27377 * conf/i386-efi.mk: Likewise.
27378 * conf/powerpc-ieee1275.mk: Likewise.
27379 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27380
1064790d 273812006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27382
27383 Move the prototypes of grub_setjmp and grub_longjmp to
27384 cpu/setjmp.h, so that each architecture may specify different
27385 attributes.
f19dbdb7 27386
1064790d 27387 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27388 (grub_longjmp): Likewise.
27389 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27390 (grub_longjmp): Likewise.
27391 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27392 (grub_longjmp): Likewise.
27393
27394 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27395 [!GRUB_UTIL] (grub_longjmp): Removed.
27396
29dda3ed 273972006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27398
27399 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27400 "color!" method does not return any value.
27401
ad2a06ed 274022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27403
27404 * include/grub/bitmap.h: New file.
27405
27406 * include/grub/i386/pc/vbeutil.h: Likewise.
27407
27408 * video/bitmap.c: Likewise.
27409
27410 * video/readers/tga.c: Likewise.
27411
27412 * video/i386/pc/vbeutil.c: Likewise.
27413
27414 * commands/videotest.c: Code cleanup and updated to reflect to new
27415 video API.
27416
27417 * term/gfxterm.c: Likewise.
27418
27419 * video/video.c: Likewise.
27420
27421 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27422 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27423 (bitmap_mod_SOURCES): New entry.
27424 (bitmap_mod_CFLAGS): Likewise.
27425 (bitmap_mod_LDFLAGS): Likewise.
27426 (tga_mod_SOURCES): Likewise.
27427 (tga_mod_CFLAGS): Likewise.
27428 (tga_mod_LDFLAGS): Likewise.
27429
27430 * include/grub/video.h (grub_video_blit_operators): New enum type.
27431 (grub_video_render_target): Changed as forward declaration and moved
27432 actual definition to be video driver specific.
27433 (grub_video_adapter.blit_bitmap): Added blitting operator.
27434 (grub_video_adapter.blit_render_target): Likewise.
27435 (grub_video_blit_bitmap): Likewise.
27436 (grub_video_blit_render_target): Likewise.
27437
27438 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27439 driver specific render target definition.
27440 (grub_video_vbe_map_rgba): Added driver internal helper.
27441 (grub_video_vbe_unmap_color): Updated to use
27442 grub_video_i386_vbeblit_info.
27443 (grub_video_vbe_get_video_ptr): Likewise.
27444
27445 * include/grub/i386/pc/vbeblit.h
27446 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27447 grub_video_i386_vbeblit_info.
27448 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27449 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27450 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27451 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27452 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27453 (grub_video_i386_vbeblit_index_index): Likewise.
27454 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
27455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27456 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27457 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
27458 operator.
27459 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
27460 operator.
27461
27462 * video/i386/pc/vbeblit.c: Updated to reflect changes on
27463 include/grub/i386/pc/vbeblit.h.
27464
27465 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
27466 Updated to use grub_video_i386_vbeblit_info.
27467 (grub_video_i386_vbefill_R8G8B8): Likewise.
27468 (grub_video_i386_vbefill_index): Likewise.
27469 (grub_video_i386_vbefill): Added generic filler.
27470
27471 * video/i386/pc/vbefill.c: Updated to reflect changes on
27472 include/grub/i386/pc/vbefill.h.
27473
27474 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
27475 grub_video_i386_vbeblit_info.
27476 (grub_video_vbe_unmap_color): Likewise.
27477 (grub_video_vbe_blit_glyph): Likewise.
27478 (grub_video_vbe_scroll): Likewise.
27479 (grub_video_vbe_draw_pixel): Removed function.
27480 (grub_video_vbe_get_pixel): Likewise.
27481 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
27482 updated code to use it.
27483 (common_blitter): Added common blitter for render target and bitmap.
27484 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
27485 (grub_video_vbe_blit_render_target): Likewise.
27486
bc8c036d 274872006-07-30 Johan Rydberg <jrydberg@gnu.org>
27488
27489 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
27490 is in text mode if there is no console control protocol instance
27491 available.
27492
684a8eff 274932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27494
27495 * include/grub/video.h: Code cleanup.
27496
27497 * include/grub/i386/pc/vbe.h: Likewise.
27498
27499 * video/i386/pc/vbe.c: Likewise.
27500
27501 * video/i386/pc/vbeblit.c: Likewise.
27502
27503 * video/i386/pc/vbefill.c: Likewise.
27504
27505 * video/video.c: Likewise. Also added more comments.
27506
5915059b 275072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27508
27509 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
27510 (struct grub_biosdisk_dap): Likewise.
27511
27512 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
27513 linkage settings for all functions.
27514
90ce5d56 275152006-07-12 Marco Gerards <marco@gnu.org>
27516
27517 * configure.ac (--enable-mm-debug): Fix typo.
27518
27519 * genkernsyms.sh.in: Use proper quoting for `CC'.
27520
43e7f879 275212006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27522
27523 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27524 (normal_mod_ASFLAGS): Remove "-m32".
27525
4889bdec 275262006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27527
27528 * util/misc.c: Include config.h.
27529 [!HAVE_MEMALIGN]: Do not include malloc.h.
27530 (grub_memalign): Use posix_memalign, if present. Then, use
27531 memalign, if present. Otherwise, emit an error.
27532
27533 * util/grub-emu.c: Do not include malloc.h.
27534
27535 * include/grub/util/misc.h: Include unistd.h. This is required for
27536 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27537 D. Eades III <hde@foobar-qux.org>.
27538
27539 * configure.ac (AC_GNU_SOURCE): Added.
27540 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27541 type.
27542
fd39d4da 275432006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27544
27545 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27546 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27547
b786f3b5 275482006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27549
27550 * include/grub/types.h (grub_host_addr_t): Rename to
27551 grub_target_addr_t.
27552 (grub_host_off_t): Rename to grub_target_off_t.
27553 (grub_host_size_t): Rename to grub_target_size_t.
27554 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27555 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27556
27557 * include/grub/kernel.h (struct grub_module_header): Change type
27558 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27559 (grub_module_info): Likewise.
f19dbdb7 27560
051988bb 275612006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27562
27563 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27564 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27565 Velazquez <jesus.velazquez@gmail.com>.
27566
deae281b 275672006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27568
27569 Count partitions from 1 instead of 0 in the string representation
27570 of partitions. Still use 0-based internally.
f19dbdb7 27571
deae281b 27572 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27573 (sun_partition_map_iterate): Use grub_partition_t instead of
27574 struct grub_partition *. Cast DESC->START_CYLINDER to
27575 grub_uint64_t after converting the endian.
27576 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27577 (sun_partition_map_get_name): Add 1 to P->INDEX.
27578
27579 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27580 PCDATA->DOS_PART.
27581 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27582
27583 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27584 zero instead of one.
27585 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27586 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27587
27588 * partmap/apple.c (apple_partition_map_iterate): Change the type
27589 of POS to unsigned.
27590 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27591 (apple_partition_map_get_name): Add 1 into P->INDEX.
27592
27593 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27594 of POS to unsigned.
27595 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27596 calculate the offset of a partition.
27597 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27598 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27599
27600 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27601 SECTOR to grub_disk_addr_t.
27602 (acorn_partition_map_iterate): Likewise.
27603 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27604 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27605 top.
27606 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27607
27608 * kern/i386/pc/init.c (make_install_device): Add 1 into
27609 GRUB_INSTALL_DOS_PART.
27610
27611 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27612 conditional.
27613
524a1e6a 276142006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27615
27616 Clean up the code to support 64-bit addressing in disks and
27617 files. This change is not enough for filesystems yet.
f19dbdb7 27618
524a1e6a 27619 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27620 type of "start" to grub_uint64_t.
27621 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27622 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27623 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27624 convert addresses.
27625
27626 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27627 to grub_disk_addr_t.
27628
27629 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27630 string.
27631
27632 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27633
27634 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27635 to char *.
27636
27637 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27638
27639 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27640
27641 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27642
27643 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27644 to grub_off_t, to detect an error from grub_file_seek.
27645 (grub_multiboot_load_elf32): Likewise.
27646
27647 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27648 maximum unsigned long value when an overflow is detected.
27649 (grub_strtoull): New function.
27650 (grub_divmod64): Likewise.
27651 (grub_lltoa): use grub_divmod64.
27652
27653 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27654 grub_disk_addr_t.
27655 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27656 the pointer to next character. Use grub_strtoull instead of
27657 grub_strtoul.
27658 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27659 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27660 respectively.
27661
fe6b695a 27662 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27663 return value is signed.
27664 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27665 test if OFFSET is less than zero, as OFFSET is unsigned now.
27666
27667 * kern/disk.c (struct grub_disk_cache): Change the type of
27668 "sector" to grub_disk_addr_t.
27669 (grub_disk_cache_get_index): Change the type of SECTOR to
27670 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27671 unsigned after shifting.
27672 (grub_disk_cache_invalidate): Change the type of SECTOR to
27673 grub_disk_addr_t.
27674 (grub_disk_cache_unlock): Likewise.
27675 (grub_disk_cache_store): Likewise.
27676 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27677 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27678 grub_disk_addr_t and grub_uint64_t, respectively.
27679 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27680 body, as the value of OFFSET is tweaked by
27681 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27682 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27683 respectively.
27684 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27685 body, as the value of OFFSET is tweaked by
27686 grub_disk_check_range. Change the types of LEN and N to
27687 grub_size_t.
27688
27689 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27690 and "saved_offset" to grub_off_t.
27691 (test_header): Cast BUF to char *.
27692 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27693 to char *.
27694 (grub_gzio_read): Change the types of OFFSET and SIZE to
27695 grub_off_t and grub_size_t, respectively.
27696
27697 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27698 Removed.
27699 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27700 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27701 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27702 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27703 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27704
27705 * include/grub/types.h (grub_off_t): Unconditionally set to
27706 grub_uint64_t.
27707 (grub_disk_addr_t): Changed to grub_uint64_t.
27708
27709 * include/grub/partition.h (struct grub_partition): Change the
27710 types of "start", "len" and "offset" to grub_disk_addr_t,
27711 grub_uint64_t and grub_disk_addr_t, respectively.
27712 (grub_partition_get_start): Return grub_disk_addr_t.
27713 (grub_partition_get_len): Return grub_uint64_t.
27714
27715 * include/grub/misc.h (grub_strtoull): New prototype.
27716 (grub_divmod64): Likewise.
27717
27718 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27719 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27720 grub_off_t, respectively.
27721 All callers and references changed.
27722
27723 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27724 grub_size_t in "read".
27725 All callers and references changed.
27726
27727 * include/grub/file.h (struct grub_file): Change the types of
27728 "offset" and "size" to grub_off_t and grub_off_t,
27729 respectively. Change the type of SECTOR to grub_disk_addr_t in
27730 "read_hook".
27731 (grub_file_read): Change the type of LEN to grub_size_t.
27732 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27733 grub_off_t.
27734 (grub_file_size): Return grub_off_t.
27735 (grub_file_tell): Likewise.
27736 All callers and references changed.
27737
27738 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27739 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27740 "write".
27741 (struct grub_disk): Change the type of "total_sectors" to
27742 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27743 "read_hook".
524a1e6a 27744 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27745 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27746 (grub_disk_write): Likewise.
27747 All callers and references changed.
27748
27749 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27750 char * for grub_strncmp to silence gcc.
27751 (grub_iso9660_mount): Likewise.
27752 (grub_iso9660_mount): Likewise.
27753 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27754 return statement.
27755 (grub_iso9660_iterate_dir): Likewise.
27756 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27757
27758 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27759 LEN to grub_disk_addr_t and grub_size_t, respectively.
27760
27761 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27762
27763 * fs/jfs.c (grub_jfs_read_file): Likewise.
27764
27765 * fs/minix.c (grub_jfs_read_file): Likewise.
27766
27767 * fs/sfs.c (grub_jfs_read_file): Likewise.
27768
27769 * fs/ufs.c (grub_jfs_read_file): Likewise.
27770
27771 * fs/xfs.c (grub_jfs_read_file): Likewise.
27772
27773 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27774 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27775 respectively.
27776
27777 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27778 BLKNR to -1 instead of returning GRUB_ERRNO.
27779 (grub_ext2_read_file): Change the types of SECTOR and
27780 LEN to grub_disk_addr_t and grub_size_t, respectively.
27781
27782 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27783 LEN to grub_disk_addr_t and grub_size_t, respectively.
27784
27785 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27786 grub_file_read.
27787
27788 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27789 string. Do not cast SECTOR explicitly.
27790
27791 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27792 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27793 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27794 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27795 over 2TB and LBA mode is not supported, raise an error.
27796 (get_safe_sectors): New function.
27797 (grub_biosdisk_read): Use get_safe_sectors.
27798 (grub_biosdisk_write): Likewise.
27799
27800 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27801 (grub_efidisk_write): Likewise.
27802
27803 * disk/loopback.c (delete_loopback): Cosmetic changes.
27804 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27805 correctly.
27806 (grub_loopback_open): Likewise.
27807 (grub_loopback_read): Likewise. Also, change the type of POS to
27808 grub_off_t, and fix the usage of grub_memset.
27809
27810 * commands/i386/pc/play.c: Include grub/machine/time.h.
27811
27812 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27813 print FILE->SIZE.
27814
27815 * commands/configfile.c: Include grub/env.h.
27816
27817 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27818 GRUB_ERRNO directly instead. Change the type of POS to
27819 grub_off_t. Follow the coding standard.
27820
27821 * commands/blocklist.c: Include grub/partition.h.
27822 (grub_cmd_blocklist): Return an error if the underlying device is
27823 not a disk. Take the starting sector of a partition into account,
27824 if a partition is used.
27825
27826 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27827 a length field.
27828 (lba_mode): Support 64-bit addresses.
27829 (chs_mode): Likewise.
27830 (copy_buffer): Adapted to the new offsets of a length field and a
27831 segment field.
27832 (blocklist_default_start): Allocate 64-bit space.
27833
27834 * boot/i386/pc/boot.S (force_lba): Removed.
27835 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27836 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27837 space.
27838 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27839 is useless.
27840 (lba_mode): Refactored to support a 64-bit address. More size
27841 optimization.
27842 (setup_sectors): Likewise.
27843
53af98ad 278442006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27845
27846 * DISTLIST: Added include/grub/i386/linux.h. Removed
27847 include/grub/i386/pc/linux.h
27848
27849 * configure.ac (AC_INIT): Bumped to 1.94.
27850
27851 * config.guess: Updated from gnulib.
27852 * config.sub: Likewise.
27853 * install-sh: Likewise.
27854 * mkinstalldirs: Likewise.
27855
b4c1940a 278562006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27857
27858 * conf/common.rmk (grub_modules_init.lst): Depended on
27859 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27860 MODSRCFILES.
27861
27862 * genmk.rb (PModule::rule): Reverted the previous change.
27863
cfca1cfd 278642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27865
27866 * conf/common.rmk (grub_modules_init.lst): Depends on
27867 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27868 that the target does not exist before producing.
27869 (grub_modules_init.h): Remove the target before generating.
27870 (grub_emu_init.c): Likewise.
27871
27872 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27873
aa6d7826 278742006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27875
27876 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27877 for the target-specific tests. Make sure that we also have the
27878 up-to-date target variables for those tests.
27879
26c607b9 278802006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27881
27882 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27883 (PModule::rule): Likewise.
27884
0162321a 278852006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27886
27887 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27888 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27889 target-specific flags should be prefixed.
27890 (PModule::rule): Likewise.
27891
6c826348 278922006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27893
27894 * configure.ac (CMP): Check if cmp is available explicitly.
27895
b977bf01 278962006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27897
27898 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27899 (target_cpu): New variable.
27900 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27901
b977bf01 27902 * util/i386/pc/grub-install.in (host_cpu): Removed.
27903 (target_cpu): New variable.
27904 (pkglibdir): Use target_cpu instead of host_cpu.
27905
27906 * util/genmoddep.c: Removed.
f19dbdb7 27907
b977bf01 27908 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27909 instead of GRUB_HOST_SIZEOF_VOID_P.
27910 * kern/dl.c: Likewise.
27911
27912 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27913 ...
27914 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27915 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27916 (GRUB_TARGET_SIZEOF_LONG): ... this.
27917 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27918 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27919 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27920 to ...
27921 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27922 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27923 (GRUB_TARGET_SIZEOF_LONG): ... this.
27924 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27925 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27926 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27927 to ...
27928 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27929 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27930 (GRUB_TARGET_SIZEOF_LONG): ... this.
27931 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27932 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27933
27934 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27935 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27936 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27937 instead of GRUB_HOST_SIZEOF_LONG.
27938 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27939 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27940 GRUB_CPU_WORDS_BIGENDIAN.
27941 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27942 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27943 grub_host_ssize_t.
27944
27945 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27946 (genmoddep_SOURCES): Likewise.
27947 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27948 (genmoddep_SOURCES): Likewise.
27949 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27950 (genmoddep_SOURCES): Likewise.
27951 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27952 Likewise.
27953 (genmoddep_SOURCES): Likewise.
27954
27955 * genmoddep.awk: New file.
27956
27957 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27958 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27959 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27960 (PModule::rule): Likewise.
27961 (Program::rule): Likewise.
27962 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27963 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27964 respectively.
27965
27966 * configure.ac: Rewritten intensively to use host and target
27967 instead of build and host, respectively.
27968
27969 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27970 (host_cpu): Removed.
27971 (target_cpu): New variable.
27972 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27973 (BUILD_CC): Removed.
27974 (BUILD_CFLAGS): Likewise.
27975 (BUILD_CPPFLAGS): Likewise.
27976 (TARGET_CC): New variable.
27977 (TARGET_CFLAGS): Likewise.
27978 (TARGET_CPPFLAGS): Likewise.
27979 (TARGET_LDFLAGS): Likewise.
27980 (AWK): Likewise.
27981 (include): Use target_cpu instead of host_cpu.
27982 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27983
b977bf01 27984 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27985
f09771a1 279862006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27987
27988 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27989 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27990 field 'false' to 'exec_on_false'.
27991 (grub_script_create_cmdif): Renamed argument names to reflect above
27992 changes.
27993
27994 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27995
27996 * normal/script.c (grub_script_create_cmdif): Likewise.
27997
118f4fb3 279982006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27999
28000 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28001 top.
28002 (grub_hfsplus_btree_recptr): Likewise.
28003 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28004 FILEBLOCK both to pass a block number and store next block
28005 number.
28006 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28007 overflow file correctly. Specify errors appropriately, because
28008 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28009 grub_hfsplus_btree_recptr to get the pointer to a found key.
28010 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28011 is found.
28012
28013 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28014 linux.mod.
28015 (_linux_mod_SOURCES): New variable.
28016 (_linux_mod_CFLAGS): Likewise.
28017 (_linux_mod_LDFLAGS): Likewise.
28018 (linux_mod_SOURCES): Likewise.
28019 (linux_mod_CFLAGS): Likewise.
28020 (linux_mod_LDFLAGS): Likewise.
28021
28022 * DISTLIST: Added loader/i386/efi/linux.c,
28023 loader/i386/efi/linux_normal.c and
28024 include/grub/i386/efi/loader.h.
28025
28026 * loader/i386/efi/linux.c: New file.
28027 * loader/i386/efi/linux_normal.c: Likewise.
28028 * include/grub/i386/efi/loader.h: Likewise.
28029
89a7d726 280302006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28031
28032 * commands/blocklist.c: New file.
28033
28034 * DISTLIST: Added commands/blocklist.c.
28035
28036 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 28037 color for the background, and a darker color for the foreground.
89a7d726 28038 (grub_console_checkkey): Return READ_KEY.
28039 (grub_console_cls): Set the background to
28040 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28041
28042 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28043
28044 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28045 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28046
28047 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28048 prototype.
28049
28050 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28051 BG. The spec is wrong again.
28052
28053 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28054 prototype.
28055 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28056
28057 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28058 commands/blocklist.c.
28059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 28060
89a7d726 28061 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28062 (blocklist_mod_SOURCES): New variable.
28063 (blocklist_mod_CFLAGS): Likewise.
28064 (blocklist_mod_LDFLAGS): Likewise.
28065
75c8f258 280662006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28067
28068 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28069 duplication.
28070 (lba_mode): Use %eax more intensively to reduce the code size.
28071
da2eb181 280722006-05-20 Marco Gerards <marco@gnu.org>
28073
28074 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28075
28076 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28077 for `menuentry'.
28078 (script): Accept leading newlines.
28079 (newlines): New rule to describe 0 or more newlines.
28080 (commands): Accept `command' with trailing newline. Fixed the
28081 order in which arguments were passed to `grub_script_add_cmd'.
28082 Accept commands separated by newlines.
28083 (function): Changed to accept newlines.
28084 (menuentry) Rewritten.
28085
28086 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
28087 front of the list, instead of to the end.
28088
577b4050 280892006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
28090
28091 * util/i386/pc/grub-install.in (bindir): New variable.
28092 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
28093 Shaver <lbgwjl@gmail.com>.
28094
0d6e1189 280952006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
28096
28097 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
28098 grub/machine/linux.h
28099 * loader/i386/pc/linux.c: Likewise.
28100
28101 * include/grub/i386/pc/linux.h: Moved to ...
28102 * include/grub/i386/linux.h: ... here.
28103
28104 * include/grub/i386/linux.h (struct linux_kernel_params): New
28105 struct.
f19dbdb7 28106
31b86e9f 281072006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
28108
28109 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
28110 checking.
28111 (grub_video_vbe_blit_glyph): Likewise.
28112 (grub_video_vbe_blit_bitmap): Likewise.
28113 (grub_video_vbe_blit_render_target): Likewise.
28114
83b984de 281152006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
28116
28117 * configure.ac (--with-platform): Properly quote the square
28118 brackets.
28119
5f0413bd 281202006-05-08 Marco Gerards <marco@gnu.org>
28121
28122 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
28123 this...
28124 (kernel_elf_HEADERS): ...to this. Updated all users.
28125 (grubof_symlist.c): Renamed from this...
28126 (kernel_elf_symlist.c): ...to this. Updated all users.
28127 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28128 (grubof_SOURCES): Renamed from this...
28129 (kernel_elf_SOURCES): ...to this.
28130 (grubof_HEADERS): Renamed from this...
28131 (kernel_elf_HEADERS): ...to this.
28132 (grubof_CFLAGS): Renamed from this...
28133 (kernel_elf_CFLAGS): ...to this.
28134 (grubof_ASFLAGS): Renamed from this...
28135 (kernel_elf_ASFLAGS): ...to this.
28136 (grubof_LDFLAGS): Renamed from this...
28137 (kernel_elf_LDFLAGS): ...to this.
28138
28139 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
28140 this...
28141 (kernel_elf_HEADERS): ...to this. Updated all users.
28142 (grubof_symlist.c): Renamed from this...
28143 (kernel_elf_symlist.c): ...to this. Updated all users.
28144 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28145 (grubof_SOURCES): Renamed from this...
28146 (kernel_elf_SOURCES): ...to this.
28147 (grubof_HEADERS): Renamed from this...
28148 (kernel_elf_HEADERS): ...to this.
28149 (grubof_CFLAGS): Renamed from this...
28150 (kernel_elf_CFLAGS): ...to this.
28151 (grubof_ASFLAGS): Renamed from this...
28152 (kernel_elf_ASFLAGS): ...to this.
28153 (grubof_LDFLAGS): Renamed from this...
28154 (kernel_elf_LDFLAGS): ...to this.
28155
28156 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
28157 `kernel.elf' instead of `grubof'.
28158
05568c2e 281592006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
28160
28161 Add --with-platform to configure. Use pkglibdir instead of
28162 pkgdatadir. This is reported by Roger Leigh.
28163
28164 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
28165 (host_vendor): Likewise.
28166 (host_os): Likewise.
28167 (pkgdatadir): Likewise.
28168 (platform): New variable.
28169 (pkglibdir): Likewise.
28170 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 28171
05568c2e 28172 * util/i386/pc/grub-install.in (datadir): Removed.
28173 (host_vendor): Likewise.
28174 (host_os): Likewise.
28175 (pkgdatadir): Likewise.
28176 (platform): New variable.
28177 (pkglibdir): Likewise.
28178 Use PKGLIBDIR instead of PKGDATADIR.
28179
28180 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
28181 instead of GRUB_DATADIR.
28182 (main): Likewise.
28183 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28184 (main): Likewise.
28185 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28186 (main): Likewise.
28187
28188 * configure.ac (--with-platform): New option.
28189 Use PLATFORM instead of HOST_VENDOR to specify a platform.
28190
28191 * Makefile.in: Include a makefile based on PLATFORM instead of
28192 HOST_VENDOR.
28193 (pkgdatadir): Not appended by the machine type.
28194 (pkglibdir): Appended by the machine type.
28195 (host_vendor): Removed.
28196 (platform): New variable.
28197 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
28198 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
28199 (uninstall): Likewise.
28200
4e93851c 282012006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
28202
28203 Use the environment context in the menu. Remove the commands
28204 "default" and "timeout", and use variables instead.
f19dbdb7 28205
4e93851c 28206 * normal/menu.c: Include grub/env.h.
28207 (print_entry): Cast TITLE to silence gcc.
28208 (get_timeout): New function.
28209 (set_timeout): Likewise.
28210 (get_entry_number): Likewise.
28211 (run_menu): Use a default entry, a fallback entry and a timeout
28212 in the environment variables "default", "fallback" and
28213 "timeout". Also, tweak the default entry if it is not within the
28214 current menu entries.
28215 (grub_menu_run): Use a fallback entry in the environment variable
28216 "fallback".
28217
28218 * normal/main.c (read_config_file): Do not initialize
28219 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28220 NEWMENU->TIMEOUT.
28221 (grub_normal_execute): Use a data slot to store the menu.
28222
28223 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28224 fallback_entry and timeout.
28225 (struct grub_menu_list): Removed.
28226 (grub_menu_list_t): Likewise.
28227 (struct grub_context): Likewise.
28228 (grub_context_t): Likewise.
28229 (grub_context_get): Likewise.
28230 (grub_context_get_current_menu): Likewise.
28231 (grub_context_push_menu): Likewise.
28232 (grub_context_pop_menu): Likewise.
28233 (grub_default_init): Likewise.
28234 (grub_default_fini): Likewise.
28235 (grub_timeout_init): Likewise.
28236 (grub_timeout_fini): Likewise.
28237
28238 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28239 and timeout.mod.
28240 (normal_mod_SOURCES): Removed normal/context.c.
28241
28242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28243 commands/default.c, commands/timeout.c and normal/context.c.
28244 (normal_mod_SOURCES): Removed normal/context.c.
28245
28246 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28247 commands/timeout.c and normal/context.c.
28248 (normal_mod_SOURCES): Removed normal/context.c.
28249
28250 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28251 commands/default.c, commands/timeout.c and normal/context.c.
28252 (normal_mod_SOURCES): Removed normal/context.c.
28253
28254 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28255 timeout.mod.
28256 (default_mod_SOURCES): Removed.
28257 (default_mod_CFLAGS): Likewise.
28258 (default_mod_LDFLAGS): Likewise.
28259 (timeout_mod_SOURCES): Removed.
28260 (timeout_mod_CFLAGS): Likewise.
28261 (timeout_mod_LDFLAGS): Likewise.
28262
28263 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28264 normal/context.c.
28265
28266 * commands/default.c: Removed.
28267 * commands/timeout.c: Likewise.
28268 * normal/context.c: Likewise.
28269
1eb9cc1d 282702006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28271
28272 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28273
385bd9c1 282742006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28275
28276 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28277 "next" to "prev" for readability.
28278 (struct grub_env_sorted_var): New struct.
28279 (grub_env_context): Renamed to ...
28280 (initial_context): ... this.
28281 (grub_env_var_context): Renamed to ...
28282 (current_context): ... this.
28283 (grub_env_find): Look only at CURRENT_CONTEXT.
28284 (grub_env_context_open): Rewritten to copy exported variables from
28285 previous context.
28286 (grub_env_context_close): Rewritten according to the new
28287 scheme. Also, add an assertion to prevent the initial context from
28288 removed.
28289 (grub_env_insert): Removed the code for the sorted list.
28290 (grub_env_remove): Likewise.
28291 (grub_env_export): Simply mark the variable with
28292 GRUB_ENV_VAR_GLOBAL.
28293 (grub_env_set): A cosmetic change for naming consistency.
28294 (grub_env_get): Likewise.
28295 (grub_env_unset): Likewise.
28296 (grub_env_iterate): Rewritten to sort variables within this
28297 function.
28298 (grub_register_variable_hook): Fixed for naming consistency. Call
28299 grub_env_find again, only if NAME is not found at the first time.
28300 (mangle_data_slot_name): New function.
28301 (grub_env_set_data_slot): Likewise.
28302 (grub_env_get_data_slot): Likewise.
28303 (grub_env_unset_data_slot): Likewise.
28304
28305 * include/grub/env.h (grub_env_var_type): New enum.
28306 (GRUB_ENV_VAR_LOCAL): New constant.
28307 (GRUB_ENV_VAR_GLOBAL): Likewise.
28308 (GRUB_ENV_VAR_DATA): Likewise.
28309 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28310 "type".
28311 (grub_env_set): Replace VAR with NAME for consistency.
28312 (grub_register_variable_hook): Likewise.
28313 (grub_env_export): Specify the name of the argument.
28314 (grub_env_set_data_slot): New prototype.
28315 (grub_env_get_data_slot): Likewise.
28316 (grub_env_unset_data_slot): Likewise.
28317
7f362539 283182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28319
28320 Extend the loader so that GRUB can accept a loader which comes
28321 back to GRUB when a loaded image exits. Also, this change adds
28322 support for a chainloader on EFI.
f19dbdb7 28323
7f362539 28324 * term/efi/console.c: Include grub/misc.h.
28325 (grub_console_checkkey): Display a scan code on the top for
28326 debugging. This will be removed once the EFI port gets stable.
28327 Correct the scan code mapping.
28328
28329 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28330 allocate memory from larger regions, in order to reduce the number
28331 of allocated regions. Otherwise, the MacOSX loader panics.
28332 (filter_memory_map): Avoid less than 1MB for compatibility with
28333 other loaders.
28334 (add_memory_regions): Allocate from the tail of a region, if
28335 possible, to avoid allocating a region near to 1MB, for the MacOSX
28336 loader.
28337
28338 * kern/efi/init.c (grub_efi_set_prefix): Specify
28339 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28340
28341 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28342 argument IMAGE_HANDLE and specify it to get a loaded image.
28343 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28344 grub_efi_get_loaded_image.
fe6b695a 28345 (grub_efi_get_filename): Divide the length by the size of
7f362539 28346 grub_efi_char16_t.
28347 (grub_efi_get_device_path): New function.
28348 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28349 the length by the size of grub_efi_char16_t for a file path device
28350 path node.
28351
28352 * kern/loader.c (grub_loader_noreturn): New variable.
28353 (grub_loader_set): Accept a new argument NORETURN. Set
28354 GRUB_LOADER_NORETURN to NORETURN.
28355 All callers changed.
28356 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28357 grub_machine_fini.
28358
28359 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28360 prototype.
28361 (grub_efi_get_loaded_image): Take an argument to specify an image
28362 handle.
28363
28364 * include/grub/loader.h (grub_loader_set): Added one more argument
28365 NORETURN.
28366
28367 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28368 instead of grub_efi_open_protocol.
28369 (grub_efidisk_get_device_name): Likewise.
28370 (grub_efidisk_close): Print a newline.
28371 (grub_efidisk_get_device_handle): Fixed to use
28372 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28373 GRUB_EFI_DEVICE_PATH_TYPE.
28374
28375 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28376 * kern/efi/efi.c (device_path_guid): ... here.
28377
28378 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28379 chain.mod.
28380 (kernel_mod_HEADERS): Added efi/disk.h.
28381 (_chain_mod_SOURCES): New variable.
28382 (_chain_mod_CFLAGS): Likewise.
28383 (_chain_mod_LDFLAGS): Likewise.
28384 (chain_mod_SOURCES): Likewise.
28385 (chain_mod_CFLAGS): Likewise.
28386 (chain_mod_LDFLAGS): Likewise.
28387
28388 * DISTLIST: Added include/grub/efi/chainloader.h,
28389 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28390
28391 * include/grub/efi/chainloader.h: New file.
28392 * loader/efi/chainloader.c: Likewise.
28393 * loader/efi/chainloader_normal.c: Likewise.
28394
c0111d6e 283952006-04-30 Marco Gerards <marco@gnu.org>
28396
28397 * commands/configfile.c (grub_cmd_source): New function.
28398 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28399 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28400
df5341da 284012006-04-30 Marco Gerards <marco@gnu.org>
28402
28403 * normal/execute.c (grub_script_execute_cmd): Change the return
28404 type to `grub_err_t'. Correctly return the error.
28405 (grub_script_execute_cmdline): In case a command line is not a
28406 command or a function, try to interpret it as an assignment.
28407
f85934bd 284082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28409
28410 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28411 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28412 skip a node whose name is obviously invalid as UTF-16,
28413 i.e. contains a NUL character. Stop the iteration when the last
28414 directory entry is found. Instead of using the return value of
28415 grub_hfsplus_btree_iterate_node, store the value in RET and use
28416 it, because the iterator can be stopped by the last directory
28417 entry.
28418
8f8a2cf8 284192006-04-30 Marco Gerards <marco@gnu.org>
28420
28421 * include/grub/env.h (grub_env_export): New prototype. Reported
28422 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28423
a27e84ce 284242006-04-30 Marco Gerards <marco@gnu.org>
28425
28426 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28427 size of the extents in a catalog file record.
28428
eaef0553 284292006-04-29 Marco Gerards <marco@gnu.org>
28430
28431 * commands/configfile.c (grub_cmd_configfile): Execute the
28432 configfile within its own context.
28433
28434 * include/grub/env.h (grub_env_context_open): New prototype.
28435 (grub_env_context_close): Likewise.
28436
28437 * kern/env.c (grub_env): Removed.
28438 (grub_env_sorted): Likewise.
28439 (grub_env_context): New variable.
28440 (grub_env_var_context): Likewise.
28441 (grub_env_find): Search both the active context and the global
28442 context.
28443 (grub_env_context_open): New function.
28444 (grub_env_context_close): Likewise.
28445 (grub_env_insert): Likewise.
28446 (grub_env_remove): Likewise.
28447 (grub_env_export): Likewise.
28448 (grub_env_set): Changed to use helper functions to avoid code
28449 duplication.
28450 (grub_env_iterate): Rewritten so both the current context and the
28451 global context are being used.
28452
28453 * normal/command.c (export_command): New function.
28454 (grub_command_init): Register the `export' function.
28455
7b455f4d 284562006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
28457
28458 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
28459 explicitly to suppress gcc's warnings.
28460 * fs/fat.c (grub_fat_find_dir): Likewise.
28461 (grub_fat_label): Likewise.
28462 * fs/xfs.c (grub_xfs_read_inode): Likewise.
28463 (grub_xfs_mount): Likewise.
28464 (grub_xfs_label): Likewise.
28465 * fs/affs.c (grub_affs_mount): Likewise.
28466 (grub_affs_label): Likewise.
28467 (grub_affs_iterate_dir): Likewise.
28468 * fs/sfs.c (grub_sfs_mount): Likewise.
28469 (grub_sfs_iterate_dir): Likewise.
28470 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
28471 * fs/hfs.c (grub_hfs_mount): Likewise.
28472 (grub_hfs_cmp_catkeys): Likewise.
28473 (grub_hfs_find_dir): Likewise.
28474 (grub_hfs_dir): Likewise.
28475 (grub_hfs_label): Likewise.
28476 * fs/jfs.c (grub_jfs_mount): Likewise.
28477 (grub_jfs_opendir): Likewise.
28478 (grub_jfs_getent): Likewise.
28479 (grub_jfs_lookup_symlink): Likewise.
28480 (grub_jfs_label): Likewise.
28481 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
28482 (grub_hfsplus_iterate_dir): Likewise.
28483 (grub_hfsplus_btree_iterate_node): Made static.
28484
28485 * util/grub-emu.c (prefix): New variable.
28486 (grub_machine_set_prefix): New function.
28487 (main): Do not set the environment variable "prefix" here. Only
28488 set PREFIX, which is used later by grub_machine_set_prefix.
28489
28490 * include/grub/video.h: Do not include grub/symbol.h.
28491 (grub_video_register): Not exported. This symbol is not defined in
28492 the kernel.
28493 (grub_video_unregister): Likewise.
28494 (grub_video_iterate): Likewise.
28495 (grub_video_setup): Likewise.
28496 (grub_video_restore): Likewise.
28497 (grub_video_get_info): Likewise.
28498 (grub_video_get_blit_format): Likewise.
28499 (grub_video_set_palette): Likewise.
28500 (grub_video_get_palette): Likewise.
28501 (grub_video_set_viewport): Likewise.
28502 (grub_video_get_viewport): Likewise.
28503 (grub_video_map_color): Likewise.
28504 (grub_video_map_rgb): Likewise.
28505 (grub_video_map_rgba): Likewise.
28506 (grub_video_fill_rect): Likewise.
28507 (grub_video_blit_glyph): Likewise.
28508 (grub_video_blit_bitmap): Likewise.
28509 (grub_video_blit_render_target): Likewise.
28510 (grub_video_scroll): Likewise.
28511 (grub_video_swap_buffers): Likewise.
28512 (grub_video_create_render_target): Likewise.
28513 (grub_video_delete_render_target): Likewise.
28514 (grub_video_set_active_render_target): Likewise.
28515
28516 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
28517 Undefined.
28518 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
28519
28520 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28521 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28522 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28523 instead of $(srcdir)/genkernsyms.sh.
28524
28525 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28526 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28527 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28528 instead of $(srcdir)/genkernsyms.sh.
28529
28530 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28531 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28532 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28533 instead of $(srcdir)/genkernsyms.sh.
28534
28535 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28536 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28537 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28538 instead of $(srcdir)/genkernsyms.sh.
28539
28540 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28541 genkernsyms.sh.
28542
28543 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28544 genkernsyms.sh.
28545 (gensymlist.sh): New target.
28546 (genkernsyms.sh): Likewise.
28547
28548 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28549 genkernsyms.sh.in and gensymlist.sh.in.
28550
28551 * genkernsyms.sh: Removed.
28552 * gensymlist.sh: Likewise.
f19dbdb7 28553
7b455f4d 28554 * genkernsyms.sh.in: New file.
28555 * gensymlist.sh.in: Likewise.
28556
1885bb27 285572006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28558
28559 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28560 clobber "prefix", since we may have already set it manually.
28561
71538dff 285622006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28563
28564 * kern/misc.c (abort): New alias for grub_abort.
28565
2965c7cc 285662006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28567
28568 A new machine-specific function "grub_machine_set_prefix" is
28569 defined. This is called after loading modules, so that a prefix
28570 initialization can use modules. Also, this change adds an
28571 intensive debugging feature for the memory manager via the
28572 configure option "--enable-mm-debug".
f19dbdb7 28573
2965c7cc 28574 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28575 PART.LEN.
28576
28577 * kern/sparc64/ieee1275/init.c (abort): Removed.
28578 (grub_stop): Likewise.
28579 (grub_exit): New function.
28580 (grub_set_prefix): Renamed to ...
28581 (grub_machine_set_prefix): ... this.
28582 (grub_machine_init): Do not call grub_set_prefix.
28583
28584 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28585 (grub_machine_set_prefix): ... this.
28586 (grub_machine_init): Do not call grub_set_prefix.
28587
28588 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28589 (grub_machine_init): Do not set the prefix here.
28590
28591 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28592
28593 * kern/efi/init.c: Include grub/mm.h.
28594 (grub_efi_set_prefix): New function.
28595
28596 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28597 (grub_efi_get_filename): New function.
28598 (grub_print_device_path): Renamed to ...
28599 (grub_efi_print_device_path): ... this.
28600
28601 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28602 [MM_DEBUG] (grub_realloc): Likewise.
28603 [MM_DEBUG] (grub_free): Likewise.
28604 [MM_DEBUG] (grub_memalign): Likewise.
28605 [MM_DEBUG] (grub_mm_debug): New variable.
28606 [MM_DEBUG] (grub_debug_malloc): New function.
28607 [MM_DEBUG] (grub_debug_free): New function.
28608 [MM_DEBUG] (grub_debug_realloc): New function.
28609 [MM_DEBUG] (grub_debug_memalign): New function.
28610
28611 * kern/misc.c (grub_abort): Print a newline to distinguish
28612 the message.
28613
28614 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28615 grub_set_root_dev after loading modules. This is necessary when
28616 setting a prefix depends on modules.
28617
28618 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28619 (grub_efi_print_device_path): ... this.
28620 (grub_efi_get_filename): New prototype.
28621 (grub_efi_set_prefix): Likewise.
28622
28623 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28624 and grub/disk.h.
28625 (grub_efidisk_get_device_handle): New prototype.
28626 (grub_efidisk_get_device_name): Likewise.
28627
28628 * include/grub/mm.h: Include config.h.
28629 (MM_DEBUG): Removed.
28630 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28631 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28632 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28633 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28634 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28635 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28636 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28637 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28638 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28639
28640 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28641
28642 * disk/efi/efidisk.c: Include grub/partition.h.
28643 (iterate_child_devices): New function.
28644 (add_device): First, compare only last device path nodes, so that
28645 devices are sorted by the types.
28646 (grub_efidisk_get_device_handle): New function.
28647 (grub_efidisk_get_device_name): Likewise.
28648
28649 * configure.ac (--enable-mm-debug): New option to enable the
28650 memory manager debugging feature. This makes the binary much
28651 bigger, so is disabled by default.
28652
9cacaa17 286532006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28654
28655 Use grub_abort instead of grub_stop, and grub_exit must be
28656 define in each architecture now. Also, this change adds support
28657 for EFI disks.
f19dbdb7 28658
9cacaa17 28659 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28660 (grub_getkey): New function.
28661 (grub_term_get_current): Likewise.
28662
28663 * util/i386/pc/grub-setup.c: Include grub/term.h.
28664 (grub_getkey): New function.
28665 (grub_term_get_current): Likewise.
28666
28667 * util/misc.c (grub_stop): Renamed to ...
28668 (grub_exit): ... this.
28669
28670 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28671 (grub_exit): ... this.
28672 (grub_machine_init): Use grub_abort instead of abort.
28673 (grub_stop): Removed.
28674
28675 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28676 abort.
28677
28678 * kern/i386/pc/startup.S (grub_exit): New function.
28679 (cold_reboot): New label.
28680
28681 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28682 (grub_efi_init): Call grub_efidisk_init.
28683 (grub_efi_fini): Call grub_efidisk_fini.
28684
28685 * kern/efi/efi.c: Include grub/mm.h.
28686 (grub_efi_console_control_guid): Renamed to ...
28687 (console_control_guid): ... this.
28688 (grub_efi_loaded_image_guid): Renamed to ...
28689 (loaded_image_guid): ... this.
28690 (grub_efi_locate_handle): New function.
28691 (grub_efi_open_protocol): Likewise.
28692 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28693 GRUB_EFI_CONSOLE_CONTROL_GUID.
28694 (grub_efi_exit): Removed.
28695 (grub_stop): Likewise.
28696 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28697 (grub_exit): New function.
28698 (grub_print_device_path): Likewise.
28699
28700 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28701 (grub_enter_rescue_mode): Register "exit".
28702
28703 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28704 (grub_abort): New function.
28705
28706 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28707
28708 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28709
28710 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28711
28712 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28713 (grub_print_device_path): New prototype.
28714 (grub_efi_locate_handle): Likewise.
28715 (grub_efi_open_protocol): Likewise.
28716
28717 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28718 * disk/efi/efidisk.c: Likewise.
28719
28720 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28721
28722 * include/grub/efi/console_control.h
28723 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28724
28725 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28726 last 8 bytes as an array.
28727 (GRUB_EFI_DISK_IO_GUID): New macro.
28728 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28729 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28730 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28731 grub_uint8_t.
28732 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28733 (struct grub_efi_device_path): Rename the member "sub_type" to
28734 "subtype".
28735 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28736 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28737 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28738 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28739 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28740 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28741 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28742 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28743 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28744 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28745 (struct grub_efi_pci_device_path): New structure.
28746 (grub_efi_pci_device_path_t): New type.
28747 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28748 (struct grub_efi_pccard_device_path): New structure.
28749 (grub_efi_pccard_device_path_t): New type.
28750 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28751 (struct grub_efi_memory_mapped_device_path): New structure.
28752 (grub_efi_memory_mapped_device_path_t): New type.
28753 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28754 (struct grub_efi_vendor_device_path): New structure.
28755 (grub_efi_vendor_device_path_t): New type.
28756 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28757 (struct grub_efi_controller_device_path): New structure.
28758 (grub_efi_controller_device_path_t): New type.
28759 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28760 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28761 (struct grub_efi_acpi_device_path): New structure.
28762 (grub_efi_acpi_device_path_t): New type.
28763 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28764 (struct grub_efi_expanded_acpi_device_path): New structure.
28765 (grub_efi_expanded_acpi_device_path_t): New type.
28766 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28767 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28768 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28769 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28770 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28771 (struct grub_efi_atapi_device_path): New structure.
28772 (grub_efi_atapi_device_path_t): New type.
28773 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28774 (struct grub_efi_fibre_channel_device_path): New structure.
28775 (grub_efi_fibre_channel_device_path_t): New type.
28776 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28777 (struct grub_efi_1394_device_path): New structure.
28778 (grub_efi_1394_device_path_t): New type.
28779 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28780 (struct grub_efi_usb_device_path): New structure.
28781 (grub_efi_usb_device_path_t): New type.
28782 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28783 (struct grub_efi_usb_class_device_path): New structure.
28784 (grub_efi_usb_class_device_path_t): New type.
28785 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28786 (struct grub_efi_i2o_device_path): New structure.
28787 (grub_efi_i2o_device_path_t): New type.
28788 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28789 (struct grub_efi_mac_address_device_path): New structure.
28790 (grub_efi_mac_address_device_path_t): New type.
28791 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28792 (struct grub_efi_ipv4_device_path): New structure.
28793 (grub_efi_ipv4_device_path_t): New type.
28794 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28795 (struct grub_efi_ipv6_device_path): New structure.
28796 (grub_efi_ipv6_device_path_t): New type.
28797 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28798 (struct grub_efi_infiniband_device_path): New structure.
28799 (grub_efi_infiniband_device_path_t): New type.
28800 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28801 (struct grub_efi_uart_device_path): New structure.
28802 (grub_efi_uart_device_path_t): New type.
28803 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28804 (struct grub_efi_vendor_messaging_device_path): New structure.
28805 (grub_efi_vendor_messaging_device_path_t): New type.
28806 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28807 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28808 (struct grub_efi_hard_drive_device_path): New structure.
28809 (grub_efi_hard_drive_device_path_t): New type.
28810 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28811 (struct grub_efi_cdrom_device_path): New structure.
28812 (grub_efi_cdrom_device_path_t): New type.
28813 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28814 (struct grub_efi_vendor_media_device_path): New structure.
28815 (grub_efi_vendor_media_device_path_t): New type.
28816 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28817 (struct grub_efi_file_path_device_path): New structure.
28818 (grub_efi_file_path_device_path_t): New type.
28819 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28820 (struct grub_efi_protocol_device_path): New structure.
28821 (grub_efi_protocol_device_path_t): New type.
28822 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28823 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28824 (struct grub_efi_bios_device_path): New structure.
28825 (grub_efi_bios_device_path_t): New type.
28826 (struct grub_efi_disk_io): New structure.
28827 (grub_efi_disk_io_t): New type.
28828 (struct grub_efi_block_io_media): New structure.
28829 (grub_efi_block_io_media_t): New type.
28830 (struct grub_efi_block_io): New structure.
28831 (grub_efi_block_io_t): New type.
28832
28833 * include/grub/misc.h (grub_stop): Removed.
28834 (grub_exit): New prototype.
28835 (grub_abort): Likewise.
28836
28837 * include/grub/disk.h (enum grub_disk_dev_id): Added
28838 GRUB_DISK_DEVICE_EFIDISK_ID.
28839
28840 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28841 disk/efi/efidisk.c.
28842 (kernel_syms.lst): Remove the target if an error occurs.
28843
49986a9f 288442006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28845
28846 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28847 as it was simply too buggy.
28848
970d3b8a 288492006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28850
28851 * kern/misc.c (grub_lltoa): New function.
28852 (grub_vsprintf): Added support for the long long suffix,
28853 i.e. "ll".
28854
ff04ec24 288552006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28856
28857 * Makefile.in (LDFLAGS): Add variable.
28858 (LD): Remove variable.
28859 * configure.ac: Add -m32 to LDFLAGS.
28860 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28861 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28862 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28863 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28864 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28865 variables.
28866 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28867 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28868 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28869
37e5e1a4 288702006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28871
28872 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28873 length for unknown glyph.
28874
c352d8dd 288752006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28876
2eab1c0d 28877 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28878
2eab1c0d 28879 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28880 completely. Accept one more argument DIR. The caller has changed.
28881
28882 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28883
28884 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28885 (grub_efi_loaded_image_guid): New variable.
28886 (grub_efi_get_loaded_image): New function.
28887 (grub_arch_modules_addr): Likewise.
28888
28889 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28890 prototype.
28891
28892 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28893 (struct grub_efi_loaded_image): New structure.
28894 (grub_efi_loaded_image_t): New type.
28895
288962006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28897
c352d8dd 28898 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28899 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28900 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28901
6d01d6b4 289022006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28903
28904 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28905
976a4ea0 289062006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28907
28908 * DISTLIST: Added include/grub/efi/console.h,
28909 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28910 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28911
28912 * include/grub/efi/console.h: New file.
28913 * include/grub/efi/time.h: Likewise.
28914 * include/grub/i386/efi/kernel.h: Likewise.
28915 * kern/efi/init.c: Likewise.
28916 * kern/efi/mm.c: Likewise.
28917 * term/efi/console.c: Likewise.
f19dbdb7 28918
976a4ea0 28919 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28920 (grub_stop): Removed.
28921 (grub_get_rtc): Likewise.
28922 (grub_machine_init): Simply call grub_efi_init.
28923 (grub_machine_fini): Call grub_efi_fini.
28924
28925 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28926 (grub_efi_output_string): Removed.
28927 (grub_efi_stall): New function.
28928 (grub_stop): Likewise.
28929 (grub_get_rtc): Likewise.
28930
28931 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28932 (grub_efi_stall): New prototype.
28933 (grub_efi_allocate_pages): Likewise.
28934 (grub_efi_free_pages): Likewise.
28935 (grub_efi_get_memory_map): Likewise.
28936 (grub_efi_mm_init): Likewise.
28937 (grub_efi_mm_fini): Likewise.
28938 (grub_efi_init): Likewise.
28939 (grub_efi_fini): Likewise.
28940
28941 * include/grub/i386/efi/time.h: Do not include
28942 grub/symbol.h. Include grub/efi/time.h.
28943 (GRUB_TICKS_PER_SECOND): Removed.
28944 (grub_get_rtc): Likewise.
28945
28946 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28947 Added padding. The EFI spec is buggy.
28948 (GRUB_EFI_BLACK): New macro.
28949 (GRUB_EFI_BLUE): Likewise.
28950 (GRUB_EFI_GREEN): Likewise.
28951 (GRUB_EFI_CYAN): Likewise.
28952 (GRUB_EFI_RED): Likewise.
28953 (GRUB_EFI_MAGENTA): Likewise.
28954 (GRUB_EFI_BROWN): Likewise.
28955 (GRUB_EFI_LIGHTGRAY): Likewise.
28956 (GRUB_EFI_BRIGHT): Likewise.
28957 (GRUB_EFI_DARKGRAY): Likewise.
28958 (GRUB_EFI_LIGHTBLUE): Likewise.
28959 (GRUB_EFI_LIGHTGREEN): Likewise.
28960 (GRUB_EFI_LIGHTCYAN): Likewise.
28961 (GRUB_EFI_LIGHTRED): Likewise.
28962 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28963 (GRUB_EFI_YELLOW): Likewise.
28964 (GRUB_EFI_WHITE): Likewise.
28965 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28966 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28967 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28968 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28969 (GRUB_EFI_BACKGROUND_RED): Likewise.
28970 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28971 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28972 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28973 (GRUB_EFI_TEXT_ATTR): Likewise.
28974
28975 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28976 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28977 (kernel_mod_HEADERS): Added efi/time.h.
28978
83709125 289792006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28980
28981 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28982 include/grub/efi/api.h, include/grub/efi/console_control.h,
28983 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28984 include/grub/i386/efi/time.h, kern/efi/efi.c,
28985 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28986 and util/i386/efi/grub-mkimage.c.
28987
28988 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28989
28990 * genmk.rb (PModule#rule): Do not export symbols if
28991 #{prefix}_EXPORTS is set to "no".
28992
28993 * conf/i386-efi.mk: New file.
28994 * conf/i386-efi.rmk: Likewise.
28995 * include/grub/efi/api.h: Likewise.
28996 * include/grub/efi/console_control.h: Likewise.
28997 * include/grub/efi/efi.h: Likewise.
28998 * include/grub/efi/pe32.h: Likewise.
28999 * include/grub/i386/efi/time.h: Likewise.
29000 * kern/efi/efi.c: Likewise.
29001 * kern/i386/efi/init.c: Likewise.
29002 * kern/i386/efi/startup.S: Likewise.
29003 * util/i386/efi/grub-mkimage.c: Likewise.
29004
290052006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 29006
29007 * include/grub/script.h: Include <grub/parser.h> and
29008 "grub_script.tab.h".
29009 (struct grub_lexer_param): New struct.
29010 (struct grub_parser_param): Likewise.
29011 (grub_script_create_arglist): Pass the state in an argument.
29012 (grub_script_add_arglist): Likewise.
29013 (grub_script_create_cmdline): Likewise.
29014 (grub_script_create_cmdblock): Likewise.
29015 (grub_script_create_cmdif): Likewise.
29016 (grub_script_create_cmdmenu): Likewise.
29017 (grub_script_add_cmd): Likewise.
29018 (grub_script_arg_add): Likewise.
29019 (grub_script_lexer_ref): Likewise.
29020 (grub_script_lexer_deref): Likewise.
29021 (grub_script_lexer_record_start): Likewise.
29022 (grub_script_lexer_record_stop): Likewise.
29023 (grub_script_mem_record): Likewise.
29024 (grub_script_mem_record_stop): Likewise.
29025 (grub_script_malloc): Likewise.
29026 (grub_script_yylex): Likewise.
29027 (grub_script_yyparse): Likewise.
29028 (grub_script_yyerror): Likewise.
29029 (grub_script_yylex): Likewise.
29030 (grub_script_lexer_init): Return the state.
29031
29032 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29033 (grub_script_lexer_done): Likewise.
29034 (grub_script_lexer_getline): Likewise.
29035 (grub_script_lexer_refs): Likewise.
29036 (script): Likewise.
29037 (newscript): Likewise.
29038 (record): Likewise.
29039 (recording): Likewise.
29040 (recordpos): Likewise.
29041 (recordlen): Likewise.
29042 (grub_script_lexer_init): Return the state instead of setting
29043 global variables.
29044 (grub_script_lexer_ref): Use the newly added argument for state
29045 instead of globals.
29046 (grub_script_lexer_deref): Likewise.
29047 (grub_script_lexer_record_start): Likewise.
29048 (grub_script_lexer_record_stop): Likewise.
29049 (recordchar): Likewise.
29050 (nextchar): Likewise.
29051 (grub_script_yylex2): Likewise.
29052 (grub_script_yylex): Likewise.
29053 (grub_script_yyerror): Likewise.
29054
29055 * normal/parser.y (func_mem): Removed variable.
29056 (menu_entry): Likewise.
29057 (err): Likewise.
29058 (%lex-param): New parser option.
29059 (%parse-param): Likewise.
29060 (script): Always return the AST.
29061 (argument): Pass the state around.
29062 (arguments): Likewise.
29063 (grubcmd): Likewise.
29064 (commands): Likewise.
29065 (function): Likewise.
29066 (menuentry): Likewise.
29067 (if_statement): Likewise.
29068 (if): Likewise.
29069
29070 * normal/script.c (grub_script_memused): Removed variable.
29071 (grub_script_parsed): Likewise.
29072 (grub_script_malloc): Added a state argument. Use that instead of
29073 global variables.
29074 (grub_script_mem_record): Likewise.
29075 (grub_script_mem_record_stop): Likewise.
29076 (grub_script_arg_add): Likewise.
29077 (grub_script_add_arglist): Likewise.
29078 (grub_script_create_cmdline): Likewise.
29079 (grub_script_create_cmdif): Likewise.
29080 (grub_script_create_cmdmenu): Likewise.
29081 (grub_script_add_cmd): Likewise.
29082 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 29083
e2a8c904 290842006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 29085
29086 * normal/command.c (grub_command_init): Remove the title command.
29087
29088 * normal/lexer.c (grub_script_yylex): Renamed from this...
29089 (grub_script_yylex2): ... to this.
29090 (grub_script_yylex): New function. Temporary
29091 introduced to filter some tokens.
29092 (grub_script_yyerror): Print a newline.
29093
29094 * normal/main.c (read_config_file): Output information about the
29095 lines that contain errors. Wait for a key after all lines have
29096 been processed. Don't return an empty menu.
29097
29098 * normal/parser.y (func_mem): Don't initialize.
29099 (menu_entry): Likewise.
29100 (err): New variable.
29101 (script): Don't return anything when an error was encountered.
29102 (ws, returns): Removed rules.
29103 (argument): Disabled concatenated variable support.
29104 (arguments): Remove explicit separators.
29105 (grubcmd): Likewise.
29106 (function): Likewise.
29107 (menuentry): Likewise.
29108 (if): Likewise.
29109 (commands): Likewise. Add error handling.
29110
29111 * normal/script.c (grub_script_create_cmdline): If
29112 `grub_script_parsed' is 0, assume the parser encountered an error.
29113
c9a86192 291142006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
29115
29116 * configure.ac: Add support for EFI. Fix the typo
29117 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
29118
70f3b243 291192006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29120
29121 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
29122 foreign multibyte characters should be shown correctly.
29123
65f201ad 291242006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29125
29126 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
29127 calculation.
29128 (read_config_file): Made it to close file before returning.
29129
b4b93674 291302006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
29131
29132 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
29133 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
29134 video/i386/pc/vbefill.c.
29135
29136 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
29137 video/i386/pc/vbefill.c.
29138
29139 * include/grub/video.h (grub_video_blit_format): New enum.
29140 (grub_video_mode_info): Added new member blit_format.
29141 (grub_video_get_blit_format): New function prototype.
29142
29143 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
29144 function prototype.
29145 (grub_video_vbe_map_rgb): Likewise.
29146 (grub_video_vbe_unmap_color): Likewise.
29147
29148 * include/grub/i386/pc/vbeblit.h: New file.
29149
29150 * include/grub/i386/pc/vbefill.h: New file.
29151
29152 * video/video.c (grub_video_get_blit_format): New function.
29153 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
29154 (grub_video_vbe_map_rgb): Likewise.
29155 (grub_video_vbe_unmap_color): Likewise.
29156
29157 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
29158 optimized fills.
29159 (grub_video_vbe_blit_render_target): Changed to use more optimized
29160 blits.
29161 (grub_video_vbe_setup): Added detection for optimized settings.
29162 (grub_video_vbe_create_render_target): Likewise.
29163
29164 * video/i386/pc/vbeblit.c: New file.
29165
29166 * video/i386/pc/vbefill.c: New file.
29167
c2379b9c 291682006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
29169
29170 * font/manager.c (grub_font_get_glyph): Removed font fixup from
29171 here...
29172
29173 * util/unifont2pff.rb: ... and moved it to here. Improved argument
29174 parsing to support both hex and dec ranges. If filename was missing
29175 show usage information.
29176
bd0d7896 291772006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
29178
29179 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
29180 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
29181
29182 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
29183 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
29184 (video_mod_SOURCES): Added.
29185 (video_mod_CFLAGS): Likewise.
29186 (video_mod_LDFLAGS): Likewise.
29187 (gfxterm_mod_SOURCES): Likewise.
29188 (gfxterm_mod_CFLAGS): Likewise.
29189 (gfxterm_mod_LDFLAGS): Likewise.
29190 (videotest_mod_SOURCES): Likewise.
29191 (videotest_mod_CFLAGS): Likewise.
29192 (videotest_mod_LDFLAGS): Likewise.
29193 (vesafb_mod_SOURCES): Removed.
29194 (vesafb_mod_CFLAGS): Likewise.
29195 (vesafb_mod_LDFLAGS): Likewise.
29196 (vga_mod_SOURCES): Likewise.
29197 (vga_mod_CFLAGS): Likewise.
29198 (vga_mod_LDFLAGS): Likewise.
29199
29200 * commands/videotest.c: New file.
29201
29202 * font/manager.c (fill_with_default_glyph): Modified to use
29203 grub_font_glyph.
29204 (grub_font_get_glyph): Likewise.
29205 (fontmanager): Renamed from this...
29206 (font_manager): ... to this.
29207
29208 * include/grub/font.h (grub_font_glyph): Added new structure.
29209 (grub_font_get_glyph): Modified to use grub_font_glyph.
29210
29211 * include/grub/misc.h (grub_abs): Added as inline function.
29212
29213 * include/grub/video.h: New file.
29214
29215 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
29216 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
29217 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
29218 (grub_vbe_get_controller_info): Renamed from this...
29219 (grub_vbe_bios_get_controller_info): ... to this.
29220 (grub_vbe_get_mode_info): Renamed from this...
29221 (grub_vbe_bios_get_mode_info): ... to this.
29222 (grub_vbe_set_mode): Renamed from this...
29223 (grub_vbe_bios_set_mode): ... to this.
29224 (grub_vbe_get_mode): Renamed from this...
29225 (grub_vbe_bios_get_mode): ... to this.
29226 (grub_vbe_set_memory_window): Renamed from this...
29227 (grub_vbe_bios_set_memory_window): ... to this.
29228 (grub_vbe_get_memory_window): Renamed from this...
29229 (grub_vbe_bios_get_memory_window): ... to this.
29230 (grub_vbe_set_scanline_length): Renamed from this...
29231 (grub_vbe_set_scanline_length): ... to this.
29232 (grub_vbe_get_scanline_length): Renamed from this...
29233 (grub_vbe_bios_get_scanline_length): ... to this.
29234 (grub_vbe_set_display_start): Renamed from this...
29235 (grub_vbe_bios_set_display_start): ... to this.
29236 (grub_vbe_get_display_start): Renamed from this...
29237 (grub_vbe_bios_get_display_start): ... to this.
29238 (grub_vbe_set_palette_data): Renamed from this...
29239 (grub_vbe_bios_set_palette_data): ... to this.
29240 (grub_vbe_set_pixel_rgb): Removed.
29241 (grub_vbe_set_pixel_index): Likewise.
29242
29243 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29244 from this...
29245 (grub_vbe_bios_get_controller_info): ... to this.
29246 (grub_vbe_get_mode_info): Renamed from this...
29247 (grub_vbe_bios_get_mode_info): ... to this.
29248 (grub_vbe_set_mode): Renamed from this...
29249 (grub_vbe_bios_set_mode): ... to this.
29250 (grub_vbe_get_mode): Renamed from this...
29251 (grub_vbe_bios_get_mode): ... to this.
29252 (grub_vbe_set_memory_window): Renamed from this...
29253 (grub_vbe_bios_set_memory_window): ... to this.
29254 (grub_vbe_get_memory_window): Renamed from this...
29255 (grub_vbe_bios_get_memory_window): ... to this.
29256 (grub_vbe_set_scanline_length): Renamed from this...
29257 (grub_vbe_set_scanline_length): ... to this.
29258 (grub_vbe_get_scanline_length): Renamed from this...
29259 (grub_vbe_bios_get_scanline_length): ... to this.
29260 (grub_vbe_set_display_start): Renamed from this...
29261 (grub_vbe_bios_set_display_start): ... to this.
29262 (grub_vbe_get_display_start): Renamed from this...
29263 (grub_vbe_bios_get_display_start): ... to this.
29264 (grub_vbe_set_palette_data): Renamed from this...
29265 (grub_vbe_bios_set_palette_data): ... to this.
29266 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29267 getting corrupted after calling it. Added more pushes and pops.
29268 (grub_vbe_bios_set_mode): Likewise.
29269 (grub_vbe_bios_get_mode): Likewise.
29270 (grub_vbe_bios_get_memory_window): Likewise.
29271 (grub_vbe_bios_set_scanline_length): Likewise.
29272 (grub_vbe_bios_get_scanline_length): Likewise.
29273 (grub_vbe_bios_get_display_start): Likewise.
29274 (grub_vbe_bios_set_palette_data): Likewise.
29275
29276 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29277 (cl_insert): Likewise.
29278 (cl_delete): Likewise.
29279
29280 * term/gfxterm.c: New file.
29281
29282 * term/i386/pc/vesafb.c: Removed file.
29283
29284 * video/video.c: New file.
29285
29286 * video/i386/pc/vbe.c (real2pm): Added new function.
29287 (grub_video_vbe_draw_pixel): Likewise.
29288 (grub_video_vbe_get_video_ptr): Likewise.
29289 (grub_video_vbe_get_pixel): Likewise
29290 (grub_video_vbe_init): Likewise.
29291 (grub_video_vbe_fini): Likewise.
29292 (grub_video_vbe_setup): Likewise.
29293 (grub_video_vbe_get_info): Likewise.
29294 (grub_video_vbe_set_palette): Likewise.
29295 (grub_video_vbe_get_palette): Likewise.
29296 (grub_video_vbe_set_viewport): Likewise.
29297 (grub_video_vbe_get_viewport): Likewise.
29298 (grub_video_vbe_map_color): Likewise.
29299 (grub_video_vbe_map_rgb): Likewise.
29300 (grub_video_vbe_map_rgba): Likewise.
29301 (grub_video_vbe_unmap_color): Likewise.
29302 (grub_video_vbe_fill_rect): Likewise.
29303 (grub_video_vbe_blit_glyph): Likewise.
29304 (grub_video_vbe_blit_bitmap): Likewise.
29305 (grub_video_vbe_blit_render_target): Likewise.
29306 (grub_video_vbe_scroll): Likewise.
29307 (grub_video_vbe_swap_buffers): Likewise.
29308 (grub_video_vbe_create_render_target): Likewise.
29309 (grub_video_vbe_delete_render_target): Likewise.
29310 (grub_video_vbe_set_active_render_target): Likewise.
29311 (grub_vbe_set_pixel_rgb): Remove function.
29312 (grub_vbe_set_pixel_index): Likewise.
29313 (index_color_mode): Remove static variable.
29314 (active_mode): Likewise.
29315 (framebuffer): Likewise.
29316 (bytes_per_scan_line): Likewise.
29317 (grub_video_vbe_adapter): Added new static variable.
29318 (framebuffer): Likewise.
29319 (render_target): Likewise.
29320 (initial_mode): Likewise.
29321 (mode_in_use): Likewise.
29322 (mode_list): Likewise.
29323
5f97350b 293242006-03-10 Marco Gerards <marco@gnu.org>
29325
29326 * configure.ac (AC_INIT): Bumped to 1.93.
29327
29328 * DISTLIST: Added `include/grub/hfs.h'.
29329
a3c5c6f8 293302006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29331
29332 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29333 18H, which might help the BIOS falling back to next boot media.
29334
6de53d26 293352006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29336
29337 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29338 Poe Chen <poe.poechen@gmail.com>.
29339
77c4a393 293402006-01-17 Marco Gerards <marco@gnu.org>
29341
29342 * include/grub/normal.h: Include <grub/script.h>.
29343 (grub_command_list): Removed struct.
29344 (grub_command_list_t): Removed type.
29345 (grub_menu_entry): Remove members `num' and `command_list'. Add
29346 members `commands' and `sourcecode'.
29347 * include/grub/script.h: Add inclusion guards.
29348 (grub_script_cmd_menuentry): New struct.
29349 (grub_script_execute_menuentry): New prototype.
29350 (grub_script_lexer_record_start): Likewise.
29351 (grub_script_lexer_record_stop): Likewise.
29352 * normal/execute.c (grub_script_execute_menuentry): New function.
29353 * normal/lexer.c (record, recording, recordpos, recordlen): New
29354 variables.
29355 (grub_script_lexer_record_start): New function.
29356 (grub_script_lexer_record_stop): Likewise.
29357 (recordchar): Likewise.
29358 (nextchar): Likewise.
29359 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29360 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29361 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29362 (current_menu): New variable.
29363 (free_menu): Mainly rewritten.
29364 (grub_normal_menu_addentry): New function.
29365 (read_config_file): Rewritten.
29366 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29367 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29368 the menu entry.
29369 (run): Mainly rewritten.
29370 * normal/parser.y (menu_entry): New variable.
29371 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29372 (menuentry): New rule.
29373 (command): Add `menuentry'.
29374 (if_statement): Allow additional returns before `fi'.
29375 * normal/script.c (grub_script_create_cmdmenu): New function.
29376
144f1f98 293772006-01-03 Marco Gerards <marco@gnu.org>
29378
29379 * INSTALL: GNU Bison is required.
29380 * configure.ac: Rewritten the test to detect Bison.
29381 * Makefile.in (YACC): New variable. Reported by Xun Sun
29382 <xun.sun.cn@gmail.com>.
29383
af4b2d89 293842006-01-03 Marco Gerards <marco@gnu.org>
29385
29386 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29387 the HFS+ filesystem to filesystem blocks.
29388 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29389 GCC warning is silenced.
29390
15643b71 293912006-01-03 Marco Gerards <marco@gnu.org>
29392
29393 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29394 read from disk from big endian to host byte order.
29395
00905879 293962006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29397
29398 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29399 documentation.
29400 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29401 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29402 embedded HFS+ filesystem.
29403 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29404 (grub_hfs_sblock): Move from here...
29405 * include/grub/hfs.h: To here... New file.
29406 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29407 documentation.
29408 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29409 New macros.
29410 (grub_hfsplus_volheader): Change type of member `magic' to
29411 `grub_uint16_t'.
29412 (grub_hfsplus_data): Add new member `embedded_offset'.
29413 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29414 returned block.
29415 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29416 Calculate the offset.
29417
8899bc3e 294182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29419
29420 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29421 Removed.
29422 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29423
ae8c0277 294242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29425
29426 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29427 ENV->NAME is NULL after allocating ENV->VALUE.
29428
07084456 294292005-12-25 Marco Gerards <marco@gnu.org>
29430
29431 * kern/env.c (grub_env_set): Rewritten the error handling code.
29432
4750f5f1 294332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29434
29435 * geninit.sh: Made more robust, and more portable.
29436
50214199 294372005-12-25 Marco Gerards <marco@gnu.org>
29438
29439 Add support for Apple HFS+ filesystems.
f19dbdb7 29440
50214199 29441 * fs/hfsplus.c: New file.
29442
29443 * DISTLIST: Added `fs/hfsplus.c'.
29444
29445 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29446 (hfsplus_mod_SOURCES): New variable.
29447 (hfsplus_mod_CFLAGS): Likewise.
29448 (hfsplus_mod_LDFLAGS): Likewise.
29449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29450 (grub_setup_SOURCES): Likewise.
29451 (grub_mkdevicemap_SOURCES): Likewise.
29452 (grub_emu_SOURCES): Likewise.
29453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29454
29455 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
29456
29457 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
29458
befaed6c 294592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29460
29461 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
29462 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
29463 include/grub/parser.h, include/grub/script.h, kern/parser.c,
29464 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
29465 normal/lexer.c, normal/parser.y, normal/script.c, and
29466 partmap/gpt.c.
29467 Removed kern/sparc64/cache.c.
29468
29469 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
29470 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
29471 grub_emu_init.c.
29472
29473 * configure.ac (AC_INIT): Bumped to 1.92.
29474
6a124103 294752005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
29476
29477 * kern/err.c (grub_error_push): Added new function to support error
29478 stacks.
29479 (grub_error_pop): Likewise.
29480 (grub_error_stack_items): New local variable to support error stacks.
29481 (grub_error_stack_pos): Likewise.
29482 (grub_error_stack_assert): Likewise.
29483 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
29484 stack depth.
29485 (grub_print_error): Added support to print errors from error stack.
29486
29487 * include/grub/err.h (grub_error_push): Added function prototype.
29488 (grub_error_pop): Likewise.
29489
be973c1b 294902005-12-09 Hollis Blanchard <hollis@penguinppc.org>
29491
29492 * configure.ac: Accept `powerpc64' as host_cpu.
29493 (amd64): Rename to `biarch32'.
29494
29495 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
29496 non-cacheline-aligned addresses.
29497
29498 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
29499 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
29500 if `size' is non-zero.
29501
b04216ab 295022005-12-03 Marco Gerards <mgerards@xs4all.nl>
29503
29504 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
29505 and `cd' to make sure the filename is not prefixed with a
29506 directory name.
29507 (pkgdata_MODULES): Add `gpt.mod'.
29508 (gpt_mod_SOURCES): New variable.
29509 (gpt_mod_CFLAGS): Likewise.
29510 (gpt_mod_LDFLAGS): Likewise.
29511
29512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
29513
29514 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
29515 New macro.
29516
29517 * partmap/gpt.c: New file.
29518
29519 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29520 GPT partition map is detected.
29521
41730ed9 295222005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29523
29524 * commands/i386/pc/play.c: New file.
29525 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29526 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29527 macros.
f19dbdb7 29528
95dc3643 295292005-11-27 Marco Gerards <mgerards@xs4all.nl>
29530
29531 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29532 ((unused))' to silence gcc warning.
29533
1569ec51 295342005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29535
29536 * configure.ac: Correct `AC_PROG_YACC' test.
29537
9abde152 295382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29539
29540 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29541 check before installing files.
29542
44b83271 295432005-11-22 Mike Small <smallm@panix.com>
29544
29545 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29546 number regex so multidigit numbers are recognized correctly.
29547
295482005-11-22 Mike Small <smallm@panix.com>
29549
29550 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29551 debugging message before attempting to claim memory.
29552 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29553 multiple addresses in case of failure.
29554
9c12956b 295552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29556
29557 * term/tparm.c (get_space): Remove empty `if' statement.
29558
29559 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29560
29561 * kern/parser.c (check_varstate): Rename `state' to 's'.
29562
aeaf81d9 295632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29564
29565 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29566 variable definitions to the beginning of each function. Sort stack
29567 variables by size.
29568 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29569 `buf' argument to `char *'.
29570
79bbb63f 295712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29572
29573 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29574 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29575 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29576 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29577 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29578 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29579 configfile.mod, search.mod, gzio.mod and test.mod.
29580 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29581 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29582 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29583 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29584 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29585 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29586 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29587 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29588 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29589 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29590 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29591 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29592 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29593 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29594 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29595 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29596 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29597 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29598 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29599 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29600 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29601 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29602 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29603
29604 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29605 `grep --include'.
29606 (pkgdata_MODULES): Add test.mod.
29607
233b1628 296082005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29609
29610 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29611 appending to variables with "+=".
29612 (PModule): Use full pathname to generate *.lst filenames.
29613
29614 * Makefile.in: Fixed list rules moved from genmk.rb.
29615 (.DELETE_ON_ERROR): New special target.
29616 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29617
29618 * conf/i386-pc.rmk: Include conf/common.mk.
29619 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29620 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29621 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29622 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29623 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29624 configfile.mod, search.mod, gzio.mod and test.mod.
29625 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29626 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29627 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29628 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29629 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29630 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29631 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29632 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29633 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29634 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29635 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29636 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29637 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29638 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29639 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29640 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29641 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29642 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29643 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29644 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29645 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29646 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29647 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29648 here...
29649 * conf/common.rmk: ... to here. New file.
29650
29651 * conf/common.mk: New file.
29652
16f820c8 296532005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29654
29655 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29656 (grub_script.tab.c): ... here.
29657
29658 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29659 (grub_script.tab.c): ... here.
29660
29661 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29662 (grub_script.tab.c): ... here.
29663
29664 * normal/command.c (grub_command_find): Fixed a memory leak of
29665 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29666
63ba1554 296672005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29668
29669 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29670 "@" which marks the start of a comment on ARM.
29671 (VARIABLE): Likewise.
29672
7f67dc13 296732005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29674
79bbb63f 29675 Add support for Linux/ADFS partition tables.
7f67dc13 29676
29677 * partmap/acorn.c: New file.
29678
29679 * include/grub/acorn_filecore.h: Likewise.
29680
29681 * DISTLIST: Added `partmap/acorn.c' and
29682 `include/grub/acorn_filecore.h'.
f19dbdb7 29683
7f67dc13 29684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29685 `partmap/acorn.c'.
29686 (pkgdata_MODULES): Add `acorn.mod'.
29687 (acorn_mod_SOURCES): New variable.
29688 (acorn_mod_CFLAGS): Likewise.
29689
29690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29691 `partmap/acorn.c'.
29692 (pkgdata_MODULES): Add `acorn.mod'.
29693 (acorn_mod_SOURCES): New variable.
29694 (acorn_mod_CFLAGS): Likewise.
29695
29696 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29697 (pkgdata_MODULES): Add `acorn.mod'.
29698 (acorn_mod_SOURCES): New variable.
29699 (acorn_mod_CFLAGS): Likewise.
29700 (acorn_mod_LDFLAGS): Likewise.
29701
29702 * include/types.h (grub_disk_addr_t): New typedef.
29703
6d099807 297042005-11-13 Marco Gerards <mgerards@xs4all.nl>
29705
29706 * geninit.sh: New file.
29707
29708 * geninitheader.sh: Likewise.
29709
29710 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29711 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29712 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29713 * commands/configfile.c (grub_configfile_init)
29714 (grub_configfile_fini): Likewise.
29715 * commands/default.c (grub_default_init, grub_default_fini):
29716 Likewise.
29717 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29718 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29719 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29720 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29721 Likewise.
29722 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29723 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29724 Likewise.
29725 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29726 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29727 Likewise.
29728 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29729 Likewise.
fe6b695a 29730 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29731 Likewise.
29732 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29733 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29734 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29735 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29736 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29737 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29738 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29739 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29740 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29741 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29742 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29743 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29744 * partmap/amiga.c (grub_amiga_partition_map_init)
29745 (grub_amiga_partition_map_fini): Likewise.
29746 * partmap/apple.c (grub_apple_partition_map_init)
29747 (grub_apple_partition_map_fini): Likewise.
29748 * partmap/pc.c (grub_pc_partition_map_init)
29749 (grub_pc_partition_map_fini): Likewise.
29750 * partmap/sun.c (grub_sun_partition_map_init,
29751 grub_sun_partition_map_fini): Likewise.
29752 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29753 Likewise.
29754
29755 * util/grub-emu.c: Include <grub_modules_init.h>.
29756 (main): Don't initialize and de-initialize any modules directly,
29757 use `grub_init_all' and `grub_fini_all' instead.
29758
29759 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29760 `grub_vesafb_mod_init'.
29761 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29762 all users.
29763 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29764 `grub_vga_mod_init'. Updated all users.
29765 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29766
6d099807 29767 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29768 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29769 rules.
29770
29771 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29772 Generate a function to initialize the module in utilities.
29773 Updated all callers.
29774 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29775 initialize the module in utilities. Updated all callers.
29776
9046bcf0 297772005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29778
29779 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29780 escape sequence and a literal ^L to clear the screen.
29781
29782 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29783 when returning from Open Firmware.
29784
d13ea639 297852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29786
29787 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29788 (grub_ofconsole_height): Likewise.
29789 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29790 manually insert a '\n'.
29791 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29792 `grub_ofconsole_height'. Return early if these are already set.
29793
a8fcf206 297942005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29795
29796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29797 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29798 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29799 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29800 and `normal/script.c'.
29801 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29802 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29803 (test_mod_SOURCES): New variable.
29804 (test_mod_CFLAGS): Likewise.
29805 (test_mod_LDFLAGS): Likewise.
29806 (pkgdata_MODULES): Add `test.mod'.
29807 (grub_script.tab.c): New rule.
29808 (grub_script.tab.h): Likewise.
29809
b6b32745 298102005-11-07 Marco Gerards <mgerards@xs4all.nl>
29811
29812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29813 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29814 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29815 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29816 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29817 (test_mod_SOURCES): New variable.
29818 (test_mod_CFLAGS): Likewise.
29819 (pkgdata_MODULES): Add `test.mod'.
29820 (grub_script.tab.c): New rule.
29821 (grub_script.tab.h): Likewise.
29822
daac212a 298232005-11-06 Marco Gerards <mgerards@xs4all.nl>
29824
29825 Add initial scripting support.
29826
29827 * commands/test.c: New file.
29828 * include/grub/script.h: Likewise.
29829 * normal/execute.c: Likewise.
29830 * normal/function.c: Likewise.
29831 * normal/lexer.c: Likewise.
29832 * normal/parser.y: Likewise.
29833 * normal/script.c: Likewise.
29834
29835 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29836
daac212a 29837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29838 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29839 `normal/function.c' and `normal/script.c'.
29840 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29841 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29842 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29843 variables.
daac212a 29844 (pkgdata_MODULES): Add `test.mod'.
29845 (grub_script.tab.c): New rule.
29846 (grub_script.tab.h): Likewise.
29847
29848 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29849
29850 * include/grub/normal.h (grub_test_init): New prototype.
29851 (grub_test_fini): Likewise.
f19dbdb7 29852
daac212a 29853 * normal/command.c: Include <grub/script.h>.
29854 (grub_command_execute): Rewritten.
f19dbdb7 29855
daac212a 29856 * util/grub-emu.c (main): Call `grub_test_init' and
29857 `grub_test_fini'.
29858
77500b2b 298592005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29860
29861 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29862 to 0.
29863 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29864 there are no pending characters.
29865
e45deb9e 298662005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29867
29868 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29869 `grub_strndup' to drop device arguments. Replace unnecessary
29870 `grub_strndup' with `grub_strdup'.
29871
4ce32619 298722005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29873
29874 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29875 `debug' environment variable has been set.
29876
298772005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29878
4ce32619 29879 * Makefile.in (install-local): Use $(DATA).
29880 (uninstall): Likewise.
29881 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29882 (sbin_UTILITIES): ... to here.
29883 (sbin_SCRIPTS): New variable.
29884 (grub_install_SOURCES): New variable.
29885 * util/powerpc/ieee1275/grub-install.in: New file.
29886 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29887 variable.
29888 (add_segments): Call `grub_util_get_path'.
29889
25fe6f03 298902005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29891
29892 From Timothy Baldwin:
29893 * commands/ls.c (grub_ls_list_files): Close FILE with
29894 grub_file_close.
29895 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29896
04ccf3ec 298972005-10-24 Marco Gerards <mgerards@xs4all.nl>
29898
29899 * include/grub/parser.h: New file.
29900
29901 * kern/parser.c: Likewise.
29902
29903 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29904 (grub_setup_SOURCES): Likewise.
29905 (grub_probefs_SOURCES): Likewise.
29906 (grub_emu_SOURCES): Likewise.
29907 (kernel_img_HEADERS): Add `parser.h'.
29908
29909 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29910 (grub_emu_SOURCES): Add `kern/parser.c'.
29911 (grubof_SOURCES): Likewise.
29912
29913 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29914 (grubof_SOURCES): Add `kern/parser.c'.
29915
29916 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29917
29918 * kern/misc.c (grub_split_cmdline): Removed function.
29919
29920 * kern/rescue.c: Include <grub/parser.h>.
29921 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29922 of `grub_split_cmdline'.
29923
29924 * normal/command.c: Include <grub/parser.h>.
29925 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29926 of `grub_split_cmdline'.
29927
29928 * normal/completion.c: Include <grub/parser.h>.
29929 (cmdline_state): New variable.
29930 (iterate_dir): End the filename with a quote depending on the
29931 command line state.
29932 (get_state): new function.
29933 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29934 split the arguments and determine the current argument. When the
29935 argument string is not quoted, escape all spaces.
29936
6d8f4b0e 299372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29938
29939 * normal/sparc64/setjmp.S: New file.
29940
15cf03ed 299412005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29942
29943 * include/grub/sparc64/libgcc.h: New file.
29944 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29945 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29946 normal/sparc64/setjmp.c.
29947
03e8661a 299482005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29949
29950 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29951 * kern/sparc64/cache.S: New file.
29952 * kern/sparc64/cache.c: Removed.
29953 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29954 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29955 -mtune=ultrasparc.
29956 (COMMON_LDFLAGS): Add -melf64_sparc.
29957 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29958 (grubof_SOURCES): Use cache.S instead of cache.c.
29959 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29960 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29961 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29962 commented though.
29963 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29964 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29965 (linux_mod_CFLAGS): Commented out.
29966 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29967 out because module isn't built.
29968 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29969 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29970 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29971 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29972 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29973 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29974 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29975 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29976 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29977 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29978 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29979 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29980 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29981 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29982
34eeec8a 299832005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29984
29985 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29986 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29987 longer, because HFS should not be used on PC.
29988
708367a3 299892005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29990
29991 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29992 consistently within the loop.
29993
6fa1251a 299942005-10-15 Marco Gerards <mgerards@xs4all.nl>
29995
29996 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29997 directory can not be read.
29998
4801580b 299992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30000
30001 * configure.ac (AC_INIT): Increase the version number to 1.91.
30002
30003 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30004 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30005 term/i386/pc/serial.c.
30006
219ad426 300072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30008
30009 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30010 file size must be permitted.
30011
30012 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30013 between %ah and %al.
30014
688e5699 300152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30016
30017 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30018 grub_uint64_t.
30019 Call the hook with a NUL-terminated filename.
30020 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30021 grub_cpu_to_be32.
30022
30023 * kern/term.c (cursor_state): New variable.
30024 (grub_term_set_current): Reset the cursor state on a new
30025 terminal.
30026 (grub_setcursor): Rewritten to use CURSOR_STATE.
30027 (grub_getcursor): New function.
30028
30029 * include/grub/term.h (grub_getcursor): New prototype.
30030
30031 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30032 integers on ARM. Reported by Timothy Baldwin
30033 <T.E.Baldwin99@members.leeds.ac.uk>.
30034
bb34586c 300352005-10-11 Marco Gerards <mgerards@xs4all.nl>
30036
30037 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30038 allocated.
30039 (grub_sfs_dir): Likewise.
30040
9a909877 300412005-10-09 Marco Gerards <mgerards@xs4all.nl>
30042
30043 Add support for the SFS filesystem.
30044
30045 * fs/sfs.c: New file.
30046
30047 * DISTLIST: Added `fs/sfs.c'.
30048
30049 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30050 (grub_probefs_SOURCES): Likewise.
30051 (grub_emu_SOURCES): Likewise.
30052 (pkgdata_MODULES): Add `sfs.mod'.
30053 (sfs_mod_SOURCES): New variable.
30054 (sfs_mod_CFLAGS): Likewise.
30055 (sfs_mod_LDFLAGS): Likewise.
30056
30057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30058 (pkgdata_MODULES): Add `sfs.mod'.
30059 (sfs_mod_SOURCES): New variable.
30060 (sfs_mod_CFLAGS): Likewise.
30061
30062 * util/grub-emu.c (main): Call `grub_sfs_init' and
30063 `grub_sfs_fini'.
30064
30065 * include/grub/fs.h (grub_sfs_init): New prototype.
30066 (grub_sfs_fini): Likewise.
30067
57bdbde3 300682005-10-07 Marco Gerards <mgerards@xs4all.nl>
30069
30070 Add support for the AFFS filesystem.
30071
30072 * fs/affs.c: New file.
30073
30074 * DISTLIST: Added `fs/affs.c'.
30075
30076 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30077 (grub_probefs_SOURCES): Likewise.
30078 (grub_emu_SOURCES): Likewise.
30079 (pkgdata_MODULES): Add `affs.mod'.
30080 (affs_mod_SOURCES): New variable.
30081 (affs_mod_CFLAGS): Likewise.
30082 (affs_mod_LDFLAGS): Likewise.
30083
30084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30085 (pkgdata_MODULES): Add `affs.mod'.
30086 (affs_mod_SOURCES): New variable.
30087 (affs_mod_CFLAGS): Likewise.
30088
30089 * util/grub-emu.c (main): Call `grub_affs_init' and
30090 `grub_affs_fini'.
30091
30092 * include/grub/fs.h (grub_affs_init): New prototype.
30093 (grub_affs_fini): Likewise.
30094
047b67e0 300952005-10-01 Marco Gerards <mgerards@xs4all.nl>
30096
30097 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
30098
59b8208a 300992005-10-01 Marco Gerards <mgerards@xs4all.nl>
30100
30101 * configure.ac: Accept `x86_64' as host_cpu. In that case add
30102 `-m32' to CFLAGS.
30103
30104 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
30105 linking.
f19dbdb7 30106
59b8208a 30107 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
30108 (COMMON_LDFLAGS): New variable.
30109 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
30110 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
30111 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
30112 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
30113 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
30114 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
30115 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
30116 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
30117 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
30118 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
30119 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30120 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30121 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
30122 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
30123 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
30124 variables.
30125 (normal_mod_ASFLAGS): Add `-m32'.
30126
30127 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
30128 (grub_host_size_t, grub_host_ssize_t): New types.
30129 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 30130 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 30131 `GRUB_HOST_SIZEOF_VOID_P'.
30132
30133 * include/grub/kernel.h (struct grub_module_header): Type of
30134 member offset changed to `grub_host_off_t'. Type of member size
30135 changed to `grub_host_size_t'.
30136 (struct grub_module_info): Type of member offset changed to
30137 `grub_host_off_t'. Type of member size changed to
30138 `grub_host_size_t'.
30139
b4093103 301402005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
30141
30142 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 30143
b4093103 30144 * kern/i386/pc/startup.S (multiboot_header): New label.
30145 (multiboot_entry): Likewise.
30146 (multiboot_trampoline): Likewise.
30147
30148 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30149 Increased to 0x4A0.
30150
30151 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
30152 put parentheses after a question mark.
30153 [!GRUB_UTIL] (my_mod): New variable.
30154
30155 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
30156
b2499b29 301572005-09-28 Marco Gerards <mgerards@xs4all.nl>
30158
30159 Adds support for the XFS filesystem. Btrees are not supported
30160 yet.
30161
30162 * fs/xfs.c: New file.
30163
30164 * DISTLIST: Added `fs/xfs.c'.
30165
30166 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
30167 (grub_probefs_SOURCES): Likewise.
30168 (grub_emu_SOURCES): Likewise.
30169 (pkgdata_MODULES): Add `xfs.mod'.
30170 (xfs_mod_SOURCES): New variable.
30171 (xfs_mod_CFLAGS): Likewise.
30172
30173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
30174 (pkgdata_MODULES): Add `xfs.mod'.
30175 (xfs_mod_SOURCES): New variable.
30176 (xfs_mod_CFLAGS): Likewise.
30177
30178 * util/grub-emu.c (main): Call `grub_xfs_init' and
30179 `grub_xfs_fini'.
30180
30181 * include/grub/fs.h (grub_xfs_init): New prototype.
30182 (grub_xfs_fini): Likewise.
30183
f19dbdb7 30184
83d37a62 301852005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
30186
30187 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
30188 color modes, allow greater than 16 colors to be configured as
30189 a default palette.
30190
47d2d65e 301912005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30192
30193 * normal/completion.c (complete_arguments): Add the qualifier
30194 const into OPTIONS.
30195
30196 From Omniflux <omniflux+lists@omniflux.com>:
30197 * include/grub/terminfo.h: New file.
30198 * include/grub/tparm.h: Likewise.
30199 * include/grub/i386/pc/serial.h: Likewise.
30200 * term/terminfo.c: Likewise.
30201 * term/tparm.c: Likewise.
30202 * term/i386/pc/serial.c: Likewise.
30203 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
30204 serial.mod.
30205 (terminfo_mod_SOURCES): New variable.
30206 (terminfo_mod_CFLAGS): Likewise.
30207 (serial_mod_SOURCES): Likewise.
30208 (serial_mod_CFLAGS): Likewise.
30209
48b671ff 302102005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
30211
30212 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
30213 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
30214 and kern/powerpc/ieee1275/cmain.c, respectively.
30215
30216 * boot/powerpc/ieee1275/crt0.S: Moved to ...
30217 * kern/powerpc/ieee1275/crt0.S: ... here.
30218
30219 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30220 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30221
48b671ff 30222 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30223 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30224 instead of boot/powerpc/ieee1275/crt0.S and
30225 boot/powerpc/ieee1275/cmain.c, respectively.
30226
30227 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30228 sectors. It was not used anyway.
30229
09fc77a7 302302005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30231
30232 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30233 `unused parameter' warning.
30234
003789c7 302352005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30236
30237 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30238 function.
30239 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30240 getcharwidth.
30241
67f44c86 302422005-08-28 Marco Gerards <metgerards@student.han.nl>
30243
30244 * include/grub/normal.h (enum grub_completion_type): Added
30245 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30246
30247 * normal/cmdline.c (print_completion): Handle
30248 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30249 * normal/menu_entry.c (store_completion): Likewise.
30250
30251 * normal/completion.c (complete_arguments): New function.
30252 (grub_normal_do_completion): Call `complete_arguments' when the
30253 current words start with a dash.
30254
0b5abe02 302552005-08-27 Marco Gerards <metgerards@student.han.nl>
30256
30257 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30258 `gzio.mod' instead of `io.mod').
30259
d9864ee1 302602005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30261
30262 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30263 (DISTDIRS): Added io and video.
30264 Rewrite the search routine to make an output consistently.
30265
30266 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30267 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30268 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30269 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30270 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30271 util/powerpc/ieee1275/misc.c.
f19dbdb7 30272
d9864ee1 30273 * include/grub/gzio.h: New file.
30274 * io/gzio.c: Likewise.
f19dbdb7 30275
d9864ee1 30276 * kern/file.c (grub_file_close): Call grub_device_close only if
30277 FILE->DEVICE is not NULL.
30278
30279 * include/grub/mm.h [!NULL] (NULL): New macro.
30280
30281 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30282
30283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30284 (pkgdata_MODULES): Added gzio.mod.
30285 (gzio_mod_SOURCES): New variable.
30286 (gzio_mod_CFLAGS): Likewise.
30287
30288 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30289 (pkgdata_MODULES): Added gzio.mod.
30290 (gzio_mod_SOURCES): New variable.
30291 (gzio_mod_CFLAGS): Likewise.
30292
30293 * commands/cat.c: Include grub/gzio.h.
30294 (grub_cmd_cat): Use grub_gzfile_open instead of
30295 grub_file_open.
f19dbdb7 30296
d9864ee1 30297 * commands/cmp.c: Include grub/gzio.h.
30298 (grub_cmd_cmp): Use grub_gzfile_open instead of
30299 grub_file_open.
30300
30301 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30302 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30303 grub_file_open.
30304 (grub_rescue_cmd_module): Likewise.
30305
fa46f4b5 303062005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30307
30308 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30309 kern/sparc64/ieee1275/init.c because it contains _start.
30310 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30311
e9211b5d 303122005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30313
30314 * configure.ac: Add support for sparc64 host with ieee1275
30315 firmware.
30316 * configure: Generated from configure.ac.
30317 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30318 instead of int.
30319 (grub_ofdisk_read): Likewise.
30320 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30321 pointers as (void *) to remove a warning.
30322 (grub_ofdisk_close): Likewise.
30323 (grub_ofdisk_read): Likewise.
30324 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30325 returns, so make it return void to remove a warning.
30326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30327 Corresponding prototype change.
30328 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30329 values, and cast the pointers as (void *) to remove a warning.
30330 (grub_mm_dump): Likewise.
30331 * conf/sparc64-ieee1275.mk: New file.
30332 * conf/sparc64-ieee1275.rmk: Likewise.
30333 * include/grub/sparc64/setjmp.h: Likewise.
30334 * include/grub/sparc64/types.h: Likewise.
30335 * include/grub/sparc64/ieee1275/console.h: Likewise.
30336 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30337 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30338 * include/grub/sparc64/ieee1275/time.h: Likewise.
30339 * kern/sparc64/cache.c: Likewise.
30340 * kern/sparc64/dl.c: Likewise.
30341 * kern/sparc64/ieee1275/init.c: Likewise.
30342 * kern/sparc64/ieee1275/openfw.c: Likewise.
30343
385c6a92 303442005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30345
30346 * util/console.c (grub_ncurses_putchar): If C is greater than
30347 0x7f, set C to a question mark.
30348 (grub_ncurses_getcharwidth): New function.
30349 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30350 getcharwidth.
30351
30352 * normal/menu.c (print_entry): Made aware of Unicode. First,
30353 convert TITLE to UCS-4, and predict the cursor position by
30354 grub_getcharwidth.
30355
30356 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30357 const to SRC.
30358 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30359
16ccb8b1 303602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30361
30362 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30363 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30364 grub_strcat.
30365
30366 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30367 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30368 grub_strcpy and grub_strlen. Take it into account that a space
30369 character is inserted as a delimiter.
30370
6a85ce79 303712005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30372
30373 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30374 invalid magic in the error.
6a85ce79 30375
30376 * commands/search.c: New file.
f19dbdb7 30377
6a85ce79 30378 * util/grub-emu.c (main): Call grub_search_init and
30379 grub_search_fini.
30380
30381 * kern/rescue.c (grub_rescue_print_disks): Removed.
30382 (grub_rescue_print_devices): New function.
30383 (grub_rescue_cmd_ls): Use grub_device_iterate with
30384 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30385 grub_rescue_print_disks.
30386
30387 * kern/partition.c (grub_partition_iterate): Return the result of
30388 PARTMAP->ITERATE instead of GRUB_ERRNO.
30389
30390 * kern/device.c: Include grub/partition.h.
30391 (grub_device_iterate): New function.
30392
30393 * include/grub/partition.h (grub_partition_iterate): Return int
30394 instead of grub_err_t.
30395
30396 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30397 prototype.
30398 [GRUB_UTIL] (grub_search_fini): Likewise.
30399
30400 * include/grub/device.h (grub_device_iterate): New prototype.
30401
30402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30403 commands/search.c.
30404 (pkgdata_MODULES): Added search.mod.
30405 (search_mod_SOURCES): New variable.
30406 (search_mod_CFLAGS): Likewise.
30407
30408 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30409 (pkgdata_MODULES): Added search.mod.
30410 (search_mod_SOURCES): New variable.
30411 (search_mod_CFLAGS): Likewise.
30412
30413 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30414 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30415 All callers changed.
30416
30417 * DISTLIST: Added commands/search.c.
30418
ef095434 304192005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30420
30421 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30422 conversion.
30423 (grub_getcharwidth): New function.
30424
30425 * kern/misc.c (grub_utf8_to_ucs4): New function.
30426
30427 * include/grub/term.h (struct grub_term): Added a new member
30428 "getcharwidth".
30429 (grub_getcharwidth): New prototype.
30430
30431 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30432
30433 * term/i386/pc/console.c (map_char): New function. Segregated from
30434 grub_console_putchar.
30435 (grub_console_putchar): Use map_char.
30436 (grub_console_getcharwidth): New function.
30437 (grub_console_term): Specified grub_console_getcharwidth as
30438 getcharwidth.
30439
30440 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30441 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30442
30443 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30444 GRUB_ERRNO.
30445 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30446 on grub_strtoul completely.
30447 (write_char): Declare local variables in the beginning of the
30448 function.
30449 (grub_vesafb_getcharwidth): New function.
30450 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
30451 getcharwidth.
30452
1f0a95e4 304532005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
30454
30455 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
30456 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
30457 commands/i386/pc/vbetest.c.
30458
30459 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
30460 call grub_vbe_get_controller_info again, because the returned
30461 information is volatile.
30462 (grub_vbe_set_video_mode): Mostly rewritten.
30463 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
30464 grub_vbe_status_t correctly.
30465 (grub_vbe_get_video_mode_info): Likewise.
30466 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
30467 several if statements.
30468
30469 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
30470 * commands/i386/pc/vbeinfo.c: ... this.
30471
30472 * commands/i386/pc/vbe_test.c: Renamed to ...
30473 * commands/i386/pc/vbetest.c: ... this.
30474
30475 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
30476 ...
30477 (grub_cmd_vbeinfo): ... this. Save video modes before
30478 iterating. Skip a video mode, if it is not available, not enough
30479 information is given or it is monochrome. Show the memory
30480 model. Leave the interpretation of MODEVAR to grub_strtoul
30481 completely.
30482 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
30483 (GRUB_MOD_FINI): Likewise.
30484
30485 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
30486 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
30487 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
30488 duplicated grub_env_get. Leave the interpretation of MODEVAR to
30489 grub_strtoul completely.
30490 (real2pm): Removed.
30491 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
30492 (GRUB_MOD_FINI): Likewise.
30493
30494 * normal/misc.c: Include grub/mm.h.
30495
30496 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
30497 vbe_list_modes with vbetest.mod and vbeinfo.mod.
30498 (vbe_list_modes_mod_SOURCES): Removed.
30499 (vbe_list_modes_mod_CFLAGS): Likewise.
30500 (vbe_test_mod_SOURCES): Likewise.
30501 (vbe_test_mod_CFLAGS): Likewise.
30502 (vbeinfo_mod_SOURCES): New variable.
30503 (vbeinfo_mod_CFLAGS): Likewise.
30504 (vbetest_mod_SOURCES): Likewise.
30505 (vbetest_mod_CFLAGS): Likewise.
30506
992ffbbe 305072005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
30508
30509 * normal/misc.c: New file.
30510
30511 * DISTLIST: Added normal/misc.c.
f19dbdb7 30512
992ffbbe 30513 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
30514 DISK to HOOK. Call HOOK with DISK.
30515 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30516 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30517 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30518
30519 * normal/menu_entry.c (struct screen): Added a new member
30520 "completion_shown".
30521 (completion_buffer): New global variable.
30522 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30523 (store_completion): New function.
30524 (complete): Likewise.
30525 (clear_completions): Likewise.
30526 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30527 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30528 a tab, call complete.
30529
30530 * normal/completion.c (disk_dev): Removed.
30531 (print_simple_completion): Likewise.
30532 (print_partition_completion): Likewise.
30533 (print_func): New global variable.
30534 (add_completion): Do not take the arguments WHAT or PRINT any
30535 longer. Added a new argument TYPE. Instead of printing directly,
30536 call PRINT_FUNC if not NULL.
30537 All callers changed.
30538 (complete_device): Use a local variable DEV instead of
30539 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30540 (grub_normal_do_completion): Take a new argument HOOK. Do not
30541 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30542 empty string, return NULL instead.
30543 All callers changed.
30544
30545 * normal/cmdline.c (print_completion): New function.
30546
30547 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30548 to HOOK.
30549 All callers changed.
30550
30551 * kern/disk.c (grub_print_partinfo): Removed.
30552
30553 * include/grub/partition.h (struct grub_partition_map): Add a new
30554 argument DISK into HOOK of ITERATE.
30555 (grub_partition_iterate): Add a new argument DISK to HOOK.
30556
30557 * include/grub/normal.h (enum grub_completion_type): New enum.
30558 (grub_completion_type_t): New type.
30559 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30560 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30561 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30562 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30563 (grub_normal_do_completion): Added a new argument HOOK.
30564 (grub_normal_print_device_info): New prototype.
30565
30566 * include/grub/disk.h (grub_print_partinfo): Removed.
30567
30568 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30569 (normal_mod_SOURCES): Likewise.
30570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30571 (normal_mod_SOURCES): Likewise.
30572
30573 * commands/ls.c (grub_ls_list_disks): Use
30574 grub_normal_print_device_info instead of grub_print_partinfo. Free
30575 PNAME.
30576 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30577 duplicating the code.
30578
0bd41162 305792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30580
30581 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30582 follow GCS more precisely.
30583 * commands/i386/pc/vbe_test.c: Likewise.
30584 * include/grub/i386/pc/vbe.h: Likewise.
30585 * term/i386/pc/vesafb.c: Likewise.
30586 * video/i386/pc/vbe.c: Likewise.
0bd41162 30587
6323696a 305882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30589
30590 * DISTLIST: Added term/i386/pc/vesafb.c
30591 DISTLIST: Added video/i386/pc/vbe.c
30592 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30593 DISTLIST: Added commands/i386/pc/vbe_test.c.
30594 * commands/i386/pc/vbe_list_modes.c: New file.
30595 * commands/i386/pc/vbe_test.c: Likewise.
30596 * term/i386/pc/vesafb.c: Likewise.
30597 * video/i386/pc/vbe.c: Likewise.
30598 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30599 (grub_vbe_probe) Added prototype.
30600 (grub_vbe_set_video_mode) Likewise.
30601 (grub_vbe_get_video_mode) Likewise.
30602 (grub_vbe_get_video_mode_info) Likewise.
30603 (grub_vbe_set_pixel_rgb) Likewise.
30604 (grub_vbe_set_pixel_index) Likewise.
30605 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30606 (pkgdata_MODULES): Added vesafb.mod.
30607 (pkgdata_MODULES): Added vbe_list_modes.mod.
30608 (pkgdata_MODULES): Added vbe_test.mod.
30609 (vbe_mod_SOURCES): Added.
30610 (vbe_mod_CFLAGS): Likewise.
30611 (vesafb_mod_SOURCES): Likewise.
30612 (vesafb_mod_CFLAGS): Likewise.
30613 (vbe_list_modes_mod_SOURCES): Likewise.
30614 (vbe_list_modes_mod_CFLAGS): Likewise.
30615 (vbe_test_mod_SOURCES): Likewise.
30616 (vbe_test_mod_CFLAGS): Likewise.
30617
0a74e62f 306182005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30619
0a74e62f 30620 * normal/command.c (grub_command_execute): If INTERACTIVE is
30621 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30622 CMDLINE. Disable the pager if INTERACTIVE is true.
30623 All callers are changed.
30624
30625 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30626 before reading a config file.
30627 * normal/main.c (read_config_file): Even if a command is not
30628 found, register it if it is within an entry.
30629
30630 * util/grub-emu.c: Include sys/types.h and unistd.h.
30631 (options): Added --hold.
30632 (struct arguments): Added a new member "hold".
30633 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30634 missing.
30635 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30636 cleared by a debugger, if it is not zero.
30637
30638 * include/grub/normal.h (grub_command_execute): Add an argument
30639 INTERACTIVE.
30640
e51f85ae 306412005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30642
30643 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30644
e9c6f39b 306452005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30646
30647 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30648 program with another one, because the old one didn't detect a bug
30649 in gcc-3.4. Always use regparm 2, because the new test is still
30650 not enough for gcc-4.0. Someone must investigate a simple test
30651 case which detects a bug in gcc-4.0.
30652
8de3495c 306532005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30654
30655 * DISTLIST: Added normal/completion.c.
30656
30657 * normal/completion.c: New file.
f19dbdb7 30658
8de3495c 30659 * term/i386/pc/console.c (grub_console_getwh): New function.
30660 (grub_console_term): Assign grub_console_getwh to getwh.
30661
30662 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30663 function is defined in normal/completion.c as
30664 grub_normal_do_completion.
30665 (grub_cmdline_get): Use grub_normal_do_completion instead of
30666 grub_tab_complete.
30667
30668 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30669 returns non-zero, otherwise return 0.
30670 (grub_partition_iterate): First, probe the partition map. Then,
30671 call ITERATE only for this partition map.
30672
30673 * kern/misc.c (grub_strncmp): Rewritten.
30674
30675 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30676 returns non-zero. Otherwise return 0.
30677
30678 * include/grub/partition.h (grub_partition_map_iterate): Return
30679 int instead of void.
30680
30681 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30682
30683 * include/grub/misc.h (grub_strncmp): Change the type of N to
30684 grub_size_t.
30685
30686 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30687 of void.
30688
30689 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30690 unsigned explicitly before comparing it with I.
8de3495c 30691
30692 * kern/main.c (grub_env_write_root): Add the attribute unused into
30693 VAR.
30694
30695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30696 normal/completion.c.
30697 (normal_mod_SOURCES): Likewise.
30698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30699 (normal_mod_SOURCES): Likewise.
30700
30701 * normal/command.c (grub_iterate_commands): If ITERATE returns
30702 non-zero, return one immediately.
30703
e85e144b 307042005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30705
30706 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30707 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30708 descriptions.
30709 (grub_vbe_get_controller_info): New function.
30710 (grub_vbe_get_mode_info): Likewise.
30711 (grub_vbe_set_mode): Likewise.
30712 (grub_vbe_get_mode): Likewise.
30713 (grub_vbe_set_memory_window): Likewise.
30714 (grub_vbe_get_memory_window): Likewise.
30715 (grub_vbe_set_scanline_length): Likewise.
30716 (grub_vbe_get_scanline_length): Likewise.
30717 (grub_vbe_set_display_start): Likewise.
30718 (grub_vbe_get_display_start): Likewise.
30719 (grub_vbe_set_palette_data): Likewise.
30720 * include/grub/i386/pc/vbe.h: New file.
30721
c46153d2 307222005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30723
30724 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30725 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30726 * DISTLIST: Likewise.
30727 * kern/ieee1275/of.c: Moved to ...
30728 * kern/ieee1275/ieee1275.c: ... here.
30729
0cb90c45 307302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30731
30732 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30733 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30734 Pass 0 as `end' parameter to grub_strtoul().
30735
a19fb360 307362005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30737
30738 * include/grub/powerpc/ieee1275/console.h: Do not include
30739 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30740 ifdef.
30741 (grub_console_cur_color): Remove i386-specific prototype.
30742 (grub_console_real_putchar): Likewise.
30743 (grub_console_checkkey): Likewise.
30744 (grub_console_getkey): Likewise.
30745 (grub_console_getxy): Likewise.
30746 (grub_console_gotoxy): Likewise.
30747 (grub_console_cls): Likewise.
30748 (grub_console_setcursor): Likewise.
30749 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30750 Include <grub/machine/console.h>.
30751 * term/ieee1275/ofconsole.c: Likewise.
30752
4ac9bd04 307532005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30754
30755 * Makefile.in (LIBLZO): New variable.
30756
30757 * configure.ac: Check for LZO version 2.
30758
30759 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30760 lzo/lzo1x.h instead of lzo1x.h.
30761
30762 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30763 of -llzo.
30764
30765 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30766 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30767
30768 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30769 copying the data from PARTITION to P.
30770
f4917dfd 307712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30772
30773 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30774 negative, unload the module.
30775
30776 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30777 map is "pc_partition_map" but not "pc".
30778 (usage): Fix the description. The options are --boot-image and
30779 --core-image but not --boot-file or --core-file.
30780 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30781 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30782 DEFAULT_DIRECTORY.
30783
30784 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30785 --core-file. Specify INSTALL_DEVICE as an argument.
30786
30787 * util/console.c: Include config.h.
30788 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30789 [HAVE_NCURSES_H]: Include ncurses.h.
30790 [HAVE_CURSES_H]: Include curses.h.
30791 [!A_NORMAL] (A_NORMAL): Defined as zero.
30792 [!A_STANDOUT] (A_STANDOUT): Likewise.
30793
30794 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30795 -lncurses.
30796 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30797
30798 * configure.ac: Check for curses libraries and headers.
30799
30800 * Makefile.in (LIBCURSES): New variable.
30801
30802 * genmk.rb (Script::rule): Set the executable bits.
30803
30804 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30805 name of the PC partition map is "pc_partition_map" but not "pc".
30806
0e143073 308072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30808
30809 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30810 (modules): Likewise.
30811 (usage): Added descriptions for --modules and --grub-probefs.
30812 Handle --modules and --grub-probefs. Save the arguments in MODULES
30813 and GRUB_PROBEFS, respectively.
30814 Auto-detect a filesystem module against GRUBDIR. If the result is
30815 empty and modules are not specified explicitly, abort the
30816 installation. Add the result to MODULES.
30817
30818 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30819 disk/powerpc/ieee1275/ofdisk.c,
30820 include/grub/powerpc/ieee1275/init.h and
30821 term/powerpc/ieee1275/ofconsole.c.
30822 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30823 term/ieee1275/ofconsole.c.
30824
30825 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30826
30827 * COPYING: Upgraded to the latest version. Only the address of the
30828 FSF office has changed.
f19dbdb7 30829
efd6e6d5 308302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30831
30832 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30833 kern/ieee1275.c with kern/ieee1275/of.c.
30834
30835 * kern/ieee1275.c: Moved to ...
30836 * kern/ieee1275/of.c: ... here.
30837
8ceafda2 308382005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30839
30840 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30841 readability.
8ceafda2 30842
30843 * config.guess: Updated to the latest version from gnulib.
30844 * config.sub: Likewise.
30845 * install.sh: Likewise.
30846 * mkinstalldirs: Likewise.
30847
30848 * include/grub/console.h: Removed. This file is arch-specific. Do
30849 not put this in include/grub.
30850
30851 * include/grub/i386/pc/console.h: Resurrected.
30852
30853 * util/console.c: Include grub/machine/console.h instead of
30854 grub/console.h.
30855 * util/grub-emu.c: Likewise.
30856
267f6cd9 308572005-08-04 Marco Gerards <metgerards@student.han.nl>
30858
30859 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30860 hardcoded value.
f19dbdb7 30861
267f6cd9 30862 From Vincent Pelletier <subdino2004@yahoo.fr>
30863 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30864 Redefined to use grub_getwh.
30865 (grub_term): New member named getwh.
30866 (grub_getwh): New prototype.
30867 * kern/term.c (grub_getwh): New function.
30868 * term/i386/pc/console.c (grub_console_getwh): New function.
30869 (grub_console_term): New member `getwh'.
30870 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30871 (grub_vga_term): New member `getwh'.
0b5abe02 30872 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30873 grub_ssize_t.
30874 (grub_ofconsole_getw): New function.
30875 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30876 (grub_ofconsole_term): New field named getwh and new initial
30877 value.
30878
3be7266d 308792005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30880
30881 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30882 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30883 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30884 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30885 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30886 of <grub/machine/ieee1275.h>.
30887 * commands/ieee1275/reboot.c: Likewise.
30888 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30889 * kern/ieee1275.c: ... to here. All users updated. Change all
30890 parameter structs to use new type `grub_ieee1275_cell_t'.
30891 * term/powerpc/ieee1275/ofconsole.c: Move ...
30892 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30893 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30894 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30895 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30896 to return int.
30897 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30898 Remove unused prototypes. All users updated.
30899 * include/grub/powerpc/ieee1275/console.h: Removed.
30900 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30901 `grub_ieee1275_cell_t'.
30902 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30903 Cast comparisons with -1 to the correct type.
30904 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30905 type to match `grub_ieee1275_entry_fn'.
30906
8b5f3938 309072005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30908
30909 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30910
30911 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30912 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30913 partmap/sun.c.
30914 (grub_probefs_SOURCES): New variable.
30915
30916 * util/i386/pc/grub-probefs.c: New file.
30917
30918 * util/i386/pc/grub-setup.c (main): Call
30919 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30920 grub_hfs_init and grub_jfs_init to initialize the system. Call
30921 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30922 grub_pc_partition_map_fini to finish the system.
30923
ea409713 309242005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30925
30926 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30927 function.
30928 (grub_multiboot_load_elf32): Likewise.
30929 (grub_multiboot_is_elf64): Likewise.
30930 (grub_multiboot_load_elf64): Likewise.
30931 (grub_multiboot_load_elf): Likewise.
30932 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30933 an ELF32 or ELF64 file.
30934 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30935
30936 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30937 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30938 NULL before calling FS->LABEL.
30939 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30940 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30941 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30942 before calling FS->LABEL.
30943
141a288b 309442005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30945
30946 * util/i386/pc/grub-install.in (datadir): New variable.
30947 (libdir): Removed.
30948 (pkgdatadir): New variable.
30949 (pkglibdir): Removed.
30950
0d5f8a54 309512005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30952
30953 * DISTLIST: Added util/i386/pc/grub-install.in.
30954
30955 * util/i386/pc/grub-install.in: New file.
30956
30957 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30958 (grub_install_SOURCES): Likewise.
30959
30960 * genmk.rb: Added support for scripts.
30961 (Script): New class.
30962 (scripts): New variable.
30963
30964 * Makefile.in (install-local): Install sbin_SCRIPTS by
30965 INSTALL_SCRIPT.
30966 (uninstall): Remove sbin_SCRIPTS.
30967
30968 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30969 device, try to get a GRUB device by
30970 grub_util_biosdisk_get_grub_dev.
30971 Free DEST_DEV.
30972
30973 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30974 description for --device-map.
30975
5f968e1e 309762005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30977
30978 Change the semantics of variable hooks. They now return strings
30979 instead of error values.
f19dbdb7 30980
5f968e1e 30981 * util/i386/pc/grub-setup.c: Include grub/env.h.
30982 (setup): Use grub_device_set_root instead of grub_env_set.
30983
30984 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30985 grub_env_get instead of grub_device_set_root and
30986 grub_device_get_root, respectively.
30987
30988 * kern/main.c (grub_env_write_root): New function.
30989 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30990 grub_env_set instead of grub_device_set_root.
30991
30992 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30993 many variables.
30994 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30995 rather than calling ENV->WRITE_HOOK afterwards.
30996 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30997 passing a pointer of a pointer.
30998 (grub_register_variable_hook): Change the types of "read_hook" and
30999 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31000 respectively.
31001 Allocate the default empty string on the heap, because this string
31002 may be freed later.
31003
31004 * kern/device.c: Include grub/env.h.
31005 (grub_device_set_root): Removed.
31006 (grub_device_get_root): Likewise.
31007 (grub_device_open): Use grub_env_get instead of
31008 grub_device_get_root.
31009
31010 * include/grub/env.h (grub_env_read_hook_t): New type.
31011 (grub_env_write_hook_t): Likewise.
31012 (grub_env_var): Change the types of "read_hook" and "write_hook"
31013 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31014 (grub_register_variable_hook): Likewise.
31015
31016 * include/grub/device.h (grub_device_set_root): Removed.
31017 (grub_device_set_root): Likewise.
31018
31019 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31020 make sure that DIRNAME terminates with '/', so that
31021 grub_fat_find_dir will fail if PATH is not a directory.
31022
31023 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31024 from DIRNAME.
31025 Use the qualifier auto for print_files and print_files_long.
31026 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31027 as a regular file.
31028 Put a newline only if there is no error.
31029 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31030 used.
31031
896f0afd 310322005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31033
31034 * kern/partition.c (grub_partition_probe): Initialize PART to
31035 NULL. Otherwise, when no partition map is registered, this returns
31036 a garbage.
31037
b28b81b2 310382005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31039
31040 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31041 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31042 valid.
31043
5f3607e0 310442005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31045
31046 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31047 information on each device, if it does not have partitions. Print
31048 "Device" instead of "Disk", because this function is not specific
31049 to disk devices.
31050
31051 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31052 static to ensure that it is put on the memory rather than a
31053 register.
31054
502c87e8 310552005-07-17 Yoshinori Okuji <okuji@enbug.org>
31056
31057 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31058 (grub_cat_init): Likewise.
31059 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31060 (options): Likewise.
31061 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31062 (grub_configfile_init): Likewise.
31063 * font/manager.c (GRUB_MOD_INIT): Likewise.
31064 * commands/help.c (GRUB_MOD_INIT): Likewise.
31065 (grub_help_init): Likewise.
31066 * normal/command.c (grub_command_init): Likewise.
31067 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31068 * disk/loopback.c (grub_loop_init): Likewise.
31069 (GRUB_MOD_INIT): Likewise.
31070 * commands/ls.c (grub_ls_init): Likewise.
31071 (GRUB_MOD_INIT): Likewise.
31072 (options): Likewise.
31073 * commands/boot.c (grub_boot_init): Likewise.
31074 (GRUB_MOD_INIT): Likewise.
31075 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31076 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31077 (GRUB_MOD_INIT): Likewise.
31078 * commands/cmp.c (grub_cmp_init): Likewise.
31079 (GRUB_MOD_INIT): Likewise.
31080
31081 * normal/arg.c: Use <> instead of "" to include header files.
31082 (SHORT_ARG_HELP): New macro.
31083 (SHORT_ARG_USAGE): Likewise.
31084 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31085 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
31086 descriptions.
31087 (find_short): Check if C is 'h' or 'u' explicitly.
31088 (grub_arg_show_help): Use space characters instead of tabs. Treat
31089 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
31090 are shown with --help and --usage only if they are not used for
31091 the command itself.
31092 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
31093 'h' and 'u'.
31094
31095 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
31096 const into "longarg". Change the type of "shortarg" to int.
31097
f806d18e 310982005-07-17 Yoshinori Okuji <okuji@enbug.org>
31099
31100 * boot/i386/pc/boot.S (boot_drive_check): New label.
31101
31102 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
31103 macro.
31104
31105 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
31106 which do not pass a boot drive correctly. Copied from GRUB Legacy.
31107
e293232b 311082005-07-17 Yoshinori Okuji <okuji@enbug.org>
31109
31110 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
31111 When turning off Gate A20, skip the check and return immediately,
31112 because this is not fatal usually.
31113
ebedfd00 311142005-07-17 Yoshinori Okuji <okuji@enbug.org>
31115
31116 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
31117 be 0x7C00 instead of 0x8000.
31118
31119 * boot/i386/pc/pxeboot.S: Rewritten.
31120
31121 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
31122 EXT_C.
31123 (gate_a20_check_state): Read a byte from 0x108000. Invert the
31124 result.
31125
654fc59f 311262005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
31127
31128 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
31129 robustness. This routine now supports a BIOS call and System
31130 Control Port A to modify the gate A20.
31131
31132 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31133 Increased to 0x440.
31134
09f9923f 311352005-07-12 Hollis Blanchard <hollis@penguinppc.org>
31136
31137 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
31138 device path and resulting ihandle.
31139 (grub_ofdisk_close): dprintf the ihandle being closed.
31140 (grub_ofdisk_read): dprintf function parameters.
31141 * kern/mm.c (grub_mm_init_region): Likewise.
31142 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
31143 (grub_linux_boot): dprintf the Linux entry point, initrd address and
31144 size, and boot arguments.
31145 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
31146 before loading into memory.
31147 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
31148 before loading into memory.
31149
7ef504d8 311502005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
31151
31152 * kern/mm.c: Added much documentation.
31153 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
31154 8, set to 5 instead of 8.
31155
e0f050c2 311562005-07-10 Yoshinori Okuji <okuji@enbug.org>
31157
31158 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
31159
31160 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
31161 (grub_mkdevicemap_SOURCES): New variable.
31162
31163 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
31164 lib/device.c of GRUB Legacy.
31165
7224189a 311662005-07-10 Yoshinori Okuji <okuji@enbug.org>
31167
31168 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
31169 instead of PATH is NULL.
31170
68c864eb 311712005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
31172
31173 * commands/cmp.c (BUFFER_SIZE): New macro.
31174 (grub_cmd_cmp): Close the right file at the right time. Compare
31175 only data just read. Don't report files of different size as
31176 identical. Dynamically allocate buffers. Move variable
31177 declarations at the beginning of function.
31178
e6f3e614 311792005-07-09 Yoshinori Okuji <okuji@enbug.org>
31180
31181 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
31182 reverse.
31183
f8f1559a 311842004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
31185
31186 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
31187 when backspace is pressed at beginning of line.
31188
39c9d41d 311892005-07-03 Yoshinori Okuji <okuji@enbug.org>
31190
31191 * DISTLIST: Added genfslist.sh.
31192
31193 * normal/main.c (fs_module_list): New variable.
31194 (autoload_fs_module): New function.
31195 (read_fs_list): Likewise.
31196 (grub_normal_execute): Call read_fs_list.
31197
31198 * kern/fs.c (grub_fs_autoload_hook): New variable.
31199 (grub_fs_probe): Added support for auto-loading.
31200
31201 * include/grub/normal.h (struct grub_fs_module_list): New struct.
31202 (grub_fs_module_list_t): New type.
31203
31204 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
31205 (grub_fs_autoload_hook): New prototype.
31206
31207 * genfslist.sh: New file.
f19dbdb7 31208
39c9d41d 31209 * genmk.rb: Added a rule to generate a filesystem list.
31210
121c1d83 312112005-06-30 Marco Gerards <metgerards@student.han.nl>
31212
31213 * configure.ac: Fix the test for cross-compiling.
31214
31215 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
31216 define GRUB_UTIL anymore.
31217
31218 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31219 so this function works on other systems than just big endian.
31220 (load_modules): Likewise.
31221 (add_segments): Likewise.
31222
e75d76e1 312232005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31224
31225 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31226 contains `l' modifier, get a long from va_arg().
31227
50b5a0a7 312282005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31229
31230 * kern/mm.c (grub_free): If the next free block which is being
31231 merged is the first free block, set the first block to the block
31232 being freed.
31233 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31234
89371b20 312352005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31236
31237 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31238 `grub_ieee1275_chosen'.
31239
168d6e58 312402005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31241
31242 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31243 (grub_ieee1275_chosen): New variable.
31244 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31245 `chosen'.
31246 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31247 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31248 Rename first argument to `phandle' for consistency.
31249 (grub_ieee1275_get_property_length): Likewise.
31250 (grub_ieee1275_next_property): Likewise. Change type of first argument
31251 to grub_ieee1275_phandle_t.
31252 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31253 Move export next to declaration.
31254 (grub_ieee1275_chosen): New variable.
31255 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31256 Correct cosmetic typo.
31257 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31258 `grub_ieee1275_chosen'.
31259 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31260 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31261 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31262 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31263 `grub_ieee1275_chosen'.
31264
ca5baa3f 312652005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31266
31267 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31268 /chosen/bootargs.
31269 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31270 /chosen/bootargs as "variable=value" pairs.
31271
708b345f 312722005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31273
31274 * include/grub/misc.h (grub_dprintf): New macro.
31275 (grub_real_dprintf): New prototype.
31276 (grub_strword): Likewise.
31277 (grub_iswordseparator): Likewise.
31278 * kern/misc.c (grub_real_dprintf): New function.
31279 (grub_strword): Likewise.
31280 (grub_iswordseparator): Likewise.
31281
f4c5e67c 312822005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31283
31284 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31285 (roundup): Remove macro.
31286 (grub_ieee1275_flags): Make static.
31287 (grub_ieee1275_realmode): Remove.
31288 (grub_ieee1275_test_flag): New function.
31289 (grub_ieee1275_set_flag): Likewise.
31290 (find_options): Rename to `grub_ieee1275_find_options'; update
31291 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31292 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31293 (cmain): New prototype.
31294 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31295 `grub_ieee1275_flags' directly.
31296 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31297 machine/biosdisk.h.
31298 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31299 Don't include grub/machine/init.h.
31300 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31301 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31302 Remove prototype.
31303 (grub_ieee1275_realmode): Likewise.
31304 (grub_ieee1275_flag): New enum.
31305 (grub_ieee1275_test_flag): New prototype.
31306 (grub_ieee1275_set_flag): New prototype.
31307 * include/grub/powerpc/ieee1275/init.h: Remove file.
31308 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31309 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31310 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31311 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31312 comment.
31313 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31314 `grub_ieee1275_test_flag'.
31315 (grub_ieee1275_encode_devname): Likewise.
31316
ed16607e 313172005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31318
31319 * include/grub/powerpc/ieee1275/ieee1275.h
31320 (grub_ieee1275_encode_devname): New prototype.
31321 (grub_ieee1275_get_filename): Likewise.
31322 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31323 function.
31324 (grub_set_prefix): Likewise.
31325 (grub_machine_init): Call grub_set_prefix.
31326 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31327 (grub_parse_type): New enum.
31328 (grub_ieee1275_get_devargs): New function.
31329 (grub_ieee1275_get_devname): Likewise.
31330 (grub_ieee1275_parse_args): Likewise.
31331 (grub_ieee1275_get_filename): Likewise.
31332 (grub_ieee1275_encode_devname): Likewise.
31333
be369920 313342005-03-30 Marco Gerards <metgerards@student.han.nl>
31335
31336 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31337 `grub_loader_unset'.
31338
a5ce3a4a 313392005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31340
31341 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31342 instead of grub_ieee1275_interpret.
31343 (grub_halt_init): New function.
31344 (grub_halt_fini): Likewise.
31345 (GRUB_MOD_INIT): Correct message grammar.
31346 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31347 instead of grub_ieee1275_interpret.
31348 (grub_reboot_init): New function.
31349 (grub_reboot_fini): Likewise.
31350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31351 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31352 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31353 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31354 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31355 function.
31356 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31357 Add prototype.
31358 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31359 prototype.
31360 (grub_halt): Likewise.
31361 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31362 (cmain): Remove __attribute__((unused)).
31363 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31364 (grub_heap_len): Likewise.
31365 (grub_machine_fini): New function.
31366 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31367 (grub_halt): Likewise.
31368 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31369 function.
31370 * util/powerpc/ieee1275/misc.c: New file.
31371
0058f771 313722005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31373
31374 * DISTLIST: New file.
31375 * gendistlist.sh: Likewise.
f19dbdb7 31376
0058f771 31377 * Makefile.in (COMMON_DISTFILES): Removed.
31378 (BOOT_DISTFILES): Likewise.
31379 (CONF_DISTFILES): Likewise.
31380 (DISK_DISTFILES): Likewise.
31381 (FS_DISTFILES): Likewise.
31382 (INCLUDE_DISTFILES): Likewise.
31383 (KERN_DISTFILES): Likewise.
31384 (LOADER_DISTFILES): Likewise.
31385 (TERM_DISTFILES): Likewise.
31386 (UTIL_DISTFILES): Likewise.
31387 (DISTFILES): Likewise.
31388 (uninstall): Uninstall files in $(pkgdata_DATA).
31389 (DISTLIST): New target.
31390 (distdir): Use the contents of the file DISTLIST to get a list of
31391 distributed files.
31392
46b3b8a5 313932005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31394
31395 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31396 descriptor. This is ported from GRUB Legacy.
31397
31398 * gencmdlist.sh: Added an extra semicolon to make it work with
31399 old sed versions. Reported by Robert Bihlmeyer
31400 <robbe@orcus.priv.at>.
31401
5822ff87 314022005-03-08 Yoshinori Okuji <okuji@enbug.org>
31403
31404 Automatic loading of commands is supported.
f19dbdb7 31405
5822ff87 31406 * normal/main.c (read_command_list): New function.
31407 (grub_normal_execute): Call read_command_list.
31408
31409 * normal/command.c (grub_register_command): Return zero or CMD.
31410 Allocate CMD->NAME from the heap.
31411 Initialize CMD->MODULE_NAME to zero.
31412 Find the same name as well. If the same command is found and it is
31413 a dummy command, overwrite members. If it is not a dummy command,
31414 return zero.
31415 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31416 (grub_command_find): If a dummy command is found, load a module
31417 and retry to find a command only once.
31418
31419 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31420 make sure that each command is loaded.
31421
31422 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31423 macro.
31424 (struct grub_command): Remove const from the member `name'.
31425 Add a new member `module_name'.
31426 (grub_register_command): Return grub_command_t.
31427
31428 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31429 sure that each command is loaded.
31430
31431 * genmk.rb (PModule::rule): Specify a module name without the
31432 suffix ".mod" to gencmdlist.sh.
31433
7b1f4b57 314342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31435
31436 * gencmdlist.sh: New file.
f19dbdb7 31437
7b1f4b57 31438 * genmk.rb (PModule::rule): Generate a rule for a command list.
31439 Clean command.lst.
31440 Generate command.lst from $(COMMANDFILES).
31441
31442 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31443 (DATA): Added $(pkgdata_DATA).
31444 (install-local): Install files in $(pkgdata_DATA).
31445
062aaf39 314462005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31447
31448 * term/i386/pc/vga.c (debug_command): Removed.
31449 (GRUB_MOD_INIT): Do not register the command "debug".
31450
31451 From Hollis Blanchard:
31452 * commands/configfile.c: New file.
31453 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31454 commands/configfile.c.
31455 (pkgdata_MODULES): Added configfile.mod.
31456 (configfile_mod_SOURCES): New variable.
31457 (configfile_mod_CFLAGS): Likewise.
31458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31459 commands/configfile.c.
31460 (pkgdata_MODULES): Added configfile.mod.
31461 (configfile_mod_SOURCES): New variable.
31462 (configfile_mod_CFLAGS): Likewise.
31463 * util/grub-emu.c (main): Call grub_configfile_init and
31464 grub_configfile_fini.
31465 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
31466 prototype.
31467 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 31468
cee01aa6 314692005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31470
31471 * normal/arg.c (grub_arg_show_help): Do not show the bug report
31472 address.
31473
31474 * commands/help.c (grub_cmd_help): Do not print newlines after
31475 the last command in print_command_help.
31476
93f3a1d8 314772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31478
31479 * commands/default.h: New file.
31480 * commands/timeout.h: Likewise.
31481 * normal/context.c: Likewise.
f19dbdb7 31482
93f3a1d8 31483 * util/misc.c: Do not include sys/times.h.
31484 Include sys/time.h and grub/machine/time.h.
31485 (grub_get_rtc): Rewritten with gettimeofday.
31486
31487 * util/grub-emu.c (main): Call grub_default_init and
31488 grub_timeout_init before grub_normal_init, and call
31489 grub_timeout_fini and grub_default_fini after grub_main.
31490
31491 * util/console.c (grub_ncurses_checkkey): Return the read
31492 character or -1.
31493
31494 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
31495 timeouts.
31496
31497 * normal/main.c (read_config_file): Push MENU. If this fails,
31498 print an error and wait for a user input.
31499 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
31500 If a menu is empty or an error occurs, pop MENU.
31501 (grub_normal_execute): Pop and free MENU after grub_menu_run
31502 returns.
31503
31504 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
31505
31506 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
31507 include time.h.
31508 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31509 without GRUB_UTIL.
31510 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
31511 time.h.
31512 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31513 without GRUB_UTIL.
31514
31515 * include/grub/normal.h (struct grub_menu_list): New struct.
31516 (grub_menu_list_t): New type.
31517 (struct grub_context): New struct.
31518 (grub_context_t): New type.
31519 (grub_register_command): Got rid of EXPORT_FUNC.
31520 (grub_unregister_command): Likewise.
31521 (grub_context_get): New prototype.
31522 (grub_context_get_current_menu): Likewise.
31523 (grub_context_push_menu): Likewise.
31524 (grub_context_pop_menu): Likewise.
31525 [GRUB_UTIL] (grub_default_init): Likewise.
31526 [GRUB_UTIL] (grub_default_fini): Likewise.
31527 [GRUB_UTIL] (grub_timeout_init): Likewise.
31528 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31529
31530 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31531 commands/timeout.c and normal/context.c.
31532 (pkgdata_MODULES): Added default.mod and timeout.mod.
31533 (normal_mod_SOURCES): Added normal/context.c.
31534 (default_mod_SOURCES): New variable.
31535 (default_mod_CFLAGS): Likewise.
31536 (timeout_mod_SOURCES): Likewise.
31537 (timeout_mod_CFLAGS): Likewise.
31538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31539 conf/i386-pc.rmk.
31540 (pkgdata_MODULES): Added default.mod and timeout.mod.
31541 (normal_mod_SOURCES): Added normal/context.c.
31542 (default_mod_SOURCES): New variable.
31543 (default_mod_CFLAGS): Likewise.
31544 (timeout_mod_SOURCES): Likewise.
31545 (timeout_mod_CFLAGS): Likewise.
31546
31547 * Makefile.in (all-local): Added $(MKFILES).
31548
4ed2e1dd 315492005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31550
31551 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31552 (grub_emu_SOURCES): Likewise.
31553 (pkgdata_MODULES): Add `sun.mod'.
31554 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31556 `partmap/sun.c'.
31557 (pkgdata_MODULES): Add `sun.mod'.
31558 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31559 * include/grub/partition.h (grub_sun_partition_map_init): New
31560 prototype.
31561 (grub_sun_partition_map_fini): Likewise.
31562 * partmap/sun.c: New file.
31563 * util/grub-emu.c (main): Initialize and de-initialize the sun
31564 partitionmap support.
31565
4d4e372e 315662005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31567
31568 This implements an Emacs-like menu entry editor.
f19dbdb7 31569
4d4e372e 31570 * normal/menu_entry.c: New file.
f19dbdb7 31571
4d4e372e 31572 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31573 characters to ASCII.
31574 (saved_char): New variable.
31575 (grub_ncurses_checkkey): Rewritten completely.
31576 (grub_ncurses_getkey): Likewise.
31577 (grub_ncurses_init): Call raw instead of cbreak.
31578
31579 * normal/menu.c (print_entry): Do not put a space.
31580 (init_page): Renamed to ...
31581 (grub_menu_init_page): ... this. All callers changed.
31582 (edit_menu_entry): Removed.
31583 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31584
31585 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31586
31587 * kern/misc.c (grub_vprintf): Call grub_refresh.
31588
31589 * normal/menu.c (DISP_LEFT): Renamed to ...
31590 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31591 * normal/menu.c (DISP_UP): Renamed to ...
31592 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31593 * normal/menu.c (DISP_RIGHT): Renamed to ...
31594 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31595 * normal/menu.c (DISP_DOWN): Renamed to ...
31596 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31597 * normal/menu.c (DISP_HLINE): Renamed to ...
31598 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31599 * normal/menu.c (DISP_VLINE): Renamed to ...
31600 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31601 * normal/menu.c (DISP_UL): Renamed to ...
31602 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31603 * normal/menu.c (DISP_UR): Renamed to ...
31604 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31605 * normal/menu.c (DISP_LL): Renamed to ...
31606 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31607 * normal/menu.c (DISP_LR): Renamed to ...
31608 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31609 * normal/menu.c (TERM_WIDTH): Renamed to ...
31610 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31611 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31612 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31613 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31614 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31615 * normal/menu.c (TERM_MARGIN): Renamed to ...
31616 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31617 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31618 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31619 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31620 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31621 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31622 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31623 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31624 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31625 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31626 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31627 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31628 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31629 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31630 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31631 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31632 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31633 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31634 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31635 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31636 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31637 All callers changed.
31638
31639 * include/grub/normal.h: New prototype.
31640
31641 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31642 normal/menu_entry.c.
31643 (normal_mod_SOURCES): Likewise.
31644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31645 (normal_mod_SOURCES): Likewise.
31646
e6b92c8a 316472005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31648
31649 * include/grub/normal.h (grub_halt_init): New prototype.
31650 (grub_halt_fini): Likewise.
31651 (grub_reboot_init): Likewise.
31652 (grub_reboot_fini): Likewise.
31653
31654 * util/grub-emu.c: Include signal.h.
31655 (main_env): New global variable.
31656 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31657 catch C-c.
31658 (grub_machine_fini): New function.
31659 (main): Call grub_halt_init and grub_reboot_init before
31660 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31661 Call setjmp with MAIN_ENV to go back afterwards.
31662 Call grub_machine_fini right before return.
31663
31664 * include/grub/util/misc.h: Include setjmp.h.
31665 (main_env): New prototype.
31666
31667 * include/grub/kernel.h (grub_machine_fini): New prototype.
31668 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31669 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31670
31671 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31672 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31673 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31674
e6b92c8a 31675 * util/i386/pc/misc.c: New file.
f19dbdb7 31676
e6b92c8a 31677 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31678 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31679 commands/i386/pc/reboot.c.
31680
c642636f 316812005-02-14 Guillem Jover <guillem@hadrons.org>
31682
31683 * include/grub/dl.h (grub_dl_check_header): New prototype.
31684 (grub_arch_dl_check_header): Change return type to grub_err_t,
31685 remove size parameter and export function. Update all callers.
31686 * kern/dl.c (grub_dl_check_header): New function.
31687 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31688 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31689 are inside the core.
31690 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31691 independent ELF header checks.
31692 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31693 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31694 `grub_dl_check_header' instead of explicit checks. Check for the
31695 ELF type.
31696 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31697 `grub_dl_check_header' instead of explicit checks. Remove arch
31698 specific ELF header checks.
31699
e6b92c8a 31700 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31701 argument SIZE.
31702
5eabe94b 317032005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31704
31705 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31706 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31707
1b14a681 317082005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31709
31710 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31711 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31712 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31713 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31714 * partmap/amiga.c (amiga_partition_map_iterate): Return
31715 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31716 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31717
aca108aa 317182005-02-01 Guillem Jover <guillem@hadrons.org>
31719
31720 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31721 help info.
31722
c9f9c556 317232005-01-31 Marco Gerards <metgerards@student.han.nl>
31724
31725 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31726 Removed prototype.
31727 (grub_rescue_cmd_linux): New prototype.
31728 (grub_rescue_cmd_initrd): Likewise.
31729 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31730 `bi_rec'.
31731 (grub_linux_release_mem): Release the memory for the initrd.
31732 (grub_load_linux): Renamed from this...
31733 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31734 Changed `entry' not to be static. Loop over memory regions to
31735 find another one when the default fails.
31736 (grub_rescue_cmd_initrd): New function.
31737 (grub_linux_init): Remove function.
31738 (grub_linux_fini): Likewise.
31739 (GRUB_MOD_INIT): Register `initrd'.
31740 (GRUB_MOD_FINI): Unregister `initrd'.
31741 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31742 Function removed.
31743 (grub_linux_normal_fini): Likewise.
31744 (GRUB_MOD_INIT): Register `initrd'.
31745 (GRUB_MOD_FINI): Unregister `initrd'.
31746
990cf3aa 317472005-01-31 Marco Gerards <metgerards@student.han.nl>
31748
31749 * commands/help.c: New file.
31750 * normal/arg.c (show_help): Renamed to...
31751 (grub_arg_show_help): ... this.
31752 * commands/i386/pc/halt.c: New file.
31753 * commands/i386/pc/reboot.c: Likewise.
31754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31755 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31756 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31757 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31758 variables.
31759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31760 `commands/help.c'.
31761 (pkgdata_MODULES): Add `help.mod'.
31762 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31763 * grub/i386/pc/init.h (grub_reboot): New prototype.
31764 (grub_halt): Likewise.
31765 * include/grub/normal.h (grub_arg_show_help): New prototype.
31766 (grub_help_init): Likewise.
31767 (grub_help_fini): Likewise.
31768 * util/grub-emu.c (main): Initialize and deinitialize the help
31769 command.
31770
31771 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31772
31773 * normal/command.c (grub_command_init): Fixed the description of
31774 the `set' and `unset' commands.
31775
317762005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31777
31778 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31779 function.
31780 * commands/ieee1275/halt.c: New file.
31781 * commands/ieee1275/reboot.c: Likewise.
31782 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31783 `__attribute__ ((unused))'. Some GCS related fixed.
31784 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31785 (grub_suspend_fini): Likewise.
31786 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31787 and `halt.mod'.
31788 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31789 (halt_mod_CFLAGS): New variables.
31790 * include/grub/powerpc/ieee1275/ieee1275.h
31791 (grub_ieee1275_interpret): New prototype.
31792
1ab09cc7 317932005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31794
31795 * include/grub/misc.h (memmove): New prototype.
31796 (memcpy): Likewise.
31797
8b8cbdb2 317982005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31799
31800 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31801 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31802
e3741a27 318032005-01-22 Marco Gerards <metgerards@student.han.nl>
31804
31805 * kern/misc.c (grub_strndup): Function rewritten.
31806
776bd780 318072005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31808
31809 * normal/menu.c (TERM_WIDTH): Macro redefined.
31810 (TERM_TOP_BORDER_Y): Likewise.
31811 (draw_border): Replaced while-loop by a for-loop. Make the number
31812 of lines consistent with the number of lines displayed in
31813 print_entries. Added a margin below the rectangle.
31814 (print_entry): Make the entry fit in the rectangle.
31815 (print_entries): Display the scroll arrows next to the right
31816 border.
31817
78026bce 318182005-01-21 Marco Gerards <metgerards@student.han.nl>
31819
31820 * fs/minix.c (grub_minix_find_file): Reserve more space for
31821 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31822 `grub_strncpy' to copy `path' into it.
31823
67bbaf0f 318242005-01-21 Marco Gerards <metgerards@student.han.nl>
31825
31826 Add the loopback device, a device via which files can be accessed
31827 as devices.
f19dbdb7 31828
67bbaf0f 31829 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31830 (pkgdata_MODULES): Add loopback.mod.
31831 (loopback_mod_SOURCES): New variable.
31832 (loopback_mod_CFLAGS): Likewise.
31833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31834 `disk/loopback.c'.
31835 (pkgdata_MODULES): Add loopback.mod.
31836 (loopback_mod_SOURCES): New variable.
31837 (loopback_mod_CFLAGS): Likewise.
31838 * disk/loopback.c: new file.
31839 * include/grub/normal.h (grub_loop_init): New prototype.
31840 (grub_loop_fini): New prototype.
31841 * util/grub-emu.c (main): Initialize and de-initialize loopback
31842 support.
31843 * include/grub/disk.h (grub_disk_dev_id): Add
31844 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31845
6f1c18bd 318462005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31847
31848 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31849 function.
31850 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31851 (suspend_mod_SOURCES): New variable.
31852 (suspend_mod_CFLAGS): Likewise.
31853 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31854 New prototype.
31855 * commands/ieee1275/suspend.c: New file.
31856
b38551da 318572005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31858
31859 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31860 ((unused))' to `__attribute__ ((used))'.
b38551da 31861 (GRUB_MOD_FINI): Likewise.
31862 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31863 * genmk.rb (PModule): Assign space to common symbols when linking
31864 modules.
31865
777aff39 318662005-01-20 Marco Gerards <metgerards@student.han.nl>
31867
31868 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31869 `unsigned' arguments to `grub_size_t'.
31870 (grub_malloc): Likewise.
31871 (grub_realloc): Likewise.
31872 (grub_memalign): Likewise.
31873 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31874 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31875 * util/misc.c (grub_malloc): Likewise.
31876 (grub_realloc): Likewise.
31877 * kern/mm.c (get_header_from_pointer): Change the casts to
31878 `unsigned' into a cast to `grub_size_t'.
31879
31880 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31881 point to `currnode' when `currnode' is changed.
31882
31883 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31884 Schottelius <nico-linux@schottelius.org>.
31885
d0ff18e1 318862005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31887
31888 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31889 (note_path): Remove variable.
31890 (GRUB_IEEE1275_NOTE_NAME): New macro.
31891 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31892 (grub_ieee1275_note_hdr): New structure.
31893 (grub_ieee1275_note_desc): Likewise.
31894 (grub_ieee1275_note): Likewise.
31895 (load_note): Remove `dir' argument. All callers updated. Remove
31896 `note_img' and `path'. Do not load a file from `note_path'.
31897 Initialize a struct grub_ieee1275_note and write that to `out'.
31898 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31899
4ca7004c 319002005-01-05 Marco Gerards <metgerards@student.han.nl>
31901
31902 * util/misc.c (grub_util_read_image): Revert last change. It
31903 called `grub_util_read_at', which seeks from the beginning of the
31904 file.
31905
0b412211 319062005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31907
31908 * TODO: Add note about endianness in grub-mkimage.
31909 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31910 section.
31911 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31912 (grub_mkimage_SOURCES): New target.
31913 * include/grub/kernel.h (grub_start_addr): Remove variable.
31914 (grub_end_addr): Likewise.
31915 (grub_total_module_size): Likewise.
31916 (grub_kernel_image_size): Likewise.
31917 (GRUB_MODULE_MAGIC): New constant.
31918 (grub_module_info): New structure.
31919 (grub_arch_modules_addr): New prototype.
31920 (grub_get_end_addr): Remove prototype.
31921 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31922 * include/grub/powerpc/ieee1275/kernel.h: New file.
31923 * include/grub/util/misc.h (grub_util_get_fp_size): New
31924 prototype.
31925 (grub_util_read_at): Likewise.
31926 (grub_util_write_image_at): Likewise.
31927 * kern/main.c (grub_get_end_addr): Remove function.
31928 (grub_load_modules): Call grub_arch_modules_addr instead of using
31929 grub_end_addr. Look for a grub_module_info struct in memory. Use
31930 the grub_module_info fields instead of calling grub_get_end_addr
31931 as loop conditions. Move grub_add_unused_region code here.
31932 (grub_add_unused_region): Remove function.
31933 * kern/i386/pc/init.c: Include grub/cache.h.
31934 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31935 one call to add_mem_region.
31936 (grub_arch_modules_addr): New function.
31937 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31938 (grub_total_module_size): Likewise.
31939 Include grub/machine/kernel.h.
31940 (grub_arch_modules_addr): New function.
31941 * util/grub-emu.c (grub_end_addr): Remove variable.
31942 (grub_total_module_size): Likewise.
31943 (grub_arch_modules_addr): New function.
31944 * util/misc.c: Include unistd.h.
31945 (grub_util_get_fp_size): New function.
31946 (grub_util_read_at): Likewise.
31947 (grub_util_write_image_at): Likewise.
31948 (grub_util_read_image): Call grub_util_read_at.
31949 (grub_util_write_image): Call grub_util_write_image_at.
31950 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31951 additional memory in kernel_img for a struct grub_module_info.
31952 Fill in that grub_module_info.
31953 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31954
458786f8 319552005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31956
31957 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31958 New function.
31959 * include/grub/powerpc/ieee1275/ieee1275.h
31960 (grub_ieee1275_milliseconds): New prototype.
31961 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31962 Change to 1000.
31963 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31964 grub_ieee1275_milliseconds.
31965
ac507d1b 319662005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31967
31968 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31969 variable.
31970 (find_options): New function.
31971 (cmain): Call find_options.
31972 * include/grub/powerpc/ieee1275/ieee1275.h
31973 (grub_ieee1275_realmode): New extern variable.
31974 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31975 grub_map if grub_ieee1275_realmode is false.
31976
6b8fd1c4 319772004-12-29 Marco Gerards <metgerards@student.han.nl>
31978
31979 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31980 lines are inserted and make it work like readline. Reported by
31981 Vincent Pelletier <subdino2004@yahoo.fr>.
31982
8514a1e0 319832004-12-28 Marco Gerards <metgerards@student.han.nl>
31984
31985 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31986
31987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31988 `kern/powerpc/cache.S'.
31989
924b6140 319902004-12-27 Marco Gerards <metgerards@student.han.nl>
31991
31992 * genmk.rb: Handle the `Program' class in the main loop. Written
31993 by Johan Rydberg <jrydberg@gnu.org>.
31994 (Program): New class.
31995 (programs): New variable.
31996 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31997 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31998 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31999 (help_arch): Function removed.
32000 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32001 `powerpc/libgcc.h' and `loader.h'.
32002 (pkgdata_PROGRAMS): New variable.
32003 (sbin_UTILITIES): Variable removed.
32004 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32005 (grubof_SOURCES): Variable re-defined so it only includes the
32006 core functionality.
32007 (grubof_CFLAGS): Remove `-DGRUBOF'.
32008 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32009 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32010 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32011 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32012 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32013 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32014 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32015 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32016 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32017 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32018 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32019 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32020 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32021 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32022 (pc_mod_CFLAGS): New variables.
32023 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32024 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32025 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32026 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32027 Moved from here...
32028 * include/grub/i386/pc/init.h (grub_os_area_addr)
32029 (rub_os_area_size): ... to here.
32030 * include/grub/powerpc/ieee1275/ieee1275.h
32031 (grub_ieee1275_entry_fn): Export symbol.
32032 * include/grub/powerpc/ieee1275/init.h: New file.
32033 * include/grub/powerpc/libgcc.h: Likewise.
32034 * include/grub/cache.h: Likewise.
32035 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32036 <hollis@penguinppc.org>.
32037 * kern/dl.c: Include <grub/cache.h>.
32038 (grub_dl_flush_cache): New function.
32039 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32040 for this module.
32041 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32042 (grub_console_init): Removed prototypes.
32043 (grub_machine_init): Don't initialize the modules anymore.
32044 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32045 static.
32046 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32047 Macro undef removed.
32048 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32049 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32050 relocation `R_PPC_REL32'. Return an error when the relocation is
32051 unknown.
32052 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32053 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32054 * util/misc.c (grub_arch_sync_caches): Likewise.
32055
e4b47e0c 320562004-12-19 Marco Gerards <metgerards@student.han.nl>
32057
32058 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32059 `symlist.c', add `grubof_symlist.c'.
32060 (symlist.c): Variable removed.
32061 (grubof_HEADERS): Variable added.
32062 (grubof_symlist.c): New target.
32063 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32064 `kernel_img_HEADERS'.
32065 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32066 * kern/powerpc/dl.c: New file.
32067 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32068 Function removed.
32069 (grub_arch_dl_relocate_symbols): Likewise.
32070 (grub_register_exported_symbols): Likewise.
32071
4ceb3636 320722004-12-13 Marco Gerards <metgerards@student.han.nl>
32073
32074 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32075 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32076 to fail instead. Reported by Vincent Pelletier
32077 <subdino2004@yahoo.fr>.
32078
32079 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32080 it is not allocated. Reported by Vincent Pelletier
32081 <subdino2004@yahoo.fr>.
32082
32083 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32084 output so the output looks better.
f19dbdb7 32085
3f1578fe 320862004-12-04 Marco Gerards <metgerards@student.han.nl>
32087
32088 Modulize the partition map support and add support for the amiga
32089 partition map.
f19dbdb7 32090
3f1578fe 32091 * commands/ls.c: Include <grub/partition.h> instead of
32092 <grub/machine/partition.h>.
32093 * kern/disk.c: Likewise.
32094 * kern/rescue.c: Likewise.
32095 * loader/i386/pc/chainloader.c: Likewise.
32096 * normal/cmdline.c: Likewise.
32097 * kern/powerpc/ieee1275/init.c: Likewise.
32098 (grub_machine_init): Call `grub_pc_partition_map_init',
32099 `grub_amiga_partition_map_init' and
32100 `grub_apple_partition_map_init'.
32101 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
32102 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
32103 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
32104 `partition.h' and `pc_partition.h'.
32105 (grub_setup_SOURCES): Remove
32106 `disk/i386/pc/partition.c'. Add `kern/partition.c',
32107 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32108 (grub_emu_SOURCES): Likewise.
32109 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
32110 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
32111 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
32112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32113 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
32114 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32115 (grubof_SOURCES): Likewise.
32116 * disk/i386/pc/partition.c: File removed.
32117 * disk/powerpc/ieee1275/partition.c: Likewise.
32118 * include/grub/powerpc/ieee1275/partition.h: Likewise.
32119 * include/grub/i386/pc/partition.h: Likewise.
32120 * kern/partition.c: New file.
32121 * partmap/amiga.c: Likewise.
32122 * partmap/apple.c: Likewise.
32123 * partmap/pc.c: Likewise.
32124 * include/grub/partition.h: Likewise..
32125 * include/grub/pc_partition.h: Likewise.
32126 * util/grub-emu.c: Include <grub/partition.h> instead of
32127 <grub/machine/partition.h>.
32128 (main): Call `grub_pc_partition_map_init',
32129 `grub_amiga_partition_map_init' and
32130 `grub_apple_partition_map_init' and deinitialize afterwards.
32131 * util/i386/pc/biosdisk.c: Include `#include
32132 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32133 `<grub/machine/partition.h>'.
32134 * util/i386/pc/grub-setup.c: Likewise.
32135 * util/i386/pc/biosdisk.c: Likewise.
32136 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
32137 partition information in case of a PC partition.
32138 * util/i386/pc/grub-setup.c: Include `#include
32139 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32140 `<grub/machine/partition.h>'.
32141 (setup): Only access the PC specific partition information in case
32142 of a PC partition.
32143
0ef4ced9 321442004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32145
0ef4ced9 32146 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
32147 (grub_longjmp): Likewise.
32148 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
32149 20.
32150 * normal/powerpc/setjmp.S: New file.
32151 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32152 `normal/powerpc/setjmp.S'.
32153 (grubof_CFLAGS): Add `-DGRUBOF'.
32154 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
32155 [GRUB_UTIL && !GRUBOF].
f19dbdb7 32156
19950e29 321572004-11-16 Marco Gerards <metgerards@student.han.nl>
32158
32159 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
32160 property named `name'. Correctly handle the error returned by
32161 `grub_ieee1275_finddevice' if a device can not be opened.
32162
a2fea427 321632004-11-02 Hollis Blanchard <hollis@penguinppc.org>
32164
32165 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
32166 `actual' for negativity.
32167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32168 kern/fshelp.c.
32169
41ea0ea3 321702004-11-01 Marco Gerards <metgerards@student.han.nl>
32171
32172 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
32173 (PAGE_OFFSET): New macro.
32174 (CRTC_ADDR_PORT): Likewise.
32175 (CRTC_DATA_PORT): Likewise.
32176 (START_ADDR_HIGH_REGISTER): Likewise.
32177 (START_ADDR_LOW_REGISTER): Likewise.
32178 (GRAPHICS_ADDR_PORT): Likewise.
32179 (GRAPHICS_DATA_PORT): Likewise.
32180 (READ_MAP_REGISTER): Likewise.
32181 (INPUT_STATUS1_REGISTER): Likewise.
32182 (INPUT_STATUS1_VERTR_BIT): Likewise.
32183 (page): New variable.
32184 (wait_vretrace): New function.
32185 (set_read_map): Likewise.
32186 (set_start_address): Likewise.
32187 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
32188 the right page.
32189 (check_vga_mem): Take the page into account.
32190 (write_char): Likewise.
32191 (write_cursor): Likewise.
32192 (scroll_up): Likewise. Copy the page to the page that is not
32193 shown and switch between both pages.
32194 (grub_vga_putchar): Fix off by one error.
32195 (grub_vga_cls): Wait for the vertical retrace. Take the page into
32196 account.
32197
ad0bd20b 321982004-11-01 Marco Gerards <metgerards@student.han.nl>
32199
32200 Add support for iso9660 (including rockridge).
f19dbdb7 32201
ad0bd20b 32202 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32203 (iso9660_mod_SOURCES): New variable.
32204 (iso9660_mod_CFLAGS): Likewise.
32205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32206 * include/grub/fs.h (grub_iso9660_init): New prototype.
32207 * util/grub-emu.c (main): Call `grub_iso9660_init'.
32208 * fs/iso9660.c: New file.
32209
32210 * include/grub/misc.h (grub_strncat): New prototype.
32211 * kern/misc.c (grub_strncat): New function.
f19dbdb7 32212
ad0bd20b 32213 * fs/hfs.c (grub_hfs_mount): Translate the error
32214 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
32215 * fs/jfs.c (grub_jfs_mount): Likewise.
32216 * fs/ufs.c (grub_ufs_mount): Likewise.
32217
a5477a59 322182004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32219
32220 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32221 which initialized BAT registers.
32222 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32223 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32224 Move from here...
32225 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32226 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32227 ... to here.
32228 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32229 (grub_mapclaim): Likewise.
32230 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32231 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32232 hand.
32233
9304c1f8 322342004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32235
32236 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32237 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32238 -ffreestanding and -msoft-float.
32239
86f4ae25 322402004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32241
32242 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32243 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32244 set in grub_ieee1275_flags.
32245
38912228 322462004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32247
32248 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32249 prototype.
32250 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32251 grub_console_init first.
32252 Change the memory range used for grub_ieee1275_claim and
32253 grub_mm_init_region.
32254 Print an error message if the claim fails.
32255 Include <grub/misc.h>.
32256
d1923dc8 322572004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32258
32259 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32260 Call grub_children_iterate for device nodes of type `scsi',
32261 `ide', or `ata'.
32262 (grub_ofdisk_open): Remove manual device alias resolution.
32263 Fix memory leak when device cannot be opened.
f19dbdb7 32264 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32265 (grub_children_iterate): New prototype.
32266 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32267 New function.
32268 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32269 Return -1 if args.size was -1.
32270
4512e4f3 322712004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32272
32273 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32274 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32275 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32276 Open Firmware's memory for it; claim memory from _start to _end.
32277 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32278 (_end): New extern.
32279 (_start): Zero BSS from __bss_start to _end.
32280 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32281 New extern.
32282 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32283
4d61feb0 322842004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32285
ad0bd20b 32286 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32287 -1 if args.base was -1.
4d61feb0 32288
026fa2f9 322892004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32290
32291 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32292 escape sequence instead of a literal ^L. Also call
32293 grub_ofconsole_gotoxy.
32294
9f2220ef 322952004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32296
32297 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32298 void * arguments to grub_addr_t. All callers updated. Also make
32299 the `result' argument optional.
32300 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32301 All callers updated.
32302
8a572cd7 323032004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32304
32305 * commands/ls.c (grub_ls_list_files): Use the string following the
32306 initial ')', if present, as the filesystem path.
32307 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32308
32309 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32310
18aa81f2 323112004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32312
32313 Make the source code of the menu interface more readable.
f19dbdb7 32314
18aa81f2 32315 * normal/menu.c: Include grub/mm.h.
32316 (TERM_WIDTH): New macro.
32317 (TERM_HEIGHT): Likewise.
32318 (TERM_INFO_HEIGHT): Likewise.
32319 (TERM_MARGIN): Likewise.
32320 (TERM_SCROLL_WIDTH): Likewise.
32321 (TERM_TOP_BORDER_Y): Likewise.
32322 (TERM_LEFT_BORDER_X): Likewise.
32323 (TERM_BORDER_WIDTH): Likewise.
32324 (TERM_MESSAGE_HEIGHT): Likewise.
32325 (TERM_BORDER_HEIGHT): Likewise.
32326 (TERM_NUM_ENTRIES): Likewise.
32327 (TERM_FIRST_ENTRY_Y): Likewise.
32328 (TERM_ENTRY_WIDTH): Likewise.
32329 (TERM_CURSOR_X): Likewise.
32330 (draw_border): Use macros instead of magic numbers.
32331 (print_entry): Likewise.
32332 (print_entries): Likewise.
32333 (run_menu): Likewise. Also, handle the key 'e'.
32334 (run_menu_entry): Ignore empty command lines.
32335 (print_message): Added a new argument EDIT. If EDIT is true,
32336 print a different message.
32337 (init_page): Likewise.
32338 (edit_menu_entry): New function. Not implemented yet.
32339
b47efe30 323402004-09-17 Marco Gerards <metgerards@student.han.nl>
32341
32342 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32343 can be loaded from normal mode.
f19dbdb7 32344
b47efe30 32345 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32346 `multiboot.mod'.
32347 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32348 (multiboot_mod_CFLAGS): New variables.
32349 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32350 * loader/i386/pc/multiboot_normal.c: Likewise.
32351
b47efe30 32352 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32353 attribute `unused'.
f19dbdb7 32354
b47efe30 32355 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32356 `fdiro' to read the mode information from instead of `diro'.
32357
32358 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32359 looking up a symlink.
32360
32361 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32362 macro.
32363 * normal/command.c (grub_command_execute): Don't parse the
32364 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32365 flags of the command.
32366
32367 * normal/menu.c (grub_menu_run): Fix typo.
32368
da75ac71 323692004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32370
32371 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32372
32373 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32374 `y + 1' instead of `y - 1'.
32375
32376 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32377
062b24c2 323782004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32379
32380 From Hollis Blanchard <hollis@penguinppc.org>:
32381 * kern/misc.c (memmove): New alias for grub_memmove.
32382 (memcmp): New alias for grub_memcmp.
32383 (memset): New alias for grub_memset.
f19dbdb7 32384 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32385 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32386 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32387 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32388
8ddad845 323892004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32390
32391 Added normal mode command `chainloader' as module chain.mod, which
32392 depends on normal.mod and _chain.mod.
f19dbdb7 32393
8ddad845 32394 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32395 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32396 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32397 Deleted prototype.
32398 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32399 but arguments parsing moved to ...
32400 (grub_chainloader_cmd): ... here. New function.
32401 * include/grub/i386/pc/chainloader.h: New file.
32402 * loader/i386/pc/chainloader_normal.c: Likewise.
32403
2c1f4ce3 324042004-09-11 Marco Gerards <metgerards@student.han.nl>
32405
32406 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32407 (grub_mkimage_LDFLAGS): Likewise.
32408 (grub_emu_SOURCES): Likewise.
32409 (kernel_img_HEADERS): Added fshelp.h.
32410 * fs/ext2.c: Include <grub/fshelp.h>.
32411 (FILETYPE_REG): New macro.
32412 (FILETYPE_INO_REG): Likewise.
32413 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32414 Changed all users.
32415 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32416 all users.
32417 (grub_fshelp_node): New struct.
32418 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32419 to a pointer.
32420 (grub_ext2_get_file_block): Removed function.
32421 (grub_ext2_read_block): New function.
32422 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32423 This function was written.
32424 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32425 (grub_ext2_find_file): Removed function.
32426 (grub_ext2_read_symlink): New function.
32427 (grub_ext2_iterate_dir): Likewise.
32428 (grub_ext2_open): Rewritten.
32429 (grub_ext2_dir): Rewritten.
32430 * include/grub/fshelp.h: New file.
32431 * fs/fshelp.c: Likewise.
32432
3c52136a 324332004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32434
32435 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32436 (print_message): Add a missing newline.
32437 (run_menu): Added timeout support.
32438 (run_menu_entry): New local function.
32439 (grub_menu_run): Added support for booting.
32440
32441 * kern/loader.c (grub_loader_is_loaded): New function.
32442
32443 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32444 (grub_get_rtc): Exported.
32445
32446 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32447 (grub_get_rtc): Exported.
32448
32449 * include/grub/normal.h (struct grub_command_list): Remove
32450 constant from the member `command'.
32451
32452 * include/grub/loader.h (grub_loader_is_loaded): Declared.
32453
32454 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
32455
32456 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
32457
aa033560 324582004-08-28 Marco Gerards <metgerards@student.han.nl>
32459
32460 Add support for the JFS filesystem.
32461
32462 * fs/jfs.c: New file.
32463 * include/grub/fs.h (grub_jfs_init): New prototype.
32464 (grub_jfs_fini): New prototype.
32465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
32466 (grub_emu_SOURCES): Likewise.
32467 (pkgdata_MODULES): Add jfs.mod.
32468 (jfs_mod_SOURCES): New variable.
32469 (jfs_mod_CFLAGS): Likewise.
32470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
32471 (grubof_SOURCES): Likewise.
32472 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
32473
32474 * fs/fat.c (grub_fat_find_dir): Convert the filename little
32475 endian to the host endian.
32476 (grub_fat_utf16_to_utf8): Move function from there...
32477 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 32478 the endianness of the source string anymore.
aa033560 32479 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
32480
94bc45af 324812004-08-24 Marco Gerards <metgerards@student.han.nl>
32482
32483 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
32484 (grub_boot_fini) [GRUB_UTIL]: Likewise.
32485 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
32486 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 32487
94bc45af 32488 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
32489 (grub_hfs_iterate_dir): Make the function static. Add prototypes
32490 for `node_found' and `it_dir'.
32491 (grub_hfs_dir): Add prototype for `dir_hook'.
32492
32493 * fs/minix.c (grub_minix_get_file_block): Add prototype for
32494 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
32495 and `indir32' to silence a gcc warning.
32496
32497 * include/grub/fs.h (grub_hfs_init): New prototype.
32498 (grub_hfs_fini): Likewise.
f19dbdb7 32499
32500
97543f08 325012004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32502
32503 Each disk device has its own id now. This is useful to make use
32504 of multiple disk devices.
f19dbdb7 32505
97543f08 32506 * include/grub/disk.h (grub_disk_dev_id): New enum.
32507 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
32508 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
32509
32510 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
32511 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32512
32513 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
32514 GRUB_DISK_DEVICE_OFDISK_ID as an id.
32515
32516 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
32517 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32518
32519 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32520 "id" which is used by the cache manager.
32521
32522 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32523 of just "GRUB".
32524
64372eb4 325252004-08-18 Marco Gerards <metgerards@student.han.nl>
32526
32527 * fs/hfs.c: New file.
32528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32529 (grub_emu_SOURCES): Likewise.
32530 (pkgdata_MODULES): Add hfs.mod.
32531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32532 (grubof_SOURCES): Likewise.
32533 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32534
32535 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32536 * kern/misc.c (grub_strncasecmp): Add function.
32537
cc61b58f 325382004-08-14 Marco Gerards <metgerards@student.han.nl>
32539
32540 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32541 with parentheses.
32542
32543 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32544 (grub_ext2_dir): In case the directory entry type is unknown, read
32545 it from the inode.
32546
0ef123f6 325472004-08-02 Peter Bruin <pjbruin@dds.nl>
32548
32549 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32550 grub_load_linux instead of grub_rescue_cmd_linux as second
32551 argument of grub_rescue_register_command.
32552
32553 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32554
a447c5df 325552004-07-27 Marco Gerards <metgerards@student.han.nl>
32556
32557 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32558 function.
32559 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32560 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32561 `loader/powerpc/ieee1275/linux.c',
32562 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32563 * include/grub/powerpc/ieee1275/ieee1275.h
32564 (grub_ieee1275_release): New prototype.
32565 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32566 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32567 normal, boot, linux and linux_normal.
32568 * loader/powerpc/ieee1275/linux.c: New file.
32569 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32570
5a9e3546 325712004-07-12 Marco Gerards <metgerards@student.han.nl>
32572
32573 * normal/arg.c (grub_arg_parse): Correct error handling after
32574 reallocating the argumentlist (check if `argl' is not null instead
32575 of checking if `args' is not null).
32576 * kern/mm.c (grub_realloc): Return the same pointer when using the
32577 same region, instead of returning the header address.
32578
e15199cb 325792004-07-11 Marco Gerards <metgerards@student.han.nl>
32580
32581 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32582 one block instead of two when looking for the initial partition.
32583 (grub_partition_probe): Initialize the local variable `p' with 0.
32584 Use base 10 for the grub_strtoul call.
32585 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32586 need for one local variable.
32587 (grub_strtoul): Don't add the new value to `num', instead of that
32588 just assign it.
32589
020616c2 325902004-07-11 Marco Gerards <metgerards@student.han.nl>
32591
32592 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32593 (pxeboot_img_SOURCES): New variable.
32594 (pxeboot_img_ASFLAGS): Likewise.
32595 (pxeboot_img_LDFLAGS): Likewise.
32596 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32597 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32598 <lode_leroy@hotmail.com>.
32599
6c51eb64 326002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32601
32602 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32603 there was no input.
32604
cfb12aff 326052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32606
32607 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32608 the history buffer logic.
32609
6eabba74 326102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32611
32612 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32613 (FILETYPE_INO_SYMLINK): New macros.
32614 (grub_ext2_find_file): Check if the node is a directory using the
32615 inode stat information instead of using the filetype in the
32616 dirent. Exclude the first character of an absolute symlink.
32617 (grub_ext2_dir): Mask out the filetype part of the mode member of
32618 the inode.
32619
66e19ef8 326202004-05-24 Marco Gerards <metgerards@student.han.nl>
32621
32622 Add support for UFS version 1 and 2. Add support for the minix
32623 filesystem version 1 and 2, both the variants with 14 and 30 long
32624 filenames.
f19dbdb7 32625
66e19ef8 32626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32627 fs/minix.c.
32628 (grub_emu_SOURCES): Likewise.
32629 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32630 (ufs_mod_SOURCES): New variable.
32631 (ufs_mod_CFLAGS): Likewise.
32632 (minix_mod_SOURCES): Likewise.
32633 (minix_mod_CFLAGS): Likewise.
32634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32635 fs/minix.c.
32636 (grubof_SOURCES): Likewise.
32637 * fs/ufs.c: New file.
32638 * fs/minix.c: New file.
32639 * include/grub/fs.h (grub_ufs_init): New prototype.
32640 (grub_ufs_fini): Likewise.
32641 (grub_minix_init): Likewise.
32642 (grub_minix_fini): Likewise.
32643 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32644 minix fs.
32645
cc2e748a 326462004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32647
32648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32649 commands/ls.c, commands/terminal.c, commands/boot.c,
32650 commands/cmp.c and commands/cat.c.
32651 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32652
32653 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32654 "env.h"
32655
4b13b216 326562004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32657
32658 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32659 and grub_, respectively. Because the conversion is trivial and
32660 mechanical, I omit the details here. Please refer to the CVS
32661 if you need more information.
32662
6a142551 326632004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32664
32665 * include/pupa: Renamed to ...
32666 * include/grub: ... this.
32667 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32668 * util/i386/pc/grub-mkimage.c: ... this.
32669 * util/i386/pc/pupa-setup.c: Renamed to ...
32670 * util/i386/pc/grub-setup.c: ... this.
32671 * util/pupa-emu.c: Renamed to ...
32672 * util/grub-emu.c: ... this.
32673
e56cdf21 326742004-03-29 Marco Gerards <metgerards@student.han.nl>
32675
32676 Add support for the newworld apple macintosh (PPC). This has been
32677 tested on the powerbook 2000 only. It only adds support for
32678 generic ieee1275 functions, console and disk support. This should
32679 be easy to port to other architectures with support for Open
32680 Firmware.
f19dbdb7 32681
e56cdf21 32682 * configure.ac: Accept the powerpc as host_cpu. In the case of
32683 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32684 specific tests are only executed while building for the i386.
32685 Inverse test for crosscompile.
32686 * genmk.rb (Utility): Allow assembler files.
32687 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32688 * conf/powerpc-ieee1275.rmk: New file.
32689 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32690 * disk/powerpc/ieee1275/partition.c: Likewise.
32691 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32692 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32693 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32694 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32695 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32696 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32697 * include/pupa/powerpc/ieee1275/loader.h
32698 * include/pupa/powerpc/setjmp.h: Likewise.
32699 * include/pupa/powerpc/types.h: Likewise.
32700 * kern/powerpc/ieee1275/init.c: Likewise.
32701 * kern/powerpc/ieee1275/openfw.c: Likewise.
32702 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32703
32704 These files were written by Johan Rydberg
32705 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32706
e56cdf21 32707 * boot/powerpc/ieee1275/cmain.c: New file.
32708 * boot/powerpc/ieee1275/crt0.S: Likewise.
32709 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32710 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32711
8c8cc205 327122004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32713
32714 * Makefile.in: Update copyright.
32715 * genmodsrc.sh: Likewise.
32716 * gensymlist.sh: Likewise.
32717 * term/i386/pc/vga.c: Indent correctly.
32718
32719 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32720 bugreporting address.
32721 * util/i386/pc/pupa-setup.c (usage): Likewise,
32722 (main): Call pupa_ext2_init and pupa_ext2_fini.
32723
f19dbdb7 32724 * fs/fat.c (log2): Renamed to ...
8c8cc205 32725 (fat_log2): ... this.
32726 All callers changed.
32727 * kern/misc.c (memcpy): Alias to pupa_memmove.
32728 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32729 lvalue cast.
32730 * util/console.c (pupa_ncurses_fini): Return 0.
32731
32732 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32733 Move fail label here.
32734 [__GNU__]: Don't warn when using stat.
32735 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32736 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32737 long int. Use strtol instead of strtoul.
f19dbdb7 32738
db1771cf 327392004-03-14 Marco Gerards <metgerards@student.han.nl>
32740
32741 * commands/boot.c: New file.
32742 * commands/cat.c: Likewise.
32743 * commands/cmp.c: Likewise.
32744 * commands/ls.c: Likewise.
32745 * commands/terminal.c: Likewise.
32746 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32747 (pupa_register_command): Changed interface to match the new
32748 argument parser.
32749 (pupa_command_execute): Changed (almost rewritten) so it uses
32750 pupa_split_command. Added support for setting variables using the
32751 syntax `foo=bar'.
32752 (rescue_command): Changed to work with the new argument parser.
32753 (terminal_command): Moved from here to commands/terminal.c.
32754 (set_command): New function.
32755 (unset_command): New function.
32756 (insmod_command): New function.
32757 (rmmod_command): New function.
32758 (lsmod_command): New function.
32759 (pupa_command_init): Don't initialize the command terminal
32760 anymore. Initialize the commands set, unset, insmod, rmmod and
32761 lsmod.
32762 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32763 (kernel_img_HEADERS): Add arg.h and env.h.
32764 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32765 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32766 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32767 normal/arg.c.
32768 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32769 terminal.mod.
32770 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32771 (boot_mod_SOURCES): New variable.
32772 (terminal_mod_SOURCES): Likewise.
32773 (ls_mod_SOURCES): Likewise.
32774 (cmp_mod_SOURCES): Likewise.
32775 (cat_mod_SOURCES): Likewise.
32776
32777 * normal/arg.c: New file.
32778 * kern/env.c: Likewise.
32779 * include/pupa/arg.h: Likewise.
32780 * include/pupa/env.h: Likewise.
32781 * font/manager.c (font_command): Changed to match argument parsing
32782 interface changes.
32783 (PUPA_MOD_INIT): Likewise.
32784 * hello/hello.c (pupa_cmd_hello): Likewise.
32785 (PUPA_MOD_INIT): Likewise.
32786 * include/pupa/disk.h: Include <pupa/device.h>.
32787 (pupa_print_partinfo): New prototype.
32788 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32789 (pupa_dl_get_prefix): Likewise.
32790 * include/pupa/misc.h: Include <pupa/err.h>.
32791 (pupa_isgraph): New prototype.
32792 (pupa_isdigit): Likewise.
32793 (pupa_split_cmdline): Likewise.
32794 * include/pupa/normal.h: Include <pupa/arg.h>.
32795 (pupa_command): Changed the prototype of the member `func' to
32796 match the argument parsing interface. Added member `options'.
32797 (pupa_register_command): Updated to match function.
32798 (pupa_arg_parse): New prototype.
32799 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32800 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32801 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32802 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32803 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32804 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32805 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32806 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32807 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32808 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32809 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32810 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32811 * kern/disk.c: Include <pupa/file.h>.
32812 (pupa_print_partinfo): New function.
32813 * kern/dl.c: Include <pupa/env.h>.
32814 (pupa_dl_dir): Variable removed.
32815 (pupa_dl_load): Use the environment variable `prefix' instead of
32816 the variable pupa_dl_dir.
32817 (pupa_dl_set_prefix): Function removed.
32818 (pupa_dl_get_prefix): Likewise.
32819 * kern/i386/pc/init.c: Include <pupa/env.h>.
32820 (pupa_machine_init): Use the environment variable `prefix' instead of
32821 using pupa_dl_set_prefix to set the prefix.
32822 * kern/main.c: Include <pupa/env.h>.
32823 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32824 using pupa_dl_get_prefix to get the prefix.
32825 * kern/misc.c: Include <pupa/env.h>.
32826 (pupa_isdigit): New function.
32827 (pupa_isgraph): Likewise.
32828 (pupa_ftoa): Likewise.
32829 (pupa_vsprintf): Added support for printing values of the type
32830 `double'. Make it possible to format variable output when using
32831 formatting like `%1.2%f'.
32832 (pupa_split_cmdline): New function.
32833 * kern/rescue.c: Include <pupa/env.h>.
32834 (next_word): Removed function.
32835 (pupa_rescue_cmd_prefix): Likewise.
32836 (pupa_rescue_cmd_set): New function.
32837 (pupa_rescue_cmd_unset): New function.
32838 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32839 split the command line instead of splitting it here. Added
32840 support for setting variables using the syntax `foo=bar'. Don't
32841 initialize the prefix command anymore. Initialized the set and
32842 unset commands.
32843 * normal/cmdline.c: Include <pupa/env.h>.
32844 (pupa_tab_complete): Added prototypes for print_simple_completion,
32845 print_partition_completion, add_completion, iterate_commands,
32846 iterate_dev, iterate_part and iterate_dir. Moved code to print
32847 partition information from here to kern/disk.c.
fe6b695a 32848 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32849 * normal/main.c: Include <pupa/env.h>.
32850 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32851 instead of using pupa_dl_get_prefix to get the prefix.
32852 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32853 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32854 warning.
32855 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32856 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32857 ((unused))' to silence a gcc warning.
32858 (pupa_vga_setcolor): Likewise.
32859 (debug_command): Changed to match argument parsing
32860 interface changes.
32861 * util/pupa-emu.c: Include <pupa/env.h>.
32862 (options): Added 0's for unused fields to silence a gcc warning.
32863 (argp): Likewise.
32864 (main): Use the environment variable `prefix' instead of using
32865 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32866 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32867 and terminal.
32868
32869 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32870 * util/misc.c: Include <malloc.h>.
32871 (pupa_malloc): Rewritten so errors are correctly reported.
32872 (pupa_realloc): Likewise.
32873 (pupa_memalign): Likewise.
32874 (pupa_mm_init_region): Declare unused variables with
32875 `__attribute__ ((unused))' to silence a gcc warning.
32876 * normal/i386/setjmp.S: Remove tab at the end of the file to
32877 silence a gcc warning.
32878 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32879 variables with `__attribute__ ((unused))' to silence a gcc
32880 warning.
32881 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32882 local variable i unsigned to silence a gcc warning.
32883
32884 * kern/term.c: Include <pupa/misc.h>.
32885 (pupa_more_lines): New variable.
32886 (pupa_more): Likewise.
32887 (pupa_putcode): When the pager is active pause at the end of every
32888 screen.
32889 (pupa_set_more): New function.
32890 * include/pupa/term.h (pupa_set_more): New prototype.
32891
32892
3b1139cb 328932004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32894
32895 Now this project is GRUB 2 rather than PUPA. The location of
32896 the CVS repository was moved to GRUB's.
f19dbdb7 32897
3b1139cb 32898 * configure.ac: Use bug-grub as the reporting address.
32899 Use GRUB instead of PUPA.
32900 Change the version number to 1.90.
32901
8367695c 329022004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32903
32904 * genkernsyms.sh: Updated copyright information.
32905 * genmk.rb: Likewise.
32906 * genmodsrc.sh: Likewise.
32907 * gensymlist.sh: Likewise.
32908 * boot/i386/pc/boot.S: Likewise.
32909 * boot/i386/pc/diskboot.S: Likewise.
32910 * disk/i386/pc/biosdisk.c: Likewise.
32911 * disk/i386/pc/partition.c: Likewise.
32912 * font/manager.c: Likewise.
32913 * fs/ext2.c: Likewise.
32914 * fs/fat.c: Likewise.
32915 * include/pupa/boot.h: Likewise.
32916 * include/pupa/device.h: Likewise.
32917 * include/pupa/disk.h: Likewise.
32918 * include/pupa/dl.h: Likewise.
32919 * include/pupa/elf.h: Likewise.
32920 * include/pupa/err.h: Likewise.
32921 * include/pupa/file.h: Likewise.
32922 * include/pupa/font.h: Likewise.
32923 * include/pupa/fs.h: Likewise.
32924 * include/pupa/kernel.h: Likewise.
32925 * include/pupa/loader.h: Likewise.
32926 * include/pupa/misc.h: Likewise.
32927 * include/pupa/mm.h: Likewise.
32928 * include/pupa/net.h: Likewise.
32929 * include/pupa/normal.h: Likewise.
32930 * include/pupa/rescue.h: Likewise.
32931 * include/pupa/setjmp.h: Likewise.
32932 * include/pupa/symbol.h: Likewise.
32933 * include/pupa/term.h: Likewise.
32934 * include/pupa/types.h: Likewise.
32935 * include/pupa/i386/setjmp.h: Likewise.
32936 * include/pupa/i386/types.h: Likewise.
32937 * include/pupa/i386/pc/biosdisk.h: Likewise.
32938 * include/pupa/i386/pc/boot.h: Likewise.
32939 * include/pupa/i386/pc/console.h: Likewise.
32940 * include/pupa/i386/pc/init.h: Likewise.
32941 * include/pupa/i386/pc/kernel.h: Likewise.
32942 * include/pupa/i386/pc/linux.h: Likewise.
32943 * include/pupa/i386/pc/loader.h: Likewise.
32944 * include/pupa/i386/pc/memory.h: Likewise.
32945 * include/pupa/i386/pc/multiboot.h: Likewise.
32946 * include/pupa/i386/pc/partition.h: Likewise.
32947 * include/pupa/i386/pc/time.h: Likewise.
32948 * include/pupa/i386/pc/vga.h: Likewise.
32949 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32950 * include/pupa/util/getroot.h: Likewise.
32951 * include/pupa/util/misc.h: Likewise.
32952 * include/pupa/util/resolve.h: Likewise.
32953 * kern/device.c: Likewise.
32954 * kern/disk.c: Likewise.
32955 * kern/dl.c: Likewise.
32956 * kern/err.c: Likewise.
32957 * kern/file.c: Likewise.
32958 * kern/fs.c: Likewise.
32959 * kern/loader.c: Likewise.
32960 * kern/main.c: Likewise.
32961 * kern/misc.c: Likewise.
32962 * kern/mm.c: Likewise.
32963 * kern/rescue.c: Likewise.
32964 * kern/term.c: Likewise.
32965 * kern/i386/dl.c: Likewise.
32966 * kern/i386/pc/init.c: Likewise.
32967 * kern/i386/pc/lzo1x.S: Likewise.
32968 * kern/i386/pc/startup.S: Likewise.
32969 * loader/i386/pc/chainloader.c: Likewise.
32970 * loader/i386/pc/linux.c: Likewise.
32971 * loader/i386/pc/multiboot.c: Likewise.
32972 * normal/cmdline.c: Likewise.
32973 * normal/command.c: Likewise.
32974 * normal/main.c: Likewise.
32975 * normal/menu.c: Likewise.
32976 * normal/i386/setjmp.S: Likewise.
32977 * term/i386/pc/console.c: Likewise.
32978 * term/i386/pc/vga.c: Likewise.
32979 * util/console.c: Likewise.
32980 * util/genmoddep.c: Likewise.
32981 * util/misc.c: Likewise.
32982 * util/pupa-emu.c: Likewise.
32983 * util/resolve.c: Likewise.
32984 * util/unifont2pff.rb: Likewise.
32985 * util/i386/pc/biosdisk.c: Likewise.
32986 * util/i386/pc/getroot.c: Likewise.
32987 * util/i386/pc/pupa-mkimage.c: Likewise.
32988 * util/i386/pc/pupa-setup.c: Likewise.
32989
e6eced71 329902004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32991
32992 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32993 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32994 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32995 reading and reset it after reading.
32996 (pupa_ext2_close): Return PUPA_ERR_NONE.
32997
32998 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32999 Correct value.
33000 (struct linux_kernel_header): Add kernel_version and
33001 initrd_addr_max.
33002 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33003 pupa_file_read succeeds.
33004 (pupa_rescue_cmd_initrd): Implement.
33005
5aded270 330062003-12-03 Marco Gerards <metgerards@student.han.nl>
33007
33008 * fs/ext2.c (pupa_ext2_label): New function.
33009 (pupa_ext2_fs): Added label.
33010 * fs/fat.c (pupa_fat_label): New function.
33011 (pupa_fat_fs): Added label.
33012 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33013
33014 * kern/misc.c (pupa_strndup): New function.
33015 * include/pupa/misc.h (pupa_strndup): New prototype.
33016
33017 * include/pupa/normal.h: Include <pupa/err.h>.
33018 (pupa_set_history): New prototype.
33019 (pupa_iterate_commands): New prototype.
33020 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33021 <pupa/disk.h>, <pupa/file.h>.
33022 (hist_size): New variable.
33023 (hist_lines): Likewise.
33024 (hist_end): Likewise.
33025 (hist_used): Likewise.
33026 (pupa_set_history): New function.
33027 (pupa_history_get): Likewise.
33028 (pupa_history_add): Likewise.
33029 (pupa_history_replace): Likewise.
33030 (pupa_tab_complete): Likewise.
33031 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33032 completion shows partitionnames while completing partitions, this
33033 feature was suggested by Jeff Bailey.
33034 * normal/command.c (pupa_iterate_commands): New function.
33035 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33036 (pupa_normal_init): Initialize history buffer.
33037 (PUPA_MOD_INIT): Likewise.
33038 (pupa_normal_fini): Free the history buffer.
33039 (PUPA_MOD_FINI): Likewise.
33040
33041 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33042 key.
33043
33044 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33045 * configure.ac [i386]: Check for regparam bug.
33046 (NESTED_FUNC_ATTR) [! i386]: Defined.
33047
1f7315a3 330482003-11-17 Marco Gerards <metgerards@student.han.nl>
33049
33050 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33051 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33052 (pupa_emu_SOURCES): New variable.
33053 (pupa_emu_LDFLAGS): Likewise.
33054 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33055 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33056 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33057 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33058 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33059 (pupa_jmp_buf): New typedef.
33060 (pupa_setjmp) [PUPA_UTIL]: New macro.
33061 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33062 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33063 (pupa_refresh): New prototype.
33064 * include/pupa/util/getroot.h: New file.
33065 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33066 it.
33067 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33068 (pupa_rescue_cmd_cat): Likewise.
33069 (pupa_rescue_cmd_ls): Likewise.
33070 (pupa_rescue_cmd_testload): Likewise.
33071 (pupa_rescue_cmd_lsmod): Likewise.
33072 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33073 * normal/menu.c (run_menu): Likewise.
33074 * kern/term.c (pupa_cls): Likewise.
33075 (pupa_refresh): New function.
33076 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33077 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33078 * util/console.c: New file.
f19dbdb7 33079
1f7315a3 33080 * util/i386/pc/getroot.c: New file.
33081 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33082 (pupa_putchar): New function.
33083 (pupa_refresh): Likewise.
33084 (xgetcwd): Function moved to ...
33085 (strip_extra_slashes): Likewise.
33086 (get_prefix): Likewise.
f19dbdb7 33087 * util/i386/pc/getroot.c: ... here.
1f7315a3 33088 (find_root_device): Function moved and renamed to...
33089 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
33090 Changed all callers.
33091 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
33092 and renamed to...
33093 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
33094 Changed all callers.
33095 * util/misc.c (pupa_memalign): New function.
33096 (pupa_mm_init_region): Likewise.
33097 (pupa_register_exported_symbols): Likewise.
33098 (pupa_putchar): Function removed.
33099 * util/pupa-emu.c: New file.
33100
9a5c1ade 331012003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
33102
33103 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
33104 (_multiboot_mod_SOURCES): New variable.
33105 (_multiboot_mod_CFLAGS): Likewise.
33106 * loader/i386/pc/multiboot.c: New file.
33107 * include/pupa/i386/pc/multiboot.h: Likewise.
33108 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
33109 (pupa_multiboot_real_boot): New function.
33110 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
33111 (pupa_multiboot_real_boot): New prototype.
33112 (pupa_rescue_cmd_multiboot): Likewise
33113 (pupa_rescue_cmd_module): Likewise.
33114
33115 * kern/loader.c (pupa_loader_set): Continue when
33116 pupa_loader_unload_func() fails.
33117 (pupa_loader_unset): New function.
33118 * include/pupa/loader.h (pupa_loader_unset): New prototype.
33119
33120 * kern/misc.c (pupa_stpcpy): New function.
33121 * include/pupa/misc.h (pupa_stpcpy): New prototype.
33122
8e72a9c0 331232003-11-12 Marco Gerards <metgerards@student.han.nl>
33124
33125 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
33126 for available extensions.
33127
33128 * include/pupa/i386/pc/time.h: New file.
33129 * kern/disk.c: Include <pupa/machine/time.h>.
33130 (PUPA_CACHE_TIMEOUT): New macro.
33131 (pupa_last_time): New variable.
33132 (pupa_disk_open): Flush the cache when there was a timeout.
33133 (pupa_disk_close): Reset the timer.
33134 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
33135 pupa_currticks.
33136 * util/misc.c: Include <sys/times.h>
33137 (pupa_get_rtc): New function.
33138
c4adbd32 331392003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33140
33141 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
33142 as blocks.
33143 (pupa_ext2_get_file_block): Use blocks member.
33144
33145 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
33146 first block. Return -1 instead of pupa_errno on error.
33147
bfd30f06 331482003-10-27 Marco Gerards <metgerards@student.han.nl>
33149
33150 * README: In the pupa-mkimage example use _chain instead of chain
33151 and ext2 instead of fat.
33152 * TODO: Replace ext2fs with jfs as an example. Add an item for
33153 adding journal playback for ext2fs.
33154 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
33155 (pkgdata_MODULES): Added ext2.mod.
33156 (ext2_mod_SOURCES): New variable.
33157 (ext2_mod_CFLAGS): Likewise.
33158 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
33159 * include/pupa/misc.h (pupa_strncpy): New prototype.
33160 (pupa_strcat): Likewise.
33161 (pupa_strncmp): Likewise.
33162 * kern/misc.c (pupa_strcat): Enable function.
33163 (pupa_strncpy): New function.
33164 (pupa_strncmp): Likewise.
33165 * fs/ext2.c: New file.
f19dbdb7 33166
bfd30f06 33167 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
33168 when the read failed before retrying.
33169 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
33170 (_FILE_OFFSET_BITS): Likewise.
33171 * configure.ac: Added AC_SYS_LARGEFILE.
33172
98d15063 331732003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33174
33175 * genmk.rb (PModule#rule): Make sure to get only symbol names
33176 from the output of nm.
59cad637 33177 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 33178
18d9c7cd 331792003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33180
33181 I forgot to check in these changes for a long time. This adds
33182 incomplete support for VGA console, and this is still very
33183 buggy. Also, a lot of consideration is required for I18N,
33184 UNICODE, and VGA font issues. Therefore, assume that this is
33185 such that "better than nothing".
f19dbdb7 33186
18d9c7cd 33187 * font/manager.c: New file.
33188 * include/pupa/font.h: Likewise.
33189 * include/pupa/i386/pc/vga.h: Likewise.
33190 * term/i386/pc/vga.c: Likewise.
33191 * util/unifont2pff.rb: Likewise.
33192
33193 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
33194 (pkgdata_MODULES): Added vga.mod and font.mod.
33195 (vga_mod_SOURCES): New variables.
33196 (vga_mod_CFLAGS): Likewise.
33197 (font_mod_SOURCES): Likewise.
33198 (font_mod_CFLAGS): Likewise.
33199
33200 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
33201
33202 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 33203 (struct pupa_term): Added init and fini.
18d9c7cd 33204 Changed the argument of putchar to pupa_uint32_t.
33205
33206 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
33207 (pupa_console_real_putchar): New prototype.
33208 (pupa_console_putchar): Removed.
33209 (pupa_console_checkkey): Exported.
33210 (pupa_console_getkey): Likewise.
33211
33212 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
33213 characters.
33214
33215 * kern/term.c (pupa_term_set_current): Rewritten.
33216 (pupa_putchar): Likewise.
33217 (pupa_putcode): New function.
33218
33219 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33220 (pupa_console_real_putchar): ... this.
33221 (pupa_vga_set_mode): New function.
33222 (pupa_vga_get_font): Likewise.
33223
33224 * normal/command.c: Include pupa/term.h.
33225 (terminal_command): New function.
33226 (pupa_command_init): Register the command "terminal".
33227
33228 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33229 (DISP_UP): Likewise.
33230 (DISP_RIGHT): Likewise.
33231 (DISP_DOWN): Likewise.
33232 (DISP_HLINE): Likewise.
33233 (DISP_VLINE): Likewise.
33234 (DISP_UL): Likewise.
33235 (DISP_UR): Likewise.
33236 (DISP_LL): Likewise.
33237 (DISP_LR): Likewise.
33238
33239 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33240
977329f5 332412003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33242
33243 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33244 FIX. Reverse the path_list.
33245
33246 * include/pupa/normal.h: Export pupa_register_command and
33247 pupa_unregister_command.
33248
33249 * hello/hello.c (pupa_cmd_hello): New module.
33250 * conf/i386-pc.rmk: Added hello.mod.
33251
1f5ab428 332522003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33253
33254 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33255
1f5ab428 33256 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33257 (compress_kernel): New variable.
33258 (generate_image): Heavily modified to support compressing a
33259 large part of the core image.
33260
33261 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33262 leak.
33263 (pupa_util_load_image): New function.
33264
33265 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33266 (pupa_compressed_size): New variable.
33267 (codestart): Enable Gate A20 here.
33268 Decompress the compressed part of the core image.
33269 Rearrange the code to put functions and variables which are
33270 required for initialization in the non-compressed part.
33271 Include lzo1x.S.
33272
33273 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33274 here.
33275
33276 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33277
f19dbdb7 33278 * include/pupa/i386/pc/kernel.h
1f5ab428 33279 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33280 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33281 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33282 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33283 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33284
33285 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33286
33287 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33288 (Utility#rule): Likewise.
33289
33290 * configure.ac: Check if LZO is available.
33291
ce5bf700 332922003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33293
33294 * include/pupa/normal.h: New file.
33295 * include/pupa/setjmp.h: Likewise.
33296 * include/pupa/i386/setjmp.h: Likewise.
33297 * normal/cmdline.c: Likewise.
33298 * normal/command.c: Likewise.
33299 * normal/main.c: Likewise.
33300 * normal/menu.c: Likewise.
33301 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33302
ce5bf700 33303 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33304 (pupa_rescue_cmd_initrd): Likewise.
33305
33306 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33307 Likewise.
33308
33309 * kern/i386/pc/startup.S (translation_table): New variable.
33310 (translate_keycode): New function.
33311 (pupa_console_getkey): Call translate_keycode.
33312
33313 * kern/rescue.c (attempt_normal_mode): New function.
33314 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33315 it failed, print a message.
33316
33317 * kern/mm.c (pupa_real_malloc): Print more information when a
33318 free magic is broken.
33319 (pupa_free): If the first free header is not free actually, set
33320 it to P.
33321
33322 * kern/main.c (pupa_load_normal_mode): Just load the module
33323 "normal".
33324 (pupa_main): Don't print the message
33325 "Entering into rescue mode..." here.
33326
33327 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33328 Declared.
33329 (pupa_rescue_cmd_initrd): Likewise.
33330 (pupa_rescue_cmd_initrd): Likewise.
33331
33332 * include/pupa/symbol.h (FUNCTION): Specify the type.
33333 (VARIABLE): Likewise.
33334
33335 * include/pupa/err.h (pupa_err_t): Added
33336 PUPA_ERR_UNKNOWN_COMMAND.
33337
33338 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33339 (pupa_dl_get_prefix): Likewise.
33340
33341 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33342 Added _chain.mod and _linux.mod instead of chain.mod and
33343 linux.mod.
33344 (chain_mod_SOURCES): Renamed to ...
33345 (_chain_mod_SOURCES): ... this.
33346 (chain_mod_CFLAGS): Renamed to ...
33347 (_chain_mod_CFLAGS): ... this.
33348 (linux_mod_SOURCES): Renamed to ...
33349 (_linux_mod_SOURCES): ... this.
33350 (linux_mod_CFLAGS): Renamed to ...
33351 (_linux_mod_CFLAGS): ... this.
33352 (normal_mod_SOURCES): New variable.
33353 (normal_mod_CFLAGS): Likewise.
33354 (normal_mod_ASFLAGS): Likewise.
33355
333562003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33357
33358 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33359 possible.
33360
fe6b695a 33361 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33362 recursively.
33363 (pupa_dl_unref): Unrefer depending modules recursively.
33364 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33365 a module is unloaded before one depending on that module is
33366 unloaded.
33367 (pupa_dl_unload): Unload depending modules explicitly,
33368 if possible.
33369
c04da074 333702003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33371
33372 * include/pupa/i386/pc/linux.h: New file.
33373 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33374
c04da074 33375 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33376 Removed.
33377 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33378 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33379 of PUPA_CHAINLOADER_BOOT_SECTOR.
33380
33381 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33382 (pupa_linux_prot_size): New variable.
33383 (pupa_linux_tmp_addr): Likewise.
33384 (pupa_linux_real_addr): Likewise.
33385 (pupa_linux_boot_zimage): New function.
33386 (pupa_linux_boot_bzimage): Likewise.
33387
33388 * kern/i386/pc/init.c (struct mem_region): New structure.
33389 (MAX_REGIONS): New macro.
33390 (mem_regions): New variable.
33391 (num_regions): Likewise.
33392 (pupa_os_area_addr): Likewise.
33393 (pupa_os_area_size): Likewise.
33394 (pupa_lower_mem): Likewise.
33395 (pupa_upper_mem): Likewise.
33396 (add_mem_region): New function.
33397 (compact_mem_regions): Likewise.
33398 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33399 the size of the conventional memory and that of so-called upper
33400 memory (before the first memory hole).
33401 Instead of adding each found region to free memory, use
33402 add_mem_region and add them after removing overlaps.
33403 Also, add only 1/4 of the upper memory to free memory. The rest
33404 is used for loading OS images. Maybe this is ad hoc, but this
33405 makes it much easier to relocate OS images when booting.
33406
33407 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33408 (pupa_enter_rescue_mode): Don't register initrd and module.
33409
33410 * kern/mm.c: Include pupa/dl.h.
33411
33412 * kern/main.c: Include pupa/file.h and pupa/device.h.
33413
33414 * kern/loader.c (pupa_loader_load_module_func): Removed.
33415 (pupa_loader_load_module): Likewise.
33416
33417 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33418 ``.o''.
33419
33420 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33421 (pupa_linux_tmp_addr): Likewise.
33422 (pupa_linux_real_addr): Likewise.
33423 (pupa_linux_boot_zimage): Likewise.
33424 (pupa_linux_boot_bzimage): Likewise.
33425
33426 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33427 (pupa_upper_mem): Likewise.
33428 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33429 module is too dangerous.
33430
33431 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33432 (pupa_os_area_size): Likewise.
33433 (pupa_loader_set): Remove the first argument. Loader doesn't
33434 manage modules or initrd any longer.
33435 (pupa_loader_load_module): Removed.
33436
33437 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33438 (linux_mod_SOURCES): New variable.
33439 (linux_mod_CFLAGS): Likewise.
33440
a13f9237 334412003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33442
33443 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33444 the length of a blocklist correctly.
33445
33446 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33447 Use ioctl only if the OS file is a block device.
33448 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33449 not very useful for normal files.
33450
33451 * kern/main.c (pupa_set_root_dev): New function.
33452 (pupa_load_normal_mode): Likewise.
33453 (pupa_main): Call those above.
33454
33455 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
33456 pupa_uint16_t.
33457
33458 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
33459
a5ffe966 334602003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33461
33462 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
33463 (setup): Configure the installed partition information and the
33464 dl prefix.
33465
33466 * loader/i386/pc/chainloader.c (my_mod): New variable.
33467 (pupa_chainloader_unload): New function.
33468 (pupa_rescue_cmd_chainloader): Refer itself.
33469 (PUPA_MOD_INIT): Save its own module in MY_MOD.
33470
33471 * kern/i386/pc/startup.S (install_partition): Removed.
33472 (version_string): Likewise.
33473 (config_file): Likewise.
33474 (pupa_install_dos_part): New variable.
33475 (pupa_install_bsd_part): Likewise.
33476 (pupa_prefix): Likewise.
33477 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
33478
33479 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
33480 and pupa/misc.h.
33481 (make_install_device): New function.
33482 (pupa_machine_init): Set the dl prefix.
33483
33484 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
33485 (buf): Renamed to ...
33486 (linebuf): ... this.
33487 (pupa_rescue_cmd_prefix): New function.
33488 (pupa_rescue_cmd_insmod): Likewise.
33489 (pupa_rescue_cmd_rmmod): Likewise.
33490 (pupa_rescue_cmd_lsmod): Likewise.
33491 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
33492 rmmod and lsmod.
33493
33494 * kern/mm.c (pupa_memalign): If failed even after invalidating
33495 disk caches, unload unneeded modules and retry.
33496
33497 * kern/misc.c (pupa_memmove): New function.
33498 (pupa_memcpy): Removed.
33499 (pupa_strcpy): New function.
33500 (pupa_itoa): Made static.
33501
33502 * kern/dl.c (pupa_dl_iterate): New function.
33503 (pupa_dl_ref): Likewise.
33504 (pupa_dl_unref): Likewise.
33505 (pupa_dl_unload): Return if succeeded or not.
33506 (pupa_dl_unload_unneeded): New function.
33507 (pupa_dl_unload_all): Likewise.
33508 (pupa_dl_init): Renamed to ...
33509 (pupa_dl_set_prefix): ... this.
33510 (pupa_dl_get_prefix): New function.
33511
33512 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
33513 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
33514 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33515 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33516 (pupa_install_dos_part): Declared.
33517 (pupa_install_bsd_part): Likewise.
33518 (pupa_prefix): Likewise.
33519 (pupa_boot_drive): Likewise.
33520
33521 * include/pupa/types.h: Fix a typo.
33522
33523 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33524 pupa_memmove.
33525 (pupa_memmove): Declared.
33526 (pupa_strcpy): Likewise.
33527
33528 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33529 pupa_mod_init takes one argument, its own module.
33530 (pupa_dl_unload_unneeded): Declared.
33531 (pupa_dl_unload_all): Likewise.
33532 (pupa_dl_ref): Likewise.
33533 (pupa_dl_unref): Likewise.
33534 (pupa_dl_iterate): Likewise.
33535 (pupa_dl_init): Renamed to ...
33536 (pupa_dl_set_prefix): ... this.
33537 (pupa_dl_get_prefix): Declared.
33538
33539 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33540 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33541 unloaded.
33542 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33543 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33544
33545 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33546 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33547
012d7999 335482003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33549
33550 * util/i386/pc/pupa-setup.c (setup): Define the internal
33551 function find_first_partition_start at the top level, because GCC
33552 3.0.x cannot compile internal functions in deeper scopes
33553 correctly.
33554 (find_root_device): Use lstat instead of stat.
33555 Don't follow symbolic links.
33556 Fix the path-constructing code.
33557
33558 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33559 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33560 by a BLKGETSIZE ioctl first, because block devices don't fill
33561 the member st_mode of the structure stat on Linux.
33562 [__linux__] (linux_find_partition): Use a temporary buffer
33563 REAL_DEV for the working space. Copy it to DEV before returning.
33564 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33565 buffer cache consistent.
33566 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33567 strncmp. The previous value was merely wrong.
33568 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33569
33570 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33571 FAT size is 12. The previous value was merely wrong.
33572
33573 * kern/main.c (pupa_main): Don't split the starting message from
33574 newlines.
33575
33576 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33577 LF, because BIOS goes crazy about character attributes in this
33578 case.
33579
1cc73a62 335802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33581
33582 * include/i386/pc/util/biosdisk.h: New file.
33583 * util/i386/pc/biosdisk.c: Likewise.
33584 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33585
1cc73a62 33586 * Makefile.in (INCLUDE_DISTFILES): Added
33587 include/pupa/i386/pc/util/biosdisk.h.
33588 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33589 directory util/i386/pc.
33590 (install-local): Added a rule for sbin_UTILITIES.
33591 (uninstall): Likewise.
33592
33593 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33594
33595 * util/misc.c (xrealloc): New function.
33596 (pupa_malloc): Likewise.
33597 (pupa_free): Likewise.
33598 (pupa_realloc): Likewise.
33599 (pupa_stop): Likewise.
33600 (pupa_putchar): Likewise.
33601
33602 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33603
33604 * include/pupa/util/misc.h (xrealloc): Declared.
33605
33606 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33607 macro.
33608 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33609 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33610
33611 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33612 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33613
33614 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33615 way should be implemented.
33616 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33617
33618 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33619 the size of NAME for safety.
33620 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33621 0x88.
33622
33623 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33624 (pupa_setup_SOURCES): Likewise.
33625
33626 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33627
08b70fe8 336282002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33629
33630 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33631 bunch of pushl's from pusha, because this destroys the return
33632 value.
33633
62ddcc8f 336342002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33635
33636 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33637 This means that any missing prototypes could be fatal. Also, you
33638 must take care when writing assembly code. See the comments at
33639 the beginning of startup.S, for more details.
f19dbdb7 33640
62ddcc8f 33641 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33642 compilation mechanism.
33643 (pupa_chainloader_real_boot): Likewise.
33644 (pupa_biosdisk_rw_int13_extensions): Likewise.
33645 (pupa_biosdisk_rw_standard): Likewise.
33646 (pupa_biosdisk_check_int13_extensions): Likewise.
33647 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33648 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33649 (pupa_get_memsize): Likewise.
33650 (pupa_get_mmap_entry): Likewise.
33651 (pupa_console_putchar): Likewise.
33652 (pupa_console_setcursor): Likewise.
33653 (pupa_getrtsecs): Use pushl instead of push.
33654
33655 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33656 memory instead of the stack for a mmap entry, because some
33657 BIOSes may ignore the maximum size and overflow.
33658
33659 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33660
33661 * genmk.rb (PModule#rule): Compile automatically generated
33662 sources with module-specific CFLAGS as well as other sources.
33663
9962ed99 336642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33665
33666 * configure.ac: Check ld.
33667 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33668 respectively, before checking endianness and sizes.
33669
33670 * Makefile.in (LD): New variable.
f19dbdb7 33671
abdfc3c5 336722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33673
33674 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33675
6a161fa9 336762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33677
33678 * Changelog: New file.
33679