]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/term/at_keyboard.c: Retry probing keyboard if
[grub2.git] / ChangeLog
CommitLineData
3c058332
VS
12014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/term/at_keyboard.c: Retry probing keyboard if
4 scancode setup failed.
5
d1224d20
VS
62014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
9
0af3ae2d
VS
102014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
13 safety to avoid triggerring VirtualBox bug.
14
33f6ce67
VS
152014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
18
79c80b06
VS
19 Fixes hang on virtualbox.
20
0901e785
CW
212014-07-08 Colin Watson <cjwatson@ubuntu.com>
22
23 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
24 kernels whose paths contain regex metacharacters.
25 * util/grub.d/10_kfreebsd.in: Likewise.
26 * util/grub.d/10_linux.in: Likewise.
27 * util/grub.d/20_linux_xen.in: Likewise.
28
29 Reported by: Heimo Stranner.
30
4250f552
CW
312014-06-26 Colin Watson <cjwatson@ubuntu.com>
32
33 * docs/grub-dev.texi (Finding your way around): The build system no
34 longer uses AutoGen directly.
35
1f6af2a9
РП
362014-06-21 Роман Пехов <roman_pekhov>
37
38 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
39
fa335308
GW
402014-06-21 Glenn Washburn <development@efficientek.com>
41
42 * util/grub-install.c: Fix handling of --disk-module.
43
15bd333e
SR
442014-06-21 Stephane Rochoy <sheda>
45
46 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
47 EFI system table.
48
3f3ec8ef
SR
492014-06-21 Stephane Rochoy <sheda>
50
51 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
52 EFI system table physical address.
53
87de66d9
TW
542014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
55
56 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
57
2c2c5c72
VS
582014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
61
480c8985
VS
622014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
65 check.
66
4b8b9135
VS
672014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
70
71 Reported by: Yves Blusseau <blusseau@zetam.org>.
72
5a6db38d
PK
732014-04-20 Piotr Krysiuk <piotras@gmail.com>
74
75 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
76 GDT in conventional memory.
77
3a310e84
CW
782014-04-10 Colin Watson <cjwatson@ubuntu.com>
79
80 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
81 UUID. Other parts of grub-mkconfig tolerate these, they were
82 previously allowed here up to commit
83 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
84 practice when the system has active LVM snapshots.
85 Fixes Ubuntu bug #1287436.
86
c4badfe8
CW
872014-04-10 Colin Watson <cjwatson@ubuntu.com>
88
89 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
90 "logical_volumes" block a little more accurately.
91
a72fc329
VS
922014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
95
6f6d4aa0
VS
962014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
99 pulled from libgcc.
100
8063ce19
VS
1012014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Replace few instances of memcmp/memcpy in the code that should be
104 grub_memcmp/grub_memcpy.
105
97060667
VS
1062014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
109 device names.
110
4afd0107
TF
1112014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
112
113 btrfs: fix get_root key comparison failures due to endianness
114
115 * grub-core/fs/btrfs.c (get_root): Convert
116 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
117
24024dac
CW
1182014-03-31 Colin Watson <cjwatson@ubuntu.com>
119
120 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
121
122 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
123 no longer to be forgiving of trailing spaces on grub-probe output
124 lines, which among other things means that util/grub.d/10_linux.in
125 no longer detects LVM. To fix this, make grub-probe's output
126 delimiting more consistent. As a bonus, this improves the coverage
127 of the -0 option.
128
129 Fixes Debian bug #735935.
130
131 * grub-core/disk/cryptodisk.c
132 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
133 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
134 Likewise.
135 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
136 Update prototype.
137 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
138 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
139 probe_mods): Adjust for extra user-data arguments.
140 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
141 probe_abstraction): Use configured delimiter. Update callers.
142
9b35fe81
CW
1432014-03-31 Colin Watson <cjwatson@ubuntu.com>
144
145 * util/grub-probe,c (options): Make -0 work again (broken by
146 conversion to argp).
147 (main): Simplify logic.
148
46b74dd3
VS
1492014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
152
68f17b2b
FW
1532014-03-26 Fu Wei <fu.wei@linaro.org>
154
155 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
156
86402b4e
VS
1572014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
160 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
161
162 Suggested by: Markus Müller.
163
bec35dad
VS
1642014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
167 if E820 failed to return any regions.
168
dfc5ccfa
VS
1692014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
172 tables for low memory calculations.
173
4a70fed8
VS
1742014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
177 location to 640K.
178
f94b2b4e
VS
1792014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
182 region.
183
d0949e37
VS
1842014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
187 exclusively.
188
9585647a
PFS
1892014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
190
191 Add bootpath parser for open firmware.
192
193 It enables net boot even when there is no bootp/dhcp server.
194
195 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
196 and call it at grub_ieee1275_net_config_real.
197 * grub-core/kern/ieee1275/init.c: Add bootpath to
198 grub_ieee1275_net_config.
199 * include/grub/ieee1275/ieee1275.h: Likewise.
200
201
e4dbf247
PFS
2022014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
203
204 Add grub_env_set_net_property function.
205
206 * grub-core/net/bootp.c: Remove set_env_limn_ro.
207 * grub-core/net/net.c: Add grub_env_set_net_property.
208 * include/grub/net.h: Likewise.
209
006c78f3
VS
2102014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
213
511ece7c
VS
2142014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
217
9abbaae7
VS
2182014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
221 7 seconds to recover if last poweroff was bad.
222
d6b94c5e
VS
2232014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/disk/ahci.c: Properly handle transactions with no
226 transferred data.
227
07ea8daa
VS
2282014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/disk/ahci.c: Add safety cleanups.
231
3142b2fe
VS
2322014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
235 slots to avoid pointing to uninited area.
236
4686e163
VS
2372014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
240 enabling busmaster for the end.
241
ba424f37
VS
2422014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * util/grub-mkfont.c: Downgrade warnings about unhandled features
245 to debug.
246
3beabdc8 2472014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7f64fb59
VS
248
249 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
250
ba584da1
PFS
2512014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
252
253 * .gitignore: add missing files and .exe variants.
254
35f2d96c
MG
2552014-01-26 Mike Gilbert <floppym@gentoo.org>
256
257 grub-install: support for partitioned partx loop devices.
258
259 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
260 /dev/loopX as being the parent of /dev/loopXpY.
261
9afe2053
VS
2622014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
265 Ensure that pointers are inited to NULL and that pointers are not
266 accessed after free.
5ae584c0
AB
267
2682014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
269
270 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
271 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
272 * include/grub/emu/misc.h: ... and here.
273 * include/grub/err.h: ... and here.
274 * util/import_gcry.py: ... and here (in files g10lib.h).
275
1440b7eb
AB
2762014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
277
278 * util/grub-mkimage.c: Make prefix argument mandatory.
279
61c8482b
VS
2802014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Fix several translatable strings.
283
284 Suggested by: D. Prévot.
285
95cd131e
VS
2862014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * util/grub-install.c: List available targets.
289
d0805930
CW
2902014-01-23 Colin Watson <cjwatson@ubuntu.com>
291
292 * util/grub-install.c (write_to_disk): Add an info message.
293
eec4237a
AB
2942014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
295
296 * Makefile.am: Allow adding extra files to generated Windows ZIP
297 archive by setting GRUB_WINDOWS_EXTRA_DIST.
298
36387ece
AB
2992014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
300
301 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
443b3222 302 Show detected font path in summary.
36387ece 303
6f65e36c
PFS
3042014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
305
306 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
307 interval gradually.
308 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
309 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
310 * grub-core/net/tftp.c (tftp_open): Likewise.
311 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
312
d99d2f84
PFS
3132014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
314
315 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
316 infinite loops.
317
318 In net/net.c there is a while (1) that only exits if there is a stop
319 condition and more then 10 packages or if there is no package received.
320
321 If GRUB is idle and enter in this loop, the only condition to leave is
322 if it doesn't have incoming packages. In a network with heavy traffic
323 this never happens.
324
049f6382
CW
3252014-01-19 Colin Watson <cjwatson@ubuntu.com>
326
327 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
328 EPERM when modifying kern.geom.debugflags. It is only a problem for
329 such things as installing GRUB to the MBR, in which case there'll be
330 an error later anyway, not for opening files during tests.
331
01504547
AB
3322014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
333
334 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
335 instead of MOD_FILES.
336 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
337 both with and without .exe.
338 * grub-core/genemuinitheader.sh: Same.
339
b204b718
VS
3402014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * util/grub-install.c: Fix a typo.
343
41155a57
VS
3442014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/normal/main.c (read_config_file): Buffer config file.
347 Reduces boot time.
348
e0a85094
AB
3492014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
350
351 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
352 symbolic link to directory. It fails in Msys shell on Windows 2003.
353
0b47c57a
VS
3542014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * Makefile.am (default_payload.elf): Add modules
357 multiboot cbmemc linux16 gzio echo help.
358
3592014-01-18 Mike Gilbert <floppym@gentoo.org>
6ba98355
MG
360
361 * Makefile.util.def: Link grub-ofpathname with zfs libs.
362
6c519b5c
VS
3632014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
366 conflicts.
367
368 Reported by: Andrey Borzenkov.
369
f371dd5d
AB
3702014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
371
372 * include/grub/misc.h: Move macros for compiler features to ...
373 * include/grub/compiler.h: ... new file.
374 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
375 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
376 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
377 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
378 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
379 * grub-core/video/capture.c: Include <grub/misc.h>.
380 * include/grub/command.h: Include <grub/misc.h>.
381 * include/grub/dl.h: Include <grub/misc.h>.
382 * include/grub/procfs.h: Include <grub/misc.h>.
383
1ecf96fc
AB
3842014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
385
386 * configure.ac: Add support for BUILD_EXEEXT and use it ...
387 * Makefile.am: ... here.
388 * Makefile.util.def: ... and here.
389 * grub-core/Makefile.am: ... and here.
390
5ef569df
AB
3912014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
392
393 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
394 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
395
3abb9563
VS
3962014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/term/terminfo.c: Recognize keys F1-F12.
399
9b9c4686 4002014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
dcecae1a
AB
401
402 * configure.ac: Add support for BUILD_LDFLAGS.
403 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
404 * grub-core/Makefile.am: ... and here.
405 * INSTALL: Mention BUILD_LDFLAGS.
406
ae80f312
VS
4072014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
410
7e7293d7
VS
4112014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
414 and has no //.
415
5acc8020
VS
4162014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * NEWS: Add few missing entries.
419
ff66b8e7
CW
4202014-01-17 Colin Watson <cjwatson@ubuntu.com>
421
422 * util/grub.d/00_header.in (make_timeout): Use && rather than test
423 -a.
424 * util/grub.d/10_windows.in: Likewise.
425 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
426 than test -o.
427 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
428 rather than test -o.
429
4302014-01-17 Colin Watson <cjwatson@ubuntu.com>
09a836e5
CW
431
432 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
433 redundant preprocessor conditional.
434
ccd21a65
CW
4352014-01-08 Colin Watson <cjwatson@ubuntu.com>
436
437 * Makefile.util.def (grub-macbless): Change mansection to 8.
438
4d21c101
LL
4392014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
440
441 * grub-core/loader/arm64/linux.c: correctly set device path end length.
442
e7cfa8d5
AB
4432014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
444
445 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
446 arm64 to comply with EFI specification. Also use grubaa64.efi for
447 consistency.
448 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
449
94cee4a4
AB
4502014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
451
452 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
453 on MinGW-64 when compiling for 32 bits.
454
668add25
AB
4552013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
456
457 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
458
0e309454
VS
4592013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * NEWS: Add few missing entries. Correct existing ones.
462
093dec73
VS
4632013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Don't abort() on unavailable coreboot tables if not running on coreboot.
466
989af025
AB
4672013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
468
469 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
470 on mingw.
471
8442d3e9
CW
4722013-12-28 Colin Watson <cjwatson@ubuntu.com>
473
474 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
475 mention of it from 2.02.
476
645ff636 4772013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5bda44d7
VS
478
479 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
480
481 As these functions are used on pre-ARMv6 CPUs as well we don't want
482 to make assembler assume that architecture is higher than default one.
483
30a33846
CW
4842013-12-27 Colin Watson <cjwatson@ubuntu.com>
485
486 * NEWS: First draft of 2.02 entry.
487
51f941a0
CW
4882013-12-27 Colin Watson <cjwatson@ubuntu.com>
489
490 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
491 * docs/grub.texi (Getting the source code): Likewise.
492
a6e7719b
AB
4932013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
494
495 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
496 detection.
497
e8f07821
VS
4982013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * configure.ac: Set version to 2.02~beta2.
501
dc3286ad
VS
5022013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
505
46f8d358
AB
5062013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
507
508 * util/grub-probe.c: Improve help message and simplify list handling.
509
09c47900
VS
5102013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Fix buffer overflow in grub_efi_print_device_path.
513
4d6c6953
VS
5142013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
515
516 Show SATA device path.
517
faf4a65e
VS
5182013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
519
520 Revert grub-file usage in grub-mkconfig.
521
e5fa26e5
VS
5222013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
523
524 Make newly-created files other than grub.cfg world-readable.
525
569766e4
AB
5262013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
527
528 * util/grub.d/00_header.in: Improve compatibility with old config.
529
41272068
VS
5302013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
531
532 Make rijndael.c respect aliasing rules.
533
534 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
535
f7c7c4d4
VS
5362013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Make grub_util_device_is_mapped_stat available in grub-emu core.
539
57bc5d43
VS
5402013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Add -Qn to TARGET_CFLAGS if it's supported.
543 Fixes compilation on cygwin.
544
545 Reported by: Andrey Borzenkov.
546 Suggested by: Andrey Borzenkov.
547
6a7957f9
VS
5482013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Save TARGET_CC version in modinfo.sh.
551
552 Suggested by: Andrey Borzenkov.
553
e88f0420
VS
5542013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
555
556 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
557 follow the same algorithm to avoid method mismatch. Don't assume
558 DMRAID- UUID to mean full disk but instead check that mapping is linear.
559
da986226
VS
5602013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Declare GRUB_EFI_VENDOR_APPLE_GUID.
563
fba31b5f
VS
5642013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Dump type and vendor specific data when printing device path.
567
3d369a01
CW
5682013-12-23 Colin Watson <cjwatson@debian.org>
569
570 Update some documentation to refer to Git rather than Bazaar.
571
572 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
573 than Bazaar.
574 * po/README: Likewise. Fix spelling mistake.
575
5b83ef97
CW
5762013-12-23 Colin Watson <cjwatson@ubuntu.com>
577
578 Don't distribute config.h.
579
580 * Makefile.am (platform_HEADERS): Move to ...
581 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
582 failure when building from a distributed tarball.
583
16f7455b
CW
5842013-12-23 Colin Watson <cjwatson@ubuntu.com>
585
586 * configure.ac: Fix spelling.
587 * grub-core/commands/parttool.c: Fix grammar.
588 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
589 Embedding Partition".
590
808e97c4
VS
5912013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
592
593 ARM64 support for grub-mkrescue.
594
e388db90
VS
5952013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
596
597 Install modinfo.sh to keep build information around.
598
cef39403
VS
5992013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/modinfo.sh.in: Add build config information.
602
a4d61002
VS
6032013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
604
605 ARM64 grub-file and grub-mkconfig support.
606
0c930a84
VS
6072013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Remove leftover options defines.
610
74fa9ac1
VS
6112013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
614
62956fe7
VS
6152013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/loader/arm64/linux.c: Add missing bracket.
618
26063216
VS
6192013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
620
621 Add arm64-efi recognition to grub-file.
622
4cd0b55f
VS
6232013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
624
625 Fix ia64-efi recognition in grub-file.
626
95b56e3a
VS
6272013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
628
629 Recognize raspberry pi kernel in grub-file.
630
bbc52c22
VS
6312013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Enable cache on ARM U-Boot port.
634
635 Without it the port is reidiculously slow.
636
943981ff
VS
6372013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Fix ARM cache maintainance.
640
641 More code was converted from ASM to C for easier handling.
642
adabfb54
VS
6432013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
646 algorithm on v5.
647
648 Suggested by: Leif Lindholm.
649
77ec462a
AB
6502013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
651
652 * util/grub-mkconfig.in: Fix Xen platform conditions.
653
3bf2db89
AB
6542013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
655
656 * util/grub-mkrescue.c: Split single help message string in several
657 strings used in previous shell version.
658
30a9ab95
LL
6592013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
660
661 Add arm64 Linux loader.
662
c415eaa9
LL
6632013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
664
665 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
666
313fb3ce
VS
6672013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Add module loading and parsing boot time checkpoints.
670
37f617c0
VS
6712013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
674 platforms.
675
3deedfc0
LW
6762013-12-22 Lars Wendler <polynomial-c@gentoo.org>
677
678 * util/grub-mkconfig.in: Skip non-executable files.
679
5ad9f728
VS
6802013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Workaround buggy timer in raspberry pie by using our own timer
683 implementation.
684
eeb84997
VS
6852013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
688 Increase to 16 MiB to allow loading the whole memdisk.
689
0d8b81f8
VS
6902013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Fix ARM Linux Loader on non-FDT platforms.
693
bf082198
VS
6942013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * configure.ac: Choose link format based on host_os on emu.
697
0b602bf9
VS
6982013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
701
96650a82
VS
7022013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/kern/emu/main.c: Build fix for emu.
705
ca3e2088
VS
7062013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Build fixes for argp.h with older gcc.
709
27db1a9b
VS
7102013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
713 in strings.
714
715 Suggested by: David Prévot.
716
8a913e66
VS
7172013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
720
ae558c2c
VS
7212013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
722
723 Enable -Wformat=2 if it's supported.
724
bbac6789
VS
7252013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
728 -Wmissing-declarations if supported.
729
ab216512
VS
7302013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
733 u32 as both HFS and HFS+ have 32-bit inodes.
734
0d4aa91d
VS
7352013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * include/grub/misc.h (grub_strtol): Fix overflow.
738
a997af68
VS
7392013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
742 as return type in both conditionals.
743
36bcaf29
VS
7442013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
747 to use uint8_t for color.
748
74763e96
VS
7492013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/misc.c (grub_util_get_image_size): Check for overflow.
752
80b29fc9
VS
7532013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
756 for size.
757
6e327fcd
VS
7582013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
761 for pointer difference.
762
62ce03cf
VS
7632013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * util/import_gcry.py: Skip sample keys.
766
f4d70fd0
VS
7672013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
770
93bf55e6
VS
7712013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * configure.ac: Remove duplicate warning arguments.
774
579ee114
VS
7752013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
776
777 Add missing static qualifiers.
778
ee5283d6
VS
7792013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
780
781 Add missing includes.
782
5dbde526
VS
7832013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Inline printf templates when possible to enable format checking.
786
d88ae4f0
VS
7872013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * include/grub/crypto.h: Don't discard const attribute.
790
17b43559
VS
7912013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
794 was intended.
795
76a2a430
VS
7962013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/lib/crypto.c: Don't discard const attribute.
799
0d26164e
VS
8002013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/lib/disk.c: Fix potential overflow.
803
2622b1e8
VS
8042013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/lib/arg.c: Don't discard const attribute.
807
05126706
VS
8082013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/kern/dl.c: Don't discard const attribute.
811
2f9c4804
VS
8122013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/kern/disk.c: Fix potential overflow.
815
0438ebf1
VS
8162013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * conf/Makefile.common: Don't include non-existing directory
819 grub-core/lib/libgcrypt-grub/include.
820
065adc34
VS
8212013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Clarify several translatable messages.
824
496a6b30
DP
8252013-12-21 David Prévot <david@tilapin.org>
826
827 Correct some translatable strings.
828
971038be
CW
8292013-12-21 Colin Watson <cjwatson@ubuntu.com>
830
831 * util/grub-mkrescue.c: Rephrase mkrescue description.
832
bfdfeb25
VS
8332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
8342013-12-21 Colin Watson <cjwatson@ubuntu.com>
835
836 Clarify several translatable messages.
837
d642d761
CW
8382013-12-20 Colin Watson <cjwatson@ubuntu.com>
839
840 Be more verbose about some configure failures.
841
3bc1b2da
CW
8422013-12-20 Colin Watson <cjwatson@ubuntu.com>
843
844 Fix various build problems on GNU/Hurd.
845
846 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
847 !defined (__GNU__).
848 (xgetcwd): Likewise.
849 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
850 [__GNU__]: Add prototype.
851 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
852 long int using %ld rather than %d.
853
871aa709
VS
8542013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-install.c: Inform user about install platform.
857
2fa5a58c
VS
8582013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * configure.ac: Set version to 2.02~beta1.
861
ee281fd0
AP
8622013-12-18 Allen Pais <allen.pais@oracle.com>
8632013-12-18 Bob Picco <bob.picco@oracle.com>
864
865 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
866
2e238b37
VS
8672013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
868
869 Make grub_zlib_decompress handle incomplete chunks.
870
871 Fixes squash4.
872
2984035e
VS
8732013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
876 on i386-multiboot.
877
b9f03772
AN
8782013-12-18 Aleš Nesrsta <starous@volny.cz>
879
880 * grub-core/disk/usbms.c: Retry on unknown errors.
881 Reuse the same tag on retries.
882
e3ef0d30
AN
8832013-12-18 Aleš Nesrsta <starous@volny.cz>
884
885 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
886
887 Avoid confusing them with already completed transfers.
888
72c9a507
VS
8892013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
890
891 Remove xen VFB.
892
893 Due to XEN bug it prevents Linux boot. Remove it at least, until
894 workaround is found.
895
84455670
VS
8962013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * po/exclude.pot: Add 2 missing excludes.
899
64dd5fdc
VS
9002013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
901
902 Add missing license section in macbless.mod and macho.mod.
903
a29f317a
VS
9042013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Allow compilation without thumb-interwork as long as no thumb is
907 involved or only thumb2 is used.
908
063f2a04
VS
9092013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
910
911 Use -Wl,--no-relax rather than -mno-relax for uniformity.
912
113f7869
VS
9132013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * INSTALL: Update comment as to why sparc64 clang isn't usable.
916
eba2afed
VS
9172013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
918
919 Add __attribute__ ((sysv_abi)) only if it's really needed.
920
921 Some compilers don't support it.
922
1962ed95
VS
9232013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
926
c2be6f7e
VS
9272013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Remove -Wold-style-definition.
930
931 Not very useful and interaction of it with regexp depends on GCC
932 version.
933
7a7f5238
VS
9342013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
935
936 Make grub_util_get_windows_path_real static.
937
9246d5c8
VS
9382013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/commands/fileXX.c: Silence cast-align.
941 * grub-core/loader/i386/xen_fileXX.c: Likewise.
942
b3aea1bc
VS
9432013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
946 rather than LL suffix.
947
bc8dd119
VS
9482013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
949
e8c360ca
VS
950 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
951
9522013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 955
57a691b7
VS
9562013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
957
958 Decrease number of strings to translate.
959
74fa9417
VS
9602013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
963
636977b0
VS
9642013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
965
966 Mark strings for translation and add remaining ones to exclude list.
967
ee4450eb
VS
9682013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * util/grub-file.c (main): Fix sizeof usage.
971
9722013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
973
974 Silence spurious warning.
975
ee4450eb 9762013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
977
978 Remove check_nt_hiberfil as it's been superseeded by file command.
979
a99c0a32
VS
9802013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * docs/osdetect.cfg: Add isolinux config to detected OSes.
983
8f5add13
VS
9842013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Implement syslinux parser.
987
8ff35d0a
VS
9882013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
991
ba144760
VS
9922013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Support cpuid --pae.
995
daaa89db
VS
9962013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
997
998 Use AT keyboard on Yeeloong 3A.
999
25a7863d
VS
10002013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Add Yeeloong 3A reboot and halt.
1003
184c61dd
VS
10042013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 Add Radeon Yeeloong 3A support.
1007
fd4650a5
VS
10082013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Add bonito 3A support.
1011
3e88fbfa
VS
10122013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1015
1123bed9
VS
10162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1019
ebda165f
VS
10202013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/loader/macho.c: Fix compilation on non-i386.
1023
fe7c20bf
VS
10242013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 Add missing format_arg attribute to check that printf with translated
1027 messages has proper arguments.
1028
f4dab3d1
VS
10292013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 Use grub_xasprintf to format translated error messages containing
1032 64-bit quantity.
1033
24d5934d
JM
10342013-12-17 Jon McCune <jonmccune@google.com>
1035
1036 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1037
d6c2782a
VS
10382013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 Unify message for unsupported relocation.
1041
50d2e959
VS
10422013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Mark miscompile error for translation.
1045
18e76955
VS
10462013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Use %I64 and not %ll when using OS printf if compiling for windows.
1049
d218ec97
VS
10502013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 Update Mac code to match new register_efi prototype.
1053
b8765fa0
VS
10542013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Implement better integration with Mac firmware.
1057
1f032575
VS
10582013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1061 load_addr.
1062
14829755
VS
10632013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 Include serial module in default_payload.elf.
1066
d45067a2
VS
10672013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 Add explicit thumb interwork bx in asm files.
1070
1071 Shouldn't matter for armv >= 5 but let's be safe.
1072
30861754
VS
10732013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 Implement Truecrypt ISO loader.
1076
e14d409b
VS
10772013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1080
ec824e0f
VS
10812013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 Implement grub_file tool and use it to implement generating of config
1084 in separate root.
1085
296f7606
VS
10862013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 Change to v1 xen grants.
1089
2c384f1e
VS
10902013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1093
1094 GRUB relied on %ebx being preserved across hypercall which isn't true.
1095
d16ff589
VS
10962013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1099
1100 GRUB relied on %rdi being preserved across hypercall which isn't true.
1101
71669c3b
VS
11022013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 Implement XEN VFB support.
1105
60d1dd3d
VS
11062013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 Remove grub_bios_interrupt on coreboot.
1109
1110 It's not used currently and cannot be used safely currently.
1111
a8201050
VS
11122013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Update exclude.pot and mark few strings for translation.
1115
6cc89597
VS
11162013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1119
1120 Reported by: Jon McCune
1121
840a2c05
AB
11222013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1123
1124 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1125 Add verbose information which firmware directories were tried.
1126
35248820
AB
11272013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1128
1129 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1130 function to optionally redirect all three standard descriptors.
1131 Redefine grub_util_exec, grub_util_exec_redirect and
1132 grub_util_exec_redirect_null to use it.
1133 * include/grub/emu/exec.h: Define it.
1134 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1135 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1136 Use grub_util_exec_redirect_all to redirect error to NULL.
1137
2a123f4c
VS
11382013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/tests/sleep_test.c: Silence spurious warning.
1141
316c8d9a
VS
11422013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1145 linker trying to "fixup" the code.
1146
8fcce8d5
VS
11472013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1150
6f1f6a0c
VS
11512013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 Add support for converting PE+ to Elf64.
1154
66a07ce2
VS
11552013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1158
cc6fb517
VS
11592013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 Remove practice of assigning random const pointers to device id.
1162
1163 This is not required as cache code already checks driver id as well.
1164
f009f07c
VS
11652013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1168 with mingw.
1169
9fdec226
VS
11702013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1173 mingw or cygwin as API already matches.
1174
d87cb3ae
VS
11752013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1178
3e38c31a
VS
11792013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1182 not on long.
1183
f4171ebd
VS
11842013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Handle X86_64_PC64 relocation.
1187
1188 Those are generated by some cygwin compilers.
1189
252a289c
VS
11902013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Determine the need for mingw-related stubs at compile time rather than
1193 using not very significant $target_os.
1194
23d2abc3
VS
11952013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1198 may not work with ELF.
1199
4f979ccb
VS
12002013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Use unix functions for temporary files and special files on cygwin.
1203
37378f74
VS
12042013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Define functions explicitly rather than using --defsym in tests
1207 whenever possible. Respect locality in remaining cases.
1208
6a09d83e
VS
12092013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1212
e477187b
AB
12132013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1214
1215 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1216 unlikely errors when getting EFI variables and make exhaustive search
1217 for all BootNNNN variables to find matching one.
1218
80b865bd
IC
12192013-12-15 Ian Campbell <ijc@hellion.org.uk>
1220
1221 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1222
04b02857
VS
12232013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 New functional test for sleep function.
1226
1227 This test allows to check sleep without qemu. Keep qemu version as
1228 well as functional test won't notice if all clocks are going too fast
1229 or too slow.
1230
39711101
VS
12312013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 Add explicit sysv_abi on amd64 asm routines.
1234
d99af4f0
VS
12352013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1238 num_table_entries.
1239
71043684
VS
12402013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1243 functions.
1244
111bf5db
VS
12452013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1248 appropriate.
1249
24ca71c9
VS
12502013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1253
48ba5c0c
VS
12542013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1257 appropriate.
1258
8ae67045
VS
12592013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1262
1263 In case of quick removal of loopback and adding another one it may
1264 get same ID, confusing the cache system.
1265
ed559310
VS
12662013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1269 appropriate.
1270
8fa26279
VS
12712013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1274 than converting to long.
1275
6f5f3337
VS
12762013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1279
e7c418c5
VS
12802013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1283 than almost useless pointer.
1284
7e47e27b
VS
12852013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Add gcc_struct to all packed structures when compiling with mingw.
1288
1289 Just "packed" doesn't always pack the way we expect.
1290
ae8159b9
VS
12912013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1294
74e7ad66
VS
12952013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * util/grub-pe2elf.c: Fix handling of .bss.
1298
814442ba
VS
12992013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Implement windows flavour of EFI install routines.
1302
5f5bb107
VS
13032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1306
a24725cc
VS
13072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 Change grub_install_register_efi interface to pass GRUB device.
1310
1311 This allows grub_install_register_efi to request partition info
1312 directly.
1313
38933cee
VS
13142013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1317
6d3cfe50
VS
13182013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 Do not use TCHAR string functions as they are not available on cygwin.
1321
4bad23a1
VS
13222013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Workaround windows bug when querying EFI system partition parameters.
1325
6a5fe132
VS
13262013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1329 by using bitfields.
1330
bc8fcf4b
VS
13312013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1334
60b967be
VS
13352013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Make i386-* other than i386-pc compileable under cygwin.
1338
6dc33377
VS
13392013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Fix definition of grub_efi_hard_drive_device_path. Take care that
1342 existing code would work even if by some reason bogus definition is
1343 used by EFI implementations.
1344
f2c6ff15
VS
13452013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1348
6b8a1625
VS
13492013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1352 invocation.
1353
954c723a
VS
13542013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * util/config.c: Remove trailing newline from distributor in simple
1357 parsing.
1358
607a39f9
VS
13592013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * include/grub/efi/api.h: Rename protocol and interface to avoid
1362 conflict.
1363
df6fedca
VS
13642013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1365
ba584da1 1366 * .gitignore: add .exe variants. add missing files. remove few outdated
df6fedca
VS
1367 entries.
1368
f684d7e1
VS
13692013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/osdep/exec.c: Use unix version on cygwin.
1372
0df77d79
VS
13732013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Implement multiboot2 EFI BS specification.
1376
dafff9ce
VS
13772013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1380 Crash happened only in some cases like a string starting at the
1381 half of the screen of same length.
1382
6644d973
VS
13832013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1386 with EFI counterpart.
1387
44bbfa33
VS
13882013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 Propagate the EFI commits to x86-efi specific parts.
1391
3e3dff24
VS
13922013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1395
316dda71
VS
13962013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Introduce grub_efi_packed_guid and use it where alignment is not
1399 guaranteed.
1400
219401b8
VS
14012013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1404 unaligned u16 rather than u8[2].
1405
30d00537
VS
14062013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1409 for relocation range.
1410
979742bc
VS
14112013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1414 non-function pcrel21b relocation. It happens with .text.unlikely
1415 section.
1416
16c8f785
LL
14172013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1418
1419 * make MAX_USABLE_ADDRESS platform-specific
1420 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1421
3f1423e7
LL
14222013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1423
1424 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1425
dd73313c
JM
14262013-12-09 Jon McCune <jonmccune@google.com>
1427
1428 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1429 in grub-install and grub-bios-setup for x86 BIOS targets.
1430
eaf01c25
VS
14312013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 Add missing compile and link options for sparc64-emu.
1434
7a148da6
VS
14352013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Implement sparc64 trampolines (needed for sparc64-emu).
1438
21eee750
VS
14392013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1442 range of R_SPARC_HI22.
1443 Implement R_SPARC_LM22.
1444
7b54b626
VS
14452013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1448 Do not explicitly check for symbol table as it's already checked in
1449 platform-independent layer.
1450
9a945e2a
VS
14512013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1454 on ia64 as __clear_cache is a dummy on ia64.
1455
4f4ea1b4
VS
14562013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1459 Do not explicitly check for symbol table as it's already checked in
1460 platform-independent layer.
1461
fe4ae213
CW
14622013-12-09 Colin Watson <cjwatson@ubuntu.com>
1463
1464 * util/grub-mkconfig.in: Add missing newline to output.
1465
78b2b0a1
VS
14662013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1469 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1470
d14772c4
VS
14712013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1474 compilation with GCC <= 4.2.
1475 * grub-core/kern/emu/argp_common.c: Likewise.
1476
388f3cd0
VS
14772013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1480 right platform rather than leaking to sparc64-emu.
1481
11e4167a
VS
14822013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1485 But ensure that the variables in question are indeed unsigned.
1486
fa7eb63d
VS
14872013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1490
50b3a68d
VS
14912013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Remove grub_memalign on emu.
1494
fbbfb6ab
VS
14952013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1498 truncate incomplete lines but instead flushes them.
1499
a19293cb
VS
15002013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1503 and implement windows variant.
1504
d5c14e1e
VS
15052013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 Fix mips-emu compilation.
1508
b75db69a
VS
15092013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * configure.ac: Check for freetype library usability.
1512
c311ced5
VS
15132013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 Make arm-emu work.
1516
c8fd2ddf
VS
15172013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1520
c50e5f45
AB
15212013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1522
1523 * docs/grub.texi (Environment): Update color_normal and color_highlight
1524 defaults (light-gray instead of white).
1525
bb05e313
AB
15262013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1527
1528 * grub-core/normal/main.c (INIT): Set default color to light-gray
1529 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1530 and apparently BIOS defaults.
1531
f23bc651
VS
15322013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Transform -C option to grub-mkstandalone to --core-compress available
1535 in all grub-install flavours.
1536
4c4ea9c7
VS
15372013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 Merge GRUBFS and GRUB_FS variables.
1540
92e9352d
AB
15412013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1542
1543 Revert commit 69ca97c820, it caused failures when using OS device name
1544 in grub-install. Instead just strip off parenthesis in grub-install
1545 if (hdX) was passed.
1546
f585c905
AB
15472013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1548
1549 * util/grub-install.c (push_partmap_module): Add helper to convert
1550 partmap names to module names and use it in probe_mods(). Fixes
1551 failure to find partmap modules in diskfilter case.
1552
5ff24907
VS
15532013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * configure.ac: Make unifont mandatory on coreboot.
1556
0277eab7
VS
15572013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * configure.ac: Skip unifont 6.3 pcf and bdf.
1560
4861b6c8
VS
15612013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * Makefile.am: Remove partial font files if generation failed.
1564
3100cdc7
AB
15652013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1566
1567 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1568 strings.
1569 * include/grub/util/misc.h: Define it ...
1570 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1571
ad73cc33
AB
15722013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1573
1574 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1575 ${grub_probe}.
1576
41822625
VS
15772013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Don't add -mlong-calls when compiling with clang.
1580
896f483d
VS
15812013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * configure.ac: Fix a typo.
1584
8c534b85
VS
15852013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 Revamp relocation handling.
1588
1589 Move more code to common dl.c. Add missing veneers for arm and arm64.
1590 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1591
a846dd4b
VS
15922013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1595
aa437b58
MG
15962013-12-05 Mike Gilbert <floppym@gentoo.org>
1597
1598 * INSTALL: Raise minimum python version to 2.6.
1599 * gentpl.py: Use python3-style print function.
1600
b0f311f4
VS
16012013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * util/grub-install.c: Mention Boot* variable.
1604
59b38922
CW
16052013-12-05 Colin Watson <cjwatson@ubuntu.com>
1606
1607 * grub-core/osdep/linux/hostdisk.c
1608 (grub_util_find_partition_start_os): Initialise start to avoid
1609 spurious compiler warning.
1610
0480665b
CW
16112013-12-05 Colin Watson <cjwatson@ubuntu.com>
1612
1613 On Linux, read partition start offsets from sysfs if possible, to
1614 cope with block device drivers that don't implement HDIO_GETGEO.
1615 Fixes Ubuntu bug #1237519.
1616
1617 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1618 function.
1619 (sysfs_partition_start): Likewise.
1620 (grub_util_find_partition_start_os): Try sysfs_partition_start
1621 before HDIO_GETGEO.
1622
bbeee1c4
LL
16232013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1624
1625 * grub-core/kern/fdt.c: Update struct size when adding node.
1626
e5ed2f69
VS
16272013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Handle unaligned .bss on sparc64.
1630
1631 Current code improperly assumes that both __bss_start and _end are
1632 aligned to 8-bytes. Eliminating this assumption and explicitly align
1633 modules.
1634
4a73746a
VS
16352013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1638 so it doesn't land in the middle of loaded image.
1639
382b500e
VS
16402013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * configure.ac: Move all warning options that may be absent in
1643 gcc >= 3.1 to optional.
1644
1645 Note: while this allows to compile with older GCC, official requirements
1646 remain the same and no support for older GCC.
1647
3a82f8bb
CW
16482013-12-04 Colin Watson <cjwatson@ubuntu.com>
1649
1650 Copying the themes directory in grub-shell isn't
1651 parallel-test-friendly and breaks on the second test when the source
1652 directory is read-only (as in "make distcheck"). Instead, add a
1653 hidden --themes-directory option to grub-mkrescue et al, and use it
1654 in grub-shell.
1655
e3046431
VS
16562013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1659 as it's no longer necessarry.
1660
bdb6090d
VS
16612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * configure.ac: Allow compilation with older GCC for ARM.
1664
b73b70eb
VS
16652013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1668 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1669 ppc.
1670
8a3f0a24
VS
16712013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1674
6f07c4e4
VS
16752013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Pass font config to config.h and not by TARGET_CFLAGS as adding
1678 arguments doesn't work if TARGET_CFLAGS is specified on command
1679 line.
1680
60d5e9cb
VS
16812013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * configure.ac: Add -Wvla if compiler supports it.
1684
cd15c394
VS
16852013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1688 Remove variable length arrays.
1689 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1690
bb6e299c
VS
16912013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1694
85eb579a
VS
16952013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * include/grub/types.h: Declare all byteswaps as inline functions
1698 except compile-time ones.
1699
1700 Solves variable shadowing in constructions like
1701 cpu_to_le (le_to_cpu(x) + 1).
1702
47f88cc9
VS
17032013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1706
40b5739f
VS
17072013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1710 minutes.
1711
234d9346
VS
17122013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1715 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1716
0c0eab52
CW
17172013-12-03 Colin Watson <cjwatson@ubuntu.com>
1718
1719 * grub-core/Makefile.core.def (setjmp): Distribute
1720 lib/arm64/setjmp.S.
1721
44d48847 17222013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1723
1724 Add a new timeout_style environment variable and a corresponding
1725 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1726 controls hidden-timeout handling more simply than the previous
1727 arrangements, and pressing any hotkeys associated with menu entries
1728 during the hidden timeout will now boot the corresponding menu entry
1729 immediately.
1730
1731 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1732 generates a warning, and if it shows the menu it will do so as if
1733 the second timeout were not present. Other combinations are
1734 translated into reasonable equivalents.
1735
10955cda
CW
1736 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1737
9e4e6ddf
VS
17382013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * util/config.c: Add missing pointer adjustment.
1741 Reported by: qwertial
1742
5037aa9a
AB
17432013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1744
1745 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1746 directly, not via `cpu' link, to fix libgrub.pp generation.
1747
8a952d20
VS
17482013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1749
1750 New port arm64-efi.
1751
be0d4555
AB
17522013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1753
1754 * docs/grub.texi (sleep): Document exit codes.
1755
d74b9a1d
VS
17562013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Ensure that -mno-unaligned-access or some equivalent option is used.
1759
35de6d4b
VS
17602013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1763 -march=armv3.
1764
ce55ed03
VS
17652013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1768
8ddf84bf
CW
17692013-11-29 Colin Watson <cjwatson@ubuntu.com>
1770
1771 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1772 builds, since we don't have an EPS version of font_char_metrics.png.
1773 Add leading dot to image extension per the Texinfo documentation.
1774
fd0df6d0
CW
17752013-11-29 Colin Watson <cjwatson@ubuntu.com>
1776
1777 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1778 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1779 * util/grub-gen-widthspec.c: Likewise.
1780 * util/grub-mkfont.c: Likewise.
1781
69ca97c8
AB
17822013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1783
1784 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1785 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1786 failed to install on (hdX).
1787 * util/grub-setup.c (get_device_name): Remove, not needed after
1788 above change.
1789
eec893ae
VS
17902013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1793
621e167f
VS
17942013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * util/grub-fstest.c: Remove variable length arrays.
1797
d54f647a
VS
17982013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1801
c8a0f1b2
VS
18022013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1805 computing crc32 rather than handling with md fundtions directly.
1806
726409a5
VS
18072013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1810 checking fwstart.img rather than md fundtions directly.
1811
422e6e88
VS
18122013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * util/grub-mkrescue.c (main): Check that fread succeeded.
1815
af1faca3
VS
18162013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * conf/Makefile.common: Remove -mexplicit-relocs and
1819 -DUSE_ASCII_FALLBACK on yeeloong.
1820
1821 -DUSE_ASCII_FALLBACK is already added by font snippets.
1822 -mexplicit-relocs isn't needed is compiler/assemblera are
1823 configured properly.
1824 If they're not we shouldn't attempt to fix it by ourselves.
1825 Binary compare between before and after shows no difference.
1826
469021b4
VS
18272013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1830 sources in dependencies directly.
1831
1832 This was the only instance of "library" in core config. A bug was
1833 reported that -fno-stack-protector wasn't passed to it. Instead of
1834 figuring out why it failed just remove this construction used
1835 needlessly.
1836
83c256ba
VS
18372013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1840 fgets succeeded.
1841
b67422d3
FL
18422013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1843
1844 * docs/grub.texi (ls): Fix command description in case of a device name
1845 passed as argument.
1846
2d76b4d8
VS
18472013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Eliminate variable length arrays in grub_vsnprintf_real.
1850
1851 A bit tricky because this function has to continue to work without
1852 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1853 but make all stack references use 32-bit offset rather than 8-bit one.
1854 So split va_args preparsing to separate function and put the prealloc
1855 into the caller.
1856
4f954122
VS
18572013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1860 Fixes build for windows.
1861
b1f742c1
VS
18622013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * gentpl.py: Don't generate platform-dependent conditionals for
1865 platform-independent targets.
1866
16ef26fd
CW
18672013-11-27 Colin Watson <cjwatson@ubuntu.com>
1868
1869 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1870 references to mdadm from otherwise generic code.
1871 (grub_util_exec_pipe): Likewise.
1872 (grub_util_exec_pipe_stderr): Likewise.
1873 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1874 This function calls vgs, not mdadm; adjust variable names
1875 accordingly.
1876
cf8c80ff 18772013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1878
1879 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1880 of Autogen. The Autogen definitions files remain intact as they
1881 offer a useful abstraction.
1882
5c7206e4
CW
18832013-11-27 Colin Watson <cjwatson@ubuntu.com>
1884
1885 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1886 into no-ops, and use it in programs that copy files but do not need
1887 to take special care to sync writes (grub-mknetdir, grub-rescue,
1888 grub-mkstandalone).
1889
fc3f2b72
CW
18902013-11-26 Colin Watson <cjwatson@ubuntu.com>
1891
1892 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1893 than hardcoding /usr/local/bin/xorriso.
1894
1e4b3587
VS
18952013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Add PCI command activation to all PCI drivers as required for coreboot
1898 and maybe some other firmwares.
1899
9208367d
VS
19002013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1903 and non-Apple variants of efiemu compile.
1904
67b9b7af
AB
19052013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1906
1907 * configure.ac: Add explicit check for linking format of
1908 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1909 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1910 hardcoding linking format.
1911
bee1b5ce
VS
19122013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1915 and not pkgdatadir.
1916
07e3b047
CW
19172013-11-25 Colin Watson <cjwatson@ubuntu.com>
19182013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 Add a --locale-directory option to grub-install and related tools.
1921
1922 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1923 --locale-directory option.
1924 (enum grub_install_options): Add
1925 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1926 * util/grub-install-common.c (grub_install_help_filter): Handle
1927 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1928 (grub_install_parse): Likewise.
1929 (get_localedir): New function to check for a user-provided option
1930 before trying grub_util_get_localedir.
1931 (copy_locales): Use get_localedir rather than
1932 grub_util_get_localedir. Handle differing locale directory layouts.
1933 (grub_install_copy_files): Likewise.
1934
61e1b9a4
VS
19352013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1938 Don't rely on PATH_MAX.
1939
c98dd165
VS
19402013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/genmoddep.awk: Use more portable && rather than and.
1943
ff1c277e
VS
19442013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1947 an object after data. While it doesn't seem right solution, it
1948 works well enough and OSX isn't main compilation platform.
1949
c8f7614b
VS
19502013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1953 While it doesn't seem right solution, it works well enough and
1954 OSX isn't main compilation platform.
1955
246a434f
VS
19562013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * configure.ac: Add -static to LDFLAGS when using apple linker to
1959 prevent it from pulling in dynamic linker.
1960
5c066a81
VS
19612013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 Apple assembly doesn't handle symbol arithmetic well. So define an
1964 offset symbol in boot.S and use it.
1965
78f961ef
VS
19662013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 Apple assembly doesn't handle symbol arithmetic well. So instead
1969 of getting addres of kernel_sector + 4 define kernel_sector_high.
1970 It also makes code more readable.
1971
09bc0a57
VS
19722013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 With Apple assembly in .macro environvemnt you have to use $$ instead
1975 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1976 to $$x on Apple and to $x on everything else.
1977
b700a427
VS
19782013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1981 OBJCONV.
1982
4480b95d
VS
19832013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1986 and non-Apple. This instruction is shorter and faster,
1987 so no reason not to use it on both.
1988
e77c81f6
VS
19892013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1992 .text when compiling for Apple.
1993
971dbee5
VS
19942013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1997
6f2e82be
VS
19982013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2001 %dx restore the probe worked on non-existant drive. Reorganize the
2002 code a little bit to free 2 bytes necessary for push/pop.
2003
9eec9699
VS
20042013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2007 Add missing cast to silence warning.
2008
5ae5c54c
KPA
20092013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2010
2011 * util/grub-install.c (update_nvram): Support --no-nvram flag
2012 for EFI targets.
2013
7b04fe6c
VS
20142013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2017
e67566ce
VS
20182013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * util/garbage-gen.c: Add missing include of sys/time.h.
2021
f93ddcfd
VS
20222013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 Don't add -mflush-func if it's not supported by compiler.
2025
1bba40f5
VS
20262013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Move common BIOS/coreboot memory map declarations to
2029 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2030
f65e14dc
AB
20312013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2032
2033 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2034
14a94bba
VS
20352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * INSTALL: Document why older clang versions aren't appropriate.
2038
8109c5d4
VS
20392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * INSTALL: Document about clang for mips.
2042
a92b5cb8
VS
20432013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2046 clang.
2047
4a23e2fe
VS
20482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Add *-xen to the list of grub-install-common platforms.
2051
a3ba7410
VS
20522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2055 3 last commits.
2056
e1c22419
VS
20572013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2060
189090ce
VS
20612013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2064 with -mcmodel=large.
2065
1a5b7b40
VS
20662013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2069 range-checking for 32-bit quantities.
2070
9cf12b20
VS
20712013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * configure.ac: Compile with -fPIC when compiling with clang on
2074 mips.
2075
63a45330
VS
20762013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2079 when compiling with clang.
2080
4a0aaad0
VS
20812013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 clang emits calls to abort () under some unknown conditions.
2084 Export abort () when compiling with clang.
2085
095bb1bf
VS
20862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * docs/grub-dev.texi: Document stack and heap sizes.
2089
3937bd96
VS
20902013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * include/grub/i386/pc/memory.h: Decrease
2093 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2094 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2095 The binary doesn't change (checked). It's more to better reflect actual
2096 usage.
2097
ddb3efc9
VS
20982013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2101 at compile time that enough of scratch size is available.
2102
4e42521d
VS
21032013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2106 Previously we misaligned stack by 8 in startup.S and compensated
2107 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2108 right behaviour is to align stack in startup.S and keep it aligned
2109 in callwrap.S. startup.S part was committed few commits before. This
2110 takes care of callwrap.S.
2111 Reported by: Gary Lin.
2112
054efe54
VS
21132013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2116 .data and .bss. May happen if compiler and assembly use different
2117 alignment.
2118
a0e1befb
VS
21192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2122 way.
2123
c36c73f6
VS
21242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Add support for a new magic symbol _gp_disp on mips to handle PIC
2127 binaries.
2128
6f4a19f5
VS
21292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2132
0d8f04cd
VS
21332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2136 when rest of GRUB is compiled for hisher stepping. Instead use
2137 .set mips3/.set mips1 around cache and sync opcodes.
2138
49060520
VS
21392013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2142 do essentially the same thing, do it in similar way.
2143
c6a823e2
CW
21442013-11-21 Colin Watson <cjwatson@ubuntu.com>
2145
2146 * util/grub-mkrescue.c (main): If a source directory is not
2147 specified, read platform-specific files from subdirectories of
2148 pkglibdir, not pkgdatadir.
2149
b7f9aedf
CW
21502013-11-21 Colin Watson <cjwatson@ubuntu.com>
2151
2152 * grub-core/normal/progress.c: Remove unused file.
2153
7dd0a303
VS
21542013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2157 array.
2158
ca120e31
VS
21592013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2162 than grub.cfg.
2163
48eb35cd
VS
21642013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * coreboot.cfg: Add missing file.
2167
7f20dbbc
VS
21682013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2171
55e706c9
AK
21722013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2173
2174 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2175 selectively skipping systems.
2176
4e7d433d
CW
21772013-11-19 Colin Watson <cjwatson@ubuntu.com>
2178
2179 * Makefile.util.def (grub-mkimage): Add
2180 grub-core/osdep/aros/config.c to extra_dist.
2181 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2182 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2183 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2184 grub-core/gnulib-no-gets.diff.
2185
7d44ff7d
VS
21862013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Add automated filesystem checking based on scripts I've used now for
2189 quite some time locally. Most of the test require root so they are
2190 skipped when run without necessarry privelegies.
2191
a8c3e5e3
CW
21922013-11-19 Colin Watson <cjwatson@ubuntu.com>
2193
2194 * util/grub-install.c (main): Adjust info messages to match
2195 installed paths of grub-bios-setup and grub-sparc64-setup.
2196
4402db3e
CW
21972013-11-19 Colin Watson <cjwatson@ubuntu.com>
2198
2199 * util/grub-install-common.c (copy_locales): Consistently use
2200 grub_util_get_localedir () rather than LOCALEDIR.
2201 (grub_install_copy_files): Likewise.
2202
7960d3e1
JT
22032013-11-19 Josh Triplett <josh@joshtriplett.org>
2204
2205 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2206 16-byte boundary, as required by the x86-64 ABI, before calling
2207 grub_main. In some cases, GCC emits code that assumes this
2208 alignment, which crashes if not aligned. The EFI firmware is also
2209 entitled to assume that stack alignment without checking.
2210
d53f4900
JT
22112013-11-18 Josh Triplett <josh@joshtriplett.org>
2212
2213 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2214 4k page boundaries as expected by firmware rather than 1k
2215 boundaries.
2216 (grub_mmap_malign_and_register): Likewise.
2217
bb2b275b
VS
22182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2221 fragmentation 512M is enough.
2222
45bf8b3a
VS
22232013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2226 pointer to 32K. This is the size of cache element which is the most
2227 common allocation >1K. This way the pointer is always around blocks
2228 of 32K and so we keep performance while decreasing fragmentation.
2229
39ff43c5
VS
22302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2233 current memory when allocating large chunks. This significantly
2234 decreases memory fragmentation.
2235
60870be8
CW
22362013-11-18 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2239 but for symmetry).
2240 * tests/lzocompress_test.in: Skip if lzop is not installed.
2241 * tests/xzcompress_test.in: Skip if xz is not installed.
2242
a1f00cc5
CW
22432013-11-18 Colin Watson <cjwatson@ubuntu.com>
2244
2245 * util/grub-mkrescue.c (main): Fix typo.
2246
74e632fe
VS
22472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2250 clock frequency to 200 MHz,
2251
efb8de49
VS
22522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2255
b7526e78
VS
22562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2259 Load config file from (cbfsdisk)/etc/grub.cfg.
2260
b40ce651
VS
22612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * util/grub-install-common.c (grub_install_copy_files): Fix module
2264 destination directory.
2265
1e8e2e78
CW
22662013-11-18 Colin Watson <cjwatson@ubuntu.com>
2267
2268 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2269 files have not been built.
2270
3bf4088b
CW
22712013-11-18 Colin Watson <cjwatson@ubuntu.com>
2272
2273 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2274 Handle errors from mkstemp.
2275 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2276
35c2851c
VS
22772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2280 on primary master on pseries.
2281
ea7c1a7d
VS
22822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2285 already loaded. This saves memory needed for tests,
2286
96adefdb
VS
22872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2290 work again.
2291
5e3cb8a7
VS
22922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2295 work again.
2296
256ee7ac
VS
22972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2300 master since with some combinations of qemu and firmware only primary
2301 IDE channel is available.
2302
f8b4c3b6
VS
23032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2306 low-memory platforms where we don't have enough memory for them.
2307 * grub-core/tests/videotest_checksum.c: Likewise.
2308
4bf70320
VS
23092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2312 already loaded. This saves memory needed for tests,
2313
a284320e
VS
23142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Fix handling of install lists.
2317
2df8f43d
VS
23182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2321
6f1bc8bc
VS
23222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2325 the devices before accessing them.
2326
04f39f6d
VS
23272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2330 as file argument.
2331
35d4761c
VS
23322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2335
33d02a42
VS
23362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2339 (grub_file_close): Free file->name.
2340
7bbb60cf
VS
23412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2344 (grub_load_public_key): Likewise.
2345 (grub_verify_signature_real): Likewise.
2346 (grub_cmd_verify_signature): Likewise.
2347
da93d675
VS
23482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2351 memory leak.
2352
59c943ec
VS
23532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2356 (grub_longjmp): Restore r31.
2357 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2358
4336b5d8
VS
23592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2362 modules to be in line with make_image_abs.
2363
44ce3a93
VS
23642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2367
2368 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2369
7d400406
IC
23702013-11-17 Ian Campbell <ijc@hellion.org.uk>
2371
2372 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2373
77dae919
VS
23742013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2377 to leave some memory to firmware.
2378
0ab8e025
VS
23792013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2382 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2383 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2384 Load gfxmenu.
2385
b80c2d6d
VS
23862013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2389 now needs full arguments.
2390
6aa6077b
VS
23912013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * util/grub-mkrescue.c (main): Add trailing \n in
2394 .disk_label.contentDetails to be in line with previous shell script.
2395
66c00cb1
VS
23962013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2399
3a129dba
VS
24002013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * util/grub-install-common.c (grub_install_parse): Recognize
2403 --compress=none like shell script did.
2404
8df6eff6
VS
24052013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * include/grub/misc.h: Replace check for __sparc64__ with one for
2408 __sparc__ as __sparc64__ isn't actually defined.
2409
889ebe92
VS
24102013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2413 counterpart of fixing the naming of escc ports.
2414
d4d55b29
VS
24152013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-install-common.c (platforms): Fix the order of entries and
2418 remove useless field val.
2419
55e2c84f
VS
24202013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * util/grub-install.c: Add new option --no-bootsector to skip
2423 installing of bootsector. Accept --grub-setup=/bin/true as
2424 backwards-compatible synonym.
2425
cd46aa6c
VS
24262013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2427
2428 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2429 order of qsort arguments (number of elements vs. element size).
2430
24312013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2434 the function of these files exceeds what can be sanely handled in shell
2435 in posix-comaptible way. Also writing it in C extends the functionality
2436 to non-UNIX-like OS and minimal environments.
2437
9ef81064
VS
24382013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2441 compiling to thumb2.
2442 * grub-core/kern/arm/cache_armv7.S: Likewise.
2443 * grub-core/lib/arm/setjmp.S: Likewise.
2444
11a77932
LL
24452013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2446
2447 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2448 in grub_uboot_syscall
2449
080603f0
VS
24502013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 Decrease stack usage in lexer.
2453
2454 We have only 92K of stack and using over 4K per frame is wasteful
2455
2456 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2457 as macros so that compiler would remove useless structure on stack.
2458 Better solution would be to fix flex not to put this structure on
2459 the stack but flex is external program.
2460
4f84ae0e
VS
24612013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Decrease stack usage in signature verification.
2464
2465 We have only 92K of stack and using over 4K per frame is wasteful
2466
2467 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2468 rather than stack.
2469 (grub_verify_signature_real): Likewise.
2470
e6a6182d
VS
24712013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Decrease stack usage in mdraid 0.9x.
2474
2475 We have only 92K of stack and using over 4K per frame is wasteful
2476
2477 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2478 rather than stack.
2479
1a454efe
VS
24802013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 Decrease stack usage in BtrFS.
2483
2484 We have only 92K of stack and using over 4K per frame is wasteful
2485
2486 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2487 rather than stack.
2488
7b5d51d8
VS
24892013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Decrease stack usage in JFS.
2492
2493 We have only 92K of stack and using over 4K per frame is wasteful
2494
2495 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2496 stack. Note: this function is recursive.
2497 (grub_jfs_read_inode): Read only part we care about.
2498
593865b9
LL
24992013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2500
2501 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2502 handling
7b5d51d8 2503
31c0cd43
AB
25042013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2505
2506 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2507
c2fdb331
AB
25082013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2509
2510 * docs/grub.texi (Environment): Document cmdpath.
2511
9e18dfe2
AB
25122013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2513
2514 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2515 Remove "unused" attribute from arguments, they are used.
2516
59ba9d14
CW
25172013-11-15 Colin Watson <cjwatson@debian.org>
2518
2519 * .gitignore: Only ignore grub-mk* at the top level.
2520
23012db9
CW
25212013-11-15 Colin Watson <cjwatson@ubuntu.com>
2522
2523 * util/grub-reboot.in (usage): Fix a typo.
2524
6fcec439
VS
25252013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 Replace libgcc version of ctz with our own.
2528
2529 On upcoming arm64 port libgcc ctz* are not usable in standalone
2530 environment. Since we need ctz* for this case and implementation is
2531 in C we may as well use it on all concerned platforms.
2532
a9f25a08
VS
25332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * configure.ac: Probe for linking format rather than guessing it based
2536 on target_os.
2537
c7995256
VS
25382013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2541 "1" prior to handoff.
2542
2543 Reported by: M A Young.
2544
e1aa5b66
VS
25452013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2548 \0 to all files.
2549
2550 Reported by: M A Young.
2551
da5ed5cf
VS
25522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2555 compilation on NetBSD.
2556
5757a93e
VS
25572013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * acinclude.m4: Don't add -P on initial nm test.
2560
2561 Note: even though this patch postdates Andrey's it bears 14 Nov as
2562 date due to timezone difference.
2563
a5986276
AB
25642013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2565
2566 * grub-core/Makefile.core.def (signature_test): Add missing
2567 tests/signatures.h.
2568
0de172a0
CW
25692013-11-14 Colin Watson <cjwatson@ubuntu.com>
2570
2571 * util/grub-install_header: Set localedir here, since this file is
2572 where it's used.
2573 * util/grub-install.in: Remove setting of localedir.
2574 * util/grub-mkrescue.in: Likewise.
2575
da45f43c
VS
25762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2579
20aea949
VS
25802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * configure.ac: Move nm checks to the end.
2583 Call grub_PROG_NM_WORKS.
2584 * acinclude.m4: New check grub_PROG_NM_WORKS.
2585 Use $TARGET_CFLAGS -c when compiling test binary.
2586
1326b9ae
CW
25872013-11-14 Colin Watson <cjwatson@ubuntu.com>
2588
2589 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2590 unused variables.
2591
1fe26ab4
MG
25922013-11-14 Matthew Garrett <mjg@redhat.com>
2593
2594 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2595 cmdpath to firmware directory.
2596
83e9c273
VS
25972013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2600 at the start of second iteration.
2601
ec525c18
VS
26022013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2605
93fcc7ad
VS
26062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * Makefile.am (default_payload.elf): New target for easier coreboot
2609 build.
2610
57ffe934
VS
26112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2614 clang (not necessarry with -no-integrated-as).
2615 * include/grub/symbol.h [__arm__]: Likewise.
2616
2312f06c
VS
26172013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * configure.ac: Use -no-integrated-as on arm with clang.
2620 * INSTALL: Mention ARM compilation with clang.
2621
2416415c
VS
26222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2625 -mthumb-interwork.
2626
5da55172
CW
26272013-11-14 Colin Watson <cjwatson@ubuntu.com>
2628
2629 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2630 code for indirect block handling.
2631
2632 Saves 185 bytes on compressed image.
2633
da770328
PFS
26342013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2635
2636 Fix make clean.
2637
2638 * Makefile.am: Remove build-grub-* in make clean.
2639
f02e6b56
PFS
26402013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2641
2642 New files to gitignore.
2643
2644 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2645 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2646
035a26c1
LL
26472013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2648
2649 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2650
bc8a6137
LL
26512013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2652
2653 * .gitignore: fix rules for .dep* and add *.a post git migration
2654
6fe506b0
CW
26552013-11-13 Colin Watson <cjwatson@ubuntu.com>
2656
2657 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2658 to match INSTALL.
2659
81a2e438
CW
26602013-11-13 Colin Watson <cjwatson@ubuntu.com>
2661
2662 * grub-core/kern/misc.c: Don't redirect divisions in the
2663 GRUB_UTIL case.
2664 * include/grub/misc.h: Likewise.
2665
9b45c073
CW
26662013-11-13 Colin Watson <cjwatson@ubuntu.com>
2667
2668 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2669 systems that require checking the return value of write.
2670
11b2a9b7
CW
26712013-11-13 Colin Watson <cjwatson@ubuntu.com>
2672
2673 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2674 efibootmgr quiet when --debug is not used, rather than when it is.
2675
d743d22d
CW
26762013-11-13 Colin Watson <cjwatson@ubuntu.com>
2677
2678 * gentpl.py (define_macro_for_platform_dependencies): Remove
2679 first (and thus unused) of two definitions for this function.
2680 (platform_dependencies): Likewise.
2681
11da14b5
CW
26822013-11-13 Colin Watson <cjwatson@ubuntu.com>
2683
2684 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2685 functions, we only need to check this for the target, not the host.
2686 * configure.ac (grub_apple_cc): Likewise.
2687
2bdd0719
VS
26882013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2691 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2692 asm to stay in arm even if surrounding is thumb.
2693
5e77d9cf
VS
26942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2697 helper functions are needed for thumb.
2698
7d511625
VS
26992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2702 level / 3 division explicitly unsigned. Saves few bytes.
2703
81023dbd
VS
27042013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2707
b2e9294f
VS
27082013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2711 division.
2712
16a22c38
VS
27132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2716 grub_uboot_boot_data to asm part.
2717
c9cd02c9
VS
27182013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2721 literal load.
2722 (grub_uboot_syscall): Save/restore r9 and align stack.
2723
81498615
VS
27242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2727
ea57de18
VS
27282013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2731 occurencies with END.
2732
d0d1e3da
CW
27332013-11-13 Colin Watson <cjwatson@ubuntu.com>
2734
2735 * util/grub-editenv.c (help_filter, argp): Document how to delete
2736 the whole environment block.
2737 Reported by Dan Jacobson. Fixes Debian bug #726265.
2738
3809f016
CW
27392013-11-13 Colin Watson <cjwatson@ubuntu.com>
2740
2741 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2742 sectioning.
2743
46d8a203
JT
27442013-11-13 Josh Triplett <josh@joshtriplett.org>
2745
2746 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2747 increment/decrement.
2748
513eeb61
VS
27492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2752 compiling with clang.
2753
bc379c1a
VS
27542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2757 ".".
2758
27592013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2760
16057d6b
VS
2761 Redirect all divisions to grub_divmod64.
2762
f649a6a8
VS
27632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2766
ef28ee8b
VS
27672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Add missing includes of loader.h.
2770
300f48c5
VS
27712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * configure.ac: Allow disabling themes.
2774
2d357558
LS
27752013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2776
2777 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2778
0c62a5b2
VS
27792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2782 until it becomes operational.
2783
b0720b49
VS
27842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/Makefile.core.def (legacy_password_test): Disable
2787 on platforms where no legacycfg is compiled.
2788 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2789 load legacy_password_test.
2790
d5bab2c0
VS
27912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2794
3ea0ccb3
VS
27952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2798
08772054
VS
27992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2802 strict-aliasing warning.
2803 (fsync): Silence cast warning.
2804
1dcb2715
VS
28052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/commands/verify.c: Remove variable length arrays.
2808 Load gcry_dsa/gcry_rsa automatically.
2809
61c22fdf
VS
28102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/tests/signature_test.c: New test.
2813
431e57a7
VS
28142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2817 API.
2818
b521bb81
VS
28192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2822 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2823
7d06b24e
VS
28242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2827
3bbeade4
VS
28282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/fs/proc.c: Allow \0 in proc files.
2831
ba82db7a
VS
28322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2835
801564c8
VS
28362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2839
ac8cac1d
VS
28402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/ext2.c: Remove variable length arrays.
2843
4b85f122
VS
28442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2847 length arrays.
2848
c35fcdc0
VS
28492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2852 * grub-core/disk/cryptodisk.c: Likewise.
2853 * grub-core/disk/geli.c: Likewise.
2854 * grub-core/disk/luks.c: Likewise.
2855
15decd26
VS
28562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/tests/legacy_password_test.c: New test.
2859 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2860
9c6482b8
VS
28612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2864
41f26e0e
VS
28652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/tests/pbkdf2_test.c: New test.
2868
2def6616
VS
28692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2872
9e34a34e
VS
28732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/io/lzopio.c: Remove variable length arrays.
2876
5ccaf904
VS
28772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * include/grub/crypto.h: Add maximums on hash size and cipher block
2880 size.
2881
44a387e0
VS
28822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2885
a388e255
VS
28862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/tests/xnu_uuid_test.c: New test.
2889
a1ef7718
VS
28902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2893 covers it).
2894
65ddb300
VS
28952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/commands/hashsum.c: Remove variable length arrays.
2898
31747dd5
VS
28992013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2902 condition.
2903 * tests/grub_func_test.in: Increase memory allocation.
2904
6a74c4df
VS
29052013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2908 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2909 sys/mount.h.
2910
394c3e0a
VS
29112013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2914 (grub_util_get_fd_size_os): ...this.
2915 (grub_hostdisk_flush_initial_buffer): New empty function.
2916
60d31116
VS
29172013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2920 without --defined-only.
2921
8445b011
VS
29222013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2925 rip-relative addressing in prologue.
2926
8506a641
VS
29272013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2930 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2931
66acd9d6
VS
29322013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2935 Add missing semicolon.
2936
348d0535
VS
29372013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2940
0d2d30bb
VS
29412013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * configure.ac: Check for lzma.h for enabling liblzma and allow
2944 manual disabling.
2945
631187be
VS
29462013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 Add missing includes of loader.h.
2949
e756ec82
FZ
29502013-11-11 Fam Zheng <famcool@gmail.com>
2951
2952 * util/grub.d/30_os-prober.in: Add minix entry.
2953
87d62d7d
VS
29542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2957 right buffer for temporary load.
2958
5460cfeb
VS
29592013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2962
89977306
VS
29632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2966 payload.
2967
3617c59b
VS
29682013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2969
2970 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2971 not Types.h.
2972 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2973 environment.
2974 (LzmaDec_InitDicAndState): Make static.
2975
881c6a10
VS
29762013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2979
2024ade2
VS
29802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2983
2984 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2985
674ad4f6
VS
29862013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * docs/grub-dev.texi: Replace bzr references with git ones.
2989
5b99970e
AB
29902013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2991
2992 * docs/grub.texi (Simple configuration): Remove reference to
2993 grub-reboot from saved default entry description - grub-default
2994 does not use it anymore.
2995
3c2304d5
VS
29962013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2999 compiled with.
3000
80cfd940
AB
30012013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3002
3003 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3004
33690255
VS
30052013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 Fix grub_machine_fini bitrot.
3008
3009 Reported by: Glenn Washburn.
3010
c61471fc
VS
30112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3014
54da019f
VS
30152013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3018 -DELF.
3019 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3020 instead of ELF*.
3021
30222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
3023
3024 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3025 Add -march=core2 when testing compile of efiemu64.
3026
3027 Thanks Andrey Borzenkov for spotting this.
3028
9612ebc0
VS
30292013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3032 XEN PV environment and load kernels.
3033
1a46a3a4
VS
30342013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3037 * grub-core/loader/multiboot_mbi2.c: Likewise.
3038
2df12551
VS
30392013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3042 handling.
3043
3c980381
VS
30442013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3047
3048 Tested by: Denis 'GNUtoo' Carikli.
3049
800f63d3
VS
30502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3053
9f8acdaa
VS
30542013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3055
5620eb53
VS
3056 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3057 Use to get rounded angle rather than truncated.
3058
30592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
3062 RTS/CTS flow control.
3063
2dc1eb6c
VS
30642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3067 divisions.
3068
b9563c94
VS
30692013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3072 Use grub_fatal rather than divide by zero.
3073 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3074
d6d8e9a9
VS
30752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3078 truncate.
3079 (grub_fixed_fsf_divide): Likewise.
3080
d06de6c8
VS
30812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3084 division by-zero and senseless negative divisions.
3085
6af7d49b
VS
30862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3089 division by-zero and senseless negative divisions.
3090 (circprog_set_property): Don't accept negative num_ticks.
3091
bcfa6d72
VS
30922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3095 division by-zero and senseless negative divisions.
3096
dd7f792c
VS
30972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * configure.ac: Use elf_*_fbsd on kfreebsd.
3100
d061fda7
VS
31012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/tests/div_test.c: New test.
3104
4db22500
VT
31052013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3106
3107 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3108 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3109 * grub-core/gfxmenu/view.c: Likewise.
3110 * grub-core/video/fb/video_fb.c: Introduce new functions:
3111 grub_video_set_area_status, grub_video_get_area_status,
3112 grub_video_set_region, grub_video_get_region.
3113 * grub-core/video/bochs.c: Likewise.
3114 * grub-core/video/capture.c: Likewise.
3115 * grub-core/video/video.c: Likewise.
3116 * grub-core/video/cirrus.c: Likewise.
3117 * grub-core/video/efi_gop.c: Likewise.
3118 * grub-core/video/efi_uga.c: Likewise.
3119 * grub-core/video/emu/sdl.c: Likewise.
3120 * grub-core/video/radeon_fuloong2e.c: Likewise.
3121 * grub-core/video/sis315pro.c: Likewise.
3122 * grub-core/video/sm712.c: Likewise.
3123 * grub-core/video/i386/pc/vbe.c: Likewise.
3124 * grub-core/video/i386/pc/vga.c: Likewise.
3125 * grub-core/video/ieee1275.c: Likewise.
3126 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3127 * include/grub/video.h: Likewise.
3128 * include/grub/video_fb.h: Likewise.
3129 * include/grub/fbfill.h: Updated render_target structure.
3130 grub_video_rect_t viewport, region, area
3131 int area_offset_x, area_offset_y, area_enabled
3132 * include/grub/gui.h: New helper function
3133 grub_video_bounds_inside_region.
3134 * docs/grub-dev.texi: Added information about new functions.
3135
c6b755df
VS
31362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3139 for alignment.
3140
e2a68100
VS
31412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3144 missing attribute.
3145 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3146
c4f11a2a
VS
31472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3150 simple division on arm and ia64.
3151
e0a7bffa
VS
31522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3155 link with libgcc.
3156
38b864ea
VS
31572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3160
12359faf
VS
31612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3164 prefix symbol, not @.
3165
9fdc64a9
VS
31662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * INSTALL: Add note about older gcc and clang.
3169
665c575b
VS
31702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3173
47dcf7b1
VS
31742013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3177 NULL pointer dereference.
3178
d59849b2
VS
31792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3182 clang.
3183
7a3f4a18
VS
31842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3187 warnings.
3188
7f084087
VS
31892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3192 function.
3193 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3194 * grub-core/disk/geli.c (ascii2hex): Likewise.
3195
d5524ca8
VS
31962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * configure.ac: Run linker tests without -Werror.
3199 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3200 Change all occurences of -static-libgcc resp -lgcc to
3201 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3202
390cd7ca
VS
32032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3206
60375a88
VS
32072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Allow compiling with clang (not really supported though).
3210
3211 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3212 unconditionally.
3213 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3214 Add -mrtd -mregparm=3 on i386 when not using clang.
3215 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3216
dd07e0c4
VS
32172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3220 bindings.
3221 * grub-core/lib/reed_solomon.c: Likewise.
3222 * include/grub/i386/gdb.h: Likewise.
3223 * include/grub/i386/pc/int.h: Likewise.
3224 * include/grub/i386/pc/pxe.h: Likewise.
3225 * include/grub/ieee1275/ieee1275.h: Likewise.
3226
9d3ae8ec
VS
32272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 Import libgcrypt 1.5.3.
3230
c12936c5
VS
32312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * configure.ac: Don't add -Wcast-align on x86.
3234
cdc17f60
VS
32352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * configure.ac: Add -freg-struct-return on all platforms that
3238 support it.
3239
b35ec299
VS
32402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * acinclude.m4: Use -Werror on parameter tests.
3243 * configure.ac: Likewise.
3244
05f3a0d7
VS
32452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3248
c966a489
VS
32492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * configure.ac: Check that -malign-loops works rather than assuming that
3252 either -falign-loops or -malign-loops work.
3253
bb0c57ec
VS
32542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3257
24f4e57c
VS
32582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * configure.ac: Prevent cflags leaking to subsequent tests by always
3261 resetting cflags to target_cflags in target tests.
3262
ac319fbc
VS
32632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3266 function.
3267
4bfe934c
VS
32682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3271
40a5bfde
VS
32722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3275
a67c755e
VS
32762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/normal/cmdline.c (grub_cmdline_get):
3279 Remove nested functions.
3280
87a04a2d
VS
32812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * tests/test_sha512sum.in: Make it work on emu.
3284
c03995d2
VS
32852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3288 functions.
3289 (grub_bidi_line_logical_to_visual): Likewise.
3290
ec0ebb3f
VS
32912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Remove vestiges of -Wunsafe-loop-optimisations.
3294
3295 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3296 -Wno-unsafe-loop-optimisations.
3297 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3298 pragma.
3299 * grub-core/io/gzio.c: Likewise.
3300 * grub-core/script/parser.y: Likewise.
3301 * grub-core/script/yylex.l: Likewise.
3302 * util/grub-mkfont.c: Likewise.
3303
6ab537e3
VS
33042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * util/grub-mkfont.c (process_cursive): Remove nested function.
3307
e6c368d4
VS
33082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3311 (grub_boot_time): Likewise.
3312
4f1cfd22
VS
33132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * include/grub/symbol.h (FUNCTION): Use @function rather than
3316 "function".
3317 (VARIABLE): Likewise.
3318
6d5a4cee
VS
33192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3322
f06c2172
VS
33232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3326 (parse_dhcp_vendor): Likewise.
3327
7cb24eb5
VS
33282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3331
f30c692c
VS
33322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3335 Define after defining type and not before.
3336
8b66bb5d
VS
33372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3340 type.
3341 (grub_gcm_decrypt): Likewise.
3342 (algo_decrypt): Likewise.
3343 (grub_zfs_decrypt_real): Transform error type.
3344
5d17fd0f
VS
33452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3348
ac35a0f7
VS
33492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3352 (grub_usbms_cbi_reset): Likewise.
3353 (grub_usbms_bo_reset): Likewise.
3354 (grub_usbms_reset): Likewise.
3355 (grub_usbms_attach): Likewise.
3356 (grub_usbms_transfer_cbi): Likewise.
3357
3ee08697
VS
33582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3361 "checksum = checksum;".
3362
70bb6c85
VS
33632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3366 entry_type.
3367
c7f34744
VS
33682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3371 BIOS disk check.
3372
3f63b4d8
VS
33732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3376 type.
3377 (grub_ehci_fini_hw): Likewise.
3378 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3379
dac6ce73
VS
33802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3383 return grub_usb_err_t for cosistency. All users updated.
3384
5701750c
VS
33852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3388 assigning to itself.
3389
9e236169
GLD
33902013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
33912013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3392
3393 Issue separate DNS queries for ipv4 and ipv6
3394
3395 Adding multiple questions on a single DNS query is not supportted by
3396 most DNS servers. This patch issues two separate DNS queries
3397 sequentially for ipv4 and then for ipv6.
3398
3399 Fixes: https://savannah.gnu.org/bugs/?39710
3400
3401 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3402 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3403 * (grub_net_dns_lookup): Now using separated dns packages.
3404 * (grub_cmd_nslookup): Add error condition.
3405 * (grub_cmd_list_dns): Print DNS option.
3406 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3407 --prefer-ipv4, and --prefer-ipv6.
3408 * include/grub/net.h (grub_dns_option_t): New enum.
3409 * (grub_net_network_level_address): option added.
3410
339eacce
VT
34112013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3412
3413 * grub-core/video/fb/video_fb.c: Merge two blit functions
3414 into one.
3415
810f991b
VS
34162013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/term/terminfo.c: Add sequences for home and end.
3419
386571a2
VS
34202013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3423 graphics console.
3424
3fe63754
VS
34252013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3428 add mode 0x12.
3429
76681e71
VS
34302013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3433 e-mail by Per Öberg.
3434
46522fb7
VS
34352013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3438 name.
3439
e7d09ac4
AB
34402013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3441
3442 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3443 emu platforms.
3444 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3445
67508925
VS
34462013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * docs/grub.texi: Document usage of menuentry id.
3449
0c62124e
VS
34502013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3453
9b5d4eed
PL
34542013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3455
3456 * grub-core/commands/i386/nthibr.c: New command.
3457
79054c1d
VS
34582013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3461
44d47bbe
VS
34622013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3465 coordinate.
3466
323de05b
VS
34672013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Support GRUB_DISABLE_SUBMENU config.
3470
3471 Inspired by patch from Prarit Bhargava.
3472
5a01722e
VS
34732013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * docs/grub.texi: Mention RSA support.
3476
1106c3f0
VS
34772013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/commands/verify.c: Add RSA support.
3480
a1dcc2cb
VS
34812013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3484 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3485 device is known to be ATAPI.
3486
ee7fb780
MF
34872013-11-03 Mike Frysinger <vapier>
3488
3489 * configure.ac: Don't add target-prefix.
3490
5ade4a42
VS
34912013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3494 variables.
3495
6cd66043
VS
34962013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3499 if language is English.
3500
090d7c81
VS
35012013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3504
dd614590
VS
35052013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * configure.ac: Don't add -m32/-m64 on emu.
3508
a8686589 35092013-11-02 neil
3510
3511 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3512 broken linux headers.
3513
fb9f12a0
VS
35142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3517
e25f8e1f
VS
35182013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3521 Reed-Solomon recovery if more than half of redundancy info is 0.
3522
4685200f
VS
35232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * util/grub-mount.c: Handle symlinks to directories.
3526
1397f0b5
VS
35272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3530 find_file recursively for symlink.
3531
8b3e6eb6
VS
35322013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * tests/util/grub-shell.in: Copy themes.
3535
a0c9d5c6
VS
35362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3539
5cf9459c
VS
35402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * configure.ac: Use 0x8000 for address instead of 8000.
3543
e7b66a28
VS
35442013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3547 signature.
3548
203f53fb
VS
35492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3552 variable.
3553
02663ee9
VS
35542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3557
f169f65e
VS
35582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3561 file_progress_read_hook.
3562 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3563
2855a0fc
VS
35642013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3567 and double.
3568
bf0f3a8c
VS
35692013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3572
cb72aa18
VS
35732013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Rewrite blocklist functions in order to get progress when
3576 reading large extents and decrease amount of blocklist hook calls.
3577
896f9135
VS
35782013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3581 of SI suffixes.
3582
89295a06
VS
35832013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 Support --base-clock for serial command to handle weird cards with
3586 non-standard base clock.
3587
eb03ede0
VS
35882013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3591 strncpy.
3592 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3593 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3594 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3595 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3596 + strcpy rather than strncpy.
3597
8fbe5c7d
VS
35982013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3601 (check_pool_label): Likewise. Fixes overflow.
3602 (nvlist_find_value): Fix comparison.
3603
e54b8f53
VS
36042013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3607 more appropriate functions.
3608
fa9b3dca
VS
36092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3612 realloc.
3613
9a021c55
VS
36142013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3617
80e8b13a
VS
36182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3621 on core size.
3622
b61599ac
VS
36232013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3626
a602dc54
VS
36272013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3630 (initialize_tables): reset tl and td to NULL after freeing.
3631
93c12075
VS
36322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3635
1ca4b75e
VS
36362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3639 of supported tags.
3640
329550c4
VS
36412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3644
00bfa988
VS
36452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3648 quirks.
3649
81afc5cc
VS
36502013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3653 a page in protected space.
3654
cb3c4a47
VS
36552013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3658 allocate space for zero-sized modules.
3659
954f7bf5
VS
36602013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3663
526d3d25
FL
36642013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3665
3666 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3667
74124c34
VS
36682013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3671 safeguards. Fixes a crash with i386/pc/console.c.
3672
5177391e
VS
36732013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3676 and grub_hostfs_init.
3677
64db14b0
VS
36782013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3681 windows method on other platforms without good stat as well.
3682
effe2036
VS
36832013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3686
82591fa6 36872013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3688
82591fa6
VS
3689 Make / in btrfs refer to real root, not the default volume.
3690 Modify mkrelpath to work even if device is mounted with subvolid option.
3691
36922013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3693
3694 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3695 extra_dist.
3696 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3697 extra_dist.
3698
30fd7198
VS
36992013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3702 fails.
3703
8d179dae
BC
37042013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3705
3706 * docs/autoiso.cfg: New file.
3707
3bc9c8cf
VS
37082013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3711 COND_GRUB_PE2ELF conditions.
3712
8b46b0ea
VS
37132013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3716 "vnd", "rd" and "fd" disks.
3717
442b86de
VS
37182013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 Move grub_disk_write out of kernel into disk.mod.
3721
04dea7e6
VS
37222013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3725 handling.
3726
37272013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3728
3729 * grub-core/kern/misc.c (grub_abort): Make static
3730
04dea7e6 37312013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3732
3733 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3734 transform invalid unicode codepoints.
3735
04dea7e6 37362013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3737
3738 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3739 \0 checking.
3740
03dcac7f
VS
37412013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3744
c81acb7f
VS
37452013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 Consolidate cpuid code.
3748
c1bee646
VS
37492013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 Move cpuid code to cpuid.h and TSC code to tsc.c.
3752
f37bf9c7
GS
37532013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3754
3755 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3756
4021132b
GS
37572013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3758
3759 * util/grub-mkconfig.in: Replace $0 with $self.
3760 * util/grub-reboot.in: Likewise.
3761 * util/grub-set-default.in: Likewise.
3762
3ace8d75
BC
37632013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3764
3765 * docs/osdetect.cfg: New file.
3766
1e6ad6a6
BC
37672013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3768
3769 * tests/util/grub-shell.in: Add new --debug option.
3770
188929eb
BC
37712013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3772
3773 * tests/test_unset.in: New test.
3774
7994a09a
BC
37752013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3776
3777 * tests/test_sha512sum.in: New test.
3778
2a8a7585
VS
37792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3782 * include/grub/misc.h: Remove strncat.
3783 * grub-core/lib/posix_wrap/string.h: Likewise.
3784
cf8d6bbd
VS
37852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3788 Try to handle more than 0xFFFF packets.
3789 Reported by: Bernhard Übelacker <bernhardu>.
3790 He also spotted few overflows in first version of this patch.
3791
6d1fc99a
VS
37922013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * tests/date_unit_test.c: New test.
3795
10bafa1c
VS
37962013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3799 of first three years after start of validity of unixtime.
3800
b1c6d037
VS
38012013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3804 division as the one making more sense.
3805 (update_screen): Likewise.
3806 (complete): Likewise.
3807
5f4028d4
VS
38082013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3811
a2856736
VS
38122013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 Make char and string width grub_size_t rather than grub_ssize_t.
3815
0a7e52b2
VS
38162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3819 unsigned.
3820 (grub_history_replace): Likewise.
3821
42829573
VS
38222013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3825 appropriate.
3826
3523b8d8
VS
38272013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3830 appropriate.
3831
d43c6489
VS
38322013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3835 Use unsigned divisions rather than signed variants.
3836
f690f8b0
VS
38372013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3840 unsigned arithmetics.
3841 Add missing break.
3842
74ff2c05
VS
38432013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3846
fb56391e
VS
38472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3850 rather than signed one.
3851 (recovery): Likewise.
3852
40f29060
VS
38532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3856
c64577a5
VS
38572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3860 than signed.
3861
c16535a8
JM
38622013-10-25 Jon McCune <jonmccune@google.com>
3863
3864 * docs/grub.texi: Cleanup security documentation around signatures.
3865
6673d8e7
VS
38662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3869
a105d375
VS
38702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3873 than int.
3874
af81ed88
VS
38752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3878 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3879 functions when compiling for kernel.
3880
ea899a57
VS
38812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3884 unsigned long long when using %llu.
3885
c6dc6fa1
VS
38862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3889 terminal after updating progress.
3890
ad2dc003
VS
38912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3894 argument. We don't disable Gate A20 in this code.
3895
b46684ae
VS
38962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3899 Conceptually based on change in branch "vbe-on-coreboot".
3900
f70d5c07
RM
39012013-10-24 Robert Millan <rmh@gnu.org>
3902
3903 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3904 numeric constants with their symbolic equivalent.
3905 Taken from branch "vbe-on-coreboot".
3906
bca274b4
VS
39072013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3910
238f0489
VS
39112013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3914 divmod64 for offset division.
3915
863c590b
PFS
39162013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3917
3918 Rename .bzrignore to .gitignore. Add "*.o" rule.
3919
3920 * .bzrignore: Renamed to...
3921 * .gitignore: ...this.
3922
84a0e969
PFS
39232013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3924
3925 Add new progress module that displays the load progress of files.
3926
3927 * grub-core/lib/progress.c: New file.
3928 * grub-core/Makefile.core.def (progress): New module.
3929 * grub-core/kern/file.c (grub_file_open): File name added.
3930 * (grub_file_read): Progress hook added.
3931 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3932 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3933 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3934 * include/grub/file.h (struct grub_file): Add progress module members.
3935 * include/grub/term.h (struct grub_term_output): Likewise.
3936 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3937 Terminal velocity added.
3938 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3939 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3940 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3941 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3942 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3943 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3944 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3945 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3946 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3947 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3948 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3949 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3950
0d711431
VS
39512013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 Verify signatures of signatures unless --skip-sig is specified.
3954
f8401f76
VS
39552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3958 \0 checking.
3959
3960 Saves 70 bytes on compressed image.
3961
ac1feb61
VS
39622013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3965 check.
3966
3967 Saves 10 bytes on compressed image.
3968
00f72e89
VS
39692013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/kern/misc.c (grub_isprint): Move to ...
3972 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3973
3974 Saves 20 bytes on compressed image due to remving exporting.
3975
067e6ae7
VS
39762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3979
3980 Saves 5 bytes on compressed image.
3981
64a6c791
VS
39822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3985 function get_utf8.
3986
3987 Saves 379 bytes on compressed image.
3988
979d9f52
VS
39892013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3992
1437da54
VS
39932013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3996
3997 Saves 40 bytes on compressed image.
3998
d9ee2269
VS
39992013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4002 mask rather than 64-bit type.
4003
4004 Saves 20 bytes on compressed image.
4005
63efa602
VS
40062013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4009 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4010
47601ffe
VS
4011 Saves 273 bytes on compressed image.
4012
2cc679ad
VS
40132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4016 variable length arrays.
4017
4018 Saves 50 bytes on compressed image.
4019
2e4659b8
VS
40202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4023
2a40badf
VS
40242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/fs/ufs.c: Remove variable length arrays.
4027
1ba6b9b9
VS
40282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4031
f3e39341
VS
40322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/fs/zfs.c: Remove variable length arrays.
4035 Reduces zfs.mod by 160 bytes (208 compressed).
4036
71523935
VS
40372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4040
28153eb8
VS
40412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/net/arp.c: Remove variable length arrays.
4044 * grub-core/net/bootp.c: Likewise.
4045 * grub-core/net/dns.c: Likewise.
4046 * grub-core/net/icmp6.c: Likewise.
4047 * grub-core/net/net.c: Likewise.
4048
88ce4cd7
VS
40492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/fs/ntfs.c: Remove variable length arrays.
4052 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4053 compressed).
4054
66123940
VS
40552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/fs/hfs.c: Remove variable length arrays.
4058 Reduces hfs.mod by 8 bytes (52 compressed).
4059
0927e5bd
VS
40602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 4063 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
4064 compressed).
4065
9c12ac97
VS
40662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 4069 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
4070 compressed).
4071
97ec2d71
VS
40722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 4075 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
4076 compressed).
4077
156e4ea0
VS
40782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/fs/xfs.c: Remove variable length arrays.
4081 Reduces xfs.mod by 40 bytes (43 compressed).
4082
3b502c29
VS
40832013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/fs/fshelp.c: Remove variable length arrays.
4086 Reduces fshelp.mod by 116 bytes (23 compressed).
4087
c7037f1d
VS
40882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/normal/completion.c: Remove variable length arrays.
4091 * grub-core/normal/menu_entry.c: Likewise.
4092
4093 Reduces normal.mod by 496 bytes.
4094
a07e6ad0
VS
40952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4098 by 356 bytes (158 compressed).
4099
2359bf88
VS
41002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4103 by 364 bytes (169 compressed).
4104
d28e1163
VS
41052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4108 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4109 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4110
e89c2d48
VS
41112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4114 bitmasks to small structures of size chosen to fit in registers.
4115
7abdac8e
VS
41162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * conf/Makefile.common: Use -freg-struct-return on i386. This
4119 decreases code size and improves performance.
4120
518864c0
VS
41212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4124
bbd2b539
VS
41252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4128 "(null)" string.
4129 Simplify expressions to save around 256 bytes in kernel.img.
4130 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4131
99519c15
VS
41322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4135 Use GRUB_UTIL_FD_O_* rather than O_*.
4136
20285765
VS
41372013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Add haiku-specific functions.
4140
887c0bb6
VS
41412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4144
cd78a56f
VS
41452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 Move stat () and device mode checking into OS-dependent files as
4148 long as performance doesn't suffer.
4149
a4012f07
VS
41502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 Split make_system_path_relative_to_its_root into separate file
4153 relpath.c from getroot.c as it's common between unix and haiku
4154 but otherwise haiku doesn't use any functions from unix getroot.c.
4155
31de274d
VS
41562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4159 New function.
4160 (grub_util_is_special_file): Likewise.
4161
40346de6
VS
41622013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4165 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4166
d3923ab9
VS
41672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4170 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4171
663f6eb1
VS
41722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4175 (load_image): Likewise.
4176
44d1c20a
VS
41772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * util/grub-render-label.c: Move backend part to ...
4180 * util/render-label.c: ... here.
4181
d0a116ee
VS
41822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4185 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4186
b47fcae6
VS
41872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4190
0f7c00c1
VS
41912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4194 CD-ROM in case when it's declared as having subpartitions.
4195
29013cba
VS
41962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Don't add -lm on haiku.
4199
4200 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4201 and empty on haiku.
4202 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4203 -lm.
4204
e8559d24
VS
42052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * configure.ac: Use -melf_*_haiku as target on haiku.
4208
8104063c
VS
42092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * Makefile.util.def: Add util/setup.c to extra_dist.
4212
fc3182c7
VS
42132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4216 unknown types through.
4217
f90a3cc0
VS
42182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4221 (grub_util_check_char_device): Likewise.
4222 * include/grub/emu/getroot.h: Likewise.
4223
1e3e7419
VS
42242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4227 memset rather than inline static function.
4228
92c88fc8
VS
42292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4232 not doing embedded decompressor.
4233
3cd910a2
VS
42342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4237 shadowing.
4238 * grub-core/kern/disk.c: Likewise.
4239 * grub-core/kern/misc.c: Likewise.
4240 * include/grub/parser.h: Likewise.
4241 * include/grub/script_sh.h: Likewise.
4242 * include/grub/zfs/zfs.h: Likewise.
4243
7b3aca00
VS
42442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4247
97dfe7e4
VS
42482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4251 defined before trying to use it.
4252
bf919aa9
VS
42532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4256 warning.
4257
f4ccf29d
VS
42582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4261 Use __unused__ rather than __used__ on gcc < 3.2.
4262
0d3a6f85
VS
42632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4266 gcc < 4.0.
4267 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4268
757e3eb7
VS
42692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4272
fb320faf
VS
42732013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4276 * include/grub/emu/misc.h: Likewise.
4277
ea73acd2
VS
42782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4281 cur_color.
4282
71237a6f
VT
42832013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4284
4285 * grub-core/tests/checksums.h: Regenerated due to progress bar
4286 get_minimal_size changes.
4287
3d46c22f
BC
42882013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4289
4290 Added `tr' command support.
4291
4292 * grub-core/commands/tr.c: New file.
4293 * grub-core/Makefile.core.def: Build rules for new module.
4294
4295 * tests/grub_cmd_tr.in: New test.
4296 * Makefile.util.def: Build rules for new test.
4297
47e0a61f
VT
42982013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4299
4300 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4301
946fd073
VT
43022013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4303
4304 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4305 * docs/gurb.texi: Likewise.
4306
9c13c576
VT
43072013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4308
4309 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4310 Pixmap highlighted section with east and west slices was displayed
4311 incorrectly due to negative width of the central slice.
4312
ad543f12
VT
43132013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4314
4315 * docs/grub.texi: Graphical options information update.
4316 Removed outdated. Updated current. Inserted missed.
4317
6176a0cd
VS
43182013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * docs/grub.texi: Mention few new platform-specific commands.
4321
9688cae2
VS
43222013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4325 currently used so this doesn't really have any effect.
4326 Reported by: Douglas Ray <dougray>
4327
f7b69a3f
VS
43282013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4331 compilation but prevents gcc from displaying messages in non-Latin
4332 alphabets.
4333 * conf/Makefile.common: Likewise.
4334
ceca6ddf
HY
43352013-10-16 Hiroyuki YAMAMORI
4336
4337 Handle Japanese special keys.
4338 Reported by: Hiroyuki YAMAMORI.
4339 Codes supplied by: Hiroyuki YAMAMORI.
4340
ac48d334
VT
43412013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4342
4343 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4344
b2b71bff
VT
43452013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4346
4347 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4348 * docs/grub.texi: Likewise.
4349
669fc449
VS
43502013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4353 value in case of incomplete read.
4354 (grub_util_fd_write): Likewise.
4355
59381678
VS
43562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4359
bacfefbb
VS
43602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * util/grub-editenv.c (create_envblk_file): More from here ...
4363 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4364
f7c49570
VS
43652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4368 canonicalize file name before doing the rest.
4369
7b83ca44
VS
43702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4373 mingw32.
4374
df1e64c9
VS
43752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Define grub_util_is_directory/regular/special_file and
4378 use OS-dependent versions rather than to rely on stat().
4379
ec16e026
VS
43802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * util/grub-mkimage.c: Move backend part to ...
4383 * util/mkimage.c: ... here.
4384
4b4eeb3c
VS
43852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 Allow compilation with mingw64 albeit with warnings due to lack of
4388 %llx/%llu.
4389
4390 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4391 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4392 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4393 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4394 on mingw64.
4395 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4396
f4e0adc0
VS
43972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Remove leftover references to some of the system headers.
4400
e0127364
VS
44012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4404 read.
4405
20d53541
VS
44062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4409 of strerror.
4410
5a869940
VS
44112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Split out blocklist retrieving from setup.c to
4414 grub-core/osdep/blocklist.c and add windows implementation since
4415 generic version doesn't work on NTFS on Windows due to aggressive
4416 unflushable cache.
4417
c06c7520
VS
44182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4421 files.
4422
8f53bb3f
VS
44232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4426 Cut tailing newline. Remove arbitrary limitation. Always use
4427 grub_util_tchar_to_utf8.
4428
148f1007
VS
44292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4432 * tests/printf_unit_test.c (printf_test): Add %% tests.
4433 Reported by: Paulo Flabiano Smorigo.
4434
af3b06be
VS
44352013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4438 implement fsync.
4439
27f9d02e
VS
44402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4443 use nvlist_lookup_string and don't use nvlist_print.
4444
f6a81f0a
VS
44452013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4448 closedir to handle filename charset translation.
4449
d7750b32
VS
44502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * include/grub/emu/hostdisk.h: Move file operations to
4453 * include/grub/emu/hostfile.h: ... here.
4454
2859196e
VS
44552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4458 unicode path.
4459
c018c968
VS
44602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4463
7e45abce
VS
44642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4467 and remove export.h.
4468
23934da2
VS
44692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/kern/emu/error.c: Removed.
4472 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4473 explicitly as it's already in libgnu.a.
4474
c11ebcc8
VS
44752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4478 config-util.h include.
4479
70671037
VS
44802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Split emunet into platform-dependent and GRUB-binding parts. Keep
4483 platform-dependent part in kernel for easy access to OS functions.
4484
25ac643a
VS
44852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4488 open/read/write.
4489
69ca5876
VS
44902013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/osdep/windows/emuconsole.c: New file.
4493
d9d68ef0
AB
44942013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4495
4496 * conf/Makefile.extra-dist: Add osdep/*/init.c
4497
58e211cc
VS
44982013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4501
588744d0
VS
45022013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * util/grub-probe.c (probe): Separate different drives in hint-str
4505 by spaces and not newlines.
4506 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4507
44016e52
AB
45082013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4509
4510 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4511 Handle CD-ROMs.
4512
6de9ee86
VS
45132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Pass-through unknown E820 types. It required reorganisation of mmap
4516 module.
4517
f8f3f155
AB
45182013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4519
4520 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4521
b73249d2
VS
45222013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4525 fseeko.
4526
dac86b18 45272013-10-14 qwertial <qwertial>
4528
4529 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4530
17614b84
JM
45312013-10-14 Jon McCune <jonmccune@google.com>
4532
4533 * docs/grub.texi: Document new signatures possibility.
4534
6de292cb
VS
45352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4538
84379b61
VS
45392013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4542 missing prototype.
4543 (grub_util_tchar_to_utf8): Likewise.
4544
21d85db1
VS
45452013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4548 * grub-core/kern/emu/main.c: Add missing include.
4549 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4550 Don't call grub_util_init_nls.
4551 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4552 Likewise.
4553
66a1b3ee
VS
45542013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4557 stat.
4558
e19bec17
VS
45592013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4562
ee8c1b29
VS
45632013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4566
bb338aaf
VS
45672013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 Add a wrapper for fopen. On unix-like systems just pass-through. On
4570 windows use unicode version.
4571
ae5540d3
VS
45722013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Move set_program_name and init_nls to host_init. On windows
4575 fix in this fuction console and argument charset as well.
4576
4cd3c4fe
AB
45772013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4578
4579 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4580 GRUB_ENABLE_CRYPTODISK.
4581
4582 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4583 GRUB_ENABLE_CRYPTODISK.
4584 * util/grub-mkconfig_lib.in: Likewise.
4585
78170f3e
CCZ
45862013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4587
4588 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4589
3414b6c0
MC
45902013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4591
4592 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4593 error when enabling debug.
4594
6d0740e8
IB
45952013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4596
4597 * configure.ac: Use -melf_*_obsd on openbsd.
4598
ff2d4dc4
VS
45992013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4602
eac6ae82
VS
46032013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * include/grub/misc.h: Use gnu_printf rather than printf as format
4606 template since our functions are independent of libc.
4607
ba9baabe
VS
46082013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * util/grub-setup.c (setup): Move copying of partition table as
4611 futher up as possible to avoid possible overwrite by floppy routines.
4612
46132013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4614
4615 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4616
145e2369
VT
46172013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4618
4619 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4620 * docs/grub.texi: Likewise.
4621
3530bc9d
VS
46222013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4625 it's mostly unused. Move vestiges to the callers.
4626
fb9f59c3
VS
46272013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4630 version of salt and hash. Use grub_snprintf rather than snprintf.
4631
9be1c255
VS
46322013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * docs/grub.texi: Fix problem with braces.
4635
ed8c0887
VS
46362013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * conf/Makefile.extra-dist: Fix extra-dist list.
4639 * grub-core/Makefile.core.def: Likewise.
4640
f72ab14e
VS
46412013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * docs/grub.texi: Document disk names used on Windows and AROS.
4644
2fe53a22
VS
46452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4648 with AROS devs.
4649 * grub-core/osdep/aros/hostdisk.c: Likewise.
4650
71c1d67a
VS
46512013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Avoid including hostfile.h when not necessarry as it pulls
4654 in OS-specific headers which may redefine generic names
4655 like "far".
4656
ad297ec7
VT
46572013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4658
4659 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4660 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4661 scrollbar_bottom_pad
4662 * docs/grub.texi: Likewise.
4663
6e9e5dc9
VT
46642013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4665
4666 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4667
761c718b
VS
46682013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4671
37149a2f
VS
46722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4675 Removed.
4676 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4677 Made static.
4678
3837a151
VS
46792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4682 leftover.
4683
caca1c70
VS
46842013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Move OS-specific driver configuration to grub_util_fd_open. This
4687 moves OS-dependent parts from kern/emu/hostdisk.c to
4688 grub-core/osdep/*/hostdisk.c.
4689
f7676b70
VS
46902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * util/grub-mkimage.c (generate_image): Use size_t instead of
4693 grub_size_t.
4694 * util/grub-mkimagexx.c (locate_sections): Likewise.
4695 (load_image): Likewise.
4696
22f98db2
VS
46972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4700 size_t.
4701 (grub_util_write_image): Likewise.
4702
b102ce69
VS
47032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4706 get random when no RNG is available.
4707 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4708
acbbe5cb
VS
47092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * include/grub/util/lvm.h: Removed.
4712
2112fb3f
VS
47132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4716 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4717
79f78fbf
VS
47182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4721
c2e6f705
VS
47222013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4725
aabe433a
VS
47262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * grub-core/net/drivers/emu/emunet.c: Move to ..
4729 * grub-core/osdep/linux/emunet.c: ..here.
4730
9a2c903f
VS
47312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/ieee1275/ofpath.c: Move to ...
4734 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4735 * grub-core/osdep/basic/ofpath.c: ..here.
4736
4a445f58
VS
47372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Move password-querying (util-version) routines to grub-core/osdep.
4740
c1ca4244
VS
47412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Move sleep routines to grub-core/osdep.
4744
672fa55e
VS
47452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 Move OS-dependent files to grub-core/osdep and document it.
4748
a5b0365a
VS
47492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4752 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4753
29072e99
VS
47542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4757
f8772ea7
VS
47582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * util/misc.c: Remove leftover inclusion of malloc.h.
4761
a1a315e7
VS
47622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * include/grub/setjmp.h: Remove leftover GRUBOF.
4765
cef86fef
VS
47662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * util/raid.c: Fold into ...
4769 * util/getroot_linux.c: ... here. Make all functions static.
4770
c4cf25ee
VS
47712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4774 macros to GRUB ones.
4775
53a5f5c2
VT
47762013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4777
4778 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4779 occasional bug. If there are too many boot entries or too low
4780 scrollbar height then we need to use another formula to calculate
4781 the position and size of the scrollbar thumb.
4782
de300af2
VS
47832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4784
c4cf25ee 4785 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4786
c5827364
VT
47872013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4788
4789 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4790 * docs/grub.texi: Likewise.
4791
dd2ed8b0
VT
47922013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4793
4794 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4795 viewport.
4796
7286c384
VT
47972013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4798
ffdfc1f3
VT
4799 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4800 minimal width calculations.
7286c384 4801
ea547e14
VS
48022013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * docs/grub.texi: Update note on colors on emu console.
4805
b726be76
VS
48062013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4809 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4810 it's FS and not GRUB limitation.
4811
a5f6ade6
VS
48122013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4815
3b0f3aa2
VS
48162013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4819
1db38304
ST
48202013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4821
4822 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4823 kernels by version order.
4824
fb295fc0
VS
48252013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4828
47345010
VS
48292013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Add AROS hostdisk and getroot routines.
4832
bf25f879
VS
48332013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Make cryptodisk and diskfilter probe data retrievable programmatically
4836 and not just printable.
4837
24ca4512
VS
48382013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Split random retrieving code into separate files.
4841
c7c177f0
VS
48422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4845 R_ARM_V4BX.
4846
d71b45ae
VS
48472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4850 condition.
4851 * grub-core/tests/fake_input.c: Likewise.
4852 * grub-core/tests/cmdline_cat_test.c: Likewise.
4853
e44b9a83
VS
48542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/video/capture.c: Do not do finalization when .fini
4857 is called as there is explicit capture_end.
4858
4fa60739
VS
48592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4862 changing windows to avoid crash.
4863
17c8bc37
VS
48642013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4867
9d4d7977
VS
48682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * po/exclude.pot: Add several strings to exclude.
4871
0caa407c
VS
48722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4875
9ae393da
VS
48762013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4879 ./util/grub-gen-asciih.c to exclude list.
4880
498d5033
VS
48812013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4884 and don't mark error strings for translation.
4885
7d93298f
VS
48862013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4889 properly in case of missing block size.
4890
b2cae20c
VS
48912013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/lib/arm/setjmp.S: Add missing license section.
4894
3896d6b4
VS
48952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * po/swiss.sed: Add replacement for key names and for term computer.
4898
ebc1da55
VT
48992013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4900
4901 * grub-core/gfxmenu/theme_loader.c: New global options for the
4902 theme background image handling. desktop-image-scale-method,
4903 desktop-image-h-align, desktop-image-v-align.
4904 * grub-core/gfxmenu/view.c: Likewise.
4905 * include/gfxmenu_view.h: Likewise.
4906 * include/bitmap_scale.h: Proportional scale functions introduced.
4907 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4908 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4909 cases of unexpected input variables for scale functions.
4910 * docs/grub.texi: Updated documentation for new options.
4911
c5739143
VS
49122013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4915
be74aeb3
VT
49162013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4917
4918 * grub-core/tests/checksums.h: Corrected due to changes in
4919 bilinear interpolation function.
4920
d999ac72
VT
49212013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4922
4923 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4924 to eliminate artefacts in bilinear interpolation.
4925
2b131610
VS
49262013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/video/readers/tga.c: Support paletted tga.
4929
de6e5ff8
VS
49302013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4933 incorrect cbcr setting when in color mode.
4934
fa31ee9c
VS
49352013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/video/readers/png.c: Support paletted images and clean up
4938 greyscale support.
4939
e84f8188
VS
49402013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4943 usage of wrong table which resulted in mishandling of 4-byte
4944 sequences.
4945
49462013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4947
4948 * grub-core/term/terminfo.c: Add Home and End key sequences.
4949
d72bff09
VS
49502013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4953 Fix formula for computing total number of bytes.
4954
29648c5d
VS
49552013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4958 image processing, fix big-endian and support grayscale.
4959
4a876492
VS
49602013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4963 Correctly will with maximum transparency when using index color.
4964
3ccf16df
VS
49652013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/video/readers/png.c: Support grayscale
4968
49692013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4970
4971 * grub-core/video/readers/jpeg.c: Support grayscale.
4972
3ccf16df 49732013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4974
4975 * grub-core/commands/loadenv.c: Support skipping signature check
4976 and variable names filtering.
4977
30b7f58f
VS
49782013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4981 * grub-core/kern/emu/hostfs.c: Likewise.
4982 * util/getroot_unix.c: Likewise.
4983
bab7b1eb
VS
49842013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4987 Migrate all explicit defines to this new one.
4988
43b1c99d
VS
49892013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4992 grub_util_fd_strerror when using grub_util_fd_*.
4993 (grub_util_fd_open_device): Likewise.
4994 (grub_util_biosdisk_read): Likewise.
4995 (grub_util_biosdisk_write): Likewise.
4996 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4997 (grub_util_fd_strerror): Likewise.
4998 (grub_util_fd_sync): Likewise.
4999 (grub_util_fd_close): Likewise.
5000 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5001 (grub_util_fd_close): Likewise.
5002 (grub_util_fd_strerror): Likewise.
5003 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5004 function proto rather than macro.
5005 (grub_util_fd_sync): Likewise.
5006 (grub_util_fd_open): Likewise.
5007 (grub_util_fd_strerror): New proto.
5008
e8fd80bc
VS
50092013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5012 platforms on which it doesn't work.
5013
bf645fda
VS
50142013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5017 stat immediately to where it's used.
5018
5177ba14
VS
50192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * util/getroot.c (grub_util_check_block_device): Move to ...
5022 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5023 * util/getroot.c (grub_util_check_char_device): Move to ...
5024 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5025
9db826e1
VS
50262013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5029 disk closing logic.
5030
49120085
AB
50312013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5032
5033 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5034
b3328b68
AB
50352013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5036
5037 * docs/grub.texi (File name syntax): Document ZFS filenames
5038 (/volume@snapshot/...).
5039
3fff48ab
VS
50402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5043 Always return full path. Fixes a problem with mkrelpath.
5044
39cfdaa9
PFS
50452013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5046
5047 * util/grub-install.in: Add GPT PReP support.
5048 * util/grub-probe.c (probe): Support GPT partition type.
5049 (main): Support -t gpt_parttype.
5050
7c680e1f 50512013-09-23 Aleš Nesrsta <starous@volny.cz>
5052
5053 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5054
890bdabe
MM
50552013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5056
5057 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5058
9c262ff9
TH
50592013-09-23 Tim Hardeck <thardeck>
5060
5061 * util/grub.d/10_hurd.in: Filter out character for the class.
5062 * util/grub.d/10_kfreebsd.in: Likewise.
5063 * util/grub.d/10_linux.in: Likewise.
5064 * util/grub.d/20_linux_xen.in: Likewise.
5065
d755342a
MC
50662013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5067
5068 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5069 "changed".
5070
68b77707
JT
50712013-09-23 Josh Triplett <josh@joshtriplett.org>
5072
5073 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5074 boot partition.
5075
efa68bfa
VS
50762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5079 doesn't use posix_wrap. Keep literal -fno-builtin however.
5080
d9104204
VS
50812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5084
c248781a 50852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50862013-09-23 neil
5087
5830df88 5088 * configure.ac: Do not enable -Wmissing-noreturn as its
5089 usefulness is limited and creates problems on some OS notably with
5090 code generated by bison.
5091
50922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
50932013-09-23 neil
5094
5095 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 5096 supported by all gcc and when it is, it's already enabled by -Wall.
5097
621bed69
VS
50982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5101 desactivated use of EDID at all.
5102
71764dc8 51032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51042013-09-23 neil
5105
5106 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5107 video if no text is available.
5108
affce7d4 51092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
51102013-09-23 neil
5111
5112 * configure.ac: Substitute TARGET_RANLIB.
5113
51142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51152013-09-23 neil
affce7d4
VS
5116
5117 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5118
5119 Based on patches from AROS.
5120
0e8daad0 51212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 51222013-09-23 neil
0e8daad0
VS
5123
5124 * grub-core/Makefile.am: Override STRIP and RANLIB.
5125 * configure.ac: compute TARGET_RANLIB.
5126 * INSTALL: Document TARGET_RANLIB
5127
5128 Based on patches from AROS.
5129
3f7d9c82
VS
51302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5133 that floppies are unpartitioned.
5134
bca8873a
VS
51352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5138 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5139
51402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5143 less nice but more portable.
5144 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5145
a47a78be
VS
51462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5149 for cheat_fd.
5150 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5151 functions.
5152 (grub_cryptodisk_cheat_insert): Likewise.
5153 (grub_cryptodisk_close): Likewise.
5154
e85a5d5c
VS
51552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5158 Use windows path for DEFAULT_DIRECTORY.
5159
dad9fa6b
VS
51602013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5163 difference was likely just gcc version, not anything mingw-related.
5164
7e518ca8
VS
51652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 Use Winapi on both cygwin and mingw32 to share more code between both.
5168
d68d0157
AB
51692013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5170
5171 * util/grub-install.in: Add --grub-editenv option.
5172 * util/grub-install_header (grub_compress_file): Explicitly check for
5173 plain file to avoid cp error.
5174
775b284d
AB
51752013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5176
5177 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5178 names; fix LVM driver name (lvm, not lv).
5179 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5180 names.
5181
3ff4063d
VS
51822013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5185 files rather than one file with loads of #if's.
5186 * util/getroot.c: Likewise.
5187
287faafe
VS
51882013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5191
d1983764
VS
51922013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5195 GNU/Hurd to the list of checked PRNG.
5196
15ce95c4
VS
51972013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5200
207862dd 52012013-09-21 Ales Nesrsta <starous@volny.cz>
5202
7c680e1f 5203 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 5204
63653cfd
VS
52052013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5208 * grub-core/disk/lvm.c: Add LVM UUIDs.
5209 * util/getroot.c: Use LVM UUIDs whenever possible.
5210
f5d3e7ef
AB
52112013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5212
5213 * docs/grub.texi (Networking commands): Add documentation for
5214 network related commands.
5215
53c6b7d6
VS
52162013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5219 to determine if device is handled by devmapper.
5220 (convert_system_partition_to_system_disk): Likewise.
5221 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5222 already done in grub_util_open_dm.
5223
e70d6736
LL
52242013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5225
5226 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5227 Clean up stack manipulation (sync_caches_armv*)
5228
90379808
VS
52292013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * util/lvm.c: Remove since unused. Remove remaining references.
5232
386701a8
VS
52332013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 Handle the case of partitioned LVM properly.
5236
5237 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5238 Stop on meeting LVM, mpath or DMRAID.
5239 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5240 (read_device_map): Likewise.
5241 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5242 device is full disk rather than erroring out on LVM and similar cases.
5243
53070787
VS
52442013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5247
1bc783bd
VS
52482013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5251 4K before the end.
5252 Reported by: Leif Lindholm
5253
436ad5c3
PW
52542013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
52552013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5258 codes.
5259
607319c9
CW
52602013-09-18 Colin Watson <cjwatson@ubuntu.com>
5261
5262 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5263 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5264
d404d154
DR
52652013-09-18 Douglas Ray <dougray@cpan.org>
5266
5267 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5268 as secure.
5269
28851ef6
AN
52702013-09-18 Aleš Nesrsta <starous@volny.cz>
5271
5272 * docs/grub.texi: Fix broken link.
5273
897c3bc6
MC
52742013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5275
5276 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5277 to break endless loop.
5278
f1630459
VS
52792013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * util/grub-fstest.c: Fix several printf formats.
5282 * util/grub-mkimage.c: Likewise.
5283 * util/grub-mkimagexx.c: Likewise.
5284 * util/grub-script-check.c: Likewise.
5285
64463dfd
VS
52862013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5289 error.
5290
48972495
VS
52912013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5294
5dd5e64b
VS
52952013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5298 removed in current versions cygwin_conv_*.
5299
1c1f31e5
VS
53002013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * configure.ac: Disable efiemu runtime on cygwin.
5303
c546a259
VS
53042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5307 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5308
81690478
VS
53092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5312 error message.
5313
6b87c10a
VS
53142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5317 windows variant.
5318 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5319 data.
5320
8f0baaac
VS
53212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5324 when on x86 and not cygwin.
5325 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5326 -Wl,-melf_x86_64.
5327
b224c266
VS
53282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * configure.ac: Set CPP to build one when checkoing for freetype for
5331 build.
5332
506b336b
VS
53332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5336 [!GRUB_BUILD]: Remove has_argument.
5337
8c8c87b7
VS
53382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5341 Replace with a dummy.
5342
7dc5ca13
VS
53432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * configure.ac: Don't change host_os from mingw to cygwin.
5346
c3302aa5
VS
53472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * configure.ac: Change target_os from windows to cygwin.
5350
7b780018
VS
53512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5354
5355 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5356 (build-grub-gen-asciih): Likewise.
5357 (build-grub-gen-widthspec): Likewise.
5358 * Makefile.util.def (grub-pe2elf): Remove.
5359 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5360 * configure.ac: Separate tests for build.
5361 Move ./build-grub-pe2elf to grub-core.
5362 Fix typo.
5363 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5364 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5365 defined.
5366 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5367 constants.
5368 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5369 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5370 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5371
984cfd8a
VS
53722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5375 mingw32 as well based on grub_util_get_disk_size.
5376 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5377 grub_util_get_fd_size.
5378 (sync): Removed.
5379 (fsync): Moved to ...
5380 * grub-core/kern/emu/misc.c (fsync): ... here.
5381
f82d79c9
VS
53822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * include/grub/mm.h (grub_extend_alloc): Remove.
5385 * grub-core/loader/i386/pc/plan9.c: Use own version of
5386 grub_extend_alloc with appropriate types.
5387
fd7dd66d
VS
53882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5391
43ffba7c
VS
53922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5395
3c7eac44
VS
53962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 Fix dependencies on cygwin.
5399
5400 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5401 dependencies when used and defined.
5402 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5403
bdb5ba47
VS
54042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5407 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5408
ed7fbf43
VS
54092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5412 implementation available to cause compile-time rather than runtime
5413 error.
5414
fc46e9fc
VS
54152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub-fstest.c: Don't check for symlinks on windows.
5418
7f68269a
VS
54192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * INSTALL: Mention unavailability of man pages when cross-compiling.
5422
8ed358e0
VS
54232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5426 and gcry_log_bug.
5427 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5428
fc97214f
VS
54292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * INSTALL: Document cross-compilation.
5432 * acinclude.m4: Determine whether nm support -P and --defined-only.
5433 * configure.ac: Add TARGET_ to all variables pertaining to target
5434 that don't have it yet.
5435 * gentpl.py: Likewise.
5436 * grub-core/Makefile.am: Likewise.
5437 * grub-core/genmod.sh.in: Likewise.
5438 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5439 as well.
5440
ca1fb563
IB
54412013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5442
5443 * configure.ac: Remove -Wempty-body. It's not essential and needs
5444 recent gcc.
5445
0031b229
IB
54462013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5447
5448 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5449 * util/getroot.c: Likewise.
5450
54ea2f44
VS
54512013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * grub-core/disk/ahci.c: Add needed explicit cast.
5454 * grub-core/lib/backtrace.c: Likewise.
5455 * grub-core/net/ip.c: Likewise.
5456 * grub-core/net/tcp.c: Likewise.
5457 * grub-core/net/udp.c: Likewise.
5458
3c601f8c
VS
54592013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5462
1d679dda
VS
54632013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * util/import_gcry.py: Add final newline in visibility.h.
5466
00c28dd9
VS
54672013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * conf/Makefile.common: Fix typo.
5470
32af299a
VS
54712013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5474
e733cf52
VS
54752013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * Makefile.am (widthspec.h): Fix typo.
5478 * util/grub-gen-widthspec.c: Likewise.
5479
c6b066f2
VS
54802013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 Move ascii.h and widthspec.h generation to a separate build-time-only
5483 tool.
5484
ad1fe3f9 54852013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5486
5487 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5488 Always fill bootdisk info and improve check for NetBSD disklabel.
5489
92a52dd4
VS
54902013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * conf/Makefile.extra-dist: Add util/bin2h.c.
5493 Reported by: floppym.
5494
b2e9d276
VS
54952013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5498
7b966834
VS
54992013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * configure.ac: Disable unifont and starfield if no freetype was found.
5502
d5c1eef1
VS
55032013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5506 on NetBSD and OpenBSD.
5507
66345b50 55082013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5509
5510 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5511
66345b50 55122013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5513
5514 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5515 reduced. Inheritant options are processed during the theme loading.
5516
66345b50 55172013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5518
5519 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5520
369508b3
AS
55212013-08-14 Avik Sil <aviksil@in.ibm.com>
5522
5523 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5524
55252013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5526
5527 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5528 using qemu.
5529
6f27a3f6
PFS
55302013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5531
5532 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5533 remove-potcdate.sed.
5534
c6ed362a
AB
55352013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5536
5537 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5538 unused attribute from pull argument.
5539
5e7d9464
AB
55402013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5541
5542 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5543 memory leak.
5544
dea55e2a
AB
55452013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5546
5547 * util/getroot.c (pull_lvm_by_command): add --separator option
5548 to vgs call to disable padding of output to 10 characters.
5549
f0b94ded
VS
55502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5553 here ...
5554 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5555 here.
5556
b828fb5d
VS
55572013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5560 length.
5561
7c9d0c39
VS
55622013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5565 full Canadian cross. Tested with build=x86_64, host=arm,
5566 target=ppc-ieee1275.
5567
816719c8
VS
55682013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * configure.ac: Error if no $BUILD_CC could be found.
5571 Reported by: DevHC.
5572
2af2353b
VS
55732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5576 i386-multiboot.
5577
797abd0a
VS
55782013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5581 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5582
36e87d25
CW
55832013-08-13 Colin Watson <cjwatson@ubuntu.com>
5584
5585 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5586 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5587 falling back to the partition device, otherwise a later call to this
5588 function may fail spuriously.
5589 Reported by Axel Beckert. Fixes Debian bug #708614.
5590
273349fe
GS
55912013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5592
5593 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5594
418f86c6
GS
55952013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5596
5597 Prevent shadowing of stdlib's devname(3) on BSD.
5598
5599 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5600 and devlast to diskname and disklast, respectively.
5601
c137aea0
CW
56022013-08-11 Colin Watson <cjwatson@ubuntu.com>
5603
5604 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5605
272dc8df 56062013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5607
5608 * docs/grub.texi: Introduce terminal window position options:
5609 terminal-left: terminal window's left position
5610 terminal-top: terminal window's top position
5611 terminal-width: terminal window's width
5612 terminal-height: terminal window's height
5613 terminal-border: terminal window's border width
5614 * grub-core/gfxmenu/theme-loader.c: Likewise.
5615 * include/grub/gfxmenu_view.h: Likewise.
5616 * po/exlude.pot: Likewise.
5617 * grub-core/gfxmenu/view.c: Likewise.
5618 Also updated minimal window size.
5619 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5620 * grub-core/tests/checksums.h: Update (terminal window height
5621 is adjusted now for low resolution screen)
b4743461 5622
748a4533
VS
56232013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5626 position).
5627
fca5f944
VS
56282013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * po/exclude.pot: Add few recent exceptions.
5631
4f47d809
VS
56322013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * tests/grub_func_test.in: Add unicode.pf2.
5635
a62ae90c
VS
56362013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5639 standard rather than noral color, in line with other terminals.
5640
4ed41392
VS
56412013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5644 analysis.
5645
3719fbc5
VS
56462013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5649
459b1d91
VS
56502013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5653 inappropriate printf.
5654
f4e1ab9d
AB
56552013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5656
5657 * .bzrignore: Remove grub-core/lib/dtc-grub,
5658 grub-core/Makefile.libfdt.def
5659 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5660
fa471bfa
VS
56612013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * include/grub/video.h (grub_video_register): Keep double-linked as
5664 well as single-linked invariants.
5665 Reported by: qwertial.
5666
d65be02b
VS
56672013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/commands/nativedisk.c (get_uuid): Handle
5670 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5671
ba8bc620
VT
56722013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5673
5674 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5675 maximum of NW, N, NE heights instead of N's height and maximum of
5676 NW, W, SW widths instead of W's width. (So the box will be always
5677 correctly drawn)
5678
4f0ad029
GS
56792013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5680
5681 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5682 Fix misuse of variable count.
5683
43d53b72
LL
56842013-07-18 Leif Lindholm <leif.lindholm@arm.com>
56852013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
56862013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5687
43d53b72
LL
5688 New ports to arm-uboot and arm-efi.
5689 Mostly by Leif Lindholm with some additions from
5690 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5691
88f8d146
VS
56922013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5695 and not before.
5696 Reported by: Leon Drugi.
5697
3f42504c
VS
56982013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5701 Reported by: Paulo Flabiano Smorigo.
5702
d110499b
VT
57032013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5704
5705 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5706
a8674ad3
VT
57072013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5708
5709 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5710
286fe4b3
VS
57112013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5714
1bd57aa3
VS
57152013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5718
7a87d69f
AB
57192013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5720
5721 * grub-core/net/bootp.c: Export net_* variables.
5722 * grub-core/net/net.c: Likewise.
5723
b2182299
VS
57242013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5727
795b3dc0
VS
57282013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5731
68714c43
VS
57322013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5735
af211bab
VS
57362013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5739
0036f02d
MM
57402013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5741
5742 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5743 <= 0.
5744
6d0ddff3
MM
57452013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5746
5747 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5748 functions.
5749
038016f4
MM
57502013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5751
5752 * grub-core/fs/zfs/zfs_lz4.c: New file.
5753 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5754
776bdce2
MM
57552013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5756
5757 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5758
c71dbd40
MM
57592013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5760
5761 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5762 (check_pool_label): Likewise.
5763 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5764
57652013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5766
5767 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5768
8e67b50f
AB
57692013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5770
5771 * docs/grub.texi (Commands): Document postition parameters
5772 for menuentry command.
5773
f5ae3717
AB
57742013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5775
5776 * util/grub-mknetdir.in: Remove stray line from help output.
5777
9c28da2a
VS
57782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 Remove early sm712 init as there is no reason for it (the "watchdog"
5781 effect was due to wrong GPIO map).
5782
139072b8
VS
57832013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/commands/pcidump.c: Remove static variables.
5786
c6a61bda
VS
57872013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5790
51369614
VS
57912013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * configure.ac: Move delimiter after the infos.
5794
efa8640a
VS
57952013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5798
6f80a7b2
VS
57992013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5802 not filling whole 8x16 space.
5803
a2371e19
VS
58042013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5807
64fce2d8
VS
58082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * configure.ac: Indicate which liblzma is used if any.
5811
eb272d84
PW
58122013-06-21 Paul Wise <pabs3@bonedaddy.net>
58132013-06-21 Craig Sanders <savannah@taz.net.au>
5814
5815 * util/grub-reboot.in: Document submenu usage.
5816
a9e5abee
CW
58172013-06-25 Colin Watson <cjwatson@ubuntu.com>
5818
5819 * .bzrignore: Update with a number of new test-related files.
5820
e639c204
CW
58212013-06-25 Colin Watson <cjwatson@ubuntu.com>
5822
5823 * util/grub-script-check.c: Fail on scripts containing no
5824 commands, to guard against corrupted grub-mkconfig setups that
5825 produce no useful output.
5826 * tests/grub_script_no_commands.in: New test.
5827 * Makefile.util.def (grub_script_no_commands): Add.
5828 Reported by Hans Putter. Fixes Debian bug #713886.
5829
a4c89b17
AB
58302013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5831
5832 * grub-core/disk/diskfilter.c: Forgot to remove comment
5833 from previous commit.
5834
5b06b53c
AB
58352013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5836
5837 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5838 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5839
702da5c9
AB
58402013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5841
5842 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5843
aa62a5b7
AB
58442013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5845
5846 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5847 rescan diskfilter devices until nothing new is found.
5848
4aa237c8
VS
58492013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5852
93d8479b
VS
58532013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Don't try to detect cbfs on *-emu.
5856
837222cc
VS
58572013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5860
99c971af
VS
58612013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 Add support for processed coreboot payload chainloading.
5864
e6930a45
VS
58652013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 Enable coreboot information commands even when not loaded as
5868 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5869
5027af38
VS
58702013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 Support for cbfs. Also factor out the part which is common
5873 for all archives to a separate module. This splits tar from cpio
5874 as they are very different but keeps cpio, cpio_be, odc and newc
5875 together since they're very similar.
5876
a5b55c4b
DM
58772013-06-15 David Michael <fedora.dm0@gmail.com>
5878
5879 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5880 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5881
0301a8b3
VS
58822013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * tests/grub_script_eval.in: Really add the eval test.
5885
3d84cb17
VS
58862013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 Move flavour-specific parts out of common cpio.c file and
5889 rename remaining to cpio_common.c
5890
593e430c
AB
58912013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5892
5893 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5894 off new function grub_script_execute_new_scope. Change callers to use
5895 either of them as appropriate.
5896 * grub-core/commands/eval.c: New command eval.
5897 * docs/grub.texi (Commands): Document it.
5898
63c29849
AB
58992013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5900
5901 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5902 to fetch values when listing.
5903
cc284112
AB
59042013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5905
5906 Fix make dist on non-pc.
5907
59082013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5909
5910 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5911 without a device name.
5912
69544d1e
VS
59132013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Remove enable_executable_check as it's not needed anymore.
5916 Reported by: dougray.
5917
96dbe648
VS
59182013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5921 ambigouos RAID before discovering RAIDs on top of it.
5922 Reported by: bodom.
5923
ccfc0bdb
VS
59242013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Fix typo (failback vs fallback).
5927
f2587088
AB
59282013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5929
5930 * util/grub.d/30_os-prober.in: Add support for probing EFI
5931 System Partition (as of os-prober 1.58).
5932
cec5cf0c
VS
59332013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * configure.ac: Add yet another path to unifont. For parabola.
5936
e40b4596
JT
59372013-05-30 Josh Triplett <josh@joshtriplett.org>
5938
5939 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5940 handling to copy the killed characters to the kill buffer as
5941 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5942 stored as char. Eliminates UCS4 truncation and corruption
5943 observed when killing characters with Ctrl-u and yanking them
5944 back with Ctrl-y.
5945
fc4c4fdd
VS
59462013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Detach optional parts of gfxterm and integrate in with coreboot init.
5949
6570b205
VS
59502013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Move blit and fill dispatcher to appropriate files to decrease export
5953 and relocation overhead.
5954
b8323067
VS
59552013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5958 functions.
5959
3cc1878f
VS
59602013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/Makefile.am: Fix compilation problem with some
5963 automake versions.
5964
4b80e43c
VS
59652013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5968
57e0c20c
VS
59692013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5972 automake versions.
5973
4fd42c53
VS
59742013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5977 SSDT.
5978
1e908b34
RS
59792013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5980
5981 * grub-core/partmap/dfly.c: New partition map.
5982
1359e474
VS
59832013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5986 checking.
5987 Reported by: Francesco Lavra.
5988
17806392
AB
59892013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5990
5991 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5992 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5993 false conditions.
5994 * conf/Makefile.common: define dist_grubconf_DATA
5995
cdce14fa
VS
59962013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Progressively skip menu elements on small terminals rather
5999 than crashing.
6000
c8d6cc3c
VS
60012013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6004 to avoid losing last column.
6005
a73b31ce
VS
60062013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * po/exclude.pot: Add missing string "%C".
6009
1202c764
VS
60102013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6013 after the test.
6014
50268344
VS
60152013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * util/grub-install.in: Gettextize "Not found" message.
6018
62b15edf
VS
60192013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 Fix distfiles list.
6022 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6023
60242013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
6025
6026 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6027 present.
6028 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6029
709ad61b
VS
60302013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6033
d128901a
VS
60342013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6037 attribute since structure is not necessarily aligned.
6038
34b22f5c
AB
60392013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6040
6041 * docs/grub.texi (Device syntax): Clarify description of network
6042 drives.
6043
0f7e980b
VS
60442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6047 for vasprintf presence.
6048
30b03dc2
VS
60492013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * util/grub-install.in: Handle efibootmgr presence check.
6052 Reported by: Leif Lindholm.
6053
0dc11c08
VS
60542013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6057 new strings to translate.
6058
f8024c3f
VS
60592013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6062 yet another string (pun intended) to translate.
6063
b4c1da62
VS
60642013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * po/POTFILES-shell.in: Autogenerate it.
6067
0ef7478b
VS
60682013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6071
8200fa15
VS
60722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6075 misnomer.
6076
091945b2
AB
60772013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6078
6079 * docs/grub.texi (Network): Add description of net_default_interface,
6080 net_default_ip and net_default_mac. Rewrite variables description
6081 to emphasize that they are per-interface.
6082
0e7b2e32
VS
60832013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 New test: cmdline and cat.
6086
16f7c8f6
VS
60872013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/commands/cat.c: Show UTF-8 characters.
6090
3e912fda
VS
60912013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * conf/Makefile.common: Poison float and double on non-emu.
6094
ee0220bc
VS
60952013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * configure.ac: Don't disable extended registers on emu.
6098
89e0240c
VS
60992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * configure.ac: Don't use extended registers on x86_64.
6102 Reported by: Peter Jones.
6103
e56d9637
VS
61042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/term/efi/console.c: Fix compile error.
6107
8098f655
VS
61082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 Compressed HFS+ support.
6111
16940e07
VS
61122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6115 pixel".
6116
c5dbc13d
VS
61172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 Menu color test.
6120
011f8ae8
VS
61212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/tests/setjmp_test.c: New test.
6124
2aa072d7
VS
61252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 New variables 'net_default_*' to determine MAC/IP of default interface.
6128
43fe02cb
VS
61292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * tests/gettext_strings_test.in: A test to check for strings not
6132 marked for translation.
6133
bed06142
VS
61342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * autogen.sh: Exclude unused libgcrypt files from translation.
6137
fb2666b5
VS
61382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 Simplify few strings.
6141
d22840ec
VS
61422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Mark few forgotten strings for translation.
6145
e34092fd
VS
61462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6149 rather than printf.
6150
47cf82b4
VS
61512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6154 rather than printf.
6155 * grub-core/video/readers/tga.c: Likewise.
6156
1eed0e6e
VS
61572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * tests/priority_queue_unit_test.cc: New test.
6160
c5b7697b
VS
61612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6164 than printf.
6165
5945c2f8
AB
61662013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6167
6168 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6169 variable for one time boot menu entry.
6170
fa292343
B
61712013-05-05 Bean <bean123ch@gmail.com>
6172
6173 * grub-core/commands/testspeed.c: New command testspeed.
6174
310d4214
VS
61752013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Factor-out human-size printing.
6178
85002bf3
VS
61792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 Agglomerate more mallocs to speed-up gfxterm.
6182
22b06e96
VS
61832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Speed-up gfxterm by slightly agglomerating mallocs.
6186
b7c036bc
VS
61872013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 More video checks.
6190
92323d1f
VS
61912013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Speed-up gfxterm by saving intermediate results in index+alpha
6194 format.
6195
0fb356a3
VS
61962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6199 test.
6200
44dea3f9
VS
62012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6204 line of timeout as it may contain the rest of long line.
6205
14af86e4
VS
62062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/normal/main.c: Fix freed memory dereference.
6209
03f7c8c3
VS
62102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 Fix several memory leaks.
6213
c686014c
VS
62142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6217
0788a695
VS
62182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6221
daf01d61
VS
62222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Fix test -a and -o precedence.
6225 Reported by: adrian15.
6226
82ae74d7
VS
62272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6230
8cec7bd4
AB
62312013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6232
6233 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6234 and add it as source to functional_test module.
6235
aa73d688
VS
62362013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6239
c104b6f9
VS
62402013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 New series of tests for gfxterm and gfxmenu.
6243
7391c4d5
VS
62442013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6247 the theme path relative to $prefix/themes.
6248
cff50118
VS
62492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6252 Fix order bug.
6253 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6254
7c332bdc
VS
62552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6258 descriptor.
6259
a4f9a5ff
VS
62602013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6263 grub_gfxmenu_timeout_notifications.
6264 (grub_gfxmenu_view_destroy): Likewise.
6265
b5a2114d
VS
62662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6269
a8905e8a
VS
62702013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Several fixes to ieee1275 and big-endian video.
6273
813c1622
VS
62742013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 Add missing exports on mips.
6277
3f3e7326
VS
62782013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6281 if no unifont is found.
6282 Restore original keyboard.
6283
095accd1
VS
62842013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6287 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6288
50361660
VS
62892013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 First automated video test (running videotest and comparing results)
6292
cd0f6eec
VS
62932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6296 instead of 2 to have full RGB/CMY test pattern.
6297
3f9634e5
VS
62982013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Add few more tests.
6301
583e5b64
VS
63022013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6305 ARCS. All users updated.
6306
aa7bcb99
VS
63072013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6310
95ef1a54
VS
63112013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6314
46546fc5
VS
63152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6318 Reported by: qwertial.
6319
3476e0ef
VT
63202013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6321
6322 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6323 with syntax "XXX deg"/"XXX °".
6324
96f33fed
VS
63252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Make PCI init in i386-qemu port more robust.
6328
63292013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
6330
6331 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6332 cached view is reused.
6333 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6334 open boot menus.
6335
c53b4e67
VS
63362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Unify more code in grub-install_header.
6339
f7457fb2
VS
63402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 Add few new tests.
6343
e2f27a8c
VS
63442013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 Enforce disabling of firmware disk drivers when native drivers kick in.
6347
ef9d8cd5
VS
63482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/commands/nativedisk.c: Customize the list of modules on
6351 platform. Don't try to search for disks already using native drivers.
6352
f7bf6c31
VS
63532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6356 platforms.
6357
bdc4add8
VS
63582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6361 handling of variables containing backslash.
6362
e9e46c9a
VS
63632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6366 dereference.
6367 Reported by: qwertial.
6368
0e90dee8
VS
63692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6372
e0aacf24
VS
63732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6376 dereference.
6377 Reported by: qwertial.
6378
3c0003c3
VS
63792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6382
adb7d667
VS
63832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6386
7cd0df84
VS
63872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 New command `nativedisk'.
6390
02adbb93
VS
63912013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6394 * grub-core/loader/i386/bsd.c: Likewise.
6395
9fb0fd4f
VS
63962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6399
bd69257a
VS
64002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6403 grub_get_unaligned16 rather than shifts.
6404
178c2764
VS
64052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/kern/file.c: Use const char * rather than casting to
6408 non-const.
6409
eadfad24
VS
64102013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/commands/probe.c: Add missing grub_device_close.
6413
9f73ebd4
VS
64142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * INSTALL: Document linguas.sh.
6417
965fa829
VS
64182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Remove POTFILES.in and regenerate it in autogen.sh.
6421
d417ddc4
VS
64222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 Move --directory/--override-directorry to grub-install_header and unify.
6425
f97ec546
VS
64262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/term/morse.c: Macroify dih and dah.
6429
b2d7470c
PFS
64302013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6431
6432 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6433
141e2a78
VS
64342013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/term/ns8250.c: Systematically probe ports by writing
6437 to SR before using them.
6438
1dd70ebd
PFS
64392013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6440
6441 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6442 disks.
6443 (check_sas): Get sas_adress info.
6444
c796a107
VS
64452013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6448 ports.
6449
43168646
LD
64502013-04-27 Leon Drugi <eyak>
6451
6452 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6453 BSS clearing.
6454
e7b8fd08
VS
64552013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 Core compression test.
6458
17f9fd29
VS
64592013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Implement grub_machine_get_bootlocation for ARC.
6462
dc2a6c8b
VS
64632013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Improve AHCI detection and command issuing.
6466
f25a2ba6
VS
64672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 Fix pseries test.
6470
a6393224
VS
64712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 Make 'make check' work on emu.
6474
db99fbe8
VS
64752013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Replace libcurses with our own vt100 handling for the ease of testing
6478 and decreasing prerequisites.
6479
b24ca7cd
VS
64802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6483
63314aa4
VS
64842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6487 compile when not needed.
6488
c1b00fff
VS
64892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * tests/pseries_test.in: New test.
6492
f93e89ef
VS
64932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Add test to check that different boot mediums work.
6496
c4b456d3
VS
64972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6500 ofw limited ISO support.
6501
5fe67f39
VS
65022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * configure.ac: Fix loongson conditional.
6505
7f63a64f
VS
65062013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 Enable mipsel-arc.
6509
b04b5990
VS
65102013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 Add serial on ARC platform.
6513
88d2f302
VS
65142013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6517 commit.
6518
86eb23bc
VS
65192013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * tests/partmap_test.in: Add missing double semicolon.
6522
eec3bb75
VS
65232013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * util/grub-mkrescue.in: Fix loongson filename.
6526
e0810df3
VS
65272013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * util/grub-mkrescue.in: Move all files that don't have a location
6530 set in stone under /boot/grub. Use ISO hard links rather than copies
6531 to save some space.
6532
65a6b30b
VS
65332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6536 bogus SLOF values.
6537
6aff0107
VS
65382013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Make check work on mips-arc.
6541
5e013e56
VS
65422013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * util/grub-mkrescue.in: Alias sashARCS as sash.
6545
d1989e2e
VS
65462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6549 it's serial.
6550
1a25e72c
VS
65512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * util/grub-install.in: Fix target fo qemu_mips.
6554 Fix extension on EFI.
6555
a59a9826
VS
65562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6559 in front of chosen entry to mark it even if highlighting is lost.
6560
1a40f80c
VS
65612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6564 gfxpayload=keep if cbfb is active.
6565
e343549c
VS
65662013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6569
45fbd9a2
VS
65702013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Add missing video ids to coreboot and ieee1275 video.
6573
ab1440bd
VS
65742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-mkrescue.in: Add mips-arc support.
6577
cdeb8324
VS
65782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6581
8528c879
VS
65822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Move mips-arc link address. Previous link address was chosen
6585 in belief that RAM on SGI platforms grows down while in fact it
6586 grows up from an unusual base.
6587
17fca573
VS
65882013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6591 Fix a type which prevented CD-ROM and floppy boot.
6592
d178788e
VS
65932013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 Support coreboot framebuffer.
6596
6597 * grub-core/video/i386/coreboot/cbfb.c: New file.
6598
fe4c3e7e
VS
65992013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6602 detecting too small regions.
6603
ec2dd179
VS
66042013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6607
872dac83
VS
66082013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6611 Remove dprintf.
6612 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6613
90ec4b7f
VS
66142013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6617 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6618 * grub-core/loader/powerpc/ieee1275/linux.c
6619 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6620
f32555dd
VS
66212013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6624 Look for /boot-rom as well as /rom/boot-rom.
6625
38649799
VS
66262013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6629 handling when creating text_layer failed.
6630 * grub-core/video/video.c (grub_video_create_render_target):
6631 Set result to 0 on error.
6632 (grub_video_delete_render_target): Do not dereference NULL.
6633
aeace7f7
VS
66342013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6637 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6638 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6639 (grub_linux_load64): Mask out 2 high bits.
6640
4eafa175
AB
66412013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6642
6643 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6644 more place.
6645
daaa64bd
VS
66462013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 Add support for pseries and other bootinfo machines to grub-mkrescue.
6649
6650 Tested by: Paulo Flabiano Smorigo.
6651
d0d2daa6
VS
66522013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * util/grub-mkrescue.in: Add GPT for EFI boot.
6655
b193e100
VS
66562013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6659 It improves performance in qemu.
6660
a0f8f3ac
VS
66612013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * build-aux/snippet: Add missing gnulib files.
6664
284df0e2
AB
66652013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6666
6667 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6668
740201f3
AB
66692013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6670
6671 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6672
a7e03923
PJ
66732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
66742013-04-15 Peter Jones <pjones@redhat.com>
6675
6676 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6677 sectors.
6678 Based on patch by Peter Jones.
6679
25fc51a8
VS
66802013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Fix DMRAID partition handling.
6683
88017d47
VS
66842013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * tests/grub_cmd_date.in: Skip on sparc64.
6687
fa7d914e
VS
66882013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6691 firmware error messages.
6692
cbe57a48
VS
66932013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6696 source and destination differ.
6697
21aecce0
VS
66982013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6701 detection.
6702
25092d29
VS
67032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6706 match config-util.h to avoid warnings and increase compatibility.
6707
79451522 67082013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 67092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6710
6711 Add option to compress files on install/image creation.
6712
78b7d77b
VS
67132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * docs/grub-dev.texi: Rearrange menu to match the section order.
6716 Reported by: Bryan Hundven.
6717
cc2fa5ec
VS
67182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6721
b49fe879
VS
67222013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 Move GRUB out of system area when using xorriso 1.2.9 or later.
6725
5351da81
VS
67262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * tests/grub_cmd_date.in: Add missing exit 1.
6729
c9d586ea
VS
67302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * tests/partmap_test.in: Skip on sparc64.
6733
3f729741
VS
67342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 Support grub-shell on sparc64.
6737
8ca86b3a
VS
67382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Support mkrescue on sparc64.
6741
aa1af9bb
VS
67422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6745 Needed on OpenBIOS due to incomplete device tree.
6746
ac4fea79
VS
67472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6750 would be otherwise excluded.
6751
67522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6753
6754 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6755 Inline name defines used only once.
6756
fe22b071
VS
67572013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 Fix memory leaks in ofnet.
6760 Reported by: Francesco Lavra.
6761
9d21381b
VS
67622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * docs/man/grub-glue-efi.h2m: Add missing file.
6765
07aec23c
VS
67662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6769
67ab8353
VS
67702013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 Better support Apple Intel Macs on CD.
6773
ba44ca6d
VS
67742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 Replace stpcpy with grub_stpcpy in tools.
6777
bbdd6305
VS
67782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 Handle Japanese special keys.
6781 Reported by: Hiroyuki YAMAMORI.
6782 Codes supplied by: Hiroyuki YAMAMORI.
6783
8573d302
VS
67842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * util/grub-mkimage.c: Document memdisk implying --prefix.
6787
d70dbab7
VS
67882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6791 much we can do about it anyway.
6792
51a4c3e3
AN
67932013-04-12 Aleš Nesrsta <starous@volny.cz>
6794
6795 Fix handling of split transfers.
6796
92c8f58d
VS
67972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/net/http.c: Fix bad free.
6800
b7d17a49
VS
68012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6804 than buffer size.
6805
a3d566d4
VS
68062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6809
a936af56
VS
68102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * tests/util/grub-shell.in: Fix it on powerpc.
6813
51212234
VS
68142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Turn off QEMU ACPI-way since new releases don't have shutdown port
6817 anymore.
6818
a21eec9e
VS
68192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * docs/grub.texi: Update coreboot status info.
6822
e3734b84
VS
68232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * tests/grub_cmd_date.in: New test for datetime.
6826
f9d40055
VS
68272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * tests/partmap_test.in: Fix missing qemudisk setting.
6830
dbc56d8f
VS
68312013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 Support i386-ieee1275 grub-mkrescue and make check on it.
6834
a79b8a15
VS
68352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6838 feature for it.
6839
48f39bb4
VS
68402013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6843 GRUB_CMDLINE_XEN_DEFAULT.
6844 Reported by: Marc Warne (GigaTux) <gigatux>
6845
053cfcdd
VS
68462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Import new gnulib.
6849
93cd84df
VS
68502013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 Use ACPI shutdown intests as traditional port was removed.
6853
f4b1fa4f
AB
68542013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6855
6856 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6857 distinction.
6858
49818a59
VS
68592013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6862 Fix few warining messages and leaks while on it.
6863
9277a306
AB
68642013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6865
6866 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6867 links under grub-core/lib/libgcrypt-grub/mpi.
6868
d5e2a158
VS
68692013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Fix ia64-efi image generation on big-endian machines. Deduplicate
6872 some code while on it.
6873 Reported by: Leif Lindholm.
6874
18866643
AB
68752013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6876
6877 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6878 as extra_dist.
6879
ca53deb8
AB
68802013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6881
6882 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6883
d4c4b8e1
BH
68842013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6885
6886 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6887 texinfo-5.1.
6888
47043f95
VS
68892013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/normal/term.c: Few more fixes for menu entry editor
6892 rendering.
6893 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6894
a3216068
VS
68952013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/normal/term.c: Few more fixes for menu entry editor
6898 rendering.
6899 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6900
21026747
AB
69012013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6902
6903 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6904 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6905
59624ca8
AB
69062013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6907
6908 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6909 instead of hardcoding grub.mo.
6910
1f44478c
FN
69112013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6912
6913 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6914
eeada7b1
VS
69152013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6918 grub-core/disk/geli.c.
6919
132867de
VS
69202013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * util/grub-mkfont.c: Prefer enum to #define.
6923
de73de17
VS
69242013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6927
1865baa7
VS
69282013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6931
ce7d92a9
VS
69322013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6935
52eab656
VS
69362013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6939
98b23b95
VS
69402013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * include/grub/bsdlabel.h: Use enums.
6943
0467a5dd
VS
69442013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 Move GRUB_CHAR_BIT to types.h.
6947
16cc9f03
AB
69482013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6949
6950 * docs/grub.texi: Document more user commands.
6951
3152aecb
AB
69522013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6953
6954 * docs/grub.texi: Document menuentry --id option.
6955
c506fc30
FL
69562013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6957
6958 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6959
aa428238
VS
69602013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 Unify file copying setup across different install scripts. Add
6963 options for performing partial install.
6964
efe0cdda
PJ
69652013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
69662013-04-04 Peter Jones <pjones@redhat.com>
6967
6968 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6969
f75835bd
VS
69702013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 Use TSC as a possible time source on i386-ieee1275.
6973
2cd5ce6c
VS
69742013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6977 Init err.
6978
c9625630
VS
69792013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * util/grub-setup.c (setup): Handle some corner cases.
6982
be008941
VS
69832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6986
1a78d573
VS
69872013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * grub-core/commands/verify.c: Save verified file to avoid it being
6990 tampered with after verification was done.
6991
db8ff59f
VS
69922013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6995 reported width by one to compensate for curesor algorithm problem.
6996
91bf46b1
VS
69972013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 Fix screen corruption in menu entry editor and simplify the code
7000 flow while on it.
7001
a7b1d693
AB
70022013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7003
7004 * util/grub-mount.c (fuse_init): Return error if fuse_main
7005 failed.
7006
31df9ad8
FL
70072013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7008
7009 * include/grub/elf.h: Add missing ARM relocation codes and fix
7010 existing ones.
7011
07f392eb
VT
70122013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7013
7014 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7015
9efd73ec 70162013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
70172013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7020 into account when calculating radius.
7021
70222013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
7023
7024 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7025
4985ddaa
VT
70262013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7027
7028 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7029
8c3635ff
RS
70302013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7031
7032 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7033 missing closing bracket.
7034
74a35e69
RS
70352013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7036
7037 * INSTALL: Mention xorriso requirement.
7038
40f1c000
AB
70392013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7040
7041 * grub-core/commands/verify.c: Fix hash algorithms values for
7042 the first three hashes - they start with 1, not with 0.
7043
e75fdee4
VS
70442013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7047 Try terminating EFI services several times due to quirks in some
7048 implementations.
7049
33028f4c
CW
70502013-03-26 Colin Watson <cjwatson@ubuntu.com>
7051
7052 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7053 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7054 BankField extended opcodes.
7055 (get_sleep_type): Add minimal scope handling (just enough to
7056 handle setting the scope to the root path).
7057 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7058 * include/grub/acpi.h: Add enumeration values for Event, Device,
7059 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7060
33871a10
VT
70612013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7062
7063 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7064 memory leak.
7065
8990963a
VS
70662013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/disk/ahci.c: Give more time for AHCI request.
7069
daae8f9e
VS
70702013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7073 command.
7074
6a7fb94b
VS
70752013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Replace the region at 0 from coreboot tables to available in BSD
7078 memory map.
7079
ff99babd
VS
70802013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7083 non-BIOS platforms.
7084
30d6b1b2
VS
70852013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7088 platforms.
7089
6ccd0b31
VS
70902013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7093 handling of multi-device filesystems.
7094
23c9cc04
VS
70952013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7098 platforms.
7099
ce50dbd7
VS
71002013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Add new 'proc' filesystem framework and put luks_script into it.
7103
d975e8d5
VS
71042013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7107 and qemu.
7108
e73ba5e8
VS
71092013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7112
92750e4c
VS
71132013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 Add ability to generate newc additions on runtime.
7116
0ec45a68
VS
71172013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7120 description.
7121
320abd43
VS
71222013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * po/POTFILES.in: Regenerate.
7125
d7a6506e
VS
71262013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * grub-core/commands/verify.c (hashes): Add several hashes
7129 from the spec.
7130
8fe05def
VS
71312013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 Slight improve in USB-related boot-time checkpoints.
7134
524e2766
VS
71352013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/commands/boottime.c: Fix copyright header.
7138
cc19857a
VS
71392013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7142 coreboot tables content. Support for cbmemc.
7143
ef8810e9
VS
71442013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 Fix a conflict between ports structures with 2 controllers of
7147 same kind.
7148
e9dabdfa
VS
71492013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * include/grub/boottime.h: Add missing file.
7152
f6df57d2
VS
71532013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Initialize USB ports in parallel to speed-up boot.
7156
d745dda7
VS
71572013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Fix USB devices not being detected when requested
7160 due to delayed attach.
7161
e5a2dd7b
VS
71622013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7163
e744219b
VS
7164 Implement boot time analysis framework.
7165
71662013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
7169 descriptor to just receive it as argument rather than endpoint
7170 address.
7171
5dd6f587
VS
71722013-03-19 Aleš Nesrsta <starous@volny.cz>
7173
7174 Better estimate the maximum USB transfer size.
7175
2f1071d5
VS
71762013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Resend a packet if we got the wrong buffer in status.
7179
46ecfc49
VS
71802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7183 multiplication rather than division.
7184
ea811130
VS
71852013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7188 than divisions.
7189
d2789cf0
VS
71902013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7193 operations to have intended shifts and not divisions.
7194
a9c94590
VS
71952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7198 intended shifts rather than division.
7199
84cfe81b
VS
72002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7203 computation for some years before epoch. Avode confusing division
7204 while on it.
7205
21344ef6
VS
72062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/video/i386/pc/vbe.c
7209 (grub_video_vbe_print_adapter_specific_info): Replace division by
7210 shifts.
7211
3f2b4d1a
VS
72122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Adjust types in gdb module to have intended unsigned shifts rather than
7215 signed divisions.
7216
3dac5878
VS
72172013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7220 maximum size is 4G - 1 on hfs
7221
5341c0fb
VS
72222013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7225
fc3ff2a2
VS
72262013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7229 function.
7230
81455e8e
AB
72312013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7232
7233 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7234 causing gcc error with gcc 4.7.1.
7235
efd4f117
NZ
72362013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7237
7238 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7239 dereference null pointer. While the code is technically correct, gcc
7240 may eliminate a null check if pointer is already dereferenced.
7241
e11645f4
NZ
72422013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7243
7244 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7245 OOM check.
7246 * grub-core/normal/term.c (read_terminal_list): Likewise.
7247
77468368
VS
72482013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 Lift up core size limits on some platforms. Fix potential memory
7251 corruption with big core on small memory systems. Document remaining
7252 limits.
7253
f6b58fe5
VS
72542013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7257 gotoxy to 0,0.
7258
19ce697d
VS
72592013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Remove all trampoline support. Add -Wtrampolines when
7262 present. Remove symbols used for trampolines to make
7263 link fail if trampolines are present.
7264
73b5d90f
VS
72652013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7268 append out of its parent.
7269
cb758e96
VS
72702013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7273 parent.
7274
3188131f
VS
72752013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7278 all vars to a macro. All users updated.
7279
e42b2514
VS
72802013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7283 i386-ieee1275.
7284
83e1a1a1
VS
72852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7288
1d5a880f
VS
72892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7292
6e4146c4
VS
72932013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 Move to more hookless approach in IEEE1275 devices handling.
7296
99fcda8a
VS
72972013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/kern/term.c (grub_term_normal_color),
7300 (grub_term_highlight_color): Add back lost defaults.
7301
73bf57e2
VS
73022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 Make elfload not use hooks. Opt for flags and iterators instead.
7305
7f8c105f
VS
73062013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7309 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7310
396d4091
VS
73112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7314
73152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7318 hook pass-through parameter. All users updated and unnested.
7319
74a27421
VS
73202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7323 out of its parent.
7324
b46d4213
VS
73252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/fs/hfs.c: Remove nested functions.
7328
e114c3cc
VS
73292013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7332 the context through.
7333 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7334
f9b7d780
VS
73352013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * util/grub-editenv.c (list_variables): Move print_var out of its
7338 parent.
7339
ca9c2608
VS
73402013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7343 function.
7344
5d983f5f
VS
73452013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/gentrigtables.c: Make tables const.
7348
3056d3e7
VS
73492013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 Remove nested functions from videoinfo iterators.
7352
e2303774
VS
73532013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7356 for 64-bit platforms.
7357
f42e3a2f
VS
73582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7361 a FOR_CHILDREN macro.
7362
be174e5e
VS
73632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7366 platform from firmware path.
7367
0789b672
VS
73682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 Enable linux16 on non-BIOS systems for i.a. memtest.
7371
7372 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7373 correctly.
7374 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7375
005a9c32
VS
73762013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7379 Fix end of table condition.
7380
ff2b3cd9
VS
73812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7384 out of its parent.
7385
4fc40ff8
VS
73862013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/fs/jfs.c: Remove nested functions.
7389
be42d97a
VS
73902013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/fs/minix.c: Remove nested functions.
7393
99373ce4
VS
73942013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/fs/iso9660.c: Remove nested functions.
7397
5aec2afe
VS
73982013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7401 of parent function.
7402
6c69e691
VS
74032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * util/grub-fstest.c: Remove nested functions.
7406
43c91882
VS
74072013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/loader/machoXX.c: Remove nested functions.
7410
4eb8b756
CW
74112013-02-27 Colin Watson <cjwatson@ubuntu.com>
7412
7413 Remove nested functions from disk and file read hooks.
7414
7415 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7416 (struct grub_disk): Add read_hook_data member.
7417 * include/grub/file.h (struct grub_file): Likewise.
7418 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7419 argument.
7420
7421 Update all callers.
7422
df6da5a5
AB
74232012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7424
7425 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7426 Fix off by one error in enumerating extended partitions.
7427
21aecde5
AB
74282013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7429
7430 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7431 memory leak if device name is not found.
7432
f1a19118
AB
74332013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7434
7435 * grub-core/normal/menu_entry.c (update_screen): remove
7436 unused variable `off' which caused scroll down arrow to be always shown.
7437
958bfd20
AB
74382013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7439
7440 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7441 access to unallocated memory.
7442
b7b78edb
AB
74432013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7444
7445 * Makefile.util.def: Add partmap/msdos.c to common library.
7446 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7447 * grub-core/disk/ldm.c: Check for existence of
7448 GRUB_PC_PARTITION_TYPE_LDM.
7449
28d468d6
VS
74502013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7453 sizes and display sector size.
7454
d55ffb02
VS
74552013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 Implement new command cmosdump.
7458
b5ea6ce0
VS
74592013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7460
7461 Support Openfirmware disks with non-512B sectors.
7462
7463 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7464 size of the disk.
7465 * (grub_ofdisk_get_block_size): New function.
7466 * (grub_ofdisk_prepare): Use the correct block size.
7467 * (grub_ofdisk_read): Likewise.
7468 * (grub_ofdisk_write): Likewise.
7469 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7470 New proto.
7471
cc0e476f
VS
74722013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7475
c5dbdc33
VS
74762013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7479 on first error.
7480
3f078c0f
VS
74812013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7484 freeing it.
7485
66a93674
VS
74862013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Implement USBDebug (full USB stack variant).
7489
c9f0c134
VS
74902013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7493 unless they have unexpected values.
7494
cfe1288b
VS
74952013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7498 grub_print_error.
7499
e42b9969
VS
75002013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7503 zero-out of port structure.
7504
cf94fd62
VS
75052013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7508 of extended attributes.
7509
f81ef4b5
AB
75102013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7511
7512 * util/grub-install.in: change misleading comment about
7513 device.map creation
7514
af18fdb4
VS
75152013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7518 when menu highlight color isn't set.
7519
08bcec50
M
75202013-01-27 C. Masloch <pushbx@38.de>
7521
7522 Improve FreeDOS direct loading support compatibility.
7523
7524 * include/grub/i386/relocator.h (grub_relocator16_state):
7525 New member ebp.
7526 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7527 variable.
7528 (grub_relocator16_boot): Handle %ebp.
7529 * grub-core/lib/i386/relocator16.S: Likewise.
7530 * grub-core/loader/i386/pc/freedos.c:
7531 Load BPB to pass kernel which partition to load from.
7532 Check that kernel file is not too large.
7533 Set register dl to BIOS unit number as well.
7534
7782b8a6
CW
75352013-01-22 Colin Watson <cjwatson@ubuntu.com>
7536
7537 * util/grub-reboot.in (usage): Document the need for
7538 GRUB_DEFAULT=saved.
7539 * util/grub-set-default.in (usage): Likewise.
7540 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7541
e661c180
VS
75422013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7545 than defining WORDS_BIGENDIAN manually.
7546
1c22ca9a
VS
75472013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7550 invariants.
7551
d44892fe
CW
75522013-01-21 Colin Watson <cjwatson@ubuntu.com>
7553
7554 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7555 nested.
7556 (blit_comb: add_device_width): Likewise.
7557
5fdbaed1
CW
75582013-01-21 Colin Watson <cjwatson@ubuntu.com>
7559
7560 Remove nested functions from USB iterators.
7561
7562 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7563 (grub_usb_controller_iterate_hook_t): Likewise.
7564 (grub_usb_iterate): Add hook_data argument.
7565 (grub_usb_controller_iterate): Likewise.
7566 (struct grub_usb_controller_dev.iterate): Likewise.
7567
7568 Update all implementations and callers.
7569
4250985a
VS
75702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7573 margin when not needed.
7574
7d8848f3
VS
75752013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7576
bc136973 7577 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7578
75792013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7580
bc136973
VS
7581 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7582 asterisk.
7d8848f3 7583
ed12a003
CW
75842013-01-21 Colin Watson <cjwatson@ubuntu.com>
7585
7586 Fix powerpc and sparc64 build failures caused by un-nesting memory
7587 map iterators.
7588
6a0db449
CW
75892013-01-21 Colin Watson <cjwatson@ubuntu.com>
7590
7591 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7592 parameter declarations.
7593
ccd86b21
VS
75942013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7597
822b726b
VS
75982013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Improve spkmomdem reliability by adding a separator between bytes.
7601
115c2cc1
CW
76022013-01-21 Colin Watson <cjwatson@ubuntu.com>
7603
7604 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7605 an Acer registration utility with several sightings in the wild.
7606 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7607
fc524edf
CW
76082013-01-21 Colin Watson <cjwatson@ubuntu.com>
7609
7610 Remove nested functions from filesystem directory iterators.
7611
7612 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7613 (struct grub_fs.dir): Add hook_data argument.
7614
7615 Update all implementations and callers.
7616
53d3e4e3
CW
76172013-01-21 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * docs/grub.texi (Multi-boot manual config): Fix typo for
7620 "recommended".
7621
c821711f
LL
76222013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7623
7624 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7625 until after its use in generate_image.
7626
6a0debbd
CW
76272013-01-20 Colin Watson <cjwatson@ubuntu.com>
7628
7629 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7630 initrd size to addr_min, since the initrd will be allocated after
7631 this address.
7632
f41e08db
AB
76332013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7634
7635 * conf/Makefile.common: Fix autogen rules to pass definition
7636 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7637
77529e0f
LL
76382013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7639
7640 * include/grub/elf.h: Update ARM definitions based on binutils.
7641
b879aa7b
VS
76422013-01-20 Aleš Nesrsta <starous@volny.cz>
7643
7644 Split long USB transfers into short ones.
7645
8eb8284d
AB
76462013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7647
7648 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7649 is interrupted by ESC.
7650
08dad2dc
VS
76512013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * util/grub-script-check.c (main): Uniform the error message.
7654
6c724b85
CW
76552013-01-20 Colin Watson <cjwatson@ubuntu.com>
7656
7657 Remove nested functions from ELF iterators.
7658
25239370
CW
76592013-01-20 Colin Watson <cjwatson@ubuntu.com>
7660
7661 Remove nested functions from device iterators.
7662
7663 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7664 (grub_arc_iterate_devs): Add hook_data argument.
7665 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7666 (struct grub_ata_dev.iterate): Add hook_data argument.
7667 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7668 (grub_device_iterate): Add hook_data argument.
7669 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7670 (struct grub_disk_dev.iterate): Add hook_data argument.
7671 (grub_disk_dev_iterate): Likewise.
7672 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7673 Likewise.
7674 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7675 Likewise.
7676 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7677 type.
7678 (struct grub_partition_map.iterate): Add hook_data argument.
7679 (grub_partition_iterate): Likewise.
7680 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7681 (struct grub_scsi_dev.iterate): Add hook_data argument.
7682
7683 Update all callers.
7684
6c0314d6
CW
76852013-01-20 Colin Watson <cjwatson@ubuntu.com>
7686
7687 Fix typos for "developer" and "development".
7688
600dc5f1
VS
76892013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Add license header to spkmodem-recv.c.
7692
17334a6b
VS
76932013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 Rewrite spkmodem to use PIT for timing. Double the speed.
7696
7d462559
VS
76972013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Add new command pcidump.
7700
b78d6c32
VS
77012013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 New terminal outputs using serial: morse and spkmodem.
7704
34f71cb8
VS
77052013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 Improve bidi handling in entry editor.
7708
4542e71b
VS
77092013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7712 argument to prevent name collision.
7713
09fd6d82
CW
77142013-01-15 Colin Watson <cjwatson@ubuntu.com>
7715
7716 Remove nested functions from script reading and parsing.
7717
7718 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7719 getline_data argument, passed to getline.
7720 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7721 getline_data argument, passed to grub_parser_split_cmdline.
7722 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7723 lexerstate->getline_data to lexerstate->getline.
7724 (grub_script_lexer_init): Add getline_data argument, saved in
7725 lexerstate->getline_data.
7726 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7727 argument, passed to grub_script_parse.
7728 * grub-core/script/script.c (grub_script_parse): Add getline_data
7729 argument, passed to grub_script_lexer_init.
7730 * include/grub/parser.h (grub_parser_split_cmdline): Update
7731 prototype. Update all callers to pass appropriate getline data.
7732 (struct grub_parser.parse_line): Likewise.
7733 (grub_rescue_parse_line): Likewise.
7734 * include/grub/reader.h (grub_reader_getline_t): Add void *
7735 argument.
7736 * include/grub/script_sh.h (struct grub_lexer_param): Add
7737 getline_data member.
7738 (grub_script_parse): Update prototype. Update all callers to pass
7739 appropriate getline data.
7740 (grub_script_lexer_init): Likewise.
7741 (grub_normal_parse_line): Likewise.
7742
7743 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7744 data argument.
7745 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7746 static instead of nested. Rename to ...
7747 (grub_parser_execute_getline): ... this.
7748 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7749 data argument.
7750 * grub-core/normal/main.c (read_config_file: getline): Make static
7751 instead of nested. Rename to ...
7752 (read_config_file_getline): ... this.
7753 (grub_normal_read_line): Add unused data argument.
7754 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7755 getline): Make static instead of nested. Rename to ...
7756 (grub_script_execute_sourcecode_getline): ... this.
7757 * util/grub-script-check.c (main: get_config_line): Make static
7758 instead of nested.
7759
d0d4b8a0
CW
77602013-01-15 Colin Watson <cjwatson@ubuntu.com>
7761
7762 Remove nested functions from memory map iterators.
7763
7764 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7765 argument, passed to hook.
7766 * grub-core/kern/i386/coreboot/mmap.c
7767 (grub_linuxbios_table_iterate): Likewise.
7768 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7769 instead of nested.
7770 (grub_machine_mmap_iterate): Add hook_data argument.
7771 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7772 Add hook_data argument, passed to hook.
7773 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7774 Likewise.
7775 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7776 Likewise.
7777 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7778 Likewise.
7779 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7780 Likewise.
7781 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7782 Likewise.
7783 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7784 Likewise.
7785 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7786 (grub_machine_mmap_iterate): Likewise.
7787 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7788 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7789 prototype.
7790 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7791 Remove NESTED_FUNC_ATTR from here and from all users.
7792 (grub_mmap_iterate): Update prototype.
7793 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7794 pass appropriate hook data.
7795 (grub_machine_mmap_iterate): Likewise.
7796
7797 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7798 static instead of nested.
7799 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7800 Rename to ...
7801 (lsmmap_hook): ... this.
7802 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7803 Likewise.
7804 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7805 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7806 heap_init): Likewise.
7807 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7808 Rename to ...
7809 (mmap_iterate_hook): ... this.
7810 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7811 Likewise.
7812 * grub-core/lib/ieee1275/relocator.c
7813 (grub_relocator_firmware_get_max_events: count): Likewise.
7814 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7815 to ...
7816 (grub_relocator_firmware_fill_events_iter): ... this.
7817 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7818 hook): Likewise. Rename to ...
7819 (grub_relocator_alloc_chunk_align_iter): ... this.
7820 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7821 Rename to ...
7822 (generate_e820_mmap_iter): ... this.
7823 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7824 Rename to ...
7825 (count_hook): ... this.
7826 (grub_linux_boot: hook): Likewise. Rename to ...
7827 (grub_linux_boot_mmap_find): ... this.
7828 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7829 (grub_linux_boot_mmap_fill): ... this.
7830 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7831 hook): Likewise. Rename to ...
7832 (grub_fill_multiboot_mmap_iter): ... this.
7833 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7834 hook): Likewise. Rename to ...
7835 (count_hook): ... this.
7836 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7837 hook): Likewise. Rename to ...
7838 (grub_fill_multiboot_mmap_iter): ... this.
7839 * grub-core/loader/powerpc/ieee1275/linux.c
7840 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7841 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7842 Likewise. Rename to ...
7843 (alloc_phys_choose): ... this.
7844 (determine_phys_base: get_physbase): Likewise.
7845 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7846 find_hook): Likewise.
7847 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7848 (malloc_hook: count_hook): Likewise.
7849 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7850 Likewise. Rename to ...
7851 (lower_hook): ... this.
7852 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7853 (upper_hook): ... this.
7854 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7855 (post64_hook): ... this.
7856 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7857 Likewise. Rename to ...
7858 (lower_hook): ... this.
7859 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7860 (upper_hook): ... this.
7861 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7862 (grub_mmap_iterate: fill_hook): Likewise.
7863 (fill_mask): Pass addr and mask within a single struct.
7864 (grub_cmd_badram: hook): Make static instead of nested. Rename
7865 to ...
7866 (badram_iter): ... this.
7867 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7868 (cutmem_iter): ... this.
7869
22099030
VS
78702013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7873 delimit path in strings using quotes.
7874 * util/getroot.c (grub_guess_root_devices): Likewise.
7875 (grub_make_system_path_relative_to_its_root): Likewise.
7876 * util/grub-probe.c (probe): Likewise.
7877 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7878 (xrealpath): Likewise.
7879
4a9950ec
VS
78802013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 Fix compilation with older compilers.
7883
7884 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7885 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7886 declarations.
7887 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7888 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7889 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7890 identifier with b.
7891 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7892 * include/grub/crypto.h: Add type defines.
7893 * util/import_gcrypth.sed: Remove duplicate type defines.
7894
adcc6020
VS
78952013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 New command list_trusted.
7898
7899 * grub-core/commands/verify.c (grub_cmd_list): New function.
7900
a4528937
CW
79012013-01-13 Colin Watson <cjwatson@ubuntu.com>
7902
7903 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7904 info message.
7905
ca3a7446
CW
79062013-01-13 Colin Watson <cjwatson@ubuntu.com>
7907
7908 Remove nested functions from PCI iterators.
7909
7910 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7911 passed to hook. Update all callers to pass appropriate hook data.
7912 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7913 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7914 Remove NESTED_FUNC_ATTR from here and from all users.
7915 (grub_pci_iterate): Update prototype.
7916 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7917 instead of nested. Rename to ...
7918 (grub_cs5536_find_iter): ... this.
7919 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7920 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7921 Likewise.
7922 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7923 Likewise.
7924 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7925 Likewise.
7926 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7927 Likewise.
7928 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7929 * grub-core/video/radeon_fuloong2e.c
7930 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7931 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7932 find_card): Likewise.
7933 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7934 Likewise.
7935
f8e98fee
VS
79362013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/commands/verify.c: Mark messages for translating.
7939
055b36b6
VS
79402013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7943 fatal.
7944
f7ff879b
VS
79452013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7948 fatal.
7949
79502013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7951
7952 * autogen.sh: Do not try to delete nonexistant files.
7953 * util/import_gcrypth.sed: Add some missing header removals.
7954
01323d49
CW
79552013-01-12 Colin Watson <cjwatson@ubuntu.com>
7956
7957 Clean up dangling references to grub-setup.
7958 Fixes Ubuntu bug #1082045.
7959
7960 * docs/grub.texi (Images): Refer generally to grub-install rather
7961 than directly to grub-setup.
7962 (Installing GRUB using grub-install): Remove direct reference to
7963 grub-setup.
7964 (Device map) Likewise.
7965 (Invoking grub-install): Likewise.
7966 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7967 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7968 * util/grub-install.in (usage): Likewise.
7969
7970 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7971 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7972 grub-setup.
7973 * configure.ac: Remove grub_setup output variable.
7974
7975 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7976 to grub-bios-setup.
7977 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7978 grub-setup to grub-sparc64-setup.
7979
5e3b8dcb
VS
79802013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 Import gcrypt public-key cryptography and implement signature checking.
7983
535714bd
VS
79842013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/fs/ntfs.c: Ue more appropriate types.
7987 * grub-core/fs/ntfscomp.c: Likewise.
7988 * include/grub/ntfs.h: Likewise.
7989
3e4f3566
VS
79902013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Support Apple FAT binaries on non-Apple platforms.
7993
7994 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7995 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7996 Likewise.
7997 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7998 Apple FAT binaries.
7999
4dedb13f
VS
80002013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8003 sector devices.
8004
f8861eaf
CW
80052013-01-07 Colin Watson <cjwatson@ubuntu.com>
8006
8007 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8008 explicitly zeroing elements.
8009 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8010 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8011 of elements in a structure already allocated using grub_zalloc.
8012 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8013
86065b0a
CW
80142013-01-07 Colin Watson <cjwatson@ubuntu.com>
8015
8016 * docs/grub.texi (grub_cpu): New subsection.
8017 (grub_platform): Likewise.
8018
c6f1e92f
VS
80192013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8022
f797ec85
VS
80232013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8026 divisions.
8027
033d0b4b
VS
80282013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8031 * grub-core/fs/ntfscomp.c: Likewise.
8032 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8033 (grub_ntfs_comp): Likewise.
8034
21d1b9a0
VS
80352013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8038 Rename to ...
8039 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8040 of groups_per_block. All users updated.
8041
10ca8645
VS
80422013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8045 grub_error properly.
8046 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8047 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8048
a4c3ed4c
VS
80492013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8052 always in /boot/zfs.
8053 Reported by: Yuta Satoh.
8054
0b716507
YS
80552013-01-03 Yuta Satoh <nigoro>
8056
8057 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8058 ${grub_probe}
8059
00c05e22
VS
80602013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * configure.ac: Extend -Wno-trampolines to host.
8063
dadddb76
VS
80642013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8067 entry->len = 0.
8068
54ce53ca
CW
80692013-01-03 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8072 (Invoking grub-script-check): Likewise.
8073
8912efca
CW
80742013-01-03 Colin Watson <cjwatson@ubuntu.com>
8075
8076 * docs/grub.texi (Invoking grub-mount): New section.
8077 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8078
c3fc8394
CW
80792013-01-02 Colin Watson <cjwatson@ubuntu.com>
8080
8081 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8082 test failures, so that a failing unit test correctly causes 'make
8083 check' to fail.
8084
45d26abb
CW
80852013-01-02 Colin Watson <cjwatson@ubuntu.com>
8086
8087 Fix failing printf test.
8088
8089 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8090 '$' in the correct order when collecting type information.
8091
971dd2c6
CW
80922013-01-02 Colin Watson <cjwatson@ubuntu.com>
8093
8094 * docs/grub.texi (configfile): Explain environment variable
8095 handling.
8096 (source): New section.
8097 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8098
5c67ea6c
CW
80992012-12-31 Colin Watson <cjwatson@ubuntu.com>
8100
8101 Remove several trivially-unnecessary uses of nested functions.
8102
8103 * grub-core/commands/i386/pc/sendkey.c
8104 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8105 instead of nested.
8106 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8107 Rename to ...
8108 (legacy_file_getline): ... this.
8109 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8110 Likewise.
8111 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8112 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8113 to ...
8114 (probe_dummy_iter): ... this.
8115 * grub-core/kern/i386/coreboot/mmap.c
8116 (grub_linuxbios_table_iterate: check_signature): Likewise.
8117 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8118 check_varstate): Likewise. Mark inline.
8119 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8120 an additional parameter.
8121 (find_long: fnd_long): Likewise. Pass two additional parameters.
8122 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8123 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8124 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8125 Likewise. Rename to ...
8126 (grub_cmos_find_port_iter): ... this.
8127 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8128 Rename to ...
8129 (find_rtc_iter): ... this.
8130
8131 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8132 function directly into the function body, since it is only called
8133 once.
8134
33a68ac6
CW
81352012-12-30 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8138 __attribute__ ((unused)).
8139 * grub-core/video/bochs.c (find_card): Likewise.
8140 * grub-core/video/cirrus.c (find_card): Likewise.
8141 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8142 * grub-core/video/sis315pro.c (find_card): Likewise.
8143 * grub-core/video/sm712.c (find_card): Likewise.
8144
608b647a
CW
81452012-12-28 Colin Watson <cjwatson@ubuntu.com>
8146
8147 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8148 Fixes Savannah bug #37821.
8149
fd49ceb3
CW
81502012-12-28 Colin Watson <cjwatson@ubuntu.com>
8151
8152 Apply program name transformations at build-time rather than at
8153 run-time. Fixes Debian bug #696465.
8154
8155 * acinclude.m4 (grub_TRANSFORM): New macro.
8156 * configure.ac: Create output variables with transformed names for
8157 most programs.
8158 * util/bash-completion.d/grub-completion.bash.in: Use
8159 pre-transformed variables for program names.
8160 * util/grub-install.in: Likewise.
8161 * util/grub-kbdcomp.in: Likewise.
8162 * util/grub-mkconfig.in: Likewise.
8163 * util/grub-mkconfig_lib.in: Likewise.
8164 * util/grub-mknetdir.in: Likewise.
8165 * util/grub-mkrescue.in: Likewise.
8166 * util/grub-mkstandalone.in: Likewise.
8167 * util/grub-reboot.in: Likewise.
8168 * util/grub-set-default.in: Likewise.
8169 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8170 * tests/util/grub-shell-tester.in: Remove unused assignment.
8171 * tests/util/grub-shell.in: Likewise.
8172 * util/grub.d/00_header.in: Likewise.
8173
7024b3c0
CW
81742012-12-28 Colin Watson <cjwatson@ubuntu.com>
8175
8176 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8177
8178 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8179 HAVE_RAW_DECL_GETS.
8180 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8181
e3501b13
VS
81822012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8185 Reported by: Eriks Latosheks <foresterlv>.
8186
b40c88a9
VS
81872012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * docs/grub.texi (Network): Update instructions on generating netboot
8190 image.
8191
ce96d01c
VS
81922012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8195 around device name if necessarry.
8196
0f596201
PFS
81972012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8198
8199 * util/grub-install.in: Follow the symbolic link parameter added
8200 to the file command.
8201
600d5bdb
AB
82022012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8203
8204 * util/grub-install.in: Remove stale TODO.
8205
64ebd2f4
PFS
82062012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8207
8208 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8209 dynamic allocation for the bootpath buffer.
8210
74b2fe3e
DTB
82112012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8212
8213 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8214 window too small.
8215
969b804f
VS
82162012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8219 argument rather than font name. All users updated.
8220 (grub_gfxterm_set_window): Likewise.
8221
b9f5ebd6
VT
82222012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8223
8224 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8225 from working.
8226
258f43b7
VS
82272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * util/getroot.c (convert_system_partition_to_system_disk): Support
8230 nbd disks.
8231
cc1ce5f9
VS
82322012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8235 infinite loop on corrupted FS.
8236
e77a16ca
VS
82372012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 Fix big-endian mtime.
8240
8241 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8242 together sec and usec.
8243 (grub_ufs_dir): Use correct byteswapping for UFS time.
8244
d9c48c7b
VS
82452012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 Support big-endian UFS1.
8248
8249 * Makefile.util.def (libgrubmods): Add ufs_be.c
8250 * grub-core/Makefile.core.def (ufs1_be): New module.
8251 * grub-core/fs/ufs_be.c: New file.
8252 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8253 the file.
8254
2f9f40ba
LL
82552012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8256
8257 * include/grub/types.h: Fix functionality unaffecting typo in
8258 GRUB_TARGET_WORDSIZE conditional macro.
8259
48ff0889
PFS
82602012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8261
8262 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8263
03711240
GS
82642012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8265
8266 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8267 that /netbsd appears first (when it exists).
8268
a31b11bd
CJ
82692012-10-12 Christoph Junghans <ottxor@gentoo.org>
8270
8271 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8272 Fixes Savannah bug #37558.
8273
e8a5d5d4
CW
82742012-10-12 Colin Watson <cjwatson@ubuntu.com>
8275
8276 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8277 description of extract_entries_configfile.
8278
82792012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
8280
8281 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8282 preferred_address.
8283 (grub_cmd_linux): Likewise.
8284 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8285 preferred_lifetime. Update all users.
8286
288c757d
CW
82872012-09-26 Colin Watson <cjwatson@ubuntu.com>
8288
8289 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8290 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8291
0d35da3f
CW
82922012-09-26 Colin Watson <cjwatson@ubuntu.com>
8293
8294 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8295 errors from grub-probe to /dev/null, not stdout.
8296
b78c3127
VS
82972012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8300 sector 1.
8301
473959f0
CW
83022012-09-24 Colin Watson <cjwatson@ubuntu.com>
8303
8304 * util/grub-install.in: Make the error message if $source_dir
8305 doesn't exist more useful.
8306
794c8c33
CW
83072012-09-22 Colin Watson <cjwatson@ubuntu.com>
8308
8309 Fix grub-emu build on FreeBSD.
8310
8311 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8312 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8313 headers on Linux.
8314 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8315 implementation is currently Linux-specific.
8316 * util/getroot.c (exec_pipe): Define only on Linux or when either
8317 libzfs or libnvpair is unavailable.
8318 (find_root_devices_from_poolname): Remove unused path variable.
8319
86d08fdb
CW
83202012-09-19 Colin Watson <cjwatson@ubuntu.com>
8321
8322 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8323 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8324 should fit before end == 63.
8325
735abf54
CW
83262012-09-19 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * util/grub-setup.c (write_rootdev): Remove unused core_img
8329 parameter. Update all callers.
8330 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8331 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8332 GRUB_SETUP_BIOS.
8333
140acd3c
VS
83342012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8337 (grub_add_tab): New function.
8338 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8339 * util/grub.d/10_illumos.in: Likewise.
8340 * util/grub.d/10_kfreebsd.in: Likewise.
8341 * util/grub.d/10_linux.in: Likewise.
8342 * util/grub.d/10_netbsd.in: Likewise.
8343 * util/grub.d/10_windows.in: Likewise.
8344 * util/grub.d/10_xnu.in: Likewise.
8345 * util/grub.d/20_linux_xen.in: Likewise.
8346 * util/grub.d/30_os-prober.in: Likewise.
8347
7ddffdad
VS
83482012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8351 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8352 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8353 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8354 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8355 ieee1275-nocursor.
8356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8357 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8358
4e092454
VS
83592012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8362 le-conversion.
8363 Reported by: BURETTE, Bernard.
8364
735abf54 83652012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
8366
8367 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8368 from comment.
8369
dfd39dbd
CW
83702012-09-14 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8373 IEEE1275 machines. Fixes powerpc-emu compilation.
8374 * include/grub/terminfo.h: Likewise.
8375
3bfa763c
VS
83762012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8379 a const pointer.
8380 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8381 const pointer.
8382 (efiemu_set_variable): Make vendor_guid a const pointer.
8383
250e475b
VS
83842012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Don't require grub-mkconfig_lib to generate manpages for programs.
8387
8388 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8389 dependencies, don't add grub-mkconfig_lib.
8390 (program): Pass empty adddeps.
8391 (script): Pass grub-mkconfig_lib as adddeps.
8392
592fd0e4
VS
83932012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8396 * util/getroot.c (grub_find_device): Likewise.
8397 (get_mdadm_uuid): Likewise.
8398 (grub_util_is_imsm): Likewise.
8399 (grub_util_pull_device): Likewise.
8400 * util/grub-probe.c (probe): Likewise.
8401
801a3027
BG
84022012-09-10 Benoit Gschwind <gschwind>
8403
8404 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8405 (devs): Add devpath_8.
8406
c5052c81
PJ
84072012-09-08 Peter Jones <pjones@redhat.com>
8408
8409 * grub-core/Makefile.core.def (efifwsetup): New module.
8410 * grub-core/commands/efi/efifwsetup.c: New file.
8411 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8412 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8413 New define.
8414 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8415
8e832f71
JS
84162012-09-05 Jiri Slaby <jslaby@suse.cz>
8417
8418 * configure.ac: Add SuSe path.
8419
f0f55752
CW
84202012-09-05 Colin Watson <cjwatson@ubuntu.com>
8421
8422 * NEWS: Fix typo.
8423
ecadc4c2
CW
84242012-09-05 Colin Watson <cjwatson@ubuntu.com>
8425
8426 * util/import_gcry.py: Sort cipher_files, to make build system
8427 generation more deterministic.
8428
64498f25
VS
84292012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8432 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8433 (grub_set_datetime): Likewise.
8434
9cc836a2
VS
84352012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8438 warnings.
8439
bcfcea01
VS
84402012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8443
a4099485
VS
84442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8447
265c162a
CW
84482012-09-04 Colin Watson <cjwatson@ubuntu.com>
8449
8450 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8451 required for checkouts from bzr, but it may be useful for users or
8452 distributors wishing to update translations against a tarball
8453 distribution, and it can be helpful for the tarball to be a superset
8454 of what's in bzr.
8455
3d171e95
CW
84562012-09-04 Colin Watson <cjwatson@ubuntu.com>
8457
8458 * Makefile.am (EXTRA_DIST): Add
8459 grub-core/tests/boot/linux.init-mips.S,
8460 grub-core/tests/boot/linux.init-ppc.S, and
8461 grub-core/tests/boot/linux-ppc.cfg.
8462
f2c2503e
CW
84632012-09-04 Colin Watson <cjwatson@ubuntu.com>
8464
8465 * grub-core/mmap/mips/loongson: Remove empty directory.
8466
84672012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
8468
8469 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8470 gone.
8471
ab2163d5
CW
84722012-09-04 Colin Watson <cjwatson@ubuntu.com>
8473
8474 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8475 grub-sparc64-setup.
8476
ce938140
GS
84772012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8478
8479 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8480
529f58a5
GS
84812012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8482
8483 * po/POTFILES.in: Regenerated.
8484
16cf79e9
GS
84852012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8486
8487 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8488 (NetBSD): New subsection.
8489
39b27f1e 84902012-07-22 Ales Nesrsta <starous@volny.cz>
8491
8492 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8493 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8494
a885261b
VS
84952012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8498 * util/grub.d/10_hurd.in: Add missing quoting.
8499 * util/grub.d/10_illumos.in: Likewise.
8500 * util/grub.d/10_kfreebsd.in: Likewise.
8501 * util/grub.d/10_linux.in: Likewise.
8502 * util/grub.d/20_linux_xen.in: Likewise.
8503
7bd29c01
VS
85042012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 New command `lsefi'.
8507
8508 * grub-core/Makefile.core.def (lsefi): New module.
8509 * grub-core/commands/efi/lsefi.c: New file.
8510 * include/grub/efi/api.h: Add more GUIDs.
8511
ac625d8f
VS
85122012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8515 (grub_bsd_elf32_hook): Likewise.
8516 (grub_bsd_elf64_size_hook): Likewise.
8517 (grub_bsd_elf64_hook): Likewise.
8518 (grub_bsd_load_elf): Likewise.
8519
e73bb801
VS
85202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8523 if hash function is unavailable.
8524 (dec_stream_header): Likewise.
8525
e81db8b5
VS
85262012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8529 filter state.
8530
d187a1c3
VS
85312012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 Fix coreboot compilation.
8534
8535 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8536 (grub_vga_text_init_real): ... this.
8537 (grub_vga_text_fini): Rename to ...
8538 (grub_vga_text_fini_real): ... this.
8539
91a05f64
VS
85402012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8543
6af96df7
VS
85442012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/lib/legacy_parse.c: Support clear and testload.
8547
4d569e12
VS
85482012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8551
073b57bb
VS
85522012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8555
a706f4cc
VS
85562012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/net/tftp.c (ack): Fix endianness problem.
8559 (tftp_receive): Likewise.
8560 Reported by: Michael Davidsaver.
8561
e7850aa9
VS
85622012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8565
85662012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8569 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8570 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8571
35692881
VS
85722012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8575 efi_mmap_size.
8576 Reported by: Stuart Hayes.
8577
c35fc5bd
VS
85782012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8581
8582 * grub-core/Makefile.core.def (mda_text): New module.
8583 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8584 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8585 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8586 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8587 here.
8588 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8589 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8590 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8591 here.
8592 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8593 to ..
8594 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8595 ... here
8596 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8597 here.
8598 * grub-core/term/i386/vga_common.c: Removed.
8599 * include/grub/i386/vga_common.h: Likewise.
8600 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8601 (grub_vga_cr_bw_read): Likewise.
8602 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8603 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8604 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8605 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8606 grub_vga_cr_read/grub_vga_cr_write.
8607 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8608
5f91f701
VS
86092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * configure.ac: Bump version to 2.00.
8612 * grub-core/normal/main.c (features): Add feature_200_final.
8613
0c4f85f6
VS
86142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
86152012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8616
8617 * NEWS: Fix unclarity and language mistakes.
8618
f923ad22
VS
86192012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8622 additional size to 3 pages.
8623 Reported by: Stuart Hayes.
8624
d22029ba
VS
86252012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * NEWS: Add 2.00 entry.
8628
58eee08f
VS
86292012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8632 put explicit "/" for empty path.
8633 (wildcard_expand): Improve dprintf.
8634
c59bdff7
VS
86352012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8638 it's equal to currnode. This can happen with "" symlink.
8639
5e6a440a
YB
86402012-06-27 Yves Blusseau <blusseau@zetam.org>
8641
8642 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8643 echo shell command by printf command.
8644
73a68bcb
VS
86452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8648 the value returned by firmware is the maximal position, not diumension.
8649 (grub_terminfo_output_state): Use a more sane fallback.
8650
392a603b
VS
86512012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8654
42d0867f
VS
86552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8658 frequency to 150 MHz.
8659
489509f4
VS
86602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 Apple fixes.
8663
8664 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8665 __APPLE_
8666 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8667 definition.
8668 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8669
9f3fc883
VS
86702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 Handle slash in HFS label.
8673
8674 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8675 (grub_hfs_dir): Tanslate slash.
8676 (grub_hfs_label): Don't translate slash.
8677
54853fd7
VS
86782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8681 network protocol listing since it introduces problematic dependency on
8682 net module.
8683
4dc02ddf
VS
86842012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8687
c50c867d
VS
86882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 Init video early on yeeloong to avoid being rebooted by watchdog.
8691
8692 * grub-core/Makefile.am (gensm712): New target.
8693 (sm712_start.S): Likewise.
8694 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8695 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8696 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8697 description.
8698 * include/grub/vga.h: Move registry definitions to...
8699 * include/grub/vgaregs.h: ... here.
8700
5f92c8a1
VS
87012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8704 signedness.
8705
e9e6f111
VS
87062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8709 platforms with firmware disk drivers in the core.
8710
754ad9eb
VS
87112012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8714 informative verbose message.
8715 (read_lv): Handle 64-bit segment size.
8716
315654c2
VS
87172012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8720
fb022c79
VS
87212012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8724 character but still remove trainling spaces.
8725 (grub_fat_label): Ignore archive flag.
8726
8645f72c
VS
87272012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8730 cast between linux_kernel_header and linux_kernel_params.
8731
36498496
VS
87322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8735 type for size.
8736 (grub_raid6_recover_func_t): Likewise.
8737 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8738 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8739
0b5ea6b8
VS
87402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8743
650cfcfe
GS
87442012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8745
8746 Fix overflow.
8747
8748 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8749 [__NetBSD__]: Add explicit cast before bitshift.
8750
8a4d6a44
VS
87512012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * configure.ac: Bump to 2.00~rc1.
8754
2fb97ed3
VS
87552012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8758 half of $a0.
8759
1fa097dc
VS
87602012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
87612012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8762
8763 * docs/grub.texi: Fix search syntax.
8764 (Multi-boot manual config): Put msdos rather than GPT example.
8765 Grammar corrections.
8766
c890ba78
VS
87672012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8770
0f92dca7
VS
87712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8774
3988c4a0
VS
87752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8778 message on double free. Put the value of magic in case of mismatch.
8779
9e86d4c5
VS
87802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Speed-up video on yeeloong.
8783
8784 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8785 add cached_ptr.
8786 (grub_video_sm712_video_fini): Unmap cached_ptr.
8787 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8788 (grub_video_sm712_set_active_render_target): Removed.
8789 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8790 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8791 sync caches.
8792
ed24c312
VS
87932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 Avoid flushing the same line multiple times on loongson.
8796
8797 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8798 Step in 32 bytes and not 1 byte.
8799 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8800 Likewise.
8801
d1718e7d
VS
88022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8805 subvolumes.
8806
982f1909
VS
88072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Implement flow control for http.
8810
8811 * grub-core/net/http.c (parse_line): Handle response 206.
8812 (http_receive): Stall if too many packets are in the queue.
8813 (http_establish): Fix range header.
8814 (http_seek): Fix double free.
8815 (http_close): Likewise.
8816 (http_packets_pulled): New function.
8817 (grub_http_protocol): Set http_seek
8818 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8819 (ack_real): Set window depending on i_stall.
8820 (grub_net_send_tcp_packet): Likewise.
8821 (grub_net_tcp_stall): New function.
8822 (grub_net_tcp_unstall): Likewise.
8823 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8824 (grub_net_tcp_unstall): Likewise.
8825
bd407d6e
VS
88262012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8829
c7564b8e
VS
88302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8833
a3706162
VS
88342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * tests/util/grub-shell.in: Fix a typo.
8837
b27069e0
VS
88382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 Implement flow control for tftp.
8841
8842 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8843 packets but stop only if stop condition is satisfied.
8844 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8845 `stall' instead of `eof' as stop condition.
8846 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8847 (http_err): Likewise.
8848 * grub-core/net/tftp.c (ack): Replace the first argument with data
8849 instead of socket.
8850 (tftp_receive): Stall if too many packets are in wait queue.
8851 (tftp_packets_pulled): New function.
8852 (grub_tftp_protocol): Set packets_pulled.
8853 * include/grub/net.h (grub_net_packets): New field count.
8854 (grub_net_put_packet): Increment count.
8855 (grub_net_remove_packet): Likewise.
8856 (grub_net_app_protocol): New field `packets_pulled'.
8857 (grub_net): New field `stall'.
8858
6b9cfac6
VS
88592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8862 sync part to handle them.
8863
f35abd81
VS
88642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8867 * grub-core/net/drivers/ieee1275/ofnet.c
8868 (grub_ieee1275_net_config_real): Likewise.
8869
0e7ec820
VS
88702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8873 the direct route for server/gateway.
8874
9d611a31
VS
88752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8878 IP address to server name since we may not hame the DNS.
8879
418f45ab
VS
88802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8883 freeing random buffer on failure.
8884 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8885
44a0efc1
VS
88862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8889
531e2241
VS
88902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8893 reserved bytes.
8894 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8895 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8896 Handle malloc error correctly.
8897
cde393c9
VS
88982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8901 blocks.
8902
538478d0
VS
89032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8906 increment.
8907
9b55efe0
VS
89082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8911 none is explicitly specified.
8912
9eb832c3
VS
89132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8916 while reallocating.
8917
d6b7c7c9
VS
89182012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 Respect netmask from bootp/dhcp.
8921
8922 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8923 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8924 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8925 into ...
8926 (grub_net_add_ipv4_local): ... this.
8927 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8928 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8929 (grub_net_add_ipv4_local): New proto.
8930
67caf9eb
VS
89312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8934 determining EFI memory map size.
8935
43657558
VS
89362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8939
eb6d0dd3
VS
89402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8943 when looking for partition separator.
8944
31230544
VS
89452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8948 Escape commas.
8949
918a2517
VS
89502012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Restructure FAT driver to avoid hook in label reading as it hits a
8953 GCC bug.
8954
8955 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8956 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8957 (grub_fat_iterate_dir): Split into ...
8958 (grub_fat_iterate_init): ... this, ...
8959 (grub_fat_iterate_fini): ... this, ...
8960 (grub_fat_iterate_dir_next): ... and this. All users updated.
8961
9f1d654e
VS
89622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8965 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8966 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8967 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8968 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8969 New fields last_key and last_key_time.
8970 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8971 extended key-esc into extended key-extended key.
8972
52f0f643
VS
89732012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 Avoid unnecessary memcpy of whole video buffer.
8976
8977 * grub-core/video/fb/video_fb.c (dirty): New struct.
8978 (framebuffer): Add members current_dirty and previous_dirty.
8979 (dirty): New function.
8980 (grub_video_fb_fill_rect): Update dirty.
8981 (common_blitter): Likewise.
8982 (grub_video_fb_scroll): Likewise.
8983 (doublebuf_blit_update_screen): Copy only dirty part.
8984 (doublebuf_pageflipping_update_screen): Likewise.
8985 (grub_video_fb_doublebuf_blit_init): Init dirty.
8986 (doublebuf_pageflipping_init): Likewise.
8987 (grub_video_fb_setup): Likewise.
8988
e169a180
VS
89892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8992 poll rate.
8993
48556879
VS
89942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 Fix wildcard regexp dot and other special characters handling.
8997 Reported by: Robert Mabee.
8998
8999 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9000 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9001 (split_path): Trigger expansion on '?'.
9002 (unescape): New function.
9003 (wildcard_expand): Unescape parts copied without globbing.
9004 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9005 (grub_script_arglist_to_argv): Don't unescape expansions.
9006
0494408e
VS
90072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * include/grub/net.h (grub_net_card): New member txbufsize.
9010 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9011 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9012 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9013 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9014 txbufsize.
9015 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9016 compatible property to check for macs. Set
9017 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9018 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9019 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9020 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9021 (send_card_buffer): Use txbuf.
9022 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9023 nested function out of the parent while on it.
9024
cc35fe8f
VS
90252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9028 presence check.
9029 (grub_ieee1275_net_config_real): Fix config pointer.
9030
970a0a09
VS
90312012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9034 filename parsing to non-block devices.
9035
3e19bf87
VS
90362012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9039
c62d1a0c
VS
90402012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9043 All users updated.
9044
ef76bec3
VS
90452012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9048 UUID search command even if hints probing failed.
9049
90502012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
9051
9052 * po/POTFILES.in: Regenerated.
9053
70aaf305
VS
90542012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Speed-up video on fuloong.
9057
9058 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9059 New function.
9060 (grub_pci_device_unmap_range): Handle non-cached address.
9061 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9062 add direct_ptr.
9063 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9064 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9065 (grub_video_sis315pro_set_active_render_target): Removed.
9066 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9067 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9068 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9069 sync caches.
9070 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9071 New proto.
9072
10400f0b
VS
90732012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * docs/grub.texi (Multi-boot manual config): New section.
9076
ba67e2c6
VS
90772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 Avoid slow read-back from VRAM.
9080
9081 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9082 Move from here ...
9083 * grub-core/video/fb/video_fb.c
9084 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9085 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9086 (front_target): Remove front_target. Add pages.
9087 (grub_video_fb_init): Skip setting front_pages.
9088 (grub_video_fb_fini): Likewise.
9089 (doublebuf_blit_update_screen): Use pages.
9090 (grub_video_fb_doublebuf_blit_init): Likewise.
9091 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9092 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9093 (grub_video_fb_setup): Prefer doublebuffing.
9094
377c98cb
VS
90952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9098 gzio.
9099
eac49cff
VS
91002012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Add loongson tests.
9103
9104 * tests/util/grub-shell.in: Handle loongson.
9105 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9106 drivers.
9107 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9108 Reboot instead of shutdown if REBOOT is defined.
9109
0321415e
VS
91102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9113 sized ports since unlike on real hardware qemu supports only 32-bit
9114 regs.
9115
3f2bdd8f
VS
91162012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9119 * util/grub-mkrescue.in: Handle loongson.
9120
29a049c9
VS
91212012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9124 Set is_part appropriately.
9125 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9126 names. Canonicalize partition without full disk.
9127
4abde346
VS
91282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Revert usb-quiesce since it's wrong.
9131
9132 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9133 (grub_ofdisk_init): Don't do quiesce.
9134
61f1d93b
VS
91352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9138 PowerMac workaround to Xserves as well.
9139 Information supplied by: Benjamin Herrenschmidt.
9140
a09eb541
VS
91412012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 Don't assume that beginning address is also the entry point on ppc.
9144
9145 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9146 (grub_linux_boot): Use linux_entry.
9147 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9148 (grub_linux_load64): Likewise.
9149
505b3c9b
VS
91502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9153
cbe0b4ef
VS
91542012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9157 needlessly lose the console.
9158
3006e981
VS
91592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9162 space.
9163
4e5a96b0
VS
91642012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9165
7da036bb
VS
9166 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9167 than current grub_get_rtc() not implemented when booted with
9168 coreboot without TSC.
9169
9170 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9171 Add machine/time.h to kernel headers on loongson.
9172 * grub-core/Makefile.core.def (kernel): Remove
9173 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9174 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9175 (grub_get_rtc): Likewise.
9176 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9177 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9178 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9179 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9180 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9181 rather than installing known non-working time source.
9182 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9183 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9184 * include/grub/time.h: Don't include machine/time.h.
9185 * include/grub/efi/time.h: Removed.
9186 * include/grub/i386/efi/time.h: Likewise.
9187 * include/grub/i386/ieee1275/time.h: Likewise.
9188 * include/grub/powerpc/ieee1275/time.h: Likewise.
9189 * include/grub/sparc64/ieee1275/time.h: Likewise.
9190 * include/grub/x86_64/efi/time.h: Likewise.
9191
91922012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
9195
9196 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9197 value.
9198 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9199 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9200 with dotless variants when any combining above is present.
9201
5561c22d
VS
92022012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9205 text and not binary.
9206
96f7e60e
VS
92072012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 Stop polling as soon as we have the packet we were waiting for.
9210
9211 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9212 All users updated.
9213 * grub-core/net/arp.c (have_pending): New var.
9214 (pending_req): Likewise.
9215 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9216 stop indicator.
9217 (grub_net_arp_receive): Set have_pending.
9218 * grub-core/net/dns.c (recv_data): New field stop.
9219 (recv_hook): Set stop.
9220 (grub_net_dns_lookup): Init stop and use as stop condition.
9221 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9222 condition.
9223 * grub-core/net/net.c (grub_net_poll_cards): New argument
9224 stop_condition. Stop when it goes true.
9225 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9226 indicator.
9227 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9228
3e747239
VS
92292012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 Keep TX and RX buffers on EFI rather than always allocate new ones.
9232
9233 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9234 card. All users updated.
9235 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9236 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9237 (get_card_packet): Likewise.
9238 (grub_efinet_findcards): Init new fields.
9239
f695e99a
VS
92402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9243 compilation error on sparc64.
9244
9e5e66d1
VS
92452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 Use ITC on IA64 rather than broken routine based on daytime.
9248
9249 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9250 ia64.
9251 (grub_get_rtc) [__ia64__]: Likewise.
9252 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9253 (get_itc): New function.
9254 (grub_rtc_get_time_ms): Likewise.
9255 (grub_machine_init): Calibrate ITC.
9256 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9257 Keep only on non-ia64. Don't export since it's broken and used only
9258 if TSC is unavailable.
9259
a1767404
VS
92602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9263 even if it's used.
9264 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9265 Skip if parent is unused.
9266
34b2bced
VS
92672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9270
5e619f40
VS
92712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 Fix wildcard escaping.
9274
9275 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9276 * grub-core/script/execute.c (wildcard_escape): .. to here.
9277 Don't escape dot.
9278 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9279 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9280 Don't escape dot.
9281 * grub-core/script/execute.c (gettext_append): Always escape.
9282 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9283 * grub-core/script/yylex.l: Don't cut away the escaping.
9284 * tests/grub_script_echo1.in: Add tests with wildcard.
9285
c8ca5855
VS
92862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9289 (ftdi_hw_configure): Likewise.
9290 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9291 define.
9292 (real_config): Handle 1.5 stop bits.
9293 (pl2303_hw_configure): Likewise.
9294
7183452c
VS
92952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * Makefile.am: Add ppc linux bootcheck.
9298 * grub-core/tests/boot/linux-ppc.cfg: New file.
9299 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9300
f57c84cd
VS
93012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * tests/grub_script_expansion.in: Skip network protocols.
9304
ecfc6207
VS
93052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9308
8d03d284
VS
93092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9312 --rom-directory.
9313 Add -graft-points.
9314
61c42af0
VS
93152012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 ESCC serial driver for conducting sautomated tests in qemu.
9318 Not tested on real hardware.
9319
9320 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9321 * grub-core/term/ieee1275/escc.c: New file.
9322 * grub-core/Makefile.core.def (escc): New module.
9323
08fd1291
VS
93242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9327 invalid on error.
9328 (serial_hw_fetch): Don't read invalid handle.
9329 (serial_hw_put): Don't write into invalid handle.
9330
08dafeea
VS
93312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Add a 1.5 stop bits value.
9334
9335 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9336 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9337 GRUB_SERIAL_STOP_BITS_1_5.
9338
9068fdcf
VS
93392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9342 value rather than let it uninited.
9343
f4d5820f
VS
93442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/commands/wildcard.c (+check_file): New function.
9347 (wildcard_expand): Don't expand to non-existing files, expand with
9348 suffix and not attempt to expand if not needed.
9349
3d2de9a7
VS
93502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9353 out of partitions containing other partitions.
9354
c5c81ff9
VS
93552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9358 on some qemu versions with GRUB.
9359
9360 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9361 define.
9362 (grub_openbsd_bootarg_pcibios): New struct.
9363 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9364 Add PCIINFO.
9365
08a14e0b
VS
93662012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * tests/util/grub-shell.in: Trim firmware output on EFI.
9369
cede3ca3
VS
93702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9373 and coreboot since it's already in kernel.
9374
558d3a60
VS
93752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9378 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9379 to here. New return value start. All users updated.
9380 Recursively scan linear mappings.
9381 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9382 proto.
9383 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9384 Use grub_util_get_dm_node_linear_info.
9385 * util/getroot.c (convert_system_partition_to_system_disk): Use
9386 grub_util_info rather than grub_dprintf.
9387 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9388
60fde14d
VS
93892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9392
9393 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9394 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9395
24bd8838
VS
93962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * include/grub/types.h (grub_set_unaligned64): New function.
9399 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9400 (setup): Likewise.
9401
7bc06a49
VS
94022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9405 (grub_ofdisk_fini): Quiesce USB devices.
9406
49cea015
VS
94072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9410 caches.
9411
8dcbe03b
VS
94122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9415
5b258735
VS
94162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/disk/pata.c (grub_pata_pio_read)
9419 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9420 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9421
37ba07eb
VS
94222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 Extend automated tests to qemu-mips.
9425
9426 * Makefile.am: reorganise tests and enable qemu-mips.
9427 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9428 * grub-core/tests/boot/linux.init-mips.S: New file.
9429 * tests/partmap_test.in: Handle ata0 disks.
9430 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9431 non-pc i386.
9432
070038f8
VS
94332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9436 ia64.
9437 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9438 quotes while on it.
9439
004be2cd
VS
94402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9443 (grub_halt): Likewise.
9444 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9445
b1622487
VS
94462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/term/serial.c (grub_serial_register)
9449 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9450 the behaviour in line with x86 platforms.
9451
b7b4ab33
VS
94522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9455 (grub_ata_strncpy): Likewise.
9456 (grub_ata_identify): Add missing byteswaps.
9457
5e3535ae
VS
94582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9461 byte-swap.
9462 (screen_read_char): Likewise.
9463 (grub_vga_text_cls): Likewise.
9464
c21b17e6
VS
94652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9468 filenames.
9469 (make_file_path): Likewise.
9470
bf293dec
VS
94712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9474 machines.
9475 Tested by: Paulo Flabiano Smorigo.
9476 Crucial information about API supplied by: Coleen <Last name unknown>.
9477 Reviewed by: Coleen <Last name unknown>.
9478
81f6ef0e
VS
94792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * util/grub-mkimage.c: Disable -Wcast-align.
9482
7284143a
VS
94832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9486 as they are fatal.
9487
b99f3e00
VS
94882012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9491
944f752d
VS
94922012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * util/grub-probe.c (escape_of_path): Fix double free.
9495
6cce6f38
VS
94962012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/videoinfo.c (hook): Show pitch.
9499
1e1eb50e
VS
95002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9503
1c715b5a
VS
95042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9507 (probe): Add ieee1275 to OFW devices.
9508
007ae52d
VS
95092012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9512
4557a36d
VS
95132012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Handle IBM OFW path.
9516
9517 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9518 available.
9519 (of_path_of_scsi): Handle vdevice.
9520
efbeefe9
VS
95212012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9524 Allocate in multiples of 16 to avoid adding a few bytes free region the
9525 windows bugs upon.
9526
15a940bb
VS
95272012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9530 Allocate in multiples of 16 to avoid adding a few bytes free region the
9531 windows bugs upon.
9532 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9533
6e5efd60
VS
95342012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9537 resolutions.
9538 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9539 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9540
0d3d137e
IS
95412012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9542
9543 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9544
45dbe300
VS
95452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9548 resulted in \\ at the end of the line.
9549
6d8db947
VS
95502012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9553 (grub_parser_cmdline_state): Likewise.
9554 (grub_parser_split_cmdline): Likewise.
9555
de89d338
VS
95562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9559 /dev/root and /dev/dm-*.
9560
00d41dee
VS
95612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9564 fix partially stale display.
9565
f95d1f11
VS
95662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9569 substraction.
9570
6297e197
VS
95712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9574 Fix MBR remapping workaround.
9575 (grub_util_biosdisk_read) [__linux__]: Likewise.
9576
8a7ecad3
VS
95772012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9580
2b34f944
VS
95812012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * configure.ac: Bump to beta6.
9584
684aef11
CW
95852012-05-31 Christer Weinigel <christer@weinigel.se>
9586
9587 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9588
05b0bb91
VS
95892012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9592 (grub_cmd_linux): Likewise.
9593
bda36bfa
CW
95942012-05-31 Christer Weinigel <christer@weinigel.se>
9595
9596 Fix EHCI low-speed.
9597
9598 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9599 (GRUB_EHCI_MULT_TWO): Likewise.
9600 (GRUB_EHCI_MULT_THREE): Likewise.
9601 (GRUB_EHCI_CMASK_MASK): New enum value.
9602 (GRUB_EHCI_SMASK_MASK): Likewise.
9603 (GRUB_EHCI_CMASK_OFF): Likewise.
9604 (GRUB_EHCI_SMASK_OFF): Likewise.
9605 (grub_ehci_pci_iter): Enable periodic schedule.
9606 (grub_ehci_parse_notrun): Likewise.
9607 (grub_ehci_restore_hw): Likewise.
9608 (grub_ehci_setup_qh): Set flags for low speed transfers.
9609 (grub_ehci_find_qh): Use periodic list for low speed.
9610 (grub_ehci_setup_transfer): Check periodic queue as well.
9611 (grub_ehci_check_transfer): Likewise.
9612 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9613
e12bcb1c
PFS
96142012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9615
9616 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9617 parameter is used.
9618
bcc75fb3
PJ
96192012-05-31 Peter Jones <pjones@redhat.com>
9620
9621 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9622 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9623 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9624
f19cb95e
VS
96252012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9628 uninited variable. Allocate at least setup_sects.
9629
a4e5ca80
VS
96302012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 Fix handling of EFI with big memory maps.
9633
9634 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9635 (real_mode_mem): Likewise.
9636 (real_mode_target): Likewise.
9637 (real_mode_pages): Likewise.
9638 (prot_mode_pages): Likewise.
9639 (linux_params): New var.
9640 (linux_cmdline): Likewise.
9641 (free_pages): Don't set real mode variables.
9642 (allocate_pages): Don't allocate real mode memory.
9643 (grub_e820_add_region): Remove the limit.
9644 (grub_linux_boot): Allocate and copy real mode memory.
9645 (grub_linux_unload): Free linux_cmdline.
9646 (grub_cmd_linux): Use temporary storage for parameters.
9647 (grub_cmd_initrd): Likewise.
9648 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9649 (linux_kernel_params): Make it 1K big.
9650
ddb73558
VS
96512012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * Makefile.util.def: Remove -Wno-format.
9654 * grub-core/Makefile.core.def: Likewise.
9655
1c4afb60
VS
96562012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * tests/cmp_unit_test.c: Add missing failure message.
9659 * tests/example_unit_test.c: Likewise.
9660 * tests/printf_unit_test.c: Likewise.
9661
941e3a6d
VS
96622012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9665 relaxation of protective MBR requirements.
9666
b105df76
VS
96672012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * configure.ac: Add condition for COND_HOST_XNU.
9670 * Makefile.util.def (10_xnu): New script.
9671 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9672
84e1569e
VS
96732012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9676 objconv bug.
9677
130c0f77
VS
96782012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9681 Binary on other platforms stays identical.
9682
6fd0b143
VS
96832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9686 Apple.
9687
0af1751d
VS
96882012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9691
176d5f7d
VS
96922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9695 rather than defining size_t ourselves to avoid conflict.
9696
7de5e20a
VS
96972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9700 initialisation to avoid __bzero reference.
9701
f7143efe
VS
97022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9705 version.
9706 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9707 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9708 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9709 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9710 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9711
e6ad0555
VS
97122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9715 * grub-core/kern/misc.c: Likewise.
9716 * grub-core/loader/i386/xnu.c: Likewise.
9717 * include/grub/i386/tsc.h: Likewise.
9718 * include/grub/symbol.h: Likewise.
9719
4a5a3c4a
VS
97202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9723 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9724 on older compiler.
9725
037f6d90
VS
97262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9729 Implement Apple flavour.
9730 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9731
f7194551
VS
97322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9735 (memmove) [__APPLE__]: Likewise.
9736 (memcpy) [__APPLE__]: Likewise.
9737 (memset) [__APPLE__]: Likewise.
9738 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9739 (memmove) [__APPLE__]: Likewise.
9740 (memcpy) [__APPLE__]: Likewise.
9741 (memset) [__APPLE__]: Likewise.
9742
85a730ca
VS
97432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9746 dependency discard.
9747
40e80b94
VS
97482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/normal/main.c (read_config_file): Provide config_file and
9751 config_directory.
9752 * util/grub.d/41_custom.in: Use config_directoy when available.
9753
9da59c32
VS
97542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9757 (grub_bfs_dir): Likewise.
9758
2787ae53
PJ
97592012-05-27 Peter Jones <pjones@redhat.com>
9760
9761 The old code gives arguments to a printf function which can't work
9762 correctly, and the compiler complains.
9763
9764 * grub-core/tests/example_functional_test.c (example_test): Add
9765 missing text.
9766 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9767 * include/grub/test.h (grub_test_assert_helper): New declaration.
9768 (grub_test_assert): Use grub_test_assert_helper.
9769
526ef13d
VS
97702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9773 (exfctest): ... this to avoid overlong filenames.
9774 All users updated.
9775
20dd511c
VS
97762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 Handle "." and ".." on squashfs.
9779
9780 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9781 Make inode numbers into stack.
9782 (grub_squash_read_symlink): Use stack.
9783 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9784 (make_root_node): Fill stack.
9785 (grub_squash_open): Use stack.
9786
1d80c62a
VS
97872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9790 freeing.
9791
d336f652
VS
97922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9795 stderr on test calls.
9796
8b43f587
VS
97972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9800
80a3dc3f
VS
98012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9804
47e297d4
VS
98052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9808 "..".
9809
df042ccb
VS
98102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9813 (grub_hfsplus_iterate_dir): Add "." and "..".
9814
fc977f48
VS
98152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9818 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9819
f3250e5f
VS
98202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9823 (find_path): Handle "." and "..".
9824
fd8ed4c5
VS
98252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9828 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9829 (grub_affs_iterate_dir): Handle hardlinks.
9830
4ce776d2
MG
98312012-05-26 Matthew Garrett <mjg@redhat.com>
9832
9833 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9834 (grub_efi_console_fini): Likewise.
9835 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9836 (grub_video_gop_fill_mode_info): Rename to ...
9837 (grub_video_gop_fill_real_mode_info): ... this.
9838 (grub_video_gop_fill_mode_info): New function.
9839 (grub_video_gop_setup): Setup double framebuffer.
9840 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9841 Free offscreen.
9842 (grub_video_gop_swap_buffers): Copy framebuffer.
9843 (grub_video_gop_fini): Free offscreen buffer.
9844 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9845 New enum.
9846 (grub_efi_gop_blt_pixel): New struct.
9847
683031ba
VS
98482012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * gentpl.py: Remove error disabling for objconv.
9851
c2deb798
VS
98522012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * configure.ac: Remove -Wunitialized as it's not available on older
9855 compilers.
9856
98572012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9858
9859 Fix extent overflow comparator.
9860
9861 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9862 (grub_hfsplus_read_block): Set type.
9863 (grub_hfsplus_cmp_extkey): Compare type.
9864
d6b1fd36
VS
98652012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9868
0a9aa0f6
VS
98692012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9872 than 0.
9873
8360e159
VS
98742012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9877 (dejavu_bold_14.pf2): New target.
9878
501b9e4b
VS
98792012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * configure.ac: Fix djvu font detection.
9882
7026b0e2
VS
98832012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9886 ext* instead of ext2.
9887
c2a51ade
VS
98882012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9891 name with \0.
9892
8f803a5d
JU
98932012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9894
9895 * docs/grub-dev.texi: Remove dot from .png.
9896
13c6353f
VS
98972012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9900 protective entry in any slot.
9901 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9902 if protective entry is found in any slot.
9903
9904 Protective entry in non-first slot make no sense but is a widespread
9905 brain damage.
9906
4cf6be1b
VS
99072012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9910
937d1c44
VS
99112012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9914 with old reiserfs.
9915 (grub_reiserfs_open): Don't free root.
9916
021d90ec
VS
99172012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9920 after freeing for safety.
9921
967b2b64
VS
99222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9925 Reported by: Jordan Uggla.
9926
34274d02
JU
99272012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9928
967b2b64
VS
9929 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9930 actual implementation. Specifically, clarify that the grub menu will
9931 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9932 passed.
34274d02 9933
dcaaae9d
BH
99342012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9935
9936 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9937 of r0.
9938
7086ad52
VS
99392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 Remove unjustified hard dependency of normal.mod on gfxterm.
9942
9943 * include/grub/term.h (grub_term_output): New member fullscreen.
9944 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9945 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9946 (grub_gfxterm): Set .fullscreen.
9947 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9948 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9949
37ed2c9b
VS
99502012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9953 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9954 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9955
a4469c88
VS
99562012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9959
4e461486
VS
99602012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9963 a bad FS.
9964
aa78f5c4
VS
99652012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9968 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9969
197626b5
VS
99702012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9973 (grub_jfs_mount): Fill caseins.
9974 (grub_jfs_find_file): Respect caseins.
9975
8ad3f28c
VS
99762012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9979 through UTF-16.
9980
0c6c324e
VS
99812012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9984 New argument origpath. All users updated.
9985
c6666ba6
VS
99862012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9989 (read_attr): Ensure that we read start of possibly compressed block.
9990
e28e5fe5
VS
99912012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9994 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9995 All users updated.
9996
5fc23ab2
VS
99972012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10000 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10001 (dejavu.pf2): Replace with ...
10002 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10003 this.
10004
79dbc21c
VS
100052012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * util/grub.d/20_linux_xen.in: Add missing line.
10008
d2fcfb0c
VS
100092012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10012 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10013 (grub_utf16_to_utf8): Likewise.
10014
5560e9d6
VS
100152012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10018 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10019 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10020 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10022 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10023
100242012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
10025
10026 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10027 a bad FS.
10028
5560e9d6 100292012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
10030
10031 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10032 (grub_udf_read_symlink): Handle read_string failure.
10033
5eae3175
VS
100342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10037 comment.
10038
c1ad82db
VS
100392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 Fix handling of UDF symlinks.
10042
10043 * grub-core/fs/udf.c (read_string): New argument outbuf.
10044 All users updated.
10045 (grub_ufs_read_symlink): Rename to ...
10046 (grub_udf_read_symlink): ... this. All users updated.
10047 Handle symlinks with more than one component.
10048
33eca6e0
VS
100492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10052 symlinks. Replace leading colon with a slash.
10053
57f4a70b
VS
100542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10057 filename.
10058
38c8ee20
VS
100592012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10062 match in inner node.
10063
2e57f28f
VS
100642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10067 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10068 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10069 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10070 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10071 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10072 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10073 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10074 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10075
fe8c2f11
VS
100762012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 Use grub-probe and not cmp to check that disk is empty.
10079
10080 * util/grub-install.in: Use grub-probe for zero-check.
10081 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10082 (probe): Handle PRINT_ZERO_CHECK.
10083 (argp_parser): Handle -t zero_check.
10084
100852012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
10086
10087 Flush block cache on adding disk to device map.
10088
10089 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10090 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10091 adding.
10092 (read_device_map): Likewise.
10093 (open_device): Flush on opening.
10094
690434e8
VS
100952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10098 (handle_symlink): Fix off-by-one error.
10099 Canonicalize the target.
10100 (grub_cpio_dir): Canonicalize the name.
10101 Fix memory leak.
10102 Set directory.
10103 (grub_cpio_open): Canonicalize the name.
10104
742d2be6
VS
101052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10108 handling.
10109
3244fe96
VS
101102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10113 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10114
8aeb1837
VS
101152012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10118 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 10119 All users updated.
8aeb1837 10120
9133fd05
VS
101212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10124 counterpart.
10125
6d521c5b
VS
101262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 Fix UFS1 big file support.
10129
10130 * grub-core/fs/ufs.c (INODE): Removed.
10131 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10132 64-bit.
10133 (INODE_MODE): Simplify.
10134 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10135 (grub_ufs_lookup_symlink): Don't use INODE.
10136
21b82e17
VS
101372012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10140
10141 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10142 (grub_minix_data): Replace log_block_size with block_size.
10143 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10144 (grub_minix_mount): Fill block_size.
10145
101462012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
10147
10148 * configure.ac: Bump to beta5.
10149
f417ed04
VS
101502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 Fix wrapped HFS+ handling.
10153
10154 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10155 blocks_start. All users updated.
10156 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10157 wrapping offset.
10158 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10159
607d282b
VS
101602012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 Fix long symlinks on reiserfs.
10163
10164 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10165 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10166 (grub_reiserfs_iterate_dir): Save size for non-directories.
10167 (grub_reiserfs_open): Don't reread stat block as we already know the
10168 size.
10169 (grub_reiserfs_read): Split into...
10170 (grub_reiserfs_read_real): ... and ...
10171 (grub_reiserfs_read): ...this.
10172
ae16024d
VS
101732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 Fix non-indexed JFS.
10176
10177 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10178 (grub_jfs_data): New field namecomponentlen.
10179 (grub_jfs_mount): Fill namecomponentlen.
10180 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10181
eea1e26e
VS
101822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10185 * tests/grub_script_echo1.in: Add tests.
10186
df760f77
VS
101872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * util/grub-install.in: Ignore empty devicetree directory.
10190
5efb817d
B
101912012-05-08 Bean <bean123ch@gmail.com>
10192
10193 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10194 All users updated.
10195 (free_rsm): Free header as well.
10196 (free_old_fragments): Fix memory leak.
10197 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10198 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10199 (destroy_pq): Likewise.
10200 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10201
668ea6d2
VS
102022012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10205 resulting hash as a precaution.
10206
1739b1fe
VS
102072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10210 '_' in variable names.
10211 * grub-core/net/net.c (grub_net_network_level_interface_register):
10212 Likewise.
10213
6ae485aa
VS
102142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Fix AFFS with non-512B blocks.
10217
10218 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10219 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10220 (grub_affs_data): Replace blocksize with log_blocksize.
10221 (grub_affs_read_block): Fix non-512B blocks.
10222 (grub_affs_read_symlink): Likewise.
10223 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10224 (grub_affs_read): Fix non-512B blocks.
10225 (grub_affs_label): Likewise.
10226 (grub_affs_mtime): Likewise.
10227 (grub_affs_mount): Fix block detection routine.
10228
d20fab84
VS
102292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 Add filesystem mtime to AFFS.
10232
10233 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10234 (aftime2ctime): New function.
10235 (grub_affs_dir): Use aftime2ctime.
10236 (grub_affs_label): Fix return value.
10237 (grub_affs_mtime): New function.
10238 (grub_affs_fs): Add mtime.
10239
e87b10f5
VS
102402012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10243 UTF-8.
10244
7dceec9b
VS
102452012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10248 UTF-8.
10249
2f48221f
VS
102502012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10253
dacd85cf
VS
102542012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10257 flags.
10258 (FLAGS_CASE_SENSITIVE): New enum value.
10259 (cache_entry): New struct.
10260 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10261 cache_size and cache.
10262 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10263 Add log_blocksize and fshelp_flags.
10264 (grub_sfs_read_extent): Handle non-512 blocks.
10265 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10266 (grub_sfs_read_file): Handle non-512 blocks.
10267 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10268 fshelp_flags.
10269 (grub_sfs_read_symlink): Handle non-512 blocks.
10270 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10271 (grub_sfs_dir): Free cache.
10272 (grub_sfs_close): Likewise.
10273
24e9a854
VS
102742012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10277 filesystems.
10278
62ace64d
VS
102792012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10282
83b2e89c
VS
102832012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10286
75ccaea3
VS
102872012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10290 (grub_sfs_read_extent): Likewise.
10291 (grub_sfs_read_block): Likewise.
10292 (grub_sfs_mount): Likewise.
10293 (grub_sfs_iterate_dir): Likewise.
10294 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10295 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10296
1b8463f2
VS
102972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Fix errors on compressed NTFS with 512B clusters.
10300
10301 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10302 types.
10303 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10304 not 0.
10305 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10306 Relax check for inline extents.
10307 (ntfscomp): Return correct -1 on error and not 0.
10308
4f8e368f
VS
103092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * util/grub-install.in: Fix handling of prefix containing spaces.
10312
6f5d5ee8
VS
103132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10316 (grub_squash_read_data): Fix offset byte-swapping.
10317
ce41ab7a
VS
103182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10321 per common usage and preffered in several parts of code.
10322 (grub_memcmp): Likewise.
10323 (grub_strncmp): Likewise.
10324 * include/grub/misc.h (grub_strcasecmp): Likewise.
10325 (grub_strncasecmp): Likewise.
10326 * Makefile.util.def (cmp_test): New test.
10327 (grub_script_strcmp): Likewise.
10328 * tests/cmp_unit_test.c: New file.
10329 * tests/grub_script_strcmp.in: Likewise.
10330 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10331
49717bf4
VS
103322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * include/grub/pci.h: Move enums into no-asm part.
10335
0a308f64
VS
103362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10339
1796965f
ST
103402012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10341
10342 * util/getroot.c (find_hurd_root_device): Try to make error message
10343 and comments to translators clearer.
10344
4e9b2819
VS
103452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10348
076aeb50
VS
103492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10352 btrfs.
10353
19424d94
VS
103542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * docs/grub.cfg: Update.
10357
ebb73076
VS
103582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * docs/grub.texi (PXE): Remove not present variables.
10361
9a1b669c
VS
103622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * grub-core/net/net.c (defserver_set_env): New function.
10365 (defserver_get_env): Likewise.
10366 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10367
d38bf7d3
VS
103682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10371 entries.
10372
103732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
10374
10375 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10376 * grub-core/kern/emu/hostdisk.c: Likewise.
10377
e5e4ca48
ST
103782012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10379
10380 Handle hurd userspace partitions.
10381
10382 * util/getroot.c (find_hurd_root_device): New function.
10383 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10384
56bb5dd5
VS
103852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10388 names.
10389 Reported by: Bastian Blank.
10390
9e8bc27a
VS
103912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10394 crossing page boundary.
10395
aa01499d
VS
103962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 Fix B-tree search in BFS, especially in presence of non-ASCII
10399 characters.
10400
10401 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10402 (find_in_b_tree): Use standard bsearch + btree algorithm.
10403
57006035
VS
104042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10407 and so on.
10408
9d34bb85
MG
104092012-05-03 Matthew Garrett <mjg@redhat.com>
104102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 Suspend broadcom cards in order to stop their DMA.
10413
10414 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10415 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10416 (pci): Don't build on x86 EFI.
10417 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10418 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10419 New function.
10420 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10421 stop_broadcom if running on EFI.
10422 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10423 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10424 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10425 (grub_pci_find_capability): New proto.
10426
01aab997
VS
104272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * docs/grub.texi: Remove dot from the extension as it apparently
10430 doesn't work with some makeinfo versions.
10431
fbd8dca6
VS
104322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10435 with GRUB expectance.
10436
dab797f4
VS
104372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10440
1516bfb4
VS
104412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10444 zero after directory block since last entry may be not 0-terminated if
10445 it ends on block boundary. Use continue instead of if spanning whole
10446 loop.
10447
a3a0eace
VS
104482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 Support 4K sectors UDF inline files.
10451
10452 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10453 (grub_udf_extended_file_entry): Likewise.
10454 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10455 All users updated.
10456 (get_fshelp_size): New function.
10457 (grub_udf_read_icb): Read whole block.
10458 (grub_udf_iterate_dir): Likewise.
10459 (grub_udf_dir): Likewise.
10460 (grub_udf_open): Likewise.
10461
c82f16c1
VS
104622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10465
59fd2aac
VS
104662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10469 inline symlinks in addition to workaround.
10470
3b4afb4d
VS
104712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10474
f45c794a
VS
104752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10478
f25cecbd
VS
104792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10482
bb9a34e8
VS
104832012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 Fix reiserfs big seek times.
10486
10487 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10488 exact. All users updated.
10489 (grub_reiserfs_read): Use nearest btree search for seeking.
10490 Fix return value on error.
10491
dc478aea
VS
104922012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10495 entries.
10496 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10497 * docs/grub.texi: Update menuentry description.
10498
8db10f47
VS
104992012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10502 crash when embedding onto filesystem.
10503
bcb288ed
VS
105042012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10507 name.
10508
a626fdd7
VS
105092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10512
b2f68477
VS
105132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10516 commit.
10517
ba15b2af
B
105182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
105192012-05-01 Bean <bean123ch@gmail.com>
10520
10521 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10522
a188012e
VS
105232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10526 Special behaviour for len = 0 to read whole file isn't used anywhere and
10527 can cause buffer ovewrflows in several places.
10528
f0a53ed2
VS
105292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10532
5ed554f0
VS
105332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Handle RAIDZ on non-512B sectors.
10536
10537 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10538 max_children_ashift.
10539 (fill_vdev_info_real): Fill max_children_ashift.
10540 (read_device): Use max_children_ashift.
10541
ddc58357
VS
105422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10545
e3282399
VS
105462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10549 disk names.
10550 * docs/grub.texi: Update device.map parts.
10551
ee618bd4
VS
105522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 Don't scan into non-diskfilter devices having diskfilter names.
10555
10556 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10557 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10558 handling.
10559 (scan_disk_hook): New function.
10560
bdf88864
B
105612012-04-29 Bean <bean123ch@gmail.com>
10562
10563 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10564 allocation.
10565
32745f51
MK
105662012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10567
10568 * configure.ac: Detect starfield theme font path
10569 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10570
bc95c8c0
VS
105712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10572
10573 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10574 geometry on serial consoles.
10575
147fbcab
VS
105762012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10579 because of network consoles.
10580
0f42c889
VS
105812012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10584 handling.
10585
4a3594c9
VS
105862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10589 falls on Q syndrom.
10590
5cb53879
VS
105912012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10594 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10595
b282dfe5
VS
105962012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10599 Allocate at lest 8192 for temporary buffer as required for lzo.
10600
daa59f47
VS
106012012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10604 to cluster_bits, since it's already added in.
10605 (grub_fat_read_data): Likewise.
10606
986748ce
VS
106072012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10610 as long as cluster size is multiple of 512 bytes.
10611
a20f6ad0
VS
106122012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * util/grub-mkrescue.in: Fix locale directory.
10615
385f9abb
VS
106162012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/kern/emu/hostdisk.c (map): Make static.
10619
1c557d30
B
106202012-04-23 Bean <bean123ch@gmail.com>
10621
10622 * util/grub-fstest.c (fstest): Add missing break.
10623
524b5d3a
ST
106242012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10625
10626 Fix hurd build.
10627
10628 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10629 not define nr variable.
fe4824e9 10630 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10631 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10632 grub_find_device): Do not define.
524b5d3a 10633
9a06490c
VS
106342012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 Fix kfreebsd compile and behaviour.
10637
10638 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10639 format-security.
10640 * util/getroot.c: Fix wait.h include.
10641 (grub_guess_root_devices): Error if grub_find_device fails.
10642 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10643 (grub_util_get_dev_abstraction): Likewise.
10644 (grub_util_pull_device): Likewise.
10645 (grub_util_get_grub_dev): Likewise.
10646 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10647
48143d96
VS
106482012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 Fix and unify wholedisk detection.
10651
10652 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10653 is_part. All users updated.
10654 (device_is_wholedisk): Removed.
10655 (grub_util_biosdisk_get_grub_dev): Use is_part.
10656
ebbd24f3
VS
106572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10660 mode.
10661
56f7aa1e
VS
106622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * configure.ac: Bump to beta4.
10665
9c815e01
VS
106662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10669 --fs-uuid --set UUID syntax.
10670
59e2651a
VS
106712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10674 disunification.
10675
54e03cfc
VS
106762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10679
81092a75
MK
106802012-04-18 Mads Kiilerich <mads@kiilerich.com>
10681
10682 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10683
f8315e14
MG
106842012-04-18 Mike Gilbert <floppym@gentoo.org>
10685
10686 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10687
1501ac21
B
106882012-04-18 Bean <bean123ch@gmail.com>
10689
10690 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10691 place.
10692
cb7f944e
VS
106932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10696 users updated.
10697 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10698 corresponding to GRUB partitions.
10699 (grub_util_biosdisk_write): Likewise.
10700
b72d44a1
VS
107012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 Scan mdraid before LVM.
10704
10705 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10706 (grub_diskfilter_register_front): ... this.
10707 (grub_diskfilter_register_back): New function.
10708 All users of grub_diskfilter_register updated.
10709
33d918b8
VS
107102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * util/grub-install.in: Fix an automatic target detection bug.
10713
c6ca973d
VS
107142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * util/grub-install.in: New option --efi-directory.
10717
b41be562
VS
107182012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10721 boot services if we have no other choice.
10722
107232012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10726 document it.
10727 * tests/util/grub-shell.in: Update to --directory.
10728
e0595a73
VS
107292012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10732
4ed80652
VS
107332012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10736 (grub_minix_read_file): Likewise.
10737 (grub_minix_read_inode): Likewise.
10738 (grub_minix_find_file): Likewise.
10739 (grub_minix_dir): Likewise.
10740
56008077
VS
107412012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * util/grub-setup.c (setup): Fix partition handling and blocklist
10744 check.
10745
ee520775
VS
107462012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10749 redundant buggy overlap check.
10750
16fc9293
VS
107512012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10754 and grub-mknetdir.
10755
9bab65c4
VS
107562012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10759 kh.loadflags on pre-2.00 kernels.
10760
3c491b47
VS
107612012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Terminate UNDI and PXE before launching the payload to avoid problems
10764 with DMA.
10765
10766 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10767 (grub_loader_flags): ... this. All users updated.
10768 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10769 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10770 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10771 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10772 function.
10773 (grub_pxe_restore): Likewise.
10774 (fini_hnd): New var.
10775 (GRUB_MOD_INIT): Register shutdown hook.
10776 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10777 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10778 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10779 (grub_loader_set): Rename second argument to flags.
10780
851ffada
VS
107812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10784 written bytes.
10785 (grub_get_num_of_utf8_bytes): New function.
10786 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10787 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10788 executing it.
10789 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10790 (grub_ucs4_to_utf8): Change return type.
10791
491c57a8
VS
107922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10795 warning.
851ffada
VS
10796 * grub-core/fs/bfs.c (hop_level): Likewise.
10797 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10798
756773df
VS
107992012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * grub-core/lib/adler32.c: Recode due to license unclearness.
10802
fd556a96
VS
108032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10806 (test_header): Likewise.
10807
9f9d3f69
VS
108082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Fix --help formatting.
10811
10812 * util/grub-mkconfig_lib.in (print_option_help): New function.
10813 (grub_fmt): Likewise.
10814 * util/grub-install.in: Use print_option_help and grub_fmt.
10815 * util/grub-kbdcomp.in: Likewise.
10816 * util/grub-mkconfig.in: Likewise.
10817 * util/grub-mknetdir.in: Likewise.
10818 * util/grub-mkrescue.in: Likewise.
10819 * util/grub-mkstandalone.in: Likewise.
10820 * util/grub-reboot.in: Likewise.
10821 * util/grub-set-default.in: Likewise.
10822 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10823
561ec77e
VS
108242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * linguas.sh: Remove autogenerated *.po.
10827
7ec2b021
VS
108282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * po/README: Move language fetcing to ...
10831 * linguas.sh: ... here.
10832 * po/README: Point to linguas.sh.
10833
a88f3270
VS
108342012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * po/README: Exclude ko.po due to disclaimer problems.
10837
d61357ce
VS
108382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10841 len = 0.
10842 (grub_gettext_translate_real): Handle 0th string.
10843 (grub_gettext_translate): Ensure that "" isn't translated.
10844
505e41dc
VS
108452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10848 TRANSLATORS comment.
10849 (grub_diskfilter_print_partmap): Propagate changing of error into
10850 warning.
10851
e44092db
VS
108522012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10855 to uint64_t to prevent overflow.
10856 (grub_diskfilter_lv): Increase start_extent and extent_count
10857 to uint64_t to prevent overflow.
10858
9b83956a
VS
108592012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * configure.ac: Increase version.
10862
da0d5b3f
VS
108632012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10866
10867 * po/Rules-translit: New file.
10868 * po/arabic.sed: Likewise.
10869 * po/cyrillic.sed: Likewise.
10870 * po/greek.sed: Likewise.
10871 * po/hebrew.sed: Likewise.
10872 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10873 * po/Makefile.in.in: Add extra_dist4.
10874
ac66b453
VS
108752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10878
10879 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10880 modify names. Introduce MODE_BIGENDIAN.
10881 * grub-core/fs/minix_be.c: New file.
10882 * grub-core/fs/minix2_be.c: Likewise
10883 * grub-core/fs/minix3_be.c: Likewise.
10884 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10885 minix3_be.
10886 * grub-core/Makefile.core.def (minix_be): New module.
10887 (minix2_be): Likewise.
10888 (minix3_be): Likewise.
10889
108902012-04-01 Felix <email@hamburg.de>
10891
10892 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10893 (devs): Add MBP 2011.
10894
0a2d5a82
VS
108952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10898
d1625889
VS
108992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/normal/cmdline.c (print_completion): New field
10902 prompt_len.
10903 (grub_cmdline_get): Handle width properly.
10904
6d36a236
VS
109052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10908
9576977e
VS
109092012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10912 after 29th of February.
9576977e 10913
d73ff15d
VS
109142012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 Fix exfat endianness handling.
10917
10918 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10919 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10920 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10921 Byte-swap utf16 when necessary.
10922 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10923
bbb39a45
AB
109242012-03-31 Anton Blanchard <anton@samba.org>
109252012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 Fix btrfs endianness handling.
10928
10929 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10930 (lower_bound): Make root uint64_t. Use root in le.
10931 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10932 (find_path): Fix template key init.
10933 (grub_btrfs_dir): Fix mtime byteswap.
10934 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10935
354e0af7
VS
109362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10939 recursion_depth. Break infinite resursions. All users updated.
10940
4e75f21c
VS
109412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10944 after free.
10945 Reported by: Peter Jones.
10946
25581802
AB
109472012-03-31 Anton Blanchard <anton@samba.org>
10948
10949 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10950 8 bit values.
10951
08fbf92e
VS
109522012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * util/grub-install.in: Fix nvram call for PreP.
10955
5d1182a6
VS
109562012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10959 the error when some elements are missing into a warning.
10960
3f8cdd90
VS
109612012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10964
51006716
CW
109652012-03-28 Colin Watson <cjwatson@ubuntu.com>
10966
10967 * docs/grub.texi (Invoking grub-probe): New section.
10968 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10969
e1bd676b
VS
109702012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 Fix tab and wide character handling in editor and menu.
10973
10974 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10975 agglomerate control characters with combining marks.
10976 (bidi_line_wrap): Allow break on tab.
10977 (grub_unicode_get_comb_start): New function.
10978 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10979 and tab correctly.
10980 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10981 with a space.
10982 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10983 fixed_tab_size. All users updated.
10984 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10985 (grub_term_getcharwidth): Handle \t.
10986 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10987 and copy.
10988
22e6a774
VS
109892012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 Handle big-endian mdraid.
10992
10993 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10994 * grub-core/Makefile.core.def (mdraid09_be): New module.
10995 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10996 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10997 * grub-core/disk/mdraid_linux_be.c: New file.
10998
3c0eae66
VS
109992012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11002
b6cf74c9
VS
110032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11006 missing quotes which caused confusion among translators.
11007
83c93b9c
VS
110082012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * util/grub-mkconfig_lib.in: Fix typo.
11011
ac6fd218
VS
110122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11015 spaces.
11016 * tests/grub_script_leading_whitespace.in: New file.
11017 * Makefile.util.def (grub_script_leading_whitespace): New test.
11018
ba287dd8
VS
110192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11022 to work.
11023
d2d58d0a
VS
110242012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11027 starts with control character.
11028
0382d9bb
VS
110292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11032 overflow.
11033 (grub_gdb_outbuf): Likewise.
11034
d83ff9f9
VS
110352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11038 zero terminator. Fixes a crash.
11039
2282da4a
VS
110402012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11043 beyond 4 GiB.
11044 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11045 images independently of preffered adderss field.
11046
0ae4f0bd
VS
110472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11050 * grub-core/commands/regexp.c: Likewise.
11051 * grub-core/loader/i386/linux.c: Likewise.
11052 * grub-core/partmap/msdos.c: Likewise.
11053 * grub-core/script/execute.c: Likewise.
11054 * grub-core/term/gfxterm.c: Likewise.
11055
546fbe9b
VS
110562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Add variable parsing in $"..." and fix several mismatches with bash.
11059
11060 * Makefile.util.def (grub_script_gettext): New test.
11061 * grub-core/script/execute.c (parse_string): New function.
11062 (gettext_append): Likewise.
11063 (grub_script_arglist_to_argv): Use gettext_append.
11064 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11065 * tests/grub_script_gettext.in: New file.
11066
9fdb2d7b
VS
110672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 Fix handling of leading spaces in scripts.
11070
11071 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11072 spaces.
11073 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11074 other than skipping \r. All users updated.
11075 * tests/grub_script_echo1.in: Add space-related tests.
11076 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11077
1a1ac4f6
VS
110782012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11081
b63d89b6
VS
110822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * configure.ac: Bump up the version to beta2.
11085
17f38c0f
VS
110862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Fix gettext reload bugs (e.g. inability to disable gettext
11089 once enabled).
11090
11091 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11092 main_context and secondary_context. All functions updated.
11093 (grub_gettext_translate): Rename to ...
11094 (grub_gettext_translate_real): ... this. Return NULL on failed
11095 translate.
11096 (grub_gettext_translate): Handle secondary context.
11097 (grub_gettext_delete_list): Close file and zero-out the context.
11098 (grub_mofile_open): Don't call grub_gettext_delete_list.
11099 Don't close file.
11100 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11101 if locale="" to avoid pointless error message.
11102 (grub_gettext_env_write_lang): Update lang even if load fails.
11103 Handle secondary context.
11104 (grub_gettext_reread_prefix): New function.
11105 (read_main): Likewise.
11106 (read_secondary): Likewise.
11107 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11108 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11109 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11110 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11111
8e56f870
VS
111122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * configure.ac: Decrease warning level to avoid spurious warnings and
11115 to be able to compile with GCC 4.2.
11116 * Makefile.util.def: Remove -Wno-error=logical-op.
11117
82f6d455
WB
111182012-03-10 William Bittner <william.bittner@gmail.com>
11119
11120 * util/import_unicode.py: Add missing brackets around string for
11121 python 3 support.
11122
1ecd61a4
VS
111232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 Fix efi chainloader on network root.
11126
11127 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11128 network devices.
11129 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11130 New function.
11131
14361ee8
VS
111322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11135 unused show_text member.
11136 * docs/grub.texi: Document "text" property.
11137
922aabf3
VS
111382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11141 in dprintf.
11142
ec316771
VS
111432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Fix IMSM handling on Fedora.
11146
11147 * util/getroot.c (grub_util_is_imsm): New function.
11148 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11149
0f021838
VS
111502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * Makefile.am: Strip gold section.
11153 * conf/Makefile.common: Likewise.
11154 * gentpl.py: Likewise.
11155 * grub-core/Makefile.core.def: Likewise.
11156 * grub-core/genmod.sh.in: Likewise.
11157
1039c8eb
VS
111582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11161 * util/grub.d/20_linux_xen.in: Likewise.
11162 Based on Debian patch.
11163
6dd412cd
VS
111642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * util/grub.d/10_linux.in: Fix syntax error resulting in
11167 Richard Laager's patch.
11168 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11169
3fd8bae5
VS
111702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11173 dependencies.
11174
7eea1671
RL
111752012-03-10 Richard Laager <rlaager@wiktel.com>
11176
11177 * util/grub.d/10_linux.in: Fix ZFS root passing.
11178
e8e0566b
VS
111792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11182 * grub-core/commands/xnu_uuid.c: Likewise.
11183 * grub-core/loader/efi/appleloader.c: Likewise.
11184 * grub-core/script/execute.c: Likewise.
11185 * grub-core/script/main.c: Likewise.
11186 * util/grub-mkfont.c: Likewise.
11187
1acc5b1f
VS
111882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * util/grub-mkfont.c (options): Use more appropriate "select" that
11191 "set" for face index.
11192
35d70620
VS
111932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * util/grub-editenv.c (options): Gettextize command summaries.
11196
c9eb96b5
VS
111972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11200 "out of memory" error messagge.
11201
1f493136
VS
112022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11205 of diskfilter for diskfilter on diskfilter support.
11206
6d790129
VS
112072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11210
005f46c9
VS
112112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11214 themes/starfield.
11215
c8f778a0
VS
112162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11219
de1e64eb
VS
112202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11223
c6d54211
VS
112242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11227 of error message.
11228
dd390777
VS
112292012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11232
5fd1c522
VS
112332012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11236 message.
c6d54211 11237 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 11238
fae01f6c
VS
112392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11242 Gettextize.
11243 * util/grub-mount.c (options): Likewise.
11244
292fdaff
VS
112452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11248 gettextize.
11249 * grub-core/commands/search_wrap.c (options): Likewise.
11250
ecdbae77
VS
112512012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11254
52bfedfa
VS
112552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11258 size calculation.
11259 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11260 none is known.
11261
55b20e58
VS
112622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11265 "temporary" since it's used in identifier and is limited in space.
11266
fda9d101
VS
112672012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * po/POTFILES.in: Regenerate. Include *.h since they contain
11270 translatable strings as well.
11271
6a0295e2
VS
112722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11275 byte-swap on big-endian.
11276 Reported by: Lennart Sorensen
11277
807fb77c
VS
112782012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11281 (allocate_pages): Improve dprintf.
11282 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11283 code32_start. Fill code32_start and kernel_alignment in params.
11284 (grub_cmd_initrd): Use prot_init_space.
11285
61ac50ba
VS
112862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11289
abdd26dd
VS
112902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * util/grub-install.in: Add missing dot at the end of sentence.
11293
6e69da9c
VS
112942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11297 * grub-core/commands/videotest.c: Likewise.
11298 * grub-core/loader/i386/linux.c: Likewise.
11299
4a929343
VS
113002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11303 sentence.
11304 Reported by: Milo Casagrande.
11305
bb51c6c6
VS
113062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11309 * grub-core/commands/gptsync.c: Likewise.
11310 * grub-core/commands/hashsum.c: Likewise.
11311 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11312 * grub-core/commands/legacycfg.c: Likewise.
11313 * grub-core/io/gzio.c: Likewise.
11314 * grub-core/net/net.c: Likewise.
11315 * grub-core/term/gfxterm.c: Likewise.
11316 * grub-core/term/terminfo.c: Likewise.
11317 * grub-core/tests/test_blockarg.c: Likewise.
11318 * grub-core/video/video.c: Likewise.
11319 * util/grub-install.in: Likewise.
11320 * util/grub-mkfont.c: Likewise.
11321
b2b149cb
VS
113222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11325
c7c080ad
VS
113262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 11329 Reported by: David Prévot.
c7c080ad 11330
f2e243c0
VS
113312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11334 description.
11335
09963c76
VS
113362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * util/grub-script-check.c (main): Fix a syntax error message which was
11339 unclear.
11340
a50514a8
VS
113412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11344
4650daec
VS
113452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11348 messages.
11349
113502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
11351
11352 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11353 without argument.
11354 * util/grub-mount.c (options): Likewise.
11355
bbc5a342
VS
113562012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11359
ef292a87
VS
113602012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * grub-core/net/http.c: Add TRANSLATORS comments.
11363 * grub-core/normal/cmdline.c: Likewise.
11364 * grub-core/normal/misc.c: Likewise.
11365 * grub-core/partmap/msdos.c: Likewise.
11366 * grub-core/parttool/msdospart.c: Likewise.
11367 * grub-core/script/execute.c: Likewise.
11368 * grub-core/script/main.c: Likewise.
11369 * grub-core/term/terminfo.c: Likewise.
11370 * grub-core/video/bitmap.c: Likewise.
11371 * util/grub-install.in: Likewise.
11372 * util/grub-mkimage.c: Likewise.
11373 * util/grub-mklayout.c: Likewise.
11374 * util/grub-setup.c: Likewise.
11375
0fc19bd0
VS
113762012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11379 with similar messages in grub-fstest.
11380
d95862ef
VS
113812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * util/grub-install.in: Unify "option requires an argument" message
11384 with similar messages in other files.
11385 * util/grub-mkconfig.in: Likewise.
11386
b7308f90
VS
113872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/grub-set-default.in: Replace printf with gettext_printf (the
11390 string in in question is already translated from grub-reboot)
11391
559dc587
VS
113922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * configure.ac: Bump up the version to beta1.
11395
1a11761f
VS
113962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11399 case when min_align = 0.
11400
24539abd
VS
114012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11404 and fix a case when line_start overflows.
11405
32bd735b
VS
114062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * util/grub-reboot.in (usage): Mention id posibility.
11409 * util/grub-set-default.in (usage): Likewise.
11410
1a2fd1e6
VS
114112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11414 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11415 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11416 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11417 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11418 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11419 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11420
90eeab76
VS
114212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/commands/menuentry.c (options): Remove
11424 GRUB_ARG_OPTION_REPEATABLE.
11425 Reported by: Andreas Vogel
11426
5ad1be82
AV
114272012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11428
11429 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11430
cb055286
HE
114312012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11432
11433 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11434 error.
11435
93b1cd79
VS
114362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 Use sort -V by the idea of Georgi Georgiev.
11439
11440 * util/grub-mkconfig_lib.in (version_sort): New function.
11441 (version_test_numeric): Use version_sort.
11442
0cdc126c
VS
114432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 Use submenus in grub-mkconfig.
11446
11447 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11448 * util/grub-mkconfig_lib.in (grub_quote): New function.
11449 (gettext_printf): Use gettext and not gettext_quoted to fix several
11450 messages.
11451 * util/grub.d/10_hurd.in: Use submenus.
11452 * util/grub.d/10_kfreebsd.in: Likewise.
11453 * util/grub.d/10_linux.in: Likewise.
11454 * util/grub.d/10_netbsd.in: Likewise.
11455 * util/grub.d/20_linux_xen.in: Likewise.
11456 * util/grub.d/30_os-prober.in: Likewise.
11457 * util/grub.d/10_illumos.in: Add missing quoting.
11458 * util/grub.d/10_windows.in: Likewise.
11459
d9bef9bc
VS
114602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 Fix menu title instability bug.
11463
11464 * grub-core/commands/menuentry.c (options): New option --id.
11465 (grub_normal_add_menu_entry): New argument id. All users updated.
11466 (grub_cmd_menuentry): Handle --id.
11467 (grub_menu_init): Accept unknown arguments.
11468 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11469 feature_menuentry_options.
11470 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11471 saved_entry.
11472 (get_entry_number): Match with id as well.
11473 * include/grub/menu.h (grub_menu_entry): New member id.
11474 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11475 * util/grub.d/00_header.in: Define menuentry_id_option.
11476 * util/grub.d/10_hurd.in: Define id.
11477 * util/grub.d/10_illumos.in: Likewise.
11478 * util/grub.d/10_kfreebsd.in: Likewise.
11479 * util/grub.d/10_linux.in: Likewise.
11480 * util/grub.d/10_netbsd.in: Likewise.
11481 * util/grub.d/10_windows.in: Likewise.
11482 * util/grub.d/20_linux_xen.in: Likewise.
11483 * util/grub.d/30_os-prober.in: Likewise.
11484
114852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
11486
11487 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11488 "scope" with "body".
11489
7c8d0ce7
VS
114902012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11493 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11494 prot_size and prot_file_size.
11495
49de079b
VS
114962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11499 All users updated. If easily=1 require raid-5/-6 to be full.
11500 (is_node_readable): Likewise.
11501 (scan_devices): Scan incomplete but readable LVs at the end.
11502 (grub_diskfilter_memberlist): Pull missing devices.
11503 (insert_array): Skip scanning until device is complete or scan is
11504 done otherwise.
11505 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11506 check.
11507 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11508 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11509
aff05d45
MG
115102012-03-03 Matthew Garrett <mjg@redhat.com>
115112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Avoid EFI boot services when loading Linux.
11514
11515 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11516 avoid_efi_bootservices. All users updated.
11517 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11518 argument avoid_efi_bootservices. All users updated.
11519 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11520 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11521 align, min_align, relocatable, prefered_address. All users updated.
11522 Allocate avoiding boot services if kernel is relocatable.
11523 (grub_cmd_linux): Check if kernel is relocatable.
11524 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11525 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11526 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11527 avoid_efi_boot_services.
11528 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11529 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11530 (linux_kernel_params): Likewise.
11531
3935dde2
MG
115322012-03-03 Matthew Garrett <mjg@redhat.com>
115332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 Use EDID on EFI.
11536
11537 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11538 datasize_out.
11539 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11540 modes. Set gop_handle.
11541 (grub_video_gop_get_edid): New function.
11542 (grub_gop_get_preferred_mode): Likewise.
11543 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11544 (grub_video_efi_gop_adapter): Set .get_edid.
11545 * include/grub/efi/edid.h: New file.
11546 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11547
32107ec0
VS
115482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * util/grub-install.in: Load efivars unconditionally.
11551
e70a2c50
VS
115522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * po/Rules-piglatin: Change suffix from .po-update-en to
11555 .po-update-en-piglatin.
11556
8f9cace1
VS
115572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Add a pig farm.
11560
11561 * po/piglatin.sed: New file.
11562 * po/en@piglatin.header: Likewise.
11563 * po/Rules-piglatin: Likewise.
11564 * po/README: Add en@piglatin to autogenerated languages.
11565
8f95d002
VS
115662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11569 "Command for ...".
11570 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11571 "Check" since we don't check anything.
11572 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11573 is 64-bit one.
11574 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11575 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11576 (grub_md_sha512_real): Likewise.
11577
805a8dcc
VS
115782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/commands/gptsync.c: Fix typographic quoting.
11581 * grub-core/commands/ieee1275/suspend.c: Likewise.
11582 * grub-core/commands/parttool.c: Likewise.
11583 * grub-core/commands/search_wrap.c: Likewise.
11584 * grub-core/commands/videoinfo.c: Likewise.
11585 * grub-core/gfxmenu/gui_label.c: Likewise.
11586 * grub-core/hello/hello.c: Likewise.
11587 * grub-core/kern/emu/main.c: Likewise.
11588 * grub-core/net/net.c: Likewise.
11589 * grub-core/normal/menu.c: Likewise.
11590 * grub-core/normal/menu_text.c: Likewise.
11591 * grub-core/normal/misc.c: Likewise.
11592 * util/grub-editenv.c: Likewise.
11593 * util/grub-install.in: Likewise.
11594 * util/grub-kbdcomp.in: Likewise.
11595 * util/grub-mkconfig.in: Likewise.
11596 * util/grub-mknetdir.in: Likewise.
11597 * util/grub-mkrescue.in: Likewise.
11598 * util/grub-mkstandalone.in: Likewise.
11599 * util/grub-reboot.in: Likewise.
11600 * util/grub-set-default.in: Likewise.
11601 * util/grub-setup.c: Likewise.
11602 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11603
40211ab8
VS
116042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11607 * grub-core/commands/keystatus.c: Likewise.
11608 * grub-core/commands/loadenv.c: Likewise.
11609 * grub-core/commands/probe.c: Likewise.
11610 * grub-core/commands/regexp.c: Likewise.
11611 * grub-core/commands/true.c: Likewise.
11612 * grub-core/commands/videoinfo.c: Likewise.
11613 * grub-core/disk/cryptodisk.c: Likewise.
11614 * grub-core/disk/ldm.c: Likewise.
11615 * grub-core/disk/loopback.c: Likewise.
11616 * grub-core/disk/luks.c: Likewise.
11617 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11618 * grub-core/kern/disk.c: Likewise.
11619 * grub-core/kern/emu/hostdisk.c: Likewise.
11620
0c7d99c7
VS
116212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11624 * util/grub-install.in: Add missing quote in the comment.
11625
e7d2559b
VS
116262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11629 * grub-core/commands/lsmmap.c: Likewise.
11630 * grub-core/commands/minicmd.c: Likewise.
11631 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11632 * grub-core/commands/regexp.c: Likewise.
11633 * grub-core/gdb/gdb.c: Likewise.
11634 * grub-core/term/gfxterm.c: Likewise.
11635 * util/grub-mkconfig.in: Likewise.
11636 * util/grub-mkfont.c: Likewise.
11637 * util/grub-mklayout.c: Likewise.
11638 * util/grub-mknetdir.in: Likewise.
11639 * util/grub-mkrescue.in: Likewise.
11640 * util/grub.d/30_os-prober.in: Likewise.
11641
49ce9e50
VS
116422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11645 with "Direct color" and "Packed" with "Packed pixel".
11646 (grub_cmd_videoinfo): Simplify legend.
11647
e4b791fa
VS
116482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11651 absolutely unclear error message.
11652
fd1265cb
VS
116532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * util/grub-mkstandalone.in: Remove confusing leftover print.
11656
8822a8a0
VS
116572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11660 comments.
11661 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11662 (GRUB_MOD_INIT): Likewise.
11663 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11664 VGA mode.
11665 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11666 comments.
11667 * util/grub-install.in (usage): Likewise.
11668 Spell ID in whole letters.
11669 Add missing ending dot.
11670 Quote variables.
11671 * util/grub-reboot.in: Fix capitalisation.
11672 * util/grub-set-default.in: Likewise.
11673
937fd0cc
VS
116742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11677 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11678 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11679 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11680 Disable -Werror for -Wdeprecated-declarations.
11681 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11682 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11683 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11684 (grub_util_get_grub_dev): Make luks handling dependent on
11685 HAVE_DEVICE_MAPPER and not __linux__.
11686 (get_win32_path): Fix format security.
11687 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11688 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11689 Don't try grub_find_zpool_from_dir.
11690 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11691 #ifdef-out paresdir.
11692
1bab1ae3
VS
116932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * util/grub-pe2elf.c (usage): Add missing noreturn.
11696 (write_section_data): Rename name to shname to avoid shadowing.
11697 (write_symbol_table): Rename name to symname to avoid shadowing.
11698 Fix write_reloc_section call.
11699
ef023e42
VS
117002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11703 to ensure that it's after the last byte of .text.
11704
48afcb75
VS
117052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * util/ieee1275/ofpath.c (my_isdigit): New function.
11708 (trailing_digits): Use my_isdigit.
11709 (strip_trailing_digits): Likewise.
11710
88d51eff
VS
117112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11714 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11715
17edc2ba
VS
117162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/kern/i386/pc/startup.S: Define __start.
11719
ad5518d7
VS
117202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11723 strip already transforms he format.
11724
9e95e1bf
VS
117252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11728
9cc3ee5c
VS
117292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * util/grub-install.in: Add missing gettext init.
11732 * util/grub-kbdcomp.in: Likewise.
11733 * util/grub-mkconfig.in: Likewise.
11734 * util/grub-mknetdir.in: Likewise.
11735 * util/grub-mkrescue.in: Likewise.
11736 * util/grub-mkstandalone.in: Likewise.
11737 * util/grub-reboot.in: Likewise.
11738 * util/grub-set-default.in: Likewise.
11739 * util/grub.d/00_header.in: Likewise.
11740 * util/grub.d/10_hurd.in: Likewise.
11741 * util/grub.d/10_windows.in: Likewise.
11742 * util/grub.d/30_os-prober.in: Likewise.
11743 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11744
49e08a06
VS
117452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * po/Rules-swiss: Fix header comment.
11748
3809cb41
AV
117492012-02-29 Andreas Vogel <anvoit>
11750
11751 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11752 resulted in leak of arguments.
11753
fa6ec573
VS
117542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11757 reed_solomon_size const definition instead of computing it since
11758 Apple assembler doesn't support the later.
11759
22899b9c
VS
117602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * gentpl.py (kernel): Rewrite Apple part.
11763
a132afc3
VS
117642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11767
9d742bd4
VS
117682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11771 ELF section gap.
11772 (load_image): Likewise.
11773
f04a9a21
VS
117742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * configure.ac: Fix a typo in previous commit.
11777
46cf439c
VS
117782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Don't add -Wl,-N on Apple platform.
11781
11782 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11783 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11784
c4c48c54
VS
117852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/Makefile.core.def (lzma_decompress): Use
11788 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11789
31a12124
VS
117902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/genmod.sh.in: Rewrite the Apple part.
11793
4f3aa1af
VS
117942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11797 comparison.
11798
7bd8b0c7
VS
117992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * acinclude.m4 (grub_CHECK_PIC): New test.
11802 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11803
97304d7c
VS
118042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11807 to avoid the warning.
11808
fb883812
VS
118092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11812 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11813 after. All users updated.
11814
a121c964
VS
118152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 Use the common size routine in hostfs so we can read disks as well.
11818
11819 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11820 (grub_util_get_fd_size): ... this. Return size in bytes.
11821 All users updated.
11822 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11823 grub_util_get_fd_size.
11824
c66d6410
VS
118252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11828 Add blocksize retrieval.
11829
dfc8aeb0
VS
118302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * configure.ac: Restore CFLAGS after efiemu check.
11833
403e25a5
VS
118342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11837 Apple bug.
11838
382775d1
VS
118392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11842
6fd4e6e4
VS
118432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11846 (grub_cmd_halt): Likewise.
11847
bea359d6
VS
118482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11851 for local arithmetics.
11852 Break %sp init into 2 instructions.
11853 Add 0 byte at the end.
11854
32eb6ee1
VS
118552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11858 before loops.
11859
e8377389
VS
118602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11863 for context.
11864
8cb17de7
VS
118652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/disk/ldm.c (make_vg): Init part.name.
11868 (grub_ldm_detect): Silence spurious warning.
11869 (grub_util_is_ldm): Likewise.
11870
595717e6
VS
118712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11874 sane value to avoid a spurious warning.
11875
c4b7e588
VS
118762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11879 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11880
59824957
VS
118812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11884 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11885
70115b99
VS
118862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11889 hardcoding the relevant info.
11890
56733740
VS
118912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11894 missing const qualifiers.
11895 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11896
43481481
VS
118972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * util/getroot.c [__APPLE__]: Add missing includes.
11900 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11901
3cb38f01
VS
119022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11905
d9dbf11e
VS
119062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11909 avoid conflicts.
11910
0c42a45d
VS
119112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11914
46c34eb0
VS
119152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11918 and grub_file_close call.
11919
99ce1597
VS
119202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 Add LZSS Mach-O support (needed for new xnu kernelcache).
11923
11924 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11925 * grub-core/loader/lzss.c: New file.
11926 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11927 on Mach-O open failure.
11928 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11929 Don't free cmdsXX in uncompressedXX is set.
11930 (grub_macho_file): Init new fields.
11931 New argument is_64bit. All users updated.
11932 Handle compressed. Error out if no suitable architecture is found.
11933 Don't close file.
11934 (grub_macho_open): New argument is_64bit. All users updated.
11935 * grub-core/loader/macho32.c: Add defines for new fields.
11936 * grub-core/loader/macho64.c: Likewise.
11937 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11938 (grub_macho_parse): Handle compressed.
11939 Defer actual processing if compressed.
11940 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11941 "filename". All users updated.
11942 (grub_macho_size): New argument "filename". All users updated.
11943 (grub_macho_get_entry_point): Likewise.
11944 (grub_macho_load): Handle compressed.
11945 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11946 (GRUB_MACHO_LZSS_OFFSET): New define.
11947 (grub_decompress_lzss): New proto.
11948 * include/grub/machoload.h (grub_macho_file): New fields to handle
11949 compressed.
11950 (grub_macho_contains_macho64): Remove proto.
11951 (grub_macho_contains_macho32): Likewise.
11952 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11953
ebd17d6f
VS
119542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11957
2702b4e4
VS
119582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Fix make dist.
11961
11962 * Makefile.am (starfield_theme_files): New var.
11963 (starfield_DATA): Use starfield_theme_files.
11964 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11965 Add bootcheck-related files.
11966 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11967 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11968 and font_char_metrics.txt.
11969 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11970 (setjmp): Add lib/ia64/longjmp.S.
11971 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11972 * po/POTFILES.in: Regenerate.
11973 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11974 DISTFILES.common.extra1.
11975 * util/devicemap.c: Removed.
11976 * grub-core/lib/i386/relocator_backward.S: Likewise.
11977 * util/import_gcry.py: Remove unused files. Add extra_dist for
11978 ChangeLog.
11979
cf1adfdf
VS
119802012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11983 grub_gettext_delete_list before changing grub_gettext_max to avoid
11984 running out of array bounds.
11985
119862012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11987
11988 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11989 grub_vga_text_init/grub_vga_text_fini.
11990
cf1adfdf 119912012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11992
11993 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11994
541d92e9
VS
119952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * configure.ac: Bump to 2.00~beta0.
11998
7931dddf
VS
119992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12002 missing initialisation.
12003
f1b16fa3
VS
120042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12007
83ddae23
VS
120082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Support v2 xnu boot arguments.
12011
12012 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12013 New argument fsbfreq_out.
12014 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12015 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12016 be used.
12017 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12018 darwin_version.
12019 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12020 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12021 (grub_xnu_boot_params): Rename to ...
12022 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12023 (grub_xnu_boot_params_v2): New struct.
12024
dc693fe6
VS
120252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12028 zeroing of CRC field before computing CRC.
12029
5a6e39c2
VS
120302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12033 Change order of allocations to decrease fragmentation.
12034
6c21f5d7
VS
120352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12038
cfe456dc
CW
120392012-02-27 Colin Watson <cjwatson@ubuntu.com>
12040
12041 Use write-combining MTRR to speed up video with buggy BIOSes.
12042
12043 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12044 (cpuid): New define.
12045 (rdmsr): Likewise.
12046 (wrmsr): Likewise.
12047 (mtrr_base): Likewise.
12048 (mtrr_mask): Likewise.
12049 (grub_vbe_enable_mtrr_entry): New function.
12050 (grub_vbe_enable_mtrr): Likewise.
12051 (grub_vbe_disable_mtrr): Likewise.
12052 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12053 control off to BIOS.
12054 (grub_video_vbe_init): Fill mtrr.
12055 (grub_video_vbe_fini): Disable mtrr.
12056 (grub_video_vbe_get_info_and_fini): Likewise.
12057 (grub_video_vbe_setup): Enable mtrr.
12058
e3c78337
CW
120592012-02-27 Colin Watson <cjwatson@ubuntu.com>
12060
12061 * include/grub/partition.h (grub_partition_map): Change prototype of
12062 embed to take a maximum value for nsectors.
12063 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12064 * include/grub/fs.h (grub_fs): Likewise.
12065 * grub-core/partmap/msdos.c (embed_signatures): New array.
12066 (pc_partition_map_embed): Check for and avoid sectors matching any
12067 of the signatures in embed_signatures, up to max_nsectors.
12068 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12069 returned sector map to max_nsectors.
12070 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12071 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12072 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12073 * util/grub-setup.c (setup): Allow for the embedding area being
12074 split into multiple blocklists. Tell dest_partmap->embed the
12075 maximum number of sectors we care about.
12076
120772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12080 Specify blocklist_install and reserver_first_sector for all fs.
12081 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12082 blocklists.
12083
984b973f
VS
120842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * util/grub-install.in: Clarify strings.
12087 Fix source dir check.
12088
f122e0d6
RL
120892012-02-27 Richard Laager <rlaager@wiktel.com>
12090
12091 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12092 "zfs" and "fuse.zfs" as synonyms.
12093
071114bb
VS
120942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * configure.ac: Put platform and target_cpu substitutions back since
12097 they are used for directories.
12098
817e6abc
RL
120992012-02-27 Richard Laager <rlaager@wiktel.com>
121002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12103 * util/grub.d/20_linux_xen.in: Likewise.
12104
897b7419
RL
121052012-02-27 Richard Laager <rlaager@wiktel.com>
12106
12107 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12108 with full paths.
12109
a414bd15
RL
121102012-02-27 Richard Laager <rlaager@wiktel.com>
12111
12112 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12113 unescape.
12114
30ac48c4
VS
121152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 Don't use insecure popen in getroot.
12118
12119 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12120 (exec_pipe): ... here.
12121 (find_root_devices_from_poolname): Use exec_pipe.
12122
53f13848
VS
121232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 Remove platform and target_cpu replacement.
12126
12127 * configure.ac: Remove platform and target_cpu substitutions.
12128 * tests/util/grub-shell.in: Use modinfo.
12129 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12130 explicitly.
12131
90cb2803
VS
121322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 Autodetect platform in grub-install but allow override.
12135
12136 * util/grub-install.in: Autodetect platform. Support --target and
12137 --directory. Read platform from modinfo.sh.
12138
b9136427
VS
121392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 Support btrfs multi-volume probe.
12142
12143 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12144 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12145 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12146 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12147 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12148 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12149 grub_find_root_devices_from_btrfs if on btrfs.
12150
c36e5cd1
VS
121512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 Remove any awareness of *.c util files about target.
12154
12155 * Makefile.util.def (grub-setup): Split to ...
12156 (grub-bios-setup): ... and this.
12157 (grub-sparc64-setup): ... and this.
12158 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12159 * docs/man/grub-setup.h2m: Split into ...
12160 * docs/man/grub-sparc64-setup.h2m: ... this.
12161 * docs/man/grub-bios-setup.h2m: ... and this.
12162 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12163 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12164 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12165 (grub_target_addr_t): Remove.
12166 (grub_target_size_t): Remove.
12167 (grub_target_ssize_t): Remove.
12168 * util/grub-install.in: Use new grub-*-setup.
12169 * util/grub-mkimagexx.c (Elf_Word): New define.
12170 (Elf_Half): Likewise.
12171 (Elf_Section): Likewise.
12172 (ELF_ST_TYPE): Likewise.
12173 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12174 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12175
584b2f8a
VS
121762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 Replace grub_target_addr with more appropriate types.
12179
12180 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12181 grub_target_addr with grub_addr.
12182 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12183 grub_target_addr with grub_port.
12184 (grub_cmd_write): Likewise.
12185 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12186 grub_target_addr with grub_addr.
12187 (grub_cmd_write): Likewise.
12188 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12189
5a0dc6fb
VS
121902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12193 const qualifier for vendor_guid.
12194
786aff6e
VS
121952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12198 const qualifier.
12199 (efiemu_memequal): Likewise.
12200 (find_variable): Likewise.
12201
49017b17
VS
122022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 Fix missing console prototype on qemu-mips.
12205
12206 * include/grub/mips/qemu_mips/console.h: New file.
12207
c5988629
MG
122082012-02-27 Matthew Garrett <mjg@redhat.com>
122092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12212 * include/grub/efi/efi.h: Likewise.
12213 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12214 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12215 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12216 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12217 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12218 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12219
e33f8d69
MG
122202012-02-27 Matthew Garrett <mjg@redhat.com>
12221
12222 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12223
fb312cd9
VS
122242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12227 error.
12228
7134247c
VS
122292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * configure.ac: Remove inappropriate use of program_transform_name
12232 on grubdir and bootdir but allow explicit specification of those
12233 variables.
12234
6a313124
VS
122352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * util/grub-mknetdir.in (grub_prefix): Removed.
12238 (subdir): Use @bootdirname@ and @grubdirname@.
12239
2311c5ca
VS
122402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12243
7d5d60f7
VS
122442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * po/POTFILES.in: Regenerated.
12247
8151bc82
VS
122482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 Remove improper use of program_transform_name on pkglibrootdir.
12251
12252 * configure.ac (pkglibrootdir): Removed.
12253 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12254 * util/grub-mkimage.c: Likewise.
12255
b4a6a533
VS
122562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12259 warning.
12260
668f304f
VS
122612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * util/grub-install.in: Use file identifier if no UUID is available
12264 or user explicitly prompted for it.
12265
665f2341
NP
122662012-02-27 Navdeep Parhar <nparhar@gmail.com>
12267
12268 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12269 (freebsd_get_zfs): New function.
12270 (grub_freebsd_boot): Pass zfs UUID.
12271 (grub_cmd_freebsd): Set zfs UUID.
12272
8151bc82 122732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
12274
12275 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12276 pkglibrootdir.
12277
e4c498a1
MG
122782012-02-27 Mike Gilbert <floppym@gentoo.org>
12279
12280 Add configure flag to control libzfs integration.
12281
12282 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12283
1e9a9a3f
VS
122842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12287 device.
12288 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12289 small devices.
12290
036985b8
VS
122912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12294 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12295 be used on non-modules.
12296
12297 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12298 Rename to grub_boot_init.
12299 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12300 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12301 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12302 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12303 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12304 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12305 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12306 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12307 includes.
12308 (grub_machine_init): Remove empty inits.
12309 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12310 includes.
12311 (grub_machine_init): Remove empty inits.
12312 * grub-core/term/arc/console.c: Remove explicit proto.
12313 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12314 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12315 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12316 grub_at_keyboard_fini.
12317 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12318 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12319 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12320 grub_gfxterm_fini.
12321 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12322 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12323 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12324 grub_vgatext_fini.
12325 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12326 * grub-core/term/serial.c (GRUB_MOD_INIT)
12327 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12328 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12329 grub_serial_fini.
12330 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12331 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12332 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12333 grub_terminfo_fini.
12334 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12335 (GRUB_MOD_FINI): Likewise.
12336 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12337 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12338 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12339 grub_video_radeon_fuloong2e_fini.
12340 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12341 [LOONGSON]: Rename to grub_video_sis315pro_init.
12342 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12343 grub_video_sis315pro_fini.
12344 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12345 [LOONGSON]: Rename to grub_video_sm712_init.
12346 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12347 grub_video_sm712_fini.
12348 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12349 (grub_at_keyboard_fini): Likewise.
12350 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12351 Don't declare grub_{modname}_init.
12352 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12353 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12354 New proto.
12355 (grub_keylayouts_fini) [!EMU]: Likewise.
12356 * include/grub/serial.h (grub_serial_init) [!EMU]:
12357 New proto.
12358 (grub_serial_fini) [!EMU]: Likewise.
12359 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12360 New proto.
12361 (grub_terminfo_fini) [!EMU]: Likewise.
12362 * include/grub/video.h (grub_font_init) [!EMU]:
12363 New proto.
12364 (grub_font_fini) [!EMU]: Likewise.
12365 (grub_gfxterm_init) [!EMU]: Likewise.
12366 (grub_gfxterm_fini) [!EMU]: Likewise.
12367 (grub_video_sm712_init) [!EMU]: Likewise.
12368 (grub_video_sm712_fini) [!EMU]: Likewise.
12369 (grub_video_sis315pro_init) [!EMU]: Likewise.
12370 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12371 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12372 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12373
d5534665
VS
123742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Make nand a prefix for nand devices.
12377
12378 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12379
10133b5f
VS
123802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12383 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12384
8e307a62
VS
123852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * include/grub/env.h (grub_env_find): Remove prototype.
12388 * grub-core/kern/env.c (grub_env_find): Make static.
12389 (grub_env_set): Remove useless set.
12390
a4c65f34
VS
123912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/kern/i386/realmode.S: Remove useless align.
12394
d87893d5
VS
123952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * include/grub/dl.h (grub_dl_load_file): Don't export.
12398
50159add
VS
123992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12402 grub_dprintf.
12403
b2582b84
VS
124042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12407 grub_errors.
12408 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12409 not reloading whole superblock but only the part which is really needed.
12410 Remove useless grub_errors.
12411 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12412 grub_errors.
12413
e2a83395
VS
124142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 Don't export grub_get_rtc.
12417
12418 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12419 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12420
e7d2a906
VS
124212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12424
6cf1363b
VS
124252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 12428 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 12429
eece3349
VS
124302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Remove prio_list.
12433
12434 * include/grub/list.h (grub_prio_list): Removed.
12435 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12436 GRUB_COMMAND_PRIO_MASK.
12437 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12438 GRUB_COMMAND_FLAG_ACTIVE.
12439 (grub_prio_list_insert): Removed.
12440 (grub_prio_list_remove): Likewise.
12441 (GRUB_AS_PRIO_LIST): Likewise.
12442 (GRUB_AS_PRIO_LIST_P): Likewise.
12443 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12444 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12445 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12446 * grub-core/kern/command.c (grub_register_command_prio): Inline
12447 the prio_list code.
12448 (grub_unregister_command): Likewise.
12449
94f064b4
VS
124502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Fix interrupt mixup from previous commit.
12453
12454 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12455 (grub_realidt): New var.
12456 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12457 Load idt.
12458 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12459 New declaration.
12460 (grub_relocator16_boot): Set grub_relocator16_idt.
12461 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12462 (LOCAL(realidt)): ... this.
12463 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12464 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12465 (grub_realidt): New variable.
12466
27317084
VS
124672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12470 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12471 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12472 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12473 Gettextize.
12474 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12475 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12476 * po/POTFILES.in: Regenerate.
12477
47b40053
VS
124782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12481 errors.
12482
2b343101
VS
124832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12486 \0.
12487 (add_length): Likewise.
12488
ff27c3dd
LK
124892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
124902012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12491
12492 GDB serial and backtrace support.
12493
12494 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12495 (prot_to_real): Likewise.
12496 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12497 * grub-core/Makefile.core.def (backtrace): New module.
12498 (gdb): Likewise.
12499 * grub-core/gdb/cstub.c: New file.
12500 * grub-core/gdb/gdb.c: Likewise.
12501 * grub-core/gdb/i386/idt.c: Likewise.
12502 * grub-core/gdb/i386/machdep.S: Likewise.
12503 * grub-core/gdb/i386/signal.c: Likewise.
12504 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12505 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12506 * include/grub/backtrace.h: Likewise.
12507 * include/grub/gdb.h: Likewise.
12508 * include/grub/i386/gdb.h: Likewise.
12509
125102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12511
12512 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12513 New function.
12514 (add_length): Likewise.
12515 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12516 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12517 proto.
12518 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12519 __argp_get_display_len.
12520
ff27c3dd 125212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12522
12523 $"..." support in scripts.
12524
12525 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12526 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12527 * grub-core/script/yylex.l: Likewise.
12528 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12529 value.
12530
ff27c3dd 125312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12532
12533 * gentpl.py: Remove obsolete pkglib_DATA handling.
12534
ff27c3dd 125352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12536
12537 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12538 mailing list.
12539
12540 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12541 * util/grub-kbdcomp.in: Likewise.
12542 * util/grub-mkconfig.in: Likewise.
12543 * util/grub-mkconfig_lib.in: Likewise.
12544 * util/grub-mknetdir.in: Likewise.
12545 * util/grub-mkrescue.in: Likewise.
12546 * util/grub-mkstandalone.in: Likewise.
12547 * util/grub-reboot.in: Likewise.
12548 * util/grub-set-default.in: Likewise.
12549 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12550
ff27c3dd 125512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12552
12553 Remove GRUB_PREFIX.
12554
12555 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12556 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12557 used for backward compatibility.
12558
ff27c3dd 125592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12560
12561 Add new all_video module.
12562
12563 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12564 * grub-core/Makefile.core.def (all_video): New module.
12565 * grub-core/genmoddep.awk: Generate dependency of all_video from
12566 video.lst.
12567 * grub-core/lib/fake_module.c: New file.
12568 * grub-core/normal/main.c (features): Add feature_all_video_module.
12569 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12570 don't do explicit search again.
47454da5 12571 insmod all_video in load_video if available.
22c7ce85 12572
ff27c3dd 125732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12574
12575 Another round of string clarification and adding TRANSLATORS comments.
12576
ff27c3dd 125772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12578
12579 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12580
ff27c3dd 125812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12582
12583 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12584 to grub_ssize_t.
12585 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12586 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12587
ff27c3dd 125882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12589
12590 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12591 trailing newline implicitly. All users updated.
12592
ff27c3dd 125932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12594
12595 Implement serial on IEEE1275 and EFI.
12596
12597 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12598 on emu. Mention arc and emu as the only platforms without serial
12599 support.
12600 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12601 ieee1275 platforms.
12602 * grub-core/term/efi/serial.c: New file.
12603 * grub-core/term/ieee1275/serial.c: Likewise.
12604 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12605 specification if no ns8250 driver is available.
12606 (grub_cmd_serial): Likewise.
12607 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12608 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12609 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12610 (grub_efi_parity_type_t): New type.
12611 (grub_efi_stop_bits_t): Likewise.
12612 (grub_efi_serial_io_interface): New struct.
12613 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12614 available for all interfaces.
12615 Add EFI and IEEE1275 fields.
12616 (grub_ofserial_init): New proto.
12617 (grub_efiserial_init): Likeiwse.
12618 * util/grub.d/00_header.in: Don't check for the presence of serial
12619 module.
12620
ff27c3dd 126212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12622
12623 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12624 name as if it was an alias.
12625
114076ef
VS
126262012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/commands/lsacpi.c (options): Fix typo.
12629
6a656b0e
VS
126302012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Convert grub-emu to argp.
12633
12634 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12635 emu.
12636 * util/argp_common.c: Rename to ...
12637 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12638 Add missing includes.
12639 * grub-core/kern/emu/main.c: Convert to argp.
12640 * po/POTFILES.in: Regenerate.
12641 * util/grub-install.in (usage): Make first letter lowcase in messages
12642 for uniformity.
12643 * util/grub-setup.c (options): Likewise.
12644
1e3f8ae8
VS
126452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12648 Put back accidently commented-out code.
12649
ed167a80
VS
126502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12653 loop check using Brent algorithm.
12654 (grub_hfsplus_btree_search): Likewise.
12655
6753c0ec
VS
126562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * util/grub-install.in: Fix usage of wrong device for PreP install.
12659
4e27343f
VS
126602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * conf/Makefile.common (CFLAGS_GNULIB): Add
12663 -Wno-unsafe-loop-optimizations.
12664 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12665 on tools.
12666 * grub-core/commands/legacycfg.c: Add pragma to skip
12667 -Wunsafe-loop-optimizations.
12668 (check_password_md5_real): Fix loop counter type.
12669 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12670 reading.
12671 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12672 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12673 loop condition.
12674 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12675 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12676 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12677 condition.
12678 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12679 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12680 avoid possible infinite loops.
12681 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12682 and -Wunsafe-loop-optimizations.
12683 * grub-core/script/yylex.l: Likewise.
12684 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12685 (print_glyphs): Avoid infinite loops.
12686 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12687
697f18b0
GS
126882012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12689
12690 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12691 to avoid infinite loop.
12692 (disp_acpi_rsdt_table): Likewise.
12693
274416e8
VS
126942012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/font/font.c (grub_font_load): Add support for default
12697 path for fonts ($prefix/fonts).
12698 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12699 for checking if string is a path.
12700 * grub-core/normal/main.c (features): Add feature_default_font_path.
12701 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12702 * util/grub.d/00_header.in: Use default directory if possible.
12703 * util/grub-install.in: Install unicode.pf2.
12704
b3e08622
VS
127052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12708 * po/Rules-swiss: New file.
12709 * po/swiss.sed: Likewise.
12710
fe42ce09
VS
127112012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/fs/btrfs.c (find_device): Fix typos.
12714 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12715 * util/grub-mkrelpath.c (argp_parser): Likewise.
12716 Reported by: Yuri Chornoivan.
12717
72f1d065
DO
127182012-02-23 Dalet Omega <daletomega@gmail.com>
12719
12720 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12721 for usual informative messages.
12722
c5884973
DO
127232012-02-23 Dalet Omega <daletomega@gmail.com>
12724
12725 Starfield theme.
12726
12727 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12728 * conf/Makefile.common: Define starfielddir.
12729 * configure.ac: Configure starfield.
12730 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12731 * themes/starfield/README: Likewise.
12732 * themes/starfield/blob_w.png: Likewise.
12733 * themes/starfield/boot_menu_c.png: Likewise.
12734 * themes/starfield/boot_menu_e.png: Likewise.
12735 * themes/starfield/boot_menu_n.png: Likewise.
12736 * themes/starfield/boot_menu_ne.png: Likewise.
12737 * themes/starfield/boot_menu_nw.png: Likewise.
12738 * themes/starfield/boot_menu_s.png: Likewise.
12739 * themes/starfield/boot_menu_se.png: Likewise.
12740 * themes/starfield/boot_menu_sw.png: Likewise.
12741 * themes/starfield/boot_menu_w.png: Likewise.
12742 * themes/starfield/slider_c.png: Likewise.
12743 * themes/starfield/slider_n.png: Likewise.
12744 * themes/starfield/slider_s.png: Likewise.
12745 * themes/starfield/src/blob_nw.xcf: Likewise.
12746 * themes/starfield/src/bootmenu/: Likewise.
12747 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12748 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12749 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12750 * themes/starfield/src/slider_c.xcf: Likewise.
12751 * themes/starfield/src/slider_n.xcf: Likewise.
12752 * themes/starfield/src/slider_s.xcf: Likewise.
12753 * themes/starfield/src/terminalbox/: Likewise.
12754 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12755 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12756 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12757 * themes/starfield/starfield.png: Likewise.
12758 * themes/starfield/terminal_box_c.png: Likewise.
12759 * themes/starfield/terminal_box_e.png: Likewise.
12760 * themes/starfield/terminal_box_n.png: Likewise.
12761 * themes/starfield/terminal_box_ne.png: Likewise.
12762 * themes/starfield/terminal_box_nw.png: Likewise.
12763 * themes/starfield/terminal_box_s.png: Likewise.
12764 * themes/starfield/terminal_box_se.png: Likewise.
12765 * themes/starfield/terminal_box_sw.png: Likewise.
12766 * themes/starfield/terminal_box_w.png: Likewise.
12767 * themes/starfield/theme.txt: Likewise.
12768
17d73325
VS
127692012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * util/grub.d/00_header.in: Add missing export theme.
12772
dbebaf92
VS
127732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12776 already included.
12777 Reported by: Eren D.
12778
3d68bffb
VS
127792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * conf/Makefile.common (grubdatadir): Removed.
12782 (Makefile.am): Move eveything grubdata to pkgdata.
12783
4b59234d
VS
127842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/commands/acpihalt.c (get_sleep_type):
12787 Remove unused variable.
12788
463dcadc
VS
127892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12792 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12793 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12794 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12795 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12796 i18n with gettext no-op.
12797 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12798 GRUB_ACPI_OPCODE_STRING_CONST.
12799 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12800 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12801
e5b90c82
VS
128022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * po/POTFILES.in: Regenerate.
12805
2a704ca9
VS
128062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12809 -Wno-error=missing-noreturn.
12810
84f9d341
VS
128112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12814 condition to avoid possibly infinite loops.
12815 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12816 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12817
d46683f9
VS
128182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12821 condition to avoid possibly infinite loops.
12822
c44866b2
VS
128232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12826 on show_error.
12827
96790539
VS
128282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12831
1ba7e295
VS
128322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12835
21ffe8f1
VS
128362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * util/bin2h.c (usage): Add missing attribute noreturn.
12839
0ccb6b3c
VS
128402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12843 if the size isn't divisible by 512.
12844
b00d7fb6
VS
128452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 Make list_push and list_remove functions rather than inline functions
12848 to decrease size and avoid aliasing violations.
12849
12850 * include/grub/list.h (grub_list_push): Move to ...
12851 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12852 * include/grub/list.h (grub_list_remove): Move to ...
12853 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12854
9d369087
VS
128552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12858 and -Wunused-result.
12859
af0250d9
VS
128602012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12863 Reported by: Seth Goldberg
12864
aad32b14
VS
128652012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12868
ac96441c
ST
128692012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12870
12871 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12872 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12873 command line.
12874 * docs/grub.texi (Simple configuration): Document
12875 GRUB_CMDLINE_GNUMACH.
12876
128772012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12878
12879 * conf/Makefile.common (platform_SCRIPTS): New variable.
12880 (platform_PROGRAMS): Likewise.
12881 * gentpl.py: Mark *,module and *.image for install.
12882 * grub-core/gdb_grub.in: Add a notice of expected environment.
12883 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12884 (gmodule.pl): Likewise.
12885
ac96441c 128862012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12887
12888 Replace grub_checkkey with grub_getkey_noblock.
12889
12890 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12891 (grub_getkey_noblock): ... this. All users updated.
12892
ac96441c 128932012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12894
12895 * grub-core/kern/emu/console.c: Move to ...
12896 * grub-core/term/emu/console.c: ...here.
12897 (grub_ncurses_getkey): Fix return value if no key is detected.
12898
e51b5666
VS
128992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12902 (grub_unit_test_fini): Likewise.
12903 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12904
129052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * include/grub/test.h (GRUB_UNIT_TEST)
12908
d9a62292
VS
129092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12912 Better error handling.
12913 (grub_script_return): Likewise.
12914 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12915
77c9182f
VS
129162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12919 rimplicit redifinition.
12920
edb13cf9
VS
129212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12924 GRUB.
12925
a9e9dc7c
VS
129262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12929 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12930 prompt here.
12931
b4ba8e02
VS
129322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12935 as GRUB_ERR_BUG. Don't malloc if no device is available.
12936
dded5540
VS
129372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12940 Mark calling with invalid term as GRUB_ERR_BUG.
12941
0cf69874
VS
129422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12945 packets rather than raising an error.
12946
59bfe502
VS
129472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12950 in if.
12951
db5fc596
VS
129522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12955 diagnostic to dprintf.
12956 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12957
e4b7f404
VS
129582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12961 device name.
12962
e7b02f9e
VS
129632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12966 (grub_ntfs_iterate_dir): Likewise.
12967
0331e102
VS
129682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 Efiemu stylistic fixes and gettext.
12971
12972 * grub-core/efiemu/i386/loadcore32.c
12973 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12974 * grub-core/efiemu/i386/loadcore64.c
12975 (grub_arch_efiemu_relocate_symbols64): Likewise.
12976 * grub-core/efiemu/i386/pc/cfgtables.c
12977 (grub_machine_efiemu_init_tables): Likewise.
12978 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12979 (grub_efiemu_loadcore_initXX): Add a filename argument.
12980 All users updated.
12981 Improved error message.
12982 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12983 Add a filename argument.
12984 All users updated.
12985 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12986 Reclassify double relocation as GRUB_ERR_BUG.
12987
306fc074
VS
129882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12991 handling.
12992
794d8ef2
VS
129932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12996 on partition.
12997
129982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12999
13000 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13001
794d8ef2 130022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
13003
13004 Improve string. Gettextize.
13005
78dde88e
VS
130062012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13009 utils.
13010 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13011
4786a90f
VS
130122012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13015 [GRUB_UTIL]: New function.
13016 (insert_array) [GRUB_UTIL]: Store partmaps.
13017 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13018 partmaps.
13019 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13020 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13021 (probe_abstraction): Print diskfilter and not raid.
13022 Reported by: Lennart Sorensen
13023
0b6225bd
VS
130242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13027 * util/grub-mkimagexx.c (MASK3): New define.
13028 (add_value_to_slot_20b): Use MASK3.
13029 (add_value_to_slot_21): Likewise.
13030 (relocate_addresses): Fix format specification.
13031 (load_image): Explicitly init symtab_section.
13032
b055f8f6
VS
130332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13036 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13037
b77c2fb7
VS
130382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13041 on powerpc.
13042 Reported by: Lennart Sorensen
13043
e3ec28ab
VS
130442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * gentpl.py: Add missing license header.
13047 * docs/grub.texi: Update copyright year.
13048
c8d9ead6
GS
130492012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13050
13051 Source grub-mkconfig_lib from the build directory at build time.
13052 Suggested by: Vladimir Serbinenko.
13053
13054 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13055 * util/grub-install.in: Define pkgdatadir if not already set, and source
13056 grub-mkconfig_lib from there.
13057 * util/grub-kbdcomp.in: Likewise.
13058 * util/grub-mkconfig.in: Likewise.
13059 * util/grub-mknetdir.in: Likewise.
13060 * util/grub-mkrescue.in: Likewise.
13061 * util/grub-mkstandalone.in: Likewise.
13062 * util/grub-reboot.in: Likewise.
13063 * util/grub-set-default.in: Likewise.
13064 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13065
ebcecdf1
VS
130662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 Increase warning level.
13069
13070 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13071 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13072 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13073 (TARGET_CFLAGS): Likewise.
13074 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13075 * grub-core/Makefile.core.def (decompressor_xz): Add
13076 -Wno-unreachable-code.
13077 (normal): Add -Wno-redundant-decls.
13078 (xzio): Add -Wno-unreachable-code.
13079 (lzopio): Add -Wno-redundant-decls -Wno-error.
13080 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13081 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13082 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13083 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13084 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13085 * grub-core/kern/i386/coreboot/init.c: Add exception to
13086 -Wsuggest-attribute=noreturn.
13087 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13088 * grub-core/kern/ia64/dl_helper.c: Likewise.
13089 * grub-core/kern/mips/dl.c: Likewise.
13090 * grub-core/kern/sparc64/dl.c: Likewise.
13091 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13092 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13093 (memcmp): Likewise.
13094 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13095 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13096 * grub-core/loader/mips/linux.c: Likewise.
13097 * grub-core/loader/multiboot_elfxx.c: Likewise.
13098 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13099 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13100 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13101 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13102 fixme.
13103 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13104 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13105 Fix prototype.
13106
37bb97fe
VS
131072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13110 address.
13111
29a3550b
VS
131122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13115 Avoid improper use of strings.
13116 (grub_cmd_legacy_initrdnounzip): Likewise.
13117
dfdffd0d
VS
131182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13121 attribute.
13122 (grub_util_info): Likewise.
13123 (grub_util_error): Likewise.
13124
102fae4a
VS
131252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13128 * util/grub-fstest.c (fstest): Likewise.
13129
7e94d044
VS
131302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13133 (grub_md_sha512_real): Likewise.
13134 (grub_util_get_geli_uuid): Likewise.
13135 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13136 (grub_util_biosdisk_open): Fix format specification.
13137 Respect format security.
13138 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13139 (xrealloc): Likewise.
13140 (xasprintf): Likewise.
13141
5ebd9769
VS
131422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * util/import_gcry.py: Include grub/crypto.h in init.c.
13145
495fc8c1
VS
131462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13149 (generate_image): Make prefix a const char *.
13150 Fix format specifications. Respect format security.
13151 Avoid void * arithmetics.
13152 Avoid shadowing.
13153 (argp_parser): Remove unused variable. Respect format security.
13154 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13155 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13156 (count_funcs): Remove unused variable.
13157 (relocate_addresses): Fix format specification.
13158 Disable x86-64 with elf32. Remove unused variables.
13159 (add_fixup_entry): Avoid shadowing.
13160 (make_reloc_section): Fix format specification.
13161 Use assert.
13162 (locate_sections): Fix format specifications.
13163 (load_image): Avoid shadowing.
13164
043c2ea3
VS
131652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13168 Fix format specifications. Respect format security.
13169 Don't translate already translated grub_errmsg.
13170 (argp_parser): Remove unused variable
13171
3ec65a81
VS
131722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13175
a4d9fe4a
VS
131762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13179 (main): Likewise. Use xmalloc. Respect format security.
13180
15b81d49
VS
131812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13184 a const char *.
13185 (argp_parser): Remove unused variable.
13186
31731fc0
VS
131872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13190 (add_pixel): Make static.
13191 (add_font): Likewise.
13192 (write_string_section): Make name and str a const char *.
13193 (write_be16_section): Make name a const char *.
13194 (print_glyphs): Make static.
13195 (write_font_ascii_bitmap): Likewise.
13196 (write_font_width_spec): Likewise.
13197 (write_font_pf2): Likewise.
13198 (argp_parser): Remove unused variable.
13199 Respect format security.
13200 (main): Avoid shadowing. Respect format security.
13201
0809527b
VS
132022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * util/grub-editenv.c (argp_parser): Make static.
13205 (create_envblk_file): Use xmalloc.
13206 (open_envblk_file): Likewise.
13207 Resepect format security.
13208 (set_variables): Respect format security.
13209
45b0c8b7
VS
132102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * util/getroot.c (grub_find_device): Respect format security.
13213 (get_mdadm_uuid): Remove unused variable.
13214 (grub_util_pull_device): Dont call gettext on already translated
13215 grub_errmsg.
13216 (find_system_device): Remove unused variable.
13217 (grub_util_get_grub_dev): Likewise.
13218 (grub_make_system_path_relative_to_its_root): Respect format security.
13219
1b024b4e
VS
132202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * util/grub-fstest.c (execute_command): Make first argument
13223 a const char *.
13224 (read_file): Avoid shadowing.
13225 Reuse underlying error message if device open fails.
13226 (cmd_cmp): Respect format security.
13227 (root): Make const char *.
13228 (fstest): Remove args argument and use global copy.
13229 Respect format security.
13230 (argp_parser): Make static.
13231 (main): Make default_root const char *.
13232
5d1d4e28
VS
132332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * util/grub-mount.c (root): Make const char *.
13236 (execute_command): Make first argument a const char *.
13237 (fuse_init): Respect format security.
13238 (argp_parser): Make static. Remove unused variable.
13239 (main): Make default_root a const char *.
13240 Respect format security.
13241
36eb7379
VS
132422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * util/grub-probe.c (probe): Don't call gettext on already translated
13245 grub_errmsg.
13246 Remove unused variables.
13247 (argp_parser): Remove unused variable.
13248
76fb2ea9
VS
132492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * util/grub-script-check.c (argp_parser): Remove unused variable.
13252 (main): Rename read to curread to avoid shadowing.
13253
56c98584
VS
132542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * util/misc.c (grub_util_write_image_at): Fix format specification.
13257 (grub_util_write_image): Likewise.
13258 (grub_script_execute_argument_to_string): Removed (unused).
13259 (grub_script_execute_menuentry): Likewise.
13260 (grub_putchar): Likewise.
13261
164ebb48
VS
132622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13265 (FUNCTION) [GRUB_UTIL]: Likewise.
13266 (VARIABLE) [GRUB_UTIL]: Likewise.
13267
44318d61
VS
132682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13271 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13272
31a26002
VS
132732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13276 buffer.
13277
132782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13281 (LzmaEnc_SaveState): Removed (unused).
13282 (LzmaEnc_RestoreState): Likewise.
13283 (LzmaEnc_InitPriceTables): Made static.
13284 (LzmaEnc_Construct): Likewise.
13285 (LzmaEnc_FreeLits): Likewise.
13286 (LzmaEnc_Destruct): Likewise.
13287 (LzmaEnc_Init): Likewise.
13288 (LzmaEnc_InitPrices): Likewise.
13289 (LzmaEnc_Finish): Likewise.
13290 (LzmaEnc_PrepareForLzma2): Removed (unused).
13291 (LzmaEnc_MemPrepare): Likewise.
13292 (LzmaEnc_GetNumAvailableBytes): Likewise.
13293 (LzmaEnc_GetCurBuf): Likewise.
13294 (LzmaEnc_CodeOneMemBlock): Likewise.
13295
6fa67967
VS
132962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13299 (grub_util_ldm_embed): Likewise.
13300
9a7428e6
VS
133012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * util/grub-editenv.c (print_var): Rename name to varname to
13304 avoid shadowing.
13305 (main): Rename index to curindex to avoid shadowing.
31a26002 13306 Make filename a const char *.
9a7428e6 13307
4f96abd1
VS
133082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13311 to arg_getline to avoid shadowing.
13312
44d10dad
VS
133132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13316 disk_ to avoid shadowing.
13317
340ba63e
VS
133182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13321 curindex to avoid shadowing.
13322 Make static.
13323 (MatchFinder_GetNumAvailableBytes): Make static.
13324
22965bce
VS
133252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13328 avoid shadowing.
13329
7b5784d4
VS
133302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13333 argument from encrypt to do_encrypt to avoid shadowing.
13334
6f48ca01
VS
133352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13338 incorrect nesting of #if's.
13339
a4ea2dff
VS
133402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13343 checks which are always false on some platforms.
13344 (grub_cmd_lsacpi): Likewise.
13345 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13346 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13347 Likewise.
13348
def9fc1b
VS
133492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13352 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13353
a67b2a04
VS
133542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13357 re_dfa_t to avoid breaking alignment invariants.
13358 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13359 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13360
44c6828d
VS
133612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13364 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13365
bebe0dd0
VS
133662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13369 Fix declaration.
13370
a9cdb3cf
VS
133712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13372
13373 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13374 conserve alignment invariants.
13375 (grub_ehci_ehcc_read16): Likewise.
13376 (grub_ehci_oper_read32): Likewise.
13377 (grub_ehci_oper_write32): Likewise.
13378 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13379 Conserve alignment invariants.
13380
ccc3b1b8
VS
133812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13384 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13385 declarations.
13386
987fbd95
VS
133872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13390 Remove unused variable.
13391
0df363f3
VS
133922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13395 Remove set in if.
13396
b2c0c4a6
VS
133972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 * include/grub/net.h: Remove double declarations.
13400
690c531f
VS
134012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 Remove "payload" command in ia64 Linux loader since I couldn't
13404 find any evidence of it being used for anything.
13405 Replace "relocate" command with an environment variable
13406
13407 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13408 fields.
13409 (ia64_boot_payload): Removed.
13410 (last_payload): Likewise.
13411 (RELOCATE_OFF): Likewise.
13412 (RELOCATE_ON): Likewise.
13413 (RELOCATE_FORCE): Likewise.
13414 (relocate): Likewise.
13415 (free_pages): Don't free payloads.
13416 (grub_load_elf64): Use common error messages.
13417 Use "linux_relocate" variable.
13418 Increase the space after boot_params.
13419 (grub_cmd_payload): Removed.
13420 (grub_cmd_relocate): Likewise.
13421 (grub_cmd_fpswa): Improve messages.
13422 (cmd_payload): Removed.
13423 (cmd_relocate): Likewise.
13424 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13425 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13426
01783768
VS
134272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 Convert UHCI to DMA framework.
13430
13431 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13432 (grub_uhci_pci_iter): Fill new members
13433 (grub_alloc_td): Use P2V and V2P functions.
13434 (grub_free_queue): Likewise.
13435 (grub_alloc_qh): Likewise.
13436 (grub_uhci_setup_transfer): Likewise.
13437 (grub_uhci_check_transfer): Likewise.
13438
43206939
VS
134392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13442 Remove assignment in if while on it.
13443
571e140e
VS
134442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * util/grub-mkstandalone.in: Fix modules directory.
13447
a9d96eeb
VS
134482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13451 on i386-pc target.
13452 (argp_parser): Accept "auto" as compression specification.
13453
e4e37e8d
VS
134542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 Fix `help' with unloaded modules.
13457
13458 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13459 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13460 (grub_dyncmd_dispatcher): Small stylistic fix.
13461 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13462 explicit help is requested.
13463
e1ea3ade
VS
134642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13467 Explicitly init restart while on it.
13468
27556881
VS
134692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13472 uninited variable.
13473
d65f6b36
VS
134742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/grub-mknetdir.in: Use . rather than source for POSIX
13477 compatibility.
13478
0a1e473c
VS
134792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13482
ce6647c8
VS
134832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13486 variable.
13487
66747894
VS
134882012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13491 without quotes.
13492
71645f6e
VS
134932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13496
0e1c1f61
VS
134972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13500 iteration of partitions.
13501
9c4b5c13
VS
135022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Improve gettext support. Stylistic fixes and error handling fixes while
13505 on it.
13506
215c90cb
VS
135072012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13510 part. Instead setup the correct stack in RM.
13511 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13512 for stack.
13513 * include/grub/i386/relocator_private.h: New file.
13514
b5c1f9bf
VS
135152012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13518 argument.
13519 * util/grub-fstest.c (options): Add missing DEVICE part.
13520
b525fd83
VS
135212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Clarify and unify messages.
13524
13525 * grub-core/commands/hashsum.c (options): Unify messages.
13526 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13527 literal-only message as translatable.
13528 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13529 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13530 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13531 commands.
13532 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13533 key, not the key used to unlock. Clarify what it's used for.
13534 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13535 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13536 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13537 * util/grub-editenv.c (options): Unify "verbose" message.
13538 * util/grub-fstest.c (read_file): Unify error message.
13539 (fstest): Add quotes around commands.
13540 (options): Unify "verbose" message.
13541 * util/grub-install.in: Add quotes around variable name.
13542 * util/grub-kbdcomp.in: Unify error message.
13543 * util/grub-mkfont.c (main): Likewise.
13544 * util/grub-mkrescue.in: Likewise.
13545 * util/grub-mklayout.c (options): Unify "verbose" message.
13546 * util/grub-mkstandalone.in: Unify help and verbose messages.
13547 * util/grub-mount.c (options): Unify "verbose" message.
13548 * util/grub-probe.c (options): Likewise.
13549 * util/grub-script-check.c (options): Likewise.
13550 * util/grub-setup.c (setup): Unify no-terminator message.
13551 (options): Use DEVICE and not DEV.
13552 Unify "verbose" message.
13553 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13554
0ae70393
VS
135552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 Improve and unify messages.
13558
13559 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13560 name. All users updated.
13561 Print filename in error.
13562 (read_device_map): Print filename in error.
13563 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13564 (grub_util_get_os_disk): Likewise.
13565 (grub_util_biosdisk_get_grub_dev): Likewise.
13566 (grub_util_check_block_device): Likewise.
13567 (grub_util_check_char_device): Likewise.
13568 (grub_make_system_path_relative_to_its_root): Likewise.
13569 * util/grub-editenv.c (create_envblk_file): Likewise.
13570 (open_envblk_file): Likewise.
13571 (write_envblk): Likewise.
13572 * util/grub-fstest.c (cmd_cp): Likewise.
13573 (cmd_cat): Likewise.
13574 (cmd_cmp): Likewise.
13575 * util/grub-menulst2cfg.c (main): Likewise.
13576 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13577 (write_font_width_spec): Likewise.
13578 (write_font_pf2): Likewise.
13579 * util/grub-mkimage.c (generate_image): New argument outname.
13580 All users updated.
13581 Remove unreacheable message.
13582 (options): Unify messages.
13583 (help_filter): Likewise.
13584 * util/grub-mklayout.c (usage): Removed (unused).
13585 (main): Print filename in error.
13586 * util/grub-mkrescue.in: Fix wrong quoting.
13587 * util/grub-setup.c (setup): Print filename in error.
13588 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13589 (check_sas): Likewise.
13590 * util/misc.c (grub_util_get_fp_size): Removed.
13591 (grub_util_get_image_size): Print filename in error.
13592 (grub_util_read_at): Removed.
13593 (grub_util_read_image): Print filename in error.
13594 (grub_util_load_image): Likewise.
13595 (grub_util_write_image_at): New argument filename. All users updated.
13596 Print filename in error.
13597 (grub_util_write_image): New argument filename. All users updated.
13598 Print filename in error.
13599 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13600 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13601
0a96117d
VS
136022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/Makefile.core.def (pxechain): New module.
13605 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13606 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13607 function.
13608 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13609 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13610
aca002f7
VS
136112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13614 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13615 * include/grub/err.h (grub_error_saved): New struct.
13616 (grub_errmsg): Make array size explicit.
13617 * include/grub/misc.h (grub_error_save): New function.
13618 (grub_error_load): Likewise.
13619 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13620 (grub_error_push): Update `errno' member name.
13621 (grub_error_pop): Likewise
13622 * grub-core/net/tftp.c (tftp_data): New member save_err.
13623 (tftp_receive): Save error.
13624 (tftp_open): Restore error.
13625
a51dab13
VS
136262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13629 to real mode down to execute A20-related code in protected mode as
13630 intended.
13631
eb6e6649
GS
136322012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13633
13634 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13635 NULL when the argument `level' has an unexpected value.
13636
92cd0f6e
VS
136372012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 Move platform-dependent files from $prefix to $prefix/$platform.
13640
13641 * config.h.in (GRUB_TARGET_CPU): New definition.
13642 (GRUB_PLATFORM): Likewise.
13643 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13644 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13645 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13646 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13647 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13648 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13649 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13650 * grub-core/normal/term.c (read_terminal_list): Likewise.
13651 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13652 $prefix/locale.
13653 (grub_gettext_init_ext): Likewise.
13654 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13655 grub_platform.
13656 * util/grub-install.in: Update directories.
13657 * util/grub-mknetdir.in: Likewise.
13658 * util/grub-mkrescue.in: Likewise.
13659
db606889
VS
136602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13663 grub_error framework. All users updated.
13664
c39992a4
VS
136652012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13668 lists (by always binsearching), improve caching (cache strings
13669 used for binsearch, not only results), improve
13670 maintainability (by using more structured binary search) and correct
13671 error handling.
13672
1e5ec32f
VS
136732012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * grub-core/script/execute.c (grub_script_return): Fix warning.
13676
ac576cde
VS
136772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * grub-core/script/execute.c (grub_script_return): Fix potential
13680 NULL-dereference.
13681 Reported by: Jim Meyering.
13682
498453f6
VS
136832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * po/POTFILES.in: Regenerate.
13686 * util/grub-install.in: Gettextize the strings missed in first pass.
13687
8be63f2e
VS
136882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * Makefile.util.def (grub-mkdevicemap): Removed.
13691 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13692 * include/grub/util/deviceiter.h: Removed.
13693 * util/deviceiter.c: Likewise.
13694 * util/getroot.c (grub_util_get_os_disk): New function.
13695 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13696 replacement for EFI.
13697 * util/grub-mkdevicemap.c: Removed.
13698 * util/grub-probe.c (probe): Handle PRINT_DISK.
13699 (argp_parser): Handle -t disk.
13700
8e1e4e39
VS
137012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 * util/grub-mkfont.c: Migrate to argp.
13704 * util/grub-mklayout.c: Likewise.
13705 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13706 * util/grub-mkrelpath.c: Likewise.
13707 * util/grub-probe.c: Likewise.
13708 * util/grub-script-check.c: Likewise.
13709
4459819a
VS
137102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * util/grub-reboot.in: Add missing datarootdir.
13713 Add missing newline.
13714 * util/grub-set-default.in: Add missing datarootdir.
13715 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13716 * util/grub-mkrescue.in: Likewise.
13717
f65741c7
VS
137182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13721
c1a33466
VS
137222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * util/grub-kbdcomp.in: Add decent help and gettextize.
13725 * docs/man/grub-kbdcomp.h2m: New file.
13726
c76899a0
VS
137272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 Migrate grub-mkimage.c to argp.
13730
13731 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13732 (grub-setup): Likewise.
13733 * util/grub-setup.c (print_version): Move to ...
13734 * util/argp_common.c (print_version): ... here.
13735 * util/grub-setup.c (argp_program_version_hook): Move to ...
13736 * util/argp_common.c (argp_program_version_hook): ... here.
13737 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13738 safety.
13739 * util/grub-mkimage.c (main): Migrate to argp.
13740
57db0757
VS
137412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * util/grub-mkrescue.in: Use same message as
13744 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13745 for better translations.
13746
18534ad9
VS
137472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13750 options with generic grub-mkrescue.in with the goal of future
13751 merge.
13752
c84ba308
VS
137532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/kern/mm.c: Add missing include of i18n.h
13756 * grub-core/lib/relocator.c: Likewise.
13757
347998c2
VS
137582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13761 error.
13762 (allocate_pages): Check return value.
13763 Replace fatal with error.
13764 (grub_linux_boot): Replace printf with dprintf.
13765 Check find_mmap_size return value.
13766 Replace fatal with error.
13767 Don't call grub_machine_fini.
13768 (grub_load_elf64): Replace printf with dprintf.
13769 (grub_cmd_linux): Likewise.
13770 (grub_cmd_initrd): Likewise.
13771 (grub_cmd_payload): Likewise.
13772
c779226e
VS
137732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13776 message.
13777 * grub-core/video/radeon_fuloong2e.c
13778 (grub_video_radeon_fuloong2e_setup): Likewise.
13779 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13780 * grub-core/video/video.c (grub_video_set_mode): Don't override
13781 standard out of memory message.
13782
dc87d45a
GS
137832012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13784
13785 NetBSD disk wedge support.
13786
13787 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13788 [__NetBSD__]: Handle NetBSD disk wedges.
13789 * util/getroot.c (convert_system_partition_to_system_disk)
13790 [__NetBSD__]: Likewise.
13791
055f856f
MW
137922012-02-03 Mark Wooding <mdw@distorted.org.uk>
13793
13794 * util/grub-mkconfig.in: Use umask rather than chmod to create
13795 grub.cfg.new to avoid insecure grub.cfg.
13796
4a9f8346
VS
137972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * grub-core/commands/ls.c: Gettextize.
13800 * grub-core/commands/setpci.c: Likewise.
13801 * grub-core/commands/videotest.c: Likewise.
13802 * grub-core/disk/geli.c: Likewise.
13803 * grub-core/kern/mm.c: Likewise.
13804 * grub-core/lib/relocator.c: Likewise.
13805 * grub-core/loader/efi/appleloader.c: Likewise.
13806 * grub-core/loader/i386/xnu.c: Likewise.
13807 * grub-core/loader/ia64/efi/linux.c: Likewise.
13808 * grub-core/loader/xnu.c: Likewise.
13809 * grub-core/net/dns.c: Likewise.
13810 * grub-core/net/net.c: Likewise.
13811 * grub-core/script/lexer.c: Likewise.
13812 * grub-core/script/parser.y: Likewise.
13813 * grub-core/script/yylex.l: Likewise.
13814 * util/getroot.c: Likewise.
13815 * util/grub-setup.c: Likewise.
13816
a646a366
VS
138172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13820 number.
13821
54e2be26
VS
138222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13825
f7c71e68
VS
138262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13829 macro.
13830 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13831 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13832
a32d5c71
VS
138332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13836 * util/grub-install.in: Gettextize.
13837 * util/grub-mkconfig.in: Likewise.
13838 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13839 if not available.
13840 (grub_warn): Gettextize.
13841 * util/grub-mknetdir.in: Gettextize.
13842 * util/grub-mkrescue.in: Likewise.
13843 * util/grub-mkstandalone.in: Likewise.
13844 * util/grub-reboot.in: Likewise.
13845 * util/grub-set-default.in: Likewise.
13846 * util/grub.d/00_header.in: Likewise.
13847 * util/grub.d/10_hurd.in: Likewise.
13848 * util/grub.d/10_kfreebsd.in: Likewise.
13849 * util/grub.d/10_linux.in: Likewise.
13850 * util/grub.d/10_netbsd.in: Likewise.
13851 * util/grub.d/10_windows.in: Likewise.
13852 * util/grub.d/20_linux_xen.in: Likewise.
13853 * util/grub.d/30_os-prober.in: Likewise.
13854 * po/POTFILES-shell.in: Regenerate.
13855
69edd81a
RL
138562012-02-03 Richard Laager <rlaager@wiktel.com>
13857
13858 * util/grub-mkimage.c (main): Fix format-security warning.
13859 * util/grub-mkrelpath.c (main): Likewise.
13860 * util/grub-probe.c (main): Likewise.
13861
65f08dbf
RL
138622012-02-03 Richard Laager <rlaager@wiktel.com>
13863
13864 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13865 failure.
13866 Put back lost PRINT_DRIVE.
13867
e9084abe
RL
138682012-02-03 Richard Laager <rlaager@wiktel.com>
13869
13870 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13871 (grub_guess_root_devices): Replace strlen with sizeof.
13872 Avoid crash.
13873 (find_root_devices_from_poolname): Remove unused variable.
13874 Handle raidzN.
13875
cf5f7ee7
VS
138762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 Support install on multi-device filesystems.
13879
13880 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13881 (grub_guess_root_devices): ...this. Return char **. All users updated.
13882 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13883 Removed.
13884 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13885 (find_root_devices_from_poolname): ... here.
13886 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13887 Support zfs-fuse.
13888 (grub_guess_root_device): Rename to ...
13889 (grub_guess_root_devices): ... this. Return char **. All users updated.
13890 * util/grub-install.in: Handle multi-device filesystems.
13891 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13892 argument. All users updated.
13893 Handle multi-device filesystems.
13894 Use 'delim' as separator.
13895 Remove device check to allow filesystems on file.
13896 (main): Support -0 argument. Handle multi-device.
13897 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13898 Fix a cross-device check while on it.
13899 (arguments): Remove root_dev.
13900 (argp_parser): Remove -r.
13901 (main): Remove root_dev.
13902
2f53a9ed
VS
139032012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13906
17e1d934
VS
139072012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13910 symbol.
13911 Reported by: NODA, Kai <nodakai>.
13912
d3e3fab5
VS
139132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 Fix ehci on amd64.
13916
13917 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13918 pointers.
13919 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13920 (grub_ehci_setup_qh): Likewise.
13921 (grub_ehci_find_qh): Likewise.
13922 (grub_ehci_transaction): Likewise.
13923 (grub_ehci_setup_transfer): Likewise.
13924 (grub_ehci_check_transfer): Likewise.
13925 (grub_ehci_portstatus): Likewise.
13926 (grub_ehci_detect_dev): Likewise.
13927 (grub_ehci_transfer_controller_data): New field td_last_phys.
13928 (grub_ehci_setup_transfer): Fill td_last_phys.
13929 (grub_ehci_check_transfer): Use td_last_phys.
13930
3008675b
SG
139312012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13932
13933 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13934 if no submenu is present.
13935
fc9b5652
AN
139362012-02-01 Aleš Nesrsta <starous@volny.cz>
13937
13938 CBI support.
13939
13940 * include/grub/usb.h (grub_usbms_protocol_t): New values
13941 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13942 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13943 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13944 (grub_usbms_dev): Add subclass, protocol and intrpt.
13945 Remove in_maxsz and out_maxsz.
13946 (grub_usbms_reset): Rename to ...
13947 (grub_usbms_bo_reset): .. this.
13948 (grub_usbms_cbi_cmd): New function.
13949 (grub_usbms_cbi_reset): Likewise.
13950 (grub_usbms_reset): Likewise.
13951 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13952 (grub_usbms_transfer): Rename to ...
13953 (grub_usbms_transfer_bo): ... this.
13954 (grub_usbms_transfer_cbi): Likewise.
13955 (grub_usbms_transfer): Likewise.
13956
a2b81d53
AN
139572012-02-01 Aleš Nesrsta <starous@volny.cz>
139582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13961 the support for the CS5536 modification thereos and few bugfixes.
13962
13963 * grub-core/Makefile.core.def (ehci): New module.
13964 * grub-core/bus/usb/ehci.c: New file.
13965 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13966 port and hubaddr. All users updated.
13967 Save port and hubaddr into dev structure.
13968 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13969 define.
13970 * include/grub/pci.h (grub_dma_phys2virt): New function.
13971 (grub_dma_virt2phys): Likewise.
13972 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13973
b1d51f02
VS
139742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13977 check as some mkfs implementations omit it.
13978
fc694106
VS
139792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13982
6c0920e3
VS
139832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13986 Add new member volname2.
13987 (grub_jfs_label): Use volname2 if available.
13988
d1a46f9a
VS
139892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13992 over last_mounted as seen in image generated by mkfs.nilfs2.
13993 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13994
dec8ed14
VS
139952012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13998 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13999 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14000
7397c69b
VS
140012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14004 over the sector.
14005
b3fe42ad
VS
140062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14009 subvolume name (by removing a bogus and useless check).
14010
10476bb0
VS
140112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14014 sizeof while on it.
14015
9c08ad87
VS
140162012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14019 (grub_scsi_read_capacity10): ... this.
14020 (grub_scsi_read_capacity16): New function.
14021 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14022 0xffffffff.
14023 Fix off-by-one error.
14024 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14025 64-bit unsigned.
14026 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14027 (grub_scsi_read_capacity10): ... this.
14028 (grub_scsi_read_capacity_data): Rename to ...
14029 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14030 (grub_scsi_read_capacity16): New struct.
14031 (grub_scsi_read_capacity16_data): Likewise.
14032 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14033 grub_scsi_cmd_read_capacity10.
14034 New command grub_scsi_cmd_read_capacity16.
14035
bc8d0f45
VS
140362012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 SCSI >2TiB support.
14039
14040 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14041 (grub_scsi_write16): Likewise.
14042 (grub_scsi_read): Use read16 when necessary.
14043 (grub_scsi_write): Likewise.
14044 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14045 (grub_scsi_write16): Likewise.
14046 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14047
cc774926
VS
140482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 SCSI write support (for usbms mainly).
14051
14052 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14053 a const pointer.
14054 (grub_scsi_write): Implement.
14055 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14056
67639fd7
VS
140572012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14060 variable.
14061
9079d3ed
VS
140622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14065
c6a6f204
VS
140662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * po/POTFILES.in: Regenerate.
14069
ecbf8cd1
VS
140702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14073 with grub_printf to avoid unnecessary fatal failure.
14074
0b3b3b38
VS
140752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14078 (INT_MAX): Likewise.
14079 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14080 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14081 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14082 (strcpy): Likewise.
14083 (strstr): Likewise.
14084 (strchr): Likewise.
14085 (strncpy): Likewise.
14086 (strcat): Likewise.
14087 (strncat): Likewise.
14088 (strcoll): Likewise.
14089 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14090 (GRUB_INT_MAX): Likewise.
14091
db7337a3
VS
140922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14095 unexpected error.
14096 (optimize_utf8): Likewise.
14097 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14098
f37c87e1
VS
140992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * grub-core/boot/i386/pc/lnxboot.S: Use
14102 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14103 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14104 location.
14105 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14106 definition.
14107 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14108
63fe43f3
VS
141092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14112 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14113 now to avoid double free.
14114 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14115 hostdisk.
14116 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14117 * util/grub-probe.c (escape_of_path): Always return a new copy.
14118 (print_full_name): Escape path.
14119 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14120 Fix hints on abstractions.
14121
ebe2c961
VS
141222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14125 Don't add "root" line if no compatibility hont is available.
14126 Suggested by: Seth Goldberg.
14127
2b5336a2
VS
141282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14131 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14132 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14133 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14134
74310bd8
VS
141352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14138
c30582ba
VS
141392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * util/grub-pe2elf.c (ehdr): Make static.
14142 (shdr): Likewise.
14143 (num_sections): Likewise.
14144 (offset): Likewise.
14145
5f47782c
VS
141462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 Eliminate ofpath limits and possible overflows.
14149
14150 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14151 (OF_PATH_MAX): Removed.
14152 (MAX_DISK_CAT): New const.
14153 (find_obppath): Use allocated rather than preallocated buffer.
14154 Return result. Argument of_path removed. All users updated.
14155 Add missing fdstat.
14156 (xrealpath): New function.
14157 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14158 Allocate rather than use preallocated buffer. All users updated.
14159 (__of_path_common): Use allocated rather than preallocatecd buffer.
14160 Return result. Argument of_path removed. All users updated.
14161 (vendor_is_ATA): Read only needed part form the file.
14162 (check_sas): Allocate depending on contents rather than fixed.
14163 (main) [STANDALONE]: Handle NULL result.
14164
f990cbf9
VS
141652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14168
9c6e84b8
VS
141692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 Cryptodisk write support.
14172
14173 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14174 (grub_cryptodisk_decrypt): Moved logic to ...
14175 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14176 (grub_cryptodisk_write): Implement.
14177 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14178 (grub_util_fd_write): ... this. Make global.
14179 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14180
87cf9744
VS
141812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * include/grub/list.h (grub_list_remove): Don't crash if element is
14184 removed twice.
14185
ca8c0baf
VS
141862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 Rename ofconsole to console.
14189
14190 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14191 as sysnonym to console.
14192 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14193 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14194 Rename grub_ofconsole_ to grub_console_. All users updated
14195 (grub_console_term_output): Rename "ofconsole" to "console".
14196 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14197 as "console".
14198
64c8b8f6
VS
141992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14202 handling.
14203 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14204 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14205 GRUB_DISK_DEVICE_FILE_ID.
14206
f6c434d5
VS
142072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14210 and improve performance.
14211
5858b42d
VS
142122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14215 missing ieee1275/ prefix on whole disk.
14216
4ed3c26b
VS
142172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14220 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14221
df71143e
VS
142222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14225
076e7c0f
VS
142262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 Merge common RAID and LVM logic to an abstract diskfilter.
14229 Add LDM support using the same framework.
14230
14231 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14232 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14233 (libgrubmods): Remove grub-core/disk/raid.c and
14234 grub-core/partmap/gpt.c.
14235 * grub-core/Makefile.core.def (ldm): New module.
14236 (raid): Renamed to diskfilter. All users updated.
14237 * grub-core/disk/raid.c: Moved to ...
14238 * grub-core/disk/diskfilter.c: ... here.
14239 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14240 (lv_num): New var.
14241 (find_array): Renamed to ...
14242 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14243 (grub_is_array_readable): Renamed to ...
14244 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14245 (insert_array): New argument id.
14246 (is_node_readable): New function.
14247 (scan_device): Rename to ...
14248 (scan_disk): .. this. Restrict to one disk.
14249 (scan_devices): New function.
14250 (grub_diskfilter_iterate): Support multi-LV.
14251 Skip invisible and nameless LVs.
14252 (grub_diskfilter_memberlist): Support multi-LV.
14253 (grub_diskfilter_read_node): New function.
14254 (grub_raid_read): Most of logic moved to ...
14255 (read_segment): ... here
14256 (read_lv): New function.
14257 (grub_diskfilter_get_vg_by_uuid): New function.
14258 (grub_diskfilter_make_raid): Likewise.
14259 * grub-core/disk/ldm.c: New file.
14260 * grub-core/disk/lvm.c (vg_list): Removed.
14261 (lv_count): Likewise.
14262 (scan_depth): Likewise.
14263 (is_lv_readable): Likewise.
14264 (grub_lvm_getvalue): Advance pointer past the number.
14265 (find_lv): Removed.
14266 (do_lvm_scan): Refactored into ...
14267 (grub_lvm_detect): ... this. Support raid.
14268 (grub_lvm_iterate): Removed.
14269 (grub_lvm_memberlist): Likewise.
14270 (grub_lvm_open): Likewise.
14271 (grub_lvm_close): Likewise.
14272 (read_lv): Likewise.
14273 (read_node): Likewise.
14274 (is_node_readable): Likewise.
14275 (is_lv_readable): Likewise.
14276 (grub_lvm_read): Likewise.
14277 (grub_lvm_write): Likewise.
14278 (grub_lvm_dev): Use diskfilter
14279 (GRUB_MOD_INIT): Likewise.
14280 (GRUB_MOD_FINI): Likewise.
14281 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14282 new interface.
14283 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14284 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14285 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14286 grub_diskfilter_read_node.
14287 Fix a bug with xor.
14288 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14289 grub_diskfilter_read_node.
14290 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14291 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14292 (grub_disk_dev_iterate): Move from here...
14293 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14294 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14295 Make global.
14296 (grub_hostdisk_find_partition_start): Likewise.
14297 (grub_hostdisk_os_dev_to_grub_drive): New function.
14298 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14299 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14300 * util/getroot.c (make_device_name): ... here.
14301 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14302 Move to ...
14303 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14304 * grub-core/kern/emu/hostdisk.c
14305 (convert_system_partition_to_system_disk): Move to ...
14306 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14307 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14308 * util/getroot.c (device_is_wholedisk): ... here.
14309 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14310 * util/getroot.c (find_system_device): ... here.
14311 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14312 Move to ...
14313 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14314 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14315 Move to ...
14316 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14317 Handle LDM.
14318 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14319 Move to ...
14320 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14321 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14322 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14323 DISKFILTER.
14324 * include/grub/raid.h: Renamed to ...
14325 * include/grub/diskfilter.h: ... this.
14326 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14327 (GRUB_RAID_LAYOUT_*): Make into array.
14328 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14329 (grub_diskfilter_vg): New struct.
14330 (grub_diskfilter_pv_id): Likewise.
14331 (grub_raid_member): Removed.
14332 (grub_raid_array): Likewise.
14333 (grub_diskfilter_pv): New struct.
14334 (grub_diskfilter_lv): Likewise.
14335 (grub_diskfilter_segment): Likewise.
14336 (grub_diskfilter_node): Likewise.
14337 (grub_diskfilter_get_vg_by_uuid): New proto.
14338 (grub_raid_register): Inline.
14339 (grub_diskfilter_unregister): Likewise.
14340 (grub_diskfilter_make_raid): New proto.
14341 (grub_diskfilter_vg_register): Likewise.
14342 (grub_diskfilter_read_node): Likewise.
14343 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14344 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14345 (grub_util_is_ldm): Likewise.
14346 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14347 (grub_hostdisk_find_partition_start): Likewise.
14348 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14349 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14350 New definition.
14351 (grub_gpt_partition_map_iterate): New proto.
14352 * include/grub/lvm.h (grub_lvm_vg): Removed.
14353 (grub_lvm_pv): Likewise.
14354 (grub_lvm_lv): Likewise.
14355 (grub_lvm_segment): Likewise.
14356 (grub_lvm_node): Likewise.
14357 * util/getroot.c [...]
14358 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14359 (probe_abstraction): Likewise.
14360 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14361 (main): Remove dead logic.
14362
8a7f9b9c
VS
143632012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 Simplify root device discover and don't fail when trying to open
14366 incorrect devices.
14367
14368 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14369 function.
14370 (get_diskname_from_path): Likewise.
14371 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14372 of iterating.
14373
30545b85
VS
143742012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14377
28ea58cf
VS
143782012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14381 pastthe end.
14382
692dabca
VS
143832012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * util/grub-install.in: Add missing \.
14386 Reported by: gentoofan
14387
f6e4ea70
VS
143882012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14391 (direct_read): Use correct compressed size.
14392 (grub_squash_read_data): Likewise.
14393
143942012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
14395
14396 * docs/grub.texi (Platform limitations): New section.
14397 (Platform-specific operations): Likewise.
14398 * docs/grub-dev.texi (Porting): Likewise.
14399
76261110
VS
144002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 IEEE1275 disk write support.
14403
14404 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14405 const void *.
14406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14407 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14408 and seek loginc to ...
14409 (grub_ofdisk_prepare): ... here.
14410 (grub_ofdisk_write): Implement.
14411
fc36d603
VS
144122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 ARC disk write support.
14415
14416 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14417 (reopen): New argument writable. All users updated.
14418 Handle required access mode.
14419 (grub_arcdisk_write): Implement.
14420 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14421 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14422
e06c2e7a
VS
144232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14426 (read_sblock): Don't attempt to read superblocks outside the disk size.
14427
ff447958
VS
144282012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14431 first superblock to find the second one when possible.
14432
9e88df39
VS
144332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * util/grub-install.in: Fix an ARC bug.
14436 Print a warning if no platform-specific setup is available.
14437
bb26e4ff
VS
144382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 Use static allocation rather than scratch pointer in reed_solomon.
14441 It decreases its size significantly and avoids a variable in .text.
14442
14443 * grub-core/lib/reed_solomon.c (scratch): Removed.
14444 (chosenstat): New const or static array.
14445 (sigma): Likewise.
14446 (errpot): Likewise.
14447 (errpos): Likewise.
14448 (sy): Likewise.
14449 (mstat): Likewise.
14450 (errvals): Likewise.
14451 (eqstat): Likewise.
14452 (pol_evaluate): Replace x with log_x argument. All users updated.
14453 (syndroms): Removed.
14454 (gauss_solve): Use statically allocated arrays.
14455 (rs_recover): Likewise.
14456 Calculate syndroms directly.
14457 (decode_block): Use statically allocated arrays.
14458 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14459 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14460
2e13ede5
VS
144612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 Eliminate fixed limit on reed solomon decoder length.
14464
14465 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14466 rather than hardcoding the address.
14467 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14468 no_reed_solomon_length.
14469 Move gate_a20 to no-reed-solomon part.
14470 Don't force a particular size of no reed-solomon part.
14471 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14472 Removed.
14473 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14474 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14475
f8a9ab12
VS
144762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * grub-core/commands/wildcard.c (match_files): Handle filenames
14479 without explicit device.
14480 (wildcard_expand): Don't add explicit device if not already present.
14481 * tests/grub_script_echo1.in: Add a new expansion test.
14482
87edb894
VS
144832012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 Replace single-linked with double-linked lists. It results in more
14486 compact and more efficient code.
14487
14488 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14489 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14490 (grub_list_remove): Moved from here ...
14491 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14492 (grub_prio_list_insert): Set prev.
14493 * include/grub/list.h (grub_list): Add prev. All users updated.
14494
48b391e9
VS
144952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 Handle newer autotools. Add some missing quotes while on it.
14498
14499 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14500 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14501 (pkgdata_DATA): ... here.
14502 * Makefile.util.def (update-grub_lib): Removed.
14503 * conf/Makefile.common (pkglib_DATA): Removed.
14504 (pkglib_SCRIPTS): Likewise.
14505 (pkgdata_DATA): New variable.
14506 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14507 needed.
14508 Add missing quotes.
14509 Remove unused variable while on it.
14510 * tests/util/grub-shell.in: Likewise.
14511 * util/grub-install.in: Likewise.
14512 * util/grub-mkconfig.in: Likewise.
14513 * util/grub-mknetdir.in: Likewise.
14514 * util/grub-mkrescue.in: Likewise.
14515 * util/grub-mkstandalone.in: Likewise.
14516 * util/grub.d/00_header.in: Likewise.
14517 * util/grub.d/10_hurd.in: Likewise.
14518 * util/grub.d/10_illumos.in: Likewise.
14519 * util/grub.d/10_kfreebsd.in: Likewise.
14520 * util/grub.d/10_linux.in: Likewise.
14521 * util/grub.d/10_netbsd.in: Likewise.
14522 * util/grub.d/10_windows.in: Likewise.
14523 * util/grub.d/20_linux_xen.in: Likewise.
14524 * util/grub.d/30_os-prober.in: Likewise.
14525 * util/update-grub_lib.in: Removed.
14526
145272012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14528
14529 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14530 a workaround for intel problem.
14531
66832792
PRP
145322012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
145332012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
145342012-01-23 pfsmorigo
14535
14536 * util/grub-install.in: Support dd'in into PreP partition.
14537 * util/grub-probe.c (probe): Support discovering partition type.
14538 (main): Support -t msdos_parttype.
14539
7816a17e
VS
145402012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14543 infinite recursion using counter.
14544 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14545 init to skip it if the magic check fails.
14546 (dec_stream_header): Init s->crc32.
14547
8f9d3a8c
ZB
145482012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
145492012-01-22 Zachary Bedell <pendorbound@gmail.com>
145502012-01-22 Richard Laager <rlaager@wiktel.com>
14551
14552 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14553 All users updated.
14554 (find_bestub): Determine correct size.
14555 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14556 (scan_disk): Align the size down.
14557 Call check pool before find_bestub to have ashift.
14558
b055dd32
VS
145592012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14562 dprintf in no-malloc zone.
14563
d779e9bd
ML
145642012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14565
14566 * configure.ac: Add back in test for limits.h.
14567
b508af69
VS
145682012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 Support 4K-sector NTFS.
14571
14572 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14573 (grub_ntfs_data): Remove blocksize.
14574 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14575 Remove data argument. All users updated.
14576
dad9c8b5
VS
145772012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14580 being in .text to avoid dprel references.
14581 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14582 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14583 (grub_arch_highmemsize): Likewise.
14584 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14585 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14586 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14587
d43a777e
VS
145882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14591
14592 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14593 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14594
34e4208f
VS
145952012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14598 GRUB_UTIL.
14599 (grub_set_datetime_cmos): Likewise.
14600
3ec0fc1c
VS
146012012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 Make XZ compression parameters dependent on target and not host CPU.
14604
14605 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14606 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14607
22489834
VS
146082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14611 set but not used variable.
14612
8502fbca
VS
146132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14616 created when no uuid support is compiled into mkfs.reiser.
14617
76df2068
VS
146182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14621 (utf8_to_macroman): Do the opposite.
14622 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14623
64e3f8f6
VS
146242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * configure.ac: Refise build qemu_mips w/o unifont.
14627
9c271078
VS
146282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Eliminate grub_min/grub_max prone to overflow usage.
14631
14632 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14633 (poll_nonroot_hub): Likewise.
14634 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14635 (grub_affs_label): Likewise.
14636 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14637 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14638 (grub_hfs_label): Likewise.
14639 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14640 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14641 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14642 (zap_leaf_array_get): Likewise.
14643 (dnode_get_path): Likewise.
14644 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14645 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14646 * grub-core/script/execute.c (grub_script_break): Likewise.
14647 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14648 grub_max.
14649 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14650 * include/grub/misc.h (grub_min): Removed.
14651 (grub_max): Likewise.
14652
80662dbc
VS
146532012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14654
14655 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14656 direct.inode = 0.
14657
e6da1467
VS
146582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14661
b1ac4cb1
VS
146622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14665
b4bf7c3b
VS
146662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14669 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14670
8ee1101a
VS
146712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14674 rather than a hack for grub_strncasemap.
14675
146762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Support multiple initrds
14679 Note: part of this was accidently committed in r3739.
14680
14681 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14682 initrd.
14683 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14684 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14685 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14686 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14687 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14688
4d1e2bc9
VS
146892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14692 disks with unknown size.
14693 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14694
75b49ebe
VS
146952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 Remove defines pertaining to arbitrary limits not affecting GRUB
14698 anymore.
14699
14700 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14701 (EXT2_MAX_SYMLINKCNT): Likewise.
14702 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14703 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14704 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14705 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14706 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14707 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14708 (DN_MAX_OBJECT_SHIFT): Likewise.
14709 (DN_MAX_OFFSET_SHIFT): Likewise.
14710 (DN_MAX_OBJECT): Likewise.
14711 (DNODES_PER_LEVEL_SHIFT): Likewise.
14712 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14713 (SPA_MAXBLOCKSIZE): Likewise.
14714 (SPA_BLOCKSIZES): Likewise.
14715 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14716 (MZAP_MAX_BLKSZ): Likewise.
14717
74a1dce7
VS
147182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14721 handle NULL appropriately.
14722 Remove MIN.
14723
30c7d3ce
VS
147242012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14725
14726 Fix efiemu.
14727
14728 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14729 cpu/types.h.
14730 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14731 * configure.ac: Fix efiemu check.
14732
3c76ea0c
VS
147332012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14734
14735 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14736 grub_probe.
14737 Reported by: adamwill
14738
7e532280
SG
147392012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14740
14741 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14742
30492374
VS
147432012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 Fix handling of wide characters in gfxterm.
14746
14747 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14748 (clear_char): Likewise.
14749 (paint_char): Skip code == NULL chars.
14750 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14751
e70cb72f
VS
147522012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * grub-core/normal/charset.c: Move comment to right place.
14755
5c827cf9
VS
147562012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14759 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14760 (grub_affs_mount): Revert the correct version checking.
14761
53603892
VS
147622012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * docs/grub.texi (Unicode): Mention several other unsupported features.
14765
ff094b9b
VS
147662011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14769 case statements as compile-time one.
14770 (direct_read): Prevent spurious warnings.
14771 (grub_squash_read_data): Likewise.
14772
c029da8a
VS
147732011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 Various squash4 fixes and LZO and XZ support.
14776
14777 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14778 Add xzembed source files.
14779 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14780 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14781 (grub_squash_inode): New subtype long_dir.
14782 (SQUASH_TYPE_LONG_DIR): New inode type.
14783 (COMPRESSION): New enum.
14784 (XZBUFSIZ): New const.
14785 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14786 (read_chunk): Use data->decompress.
14787 (zlib_decompress): New function.
14788 (lzo_decompress): Likewise.
14789 (xz_decompress): Likewise.
14790 (squash_mount): Set new data fields.
14791 (grub_squash_iterate_dir): Handle long dir.
14792 (squash_unmount): Free xzdec and xzbuf.
14793 (grub_squash_open): Check ino type.
14794 (direct_read): Stylistic fixes. Use data->decompress.
14795 (grub_squash_read_data): Likewise.
14796 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14797 (get_byte): Likewise.
14798 (grub_zlib_disk_read): Removed.
14799 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14800 (GRUB_POSIX_BOOL_DEFINED): New define.
14801 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14802 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14803 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14804 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14805
7a45a539
VS
148062011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 Don't override more informative errors.
14809
14810 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14811 * grub-core/font/font.c (open_section): Likewise.
14812 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14813 filename. Don't override errors.
14814 (grub_cmd_openbsd_ramdisk): Don't override errors.
14815 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14816 (grub_cmd_initrd): Likewise.
14817 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14818 (grub_cmd_initrd): Likewise.
14819 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14820 (grub_cmd_linux): Likewise.
14821 (grub_cmd_initrd): Likewise.
14822 (grub_cmd_payload): Likewise.
14823 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14824 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14825 (grub_cmd_module): Likewise.
14826 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14827 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14828 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14829 (grub_cmd_xnu_mkext): Likewise.
14830 (grub_cmd_xnu_ramdisk): Likewise.
14831 (grub_xnu_check_os_bundle_required): Likewise.
14832 (grub_xnu_load_kext_from_dir): Likewise.
14833 (grub_cmd_xnu_kextdir): Likewise.
14834 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14835
b2d004db
VS
148362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14839 as 1024 in block size field. Found on one of my test images.
14840 Small optimisation while on it.
14841
ec000eac
VS
148422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14845 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14846 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14847 performance fixes while on it.
14848 (grub_sfs_close): Fix memory leak while on it.
14849 (grub_sfs_label): Convert Latin1 to UTF-8.
14850
f50e1165
VS
148512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14854 space to avoid overflows.
14855 (grub_hfs_label): Convert from macroman to UTF-8.
14856
2ae254de
VS
148572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14860
0108f491
VS
148612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14864
f45f5f89
VS
148652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * unicode: Import Unicode 6.0 data.
14868
4d8c4765
VS
148692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14870
63fa8ef9
VS
14871 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14872 outside of range.
14873
148742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14877
14878 * include/grub/charset.h (grub_getend): New function.
14879 * grub-core/script/function.c (grub_script_function_find): Use
14880 grub_getend.
14881 * grub-core/normal/completion.c (add_completion): Likewise.
14882
f3cb4a4e
VS
148832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14886 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14887 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14888 (GRUB_UNICODE_TAG_END): Likewise.
14889 (GRUB_UNICODE_LAST_VALID): Likewise.
14890
5da8dbc5
VS
148912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14894 len and make it smaller. All users updated.
14895 * util/import_unicode.py: Put length and not end character.
14896 Check length.
14897
8569f13d
VS
148982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 Make better Unicode-compliant and unify some UTF-8 code pathes.
14901
14902 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14903 valid character.
14904 (grub_is_valid_utf8): Use grub_utf8_process.
14905 Check resulting code range.
14906 (grub_utf8_to_ucs4): Use grub_utf8_process.
14907 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14908 valid character.
14909
cc4fddf5
VS
149102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14913
bbc47747
VS
149142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * docs/grub.texi (Filesystems): Mention AFS.
14917
f63d6bf4
VS
149182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * docs/grub.texi (Filesystems): Clarify restrictions.
14921 (Regexp): Mention non-Unicode regexp behaviour.
14922 (Other): Mention non-Unicode matching behaviour.
14923
74bbf0db
VS
149242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14925
f63d6bf4 14926 Make HFS implementation use MacRoman.
74bbf0db
VS
14927
14928 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14929 (macroman): New const array.
14930 (macroman_to_utf8): New function.
14931 (utf8_to_macroman): Likewise.
14932 (grub_hfs_find_dir): Use utf8_to_macroman.
14933 (grub_hfs_dir): Use macroman_to_utf8.
14934 Set case_insensitive.
14935
4ea0316e
VS
149362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14939
d3c13cbd
VS
149402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 Integrate hints into autogeneration scripts.
14943
14944 * docs/grub.texi (Filesystems): Add a hostdisk example.
14945 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14946 (grub-probe): Add ofpath.
14947 * gentpl.py: Remove group nosparc64.
14948 * grub-core/commands/search.c (cache_entry): New struct.
14949 (cache): New var.
14950 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14951 * grub-core/commands/search_wrap.c (options): Add platform-specific
14952 hint options.
14953 (grub_cmd_search): Handle platform-specific hints.
14954 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14955 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14956 (grub_util_biosdisk_data): Likewise.
14957 (grub_util_biosdisk_open): Set device_map.
14958 (read_device_map): Handle "" as indication of no map.
14959 Set device_map.
14960 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14961 (grub_util_biosdisk_get_compatibility_hint): New function.
14962 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14963 * include/grub/emu/hostdisk.h
14964 (grub_util_biosdisk_get_compatibility_hint): New proto.
14965 * util/grub-install.in: Don't call grub-mkdevicemap.
14966 Add platform-specific hint to load.cfg.
14967 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14969 hints. Set root preliminary to compatibility hint, not to OS name.
14970 * util/grub-probe.c (PRINT_*): Add hints.
14971 (print): Make static.
14972 (escape_of_path): New function.
14973 (guess_bios_drive): Likewise.
14974 (guess_efi_drive): Likewise.
14975 (guess_baremetal_drive): Likewise.
14976 (print_full_name): Likewise.
14977 (probe): Handle hints.
14978 (main): Likewise.
14979 * util/ieee1275/devicemap.c: Removed.
14980 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14981 updated.
14982 (grub_util_devname_to_ofpath): Return NULL on failure.
14983
14984 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14985 resource leak.
14986 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14987
14988 * po/POTFILES.in: Regenerated.
14989
14990 Allow purely long options
14991
14992 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14993 (SHORT_ARG_USAGE): Likewise.
14994 (grub_arg_show_help): Compare opt with help_options.
14995 (parse_option): Receive opt as argument. If makes big simplificatons.
14996 All users updated
14997
00ce2df3
VS
149982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15001 Restructure to avoid warning.
15002
e77e325f
VS
150032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * util/grub-install.in: Account for possible escaped comma in device
15006 name.
15007
165099ea
VS
150082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15011 channel.
15012
ce4a999d
VS
150132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15016 allocation and zero-setting.
15017 (grub_ieee1275_get_devname): Check that alias is complete.
15018
379586ad
VS
150192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15022 unaligned segments.
15023
9197b0ad
VS
150242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15027 prefix.
15028 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15029 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15030 Add ieee1275 prefix.
15031
edddb7f9
VS
150322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * docs/grub.texi (Filesystems): Update.
15035
a1a8b1b9
VS
150362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 Support odc, newc and bigendian cpio formats.
15039
15040 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15041 * grub-core/Makefile.core.def (newc): New module.
15042 (odc): Likewise.
15043 (cpio_be): Likewise.
15044 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15045 (MAGIC): Likewise.
15046 (MAGIC2): Likewise.
15047 (head) [MODE_ODC]: Adapt for the format.
15048 (head) [MODE_NEWC]: Likewise.
15049 (head) [!MODE_*]: Write fields of interest as arrays.
15050 (MAGIC_USTAR): Removed.
15051 (read_number) [MODE_NEWC]: Change to hex.
15052 (read_number) [!MODE_*]: Parse binary arrays.
15053 (grub_cpio_find_file): Factor out the code for better structure and
15054 always use read_number.
15055 (grub_cpio_mount): Use MAGIC and MAGIC2.
15056 (grub_cpio_dir): Exit on first hook non-0 return.
15057 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15058 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15059 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15060 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15061 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15062 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15063 * grub-core/fs/newc.c: New file.
15064 * grub-core/fs/odc.c: Likewise.
15065 * grub-core/fs/cpio_be.c: Likewise.
15066
58eba9ee
VS
150672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 Fix handling of tar numbers occupying the whole field.
15070
15071 * grub-core/fs/cpio.c (read_number): New function.
15072 (grub_cpio_find_file): Use read_number instead of strtoull.
15073
a54a0e12
VS
150742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15077 occupying the whole field size.
15078
a6120aca
LA
150792011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15080
15081 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15082
a93964ce
VS
150832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15086
3ea1ca46
SG
150872011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15088
15089 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15090 TARGET_IMG_LDFLAGS.
15091
b87f7ef2
VS
150922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15095 (mountinfo_entry): Increase the field size to take escaping into
15096 account.
15097 (find_root_device_from_libzfs): Add one byte to size of strings for
15098 security.
15099
62092395
VS
151002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15103 an assert.
15104 * util/grub-setup.c (setup): Likewise.
15105
1f0b1a77
VS
151062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15109 _LzmaDecodeA.
15110
8eba9997
VS
151112011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * docs/grub.texi (Internationalisation): New section.
15114
dd0c91e9
VS
151152011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * docs/grub.texi (Loopback booting): New section.
15118
151192011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
15120
15121 * util/grub-mkstandalone.in: Fix minor typo errors.
15122
198e150a
VS
151232011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15126
15127 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15128 net/icmp.c and net/icmp6.c.
15129 (http): New module.
15130 (priority_queue): Likewise.
15131 * grub-core/io/bufio.c: Rewritten.
15132 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15133 TYPE_WITH_CONFIGFILE_OPTION.
15134 (legacy_commands): Add bootp and dhcp.
15135 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15136 (grub_legacy_parse): Likewise.
15137 * grub-core/lib/priority_queue.c: New file.
15138 * grub-core/net/arp.c: Add missing license header.
15139 (arp_find_entry): Removed.
15140 (arp_find_entry): Likewise.
15141 (grub_net_arp_resolve): Rename to ...
15142 (grub_net_arp_send_request): ...this.
15143 (grub_net_arp_receive): New card argument.
15144 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15145 Set router and DNS server.
15146 (grub_net_configure_by_dhcp_ack): Handle routing information.
15147 (grub_cmd_bootp): Set checksum.
15148 (grub_bootp_init): Remove net_dhcp.
15149 * grub-core/net/dns.c: New file.
15150 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15151 completion.
15152 (get_card_packet): Handle allocation.
15153 (grub_efinet_findcards): Set mtu.
15154 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15155 (get_card_packet): Handle allocation.
15156 (emucard): Set mtu.
15157 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15158 (GRUB_MOD_INIT): Set mtu.
15159 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15160 mtu.
15161 (get_card_packet): Handle allocation.
15162 (grub_ofnet_findcards): Set mtu.
15163 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15164 assert.
15165 (grub_net_recv_ethernet_packet): Handle IPv6.
15166 * grub-core/net/http.c: New file.
15167 * grub-core/net/icmp.c: Likewise.
15168 * grub-core/net/icmp6.c: Likewise.
15169 * grub-core/net/ip.c (ip6addr): New type.
15170 (ip6hdr): Likewise.
15171 (reassemble): Likewise.
15172 (cmp): New function.
15173 (reassembles): New variable.
15174 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15175 (id): New variable.
15176 (send_fragmented): New function.
15177 (grub_net_send_ip_packet): Rename to ...
15178 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15179 Handle non-UDP.
15180 (grub_net_recv_ip_packets): Rename to ...
15181 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15182 (free_rsm): New function.
15183 (free_old_fragments): Likewise.
15184 (grub_net_recv_ip4_packets): New function.
15185 (grub_net_send_ip6_packet): Likewise.
15186 (grub_net_send_ip_packet): Likewise.
15187 (grub_net_recv_ip6_packets): Likewise.
15188 (grub_net_recv_ip_packets): Likewise.
15189 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15190 (LINK_LAYER_CACHE_SIZE): New const.
15191 (link_layer_find_entry): New function.
15192 (grub_net_link_layer_add_address): Likewise.
15193 (grub_net_link_layer_resolve_check): Likewise.
15194 (grub_net_link_layer_resolve): Likewise.
15195 (grub_net_ipv6_get_slaac): Likewise.
15196 (grub_net_ipv6_get_link_local): Likewise.
15197 (grub_cmd_ipv6_autoconf): Likewise.
15198 (parse_ip): Handle one number representation.
15199 (parse_ip6): New functoion.
15200 (match_net): Handle IPv6.
15201 (grub_net_resolve_address): Handle IPv6 and DNS.
15202 (grub_net_resolve_net_address): Handle IPv6.
15203 (route_cmp): New function.
15204 (grub_net_route_address): Find best route.
15205 (grub_net_addr_to_str): Handle IPv6.
15206 (grub_net_addr_cmp): New function.
15207 (grub_net_add_addr): Register local route.
15208 (print_net_address): Handle net address.
15209 (grub_net_poll_cards): Retransmit TCP.
15210 (grub_net_poll_cards_idle_real): Likewise.
15211 (have_ahead): New function.
15212 (grub_net_seek_real): Use underlying seek.
15213 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15214 * grub-core/net/tcp.c: New file.
15215 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15216 (cmp): New function.
15217 (ack): Likewise.
15218 (tftp_receive): Handle unordered input.
15219 (destroy_pq): New function.
15220 (tftp_close): Close pq.
15221 * grub-core/net/udp.c: Put missing license header.
15222 (grub_net_udp_socket): New function.
15223 (udp_socket_register): Likewise.
15224 (grub_net_udp_close): Likewise.
15225 (grub_net_recv_udp_packet): Check checksum.
15226 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15227 * include/grub/misc.h (grub_memchr): New function.
15228 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15229 (grub_net_card_driver): Return buf in recv.
15230 (grub_net_slaac_mac_list): New struct.
15231 (grub_network_level_protocol_id): Add ipv6.
15232 (grub_net_network_level_addr): Likewise.
15233 (grub_net_network_level_net_addr): Likewise.
15234 (grub_net_app_protocol): Add seek.
15235 (grub_net_socket): Removed.
15236 (grub_net_sockets): Likewise.
15237 (grub_net_socket_register): Likewise.
15238 (grub_net_socket_unregister): Likewise.
15239 (FOR_NET_SOCKETS): Likewise.
15240 (grub_net_add_addr): Add const.
15241 (GRUB_NET_BOOTP_*): New enum.
15242 (grub_net_addr_cmp): New proto.
15243 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15244 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15245 (grub_net_hwaddr_to_str): NEw proto.
15246 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15247 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15248 (grub_dns_init): New proto.
15249 (grub_dns_fini): Likewise.
15250 (grub_net_tcp_retransmit): Likewise.
15251 (grub_net_link_layer_add_address): Likewise.
15252 (grub_net_link_layer_resolve_check): Likewise.
15253 (grub_net_link_layer_resolve): Likewise.
15254 (grub_net_dns_lookup): Likewise.
15255 (grub_net_add_dns_server): Likewise.
15256 (grub_net_remove_dns_server): Likewise.
15257 (GRUB_NET_TRIES): New const.
15258 (GRUB_NET_INTERVAL): Likewise.
15259 * include/grub/net/arp.h: Mostly rewritten.
15260 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15261 * include/grub/net/ip.h: Mostly rewritten.
15262 * include/grub/net/netbuff.h: Indent.
15263 * include/grub/net/tcp.h: New file.
15264 * include/grub/net/udp.h: Mostly rewritten.
15265 * include/grub/priority_queue.h: New file.
15266 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15267 (grub_swap_bytes64_compile_time): Likewise.
15268 (grub_cpu_to_be16_compile_time): Likewise.
15269 (grub_cpu_to_be32_compile_time): Likewise.
15270 (grub_cpu_to_be64_compile_time): Likewise.
15271 (grub_be_to_cpu64_compile_time): Likewise.
15272
215c1800
VS
152732011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15276 UINT_TO_PTR with cast.
15277
c17e546c
VS
152782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15281 don't use them.
15282
ff6b18b6
VS
152832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15286 already there.
15287
70ffcc93
VS
152882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15291 confusing ipxe.
15292
e5f4d260
VS
152932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15296 Add missing const attribute.
15297 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15298 Likewise.
15299 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15300 Likewise.
15301
8e54b4b7
VS
153022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15305 misaligned access.
15306 (serpent_setkey): Likewise.
15307 (serpent_encrypt_internal): Likewise.
15308 (serpent_decrypt_internal): Likewise.
15309 (serpent_encrypt): Don't put an alignment-increasing cast.
15310 (serpent_decrypt): Likewise.
15311 (serpent_test): Likewise.
15312
813c0a2b
VS
153132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15316
f2b60fbd
VS
153172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15320
15321 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15322 grub_addr_t casts.
15323 (PTR_TO_UINT64): Likewise.
15324 (PTR_TO_UINT32): Likewise.
15325
5ef5c511
VS
153262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15329 because of stack.
15330 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15331 limit.
15332
c476e6df
VS
153332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15336 text_width > available width a bit more gracefully.
15337
384ad7cc
VS
153382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15341 current address calculation.
15342
96f8caf8
VS
153432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15346 stack.
15347 (encode_block): Likewise.
15348
276b7a8b
VS
153492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15352 certainety.
15353
e3fd394a
VS
153542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15357 non-RS part to avoid RS messing with GDT.
15358 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15359 Increase to suit in realmode routines.
15360
153612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * grub-core/kern/i386/realmode.S: Increase alignment.
15364 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15365
ee9c2e7a
VS
153662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15369 be deterministic.
15370 (syndroms): Compute 0 syndrom.
15371 (rs_recover): Use 0 syndrom.
15372
7a7f7cc9
VS
153732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15376
a14b16d1
VS
153772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15380 brackets.
15381
9f59e9fc
VS
153822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15383
ca1b552c
VS
15384 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15385 account.
15386 (get_top_pad): Likewise.
15387 (get_right_pad): Likewise.
15388 (get_bottom_pad): Likewise.
15389
153902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 15393
e739d698
VS
153942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15397 attribute as the structure isn't guaranteed to be properly aligned.
15398 (grub_efi_pci_device_path): Likewise.
15399 (grub_efi_pccard_device_path): Likewise.
15400 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15401 specify the size of `memory_type'.
15402 (grub_efi_vendor_device_path): Likewise.
15403 (grub_efi_controller_device_path): Likewise.
15404 (grub_efi_acpi_device_path): Likewise.
15405 (grub_efi_expanded_acpi_device_path): Likewise.
15406 (grub_efi_atapi_device_path): Likewise.
15407 (grub_efi_scsi_device_path): Likewise.
15408 (grub_efi_fibre_channel_device_path): Likewise.
15409 (grub_efi_1394_device_path): Likewise.
15410 (grub_efi_usb_device_path): Likewise.
15411 (grub_efi_usb_class_device_path): Likewise.
15412 (grub_efi_i2o_device_path): Likewise.
15413 (grub_efi_mac_address_device_path): Likewise.
15414 (grub_efi_ipv4_device_path): Likewise.
15415 (grub_efi_ipv6_device_path): Likewise.
15416 (grub_efi_infiniband_device_path): Likewise.
15417 (grub_efi_uart_device_path): Likewise.
15418 (grub_efi_vendor_messaging_device_path): Likewise.
15419 (grub_efi_hard_drive_device_path): Likewise.
15420 (grub_efi_cdrom_device_path): Likewise.
15421 (grub_efi_vendor_media_device_path): Likewise.
15422 (grub_efi_file_path_device_path): Likewise.
15423 (grub_efi_protocol_device_path): Likewise.
15424 (grub_efi_piwg_device_path): Likewise.
15425 (grub_efi_bios_device_path): Likewise.
15426
cb8f88ea
VS
154272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15430 (grub_ucs4_to_utf8_alloc): Likewise.
15431 (grub_ucs4_to_utf8): Likewise.
15432 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15433 (grub_ucs4_to_utf8_alloc): Likewise.
15434
309e5352
VS
154352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 AFFS never uses unicode.
15438
15439 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15440 (grub_latin1_to_utf8): New inline function.
15441 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15442
e7987e1b
VS
154432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15446 overflow.
15447
efc2616e
VS
154482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15451 (grub_squash_dirent_header): Likewise.
15452 (read_chunk): Don't double swap.
15453 (grub_squash_iterate_dir): Fix swap sizes.
15454
3c349f5a
VS
154552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15458
b453412d
VS
154592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15462 (grub_hfs_iterate_dir): Likewise.
15463
12e9d4d1
VS
154642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 Fix video on platforms where unaligned access is forbidden.
15467 Make several optimisations while on it.
15468
15469 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15470 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15471 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15472 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15473 Disable.
15474 (grub_video_fbblit_replace_16bit_1bit):
15475 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15476 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15477 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15478 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15479 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15480 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15481 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15482 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15483 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15484 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15485 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15486 (grub_video_fbblit_replace_index_RGB888): Likewise.
15487 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15488 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15489 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15490 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15491 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15492 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15493 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15494 Disable.
15495 (grub_video_fbblit_blend_XXX565_1bit):
15496 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15497 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15498 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15499 void *.
15500 * grub-core/video/fb/video_fb.c (common_blitter)
15501 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15502 (grub_video_fb_create_render_target_from_pointer)
15503 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15504 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15505 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15506 definition.
15507 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15508
ace96609
VS
155092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15512 HH22 and HM10 relocations.
15513
fd261d73
VS
155142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15517
e59b7857
VS
155182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15521 allocation succeeded.
15522
9b4baaa4
VS
155232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15526 argument a u8 pointer. All users updated.
15527 Handle unaligned buffers.
15528
dc713193
VS
155292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15532 add_part to workaround compiler bug.
15533
30dd48c2
VS
155342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15537
0c6087a8
VS
155382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15541 Reserve alignment invariants.
15542 (grub_multiboot_load): Likewise.
15543 (retrieve_video_parameters): Likewise.
15544 (grub_multiboot_make_mbi): Likewise.
15545
c2e77777
VS
155462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15549 incorrect pointer.
15550
b70b6d11
VS
155512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15554 (grub_pata_pio_write): Likewise.
15555
02a2bf83
VS
155562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Add noreturn attributes and remove unreachable code.
15559
15560 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15561 code.
15562 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15563 code. Mark as noreturn.
15564 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15565 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15566 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15567 unreachable code.
15568 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15569 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15570 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15571 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15572 * include/grub/kernel.h (grub_main): Mark as noreturn.
15573 * include/grub/reader.h (grub_rescue_run): Likewise.
15574
2019d09e
VS
155752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15578 redundant declaration.
15579
d1c501ee
VS
155802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15583 redundant declaration.
15584 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15585
61664420
VS
155862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15589 to ensure alignment.
15590 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15591 alignment. Ensure tmp alignment.
15592 (grub_cmd_hdparm): Ensure buf alignment.
15593 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15594 to ensure alignment.
15595 (grub_ata_dumpinfo): Ensure text alignment.
15596 (grub_atapi_identify): Preserve alignment invariant.
15597 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15598
0d51ee20
VS
155992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15602 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15603 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15604 * include/grub/misc.h (grub_reboot)
15605 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15606 (grub_halt) [__mips__]: Likewise.
15607
753ef8c1
VS
156082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15611 Remove redundant declaration.
15612 (grub_mmap_get_post64): Likewise.
15613 (grub_mmap_get_upper): Likewise.
15614 (grub_mmap_get_lower): Likewise.
15615
85c85365
VS
156162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15619 uint32_t * to ensure alignment.
15620 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15621
a23f2cc4
VS
156222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15623
93018f64
VS
15624 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15625 uint16_t * to ensure alignment.
15626 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15627 alignment.
15628
156292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15632 to ensure alignment.
15633 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15634
58acccd6
VS
156352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15638 Handle unaligned pointers.
15639 (u32at): Likewise.
15640 (u64at): Likewise.
15641 (fixup): Use byte access instead of v16at.
15642 (find_attr): Fix imporper usage of v32at.
15643 (read_data): Likewise.
15644 (list_file): Handle byte-swapping and unaligned strings.
15645 (grub_ntfs_label): Likewise.
15646
9b05cad7
VS
156472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15650 as it's not necessarily aligned.
15651
b3950b84
VS
156522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15655 redundant declaration.
15656 (grub_serial_init): Likewise.
15657 (grub_terminfo_init): Likewise.
15658
fcd232b7
VS
156592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15662 function.
15663 (ZAP_HASH_IDX): Likewise.
15664 (ZAP_LEAF_HASH_SHIFT): Likewise.
15665 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15666 (LEAF_HASH): Likewise.
15667 (ZAP_LEAF_NUMCHUNKS): Likewise.
15668 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15669 alignment invariants. Return pointer. All users updated.
15670 (ZAP_LEAF_ENTRY): Make into inline function.
15671 (NBBY): Removed.
15672 (xor): LIkewise.
15673 (xor_out): Use grub_crypto_xor.
15674 (dnode_get_path): Use grub_get_unaligned.
15675 (nvlist_find_value): Likewise.
15676 (grub_zfs_nvlist_lookup_uint64): Likewise.
15677 (grub_zfs_nvlist_lookup_string): Likewise.
15678 (get_nvlist_size): Likewise.
15679 (grub_zfs_open): Likewise.
15680 (fill_fs_info): Likewise.
15681 (grub_zfs_dir): Likewise.
15682 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15683 alignment invariants.
15684 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15685 necessarily aligned.
15686
f138623a
VS
156872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15690
564840dc
VS
156912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15694 arithmetic to conserve alignment invariants.
15695
9b40df20
VS
156962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15699 redundant declaration.
15700 (grub_efiemu_mm_obtain_request): Likewise.
15701 (grub_efiemu_prepare): Likewise.
15702
d1c930f9
VS
157032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15706 to match types.
15707
4c5f3056
VS
157082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15711 case of aunaligned recptr.
15712 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15713 alignment.
15714 (grub_hfsplus_btree_search): Handle unaligned index.
15715
728cba91
VS
157162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15719 to get freetag and skip.
15720
eb561f31
VS
157212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15724 array.
15725 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15726 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15727
20993fbb
VS
157282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15731 name for checksum and fix allocation algorithm.
15732
1f313b94
VS
157332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 * include/grub/types.h (grub_properly_aligned_t): New type.
15736 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15737 (grub_get_unaligned16): Add explicit casts.
15738 (grub_get_unaligned32): Likewise.
15739 (grub_get_unaligned64): Likewise.
15740 (grub_set_unaligned16): New function.
15741 (grub_set_unaligned32): Likewise.
15742
47ae27ec
VS
157432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15746
78c2cd1c
VS
157472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15750 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15751 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15752
53072f9b
VS
157532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15756 conditionals.
15757
055dc239
VS
157582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15761 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15762
496bd074
VS
157632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 Unify and improve RAID and crypto xor.
15766
15767 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15768 changed to grub_crypto_xor
15769 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15770 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15771 Use bigger types when possible.
15772
ef6e4335
VS
157732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * grub-core/disk/raid.c (scan_devices): Fix condition.
15776
5d048bf2
VS
157772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15780 Make name a const ptr.
15781
ee533335
VS
157822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15785 first argument a const pointer.
15786 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15787 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15788 proto.
15789 (grub_children_iterate): Likewise.
15790 (grub_machine_mmap_iterate): Remove redundant declaration.
15791
cc8f3668
VS
157922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15795 (grub_cmd_acpi) [!x86]: Disable EBDA.
15796
c5fc563a
VS
157972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 Enable UTF8 in gnulib regexp.
15800
15801 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15802 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15803 (isupper): Use grub_isupper.
15804 (isascii): New inline function.
15805 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15806 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15807 * grub-core/normal/charset.c (grub_utf8_process): New function.
15808 (grub_utf8_to_utf16): Use grub_utf8_process.
15809 (grub_encode_utf8_character): New function.
15810 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15811 * include/grub/charset.h (grub_utf8_process): New declaration.
15812 (grub_encode_utf8_character): Likewise.
15813 * include/grub/misc.h (grub_islower): New inline function.
15814 (grub_isupper): Likewise.
15815 (grub_strchrsub): Moved down to fix the definitions.
15816
0af2346f
VS
158172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15820 specification.
15821
74dbd244
VS
158222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * include/grub/loader.h (grub_loader_register_preboot_hook):
15825 Use struct preboot * and not void * for handle. All users updated.
15826 (grub_loader_unregister_preboot_hook): Likewise.
15827
1bc8f60d
VS
158282011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15831 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15832 UTF-16-BE. All users updated.
15833 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15834 (grub_hfsplus_iterate_dir): Likewise.
15835 (grub_hfsplus_label): Likewise.
15836
48d6e456
VS
158372011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15840
bf3a3857
VS
158412011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Add missing const qualifiers.
15844
15845 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15846 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15847 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15848 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15849 (grub_lvm_check_flag): Likewise.
15850 * grub-core/efiemu/i386/coredetect.c
15851 (grub_efiemu_get_default_core_name): Likewise
15852 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15853 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15854 * grub-core/fs/ntfs.c (fixup): Likewise.
15855 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15856 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15857 (fzap_lookup): Likewise.
15858 (zap_lookup): Likewise.
15859 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15860 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15861 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15862 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15863 (grub_freebsd_add_meta_module): Likewise.
15864 (grub_cmd_freebsd_module): Likewise.
15865 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15866 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15867 (grub_xnu_writetree_get_size): Likewise.
15868 (grub_xnu_writetree_toheap_real): Likewise.
15869 (grub_xnu_find_key): Likewise.
15870 (grub_xnu_create_key): Likewise.
15871 (grub_xnu_create_value): Likewise.
15872 (grub_xnu_register_memory): Likewise.
15873 (grub_xnu_check_os_bundle_required): Likewise.
15874 (grub_xnu_scan_dir_for_kexts): Likewise.
15875 (grub_xnu_load_kext_from_dir): Likewise.
15876 * grub-core/normal/color.c (color_list): Likewise.
15877 * grub-core/normal/completion.c (current_word): Likewise.
15878 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15879 * grub-core/term/serial.c (grub_serial_find): Likewise.
15880 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15881 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15882 Likewise.
15883 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15884 (grub_freebsd_add_meta_module): Likewise.
15885 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15886 * include/grub/net.h (grub_net_card_driver): Likewise.
15887 (grub_net_card): Likewise.
15888 (grub_net_app_protocol): Likewise.
15889 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15890 * include/grub/serial.h (grub_serial_find): Likewise.
15891 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15892 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15893 (grub_xnu_create_value): Likewise.
15894 (grub_xnu_find_key): Likewise.
15895 (grub_xnu_scan_dir_for_kexts): Likewise.
15896 (grub_xnu_load_kext_from_dir): Likewise.
15897
15898 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15899 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15900 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15901 Moved from here ...
15902 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15903
112b4837
CW
159042011-11-28 Colin Watson <cjwatson@ubuntu.com>
15905
15906 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15907
49e891ac
VS
159082011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15911 (read_device): Fix size calculation.
15912
fd258e5c
RM
159132011-11-25 Robert Millan <rmh@gnu.org>
15914
15915 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15916 (find_root_device_from_libzfs): Add zpool output parser to be used
15917 as fallback when libzfs isn't available.
15918
78845dc2
SG
159192011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15920
15921 * po/Makefile.in.in: Add missing escape-continuation.
15922
adac5211
VS
159232011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15926
10b64f1c
VS
159272011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15930
bb416954
VS
159312011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15934
bdfe9eeb
VS
159352011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15938
581ffa8a
VS
159392011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 * grub-core/lib/adler32.c: Add missing license specification.
15942 * grub-core/lib/crc64.c: Likewise.
15943 * grub-core/loader/i386/pc/plan9.c: Likewise.
15944 * grub-core/partmap/plan.c: Likewise.
15945
2536cf64
LK
159462011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15947
15948 Add facility to debug GRUB with gdb under qemu.
15949
15950 * grub-core/gdb_grub.in: New file.
15951 * grub-core/gmodule.pl.in: Likewise.
15952 * grub-core/Makefile.core.def (gmodule.pl): New script.
15953 (gdb_grub): Likewise.
15954
bc108a4a
VS
159552011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * util/grub-mount.c (argp_parser): Accept relative pathes.
15958 * util/grub-fstest.c (argp_parser): Likewise.
15959
111c1778
VS
159602011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 Plan9 support.
15963
15964 * Makefile.util.def (libgrubmods): Add
15965 grub-core/partmap/plan.c.
15966 * docs/grub.texi: Notice Plan9 support.
15967 * grub-core/Makefile.core.def (plan9): New module.
15968 (part_plan): Likewise.
15969 * grub-core/loader/i386/pc/plan9.c: New file.
15970 * grub-core/partmap/plan.c: Likewise.
15971 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15972 define.
15973 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15974 * include/grub/mm.h (grub_extend_alloc): New inline function.
15975
c30be3b6
VS
159762011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 Make Reed-Solomon faster by using power of generator representation of
15979 GF(256)*.
15980
15981 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15982 (gf_double_t): Likewise.
15983 (gf_invert): Removed.
15984 (gf_powx): New array.
15985 (gf_powx_inv): Likewise.
15986 (scratch): Move higher.
15987 (gf_reduce): Removed.
15988 (gf_mul): Use powx.
15989 (gf_invert): Likewise.
15990 (init_inverts): Replaced with ...
15991 (init_powx): ...this. All users updated.
15992 (pol_evaluate): Replace multiplications with additions.
15993 (rs_encode): Likewise.
15994 (gauss_eliminate): Call gf_invert.
15995 (grub_reed_solomon_add_redundancy): Call init_powx.
15996 (grub_reed_solomon_recover): Call init_powx unconditionally.
15997
fa5aeffc
VS
159982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16001
a346b81c
VS
160022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16005 disk->partiton for safety.
16006
d89ee414
VS
160072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16010 Fix a memory leak.
16011 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16012
91ee7b6d
VS
160132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16016
91e5a33d
VS
160172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16020
9edd7be2
VS
160212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 Fix spaces handling in proc/self/mountinfo.
16024
16025 * util/getroot.c (unescape): New function.
16026 (grub_find_root_device_from_mountinfo): Use unescape.
16027
ba102053
VS
160282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 Support ZFS embedding.
16031
16032 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16033 (grub_zfs_fs): Register grub_zfs_embed.
16034
aa94b870
VS
160352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 Fix MIPS compilation.
16038
16039 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16040 * include/grub/offsets.h: Rename decompressor fields from
16041 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16042 * util/grub-mkimage.c (image_targets): Use new names.
16043
5fbdac14
VS
160442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 Defer multiboot device parsing until we're in compressed part.
16047
16048 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16049 bsd_part. setdevice has fallen into disuse.
16050 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16051 (bsd_part): Likewise.
16052 (boot_dev): New variable.
16053 (multiboot_trampoline): Don't parse multiboot device.
16054 Pass multiboot device in %edx.
16055 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16056 grub_boot_device.
16057 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16058 Likewise.
16059 * grub-core/kern/i386/pc/startup.S: Save edx.
16060 (grub_boot_drive): Removed.
16061 (grub_install_dos_part): Likewise.
16062 (grub_install_bsd_part): Likewise.
16063 (grub_boot_device): New variable.
16064 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16065 (grub_install_bsd_part): Likewise.
16066 (grub_boot_drive): Likewise.
16067 (grub_boot_device): New variable.
16068 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16069 Removed.
16070 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16071 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16072 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16073 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16074 * util/grub-install.in: Remove redundant condition.
16075
691cbb58
VS
160762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 Fix bug introduced by previous commit.
16079
16080 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16081
60240b8b
VS
160822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 Use decompressors framework on i386-pc. It increases core size
16085 by 46 bytes but improves compatibility and maintainability.
16086
16087 * grub-core/Makefile.core.def (lzma_decompress): New image.
16088 (kernel): Add i386_pc_ldflags.
16089 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16090 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16091 to real_to_prot, prot_to_real and device info.
16092 * include/grub/offsets.h: Renamed decompressor offsets.
16093 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16094 (image_target_desc): Remove raw_size and rename decompressor fields.
16095 (compress_kernel): Handle lzma.
16096 (generate_image): Handle decompressors on i386-pc.
16097
e9d3421c
VS
160982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * configure.ac: Add -fno-asynchronous-unwind-tables.
16101
2b23074a
VS
161022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16103
16104 Move assembly code to C by using intwrap. It increases core size
16105 by 88 bytes but improves compatibility and maintainability.
16106
16107 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16108 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16109 ... here. Translated to C.
16110 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16111 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16112 ... here. Translated to C.
16113 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16114 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16115 ... here. Translated to C.
16116 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16117 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16118 ... here. Translated to C.
16119 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16120 * grub-core/term/i386/pc/console.c (grub_console_cls):
16121 ... here. Translated to C.
16122 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16123 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16124 ... here. Translated to C.
16125 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16126 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16127 Translated to C.
16128 * grub-core/term/i386/pc/console.c (int10_9): New function.
16129 (grub_console_putchar): Likewise.
16130 * include/grub/i386/pc/console.h: Removed the not anymore shared
16131 functions.
16132
678f4b67
VS
161332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 Move grub_chainloader_real_boot out of the kernel.
16136
16137 * grub-core/Makefile.am: Remove machine/loader.h.
16138 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16139 Removed.
16140 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16141 variable.
16142 (grub_relocator16_keep_a20_enabled): Likewise.
16143 (grub_relocator16_boot): Fill new variables.
16144 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16145 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16146 relocator.
16147 (grub_chainloader_unload): Likewise.
16148 (grub_chainloader_cmd): Likewise.
16149 * include/grub/i386/pc/loader.h: Removed.
16150 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16151 and esi. All initialisers updated.
16152
4626edf6
VS
161532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
161542011-11-12 Colin Watson <cjwatson@ubuntu.com>
16155
16156 * Makefile.util.def (grub-mount): New util.
16157 * .bzrignore: Add grub-mount.
16158 * configure.ac: Check for fuse and enable grub-mount if available.
16159 * docs/man/grub-mount.h2m: New file.
16160 * util/grub-mount.c: Likewise.
16161
10f0117b
VS
161622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/commands/efi/fixvideo.c: Gettextize.
16165 * grub-core/commands/hashsum.c: Likewise.
16166 * grub-core/commands/i386/cmostest.c: Likewise.
16167 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16168 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16169 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16170 * grub-core/commands/lsmmap.c: Likewise.
16171 * grub-core/commands/menuentry.c: Likewise.
16172 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16173 * grub-core/commands/setpci.c: Likewise.
16174 * grub-core/loader/i386/bsd.c: Likewise.
16175 * grub-core/loader/i386/linux.c: Likewise.
16176 * util/getroot.c: Likewise.
16177 * util/grub-editenv.c: Likewise.
16178 * util/grub-fstest.c: Likewise.
16179 * util/grub-mkfont.c: Likewise.
16180 * util/grub-mkimage.c: Likewise.
16181 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16182 * util/grub-pe2elf.c: Likewise.
16183 * util/grub-probe.c: Likewise.
16184 * util/grub-setup.c: Likewise.
16185 * util/ieee1275/ofpath.c: Likewise.
16186 * util/misc.c: Likewise.
16187 * util/raid.c: Likewise.
16188
566f779b
RM
161892011-11-11 Robert Millan <rmh@gnu.org>
16190
16191 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16192 __attribute__((unused)) from `os_dev', which *is* being used.
16193
b50787de
VS
161942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16197 forgotten define.
16198 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16199 GRUB_IA64_DL_GOT_ALIGN.
16200 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16201 GRUB_IA64_DL_TRAMP_ALIGN.
16202
119d11c8
VS
162032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Replace grub_fatal with normal errors in i386 linux loader.
16206
16207 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16208 (allocate_pages): Check find_efi_mmap_size return value.
16209 (grub_e820_add_region): Return error.
16210 (grub_linux_boot): Check mmap return value.
16211
6e0632e2
VS
162122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/commands/acpihalt.c: Gettextized.
16215 * grub-core/commands/cacheinfo.c: Likewise.
16216 * grub-core/commands/cmp.c: Likewise.
16217 * grub-core/commands/efi/loadbios.c: Likewise.
16218 * grub-core/commands/gptsync.c: Likewise.
16219 * grub-core/commands/ieee1275/suspend.c: Likewise.
16220 * grub-core/commands/legacycfg.c: Likewise.
16221 * grub-core/commands/memrw.c: Likewise.
16222 * grub-core/commands/minicmd.c: Likewise.
16223 * grub-core/commands/parttool.c: Likewise.
16224 * grub-core/commands/time.c: Likewise.
16225 * grub-core/commands/videoinfo.c: Likewise.
16226 * grub-core/disk/geli.c: Likewise.
16227 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16228 * grub-core/disk/luks.c: Likewise.
16229 * grub-core/disk/lvm.c: Likewise.
16230 * grub-core/font/font_cmd.c: Likewise.
16231 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16232 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16233 * grub-core/gfxmenu/view.c: Likewise.
16234 * grub-core/kern/emu/hostdisk.c: Likewise.
16235 * grub-core/kern/emu/main.c: Likewise.
16236 * grub-core/kern/emu/misc.c: Likewise.
16237 * grub-core/kern/emu/mm.c: Likewise.
16238 * grub-core/kern/mips/arc/init.c: Likewise.
16239 * grub-core/kern/mips/loongson/init.c: Likewise.
16240 * grub-core/kern/partition.c: Likewise.
16241 * grub-core/lib/i386/halt.c: Likewise.
16242 * grub-core/lib/mips/arc/reboot.c: Likewise.
16243 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16244 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16245 * grub-core/loader/i386/xnu.c: Likewise.
16246 * grub-core/loader/multiboot.c: Likewise.
16247 * grub-core/net/bootp.c: Likewise.
16248 * grub-core/net/net.c: Likewise.
16249 * grub-core/normal/term.c: Likewise.
16250 * grub-core/partmap/bsdlabel.c: Likewise.
16251 * grub-core/parttool/msdospart.c: Likewise.
16252 * grub-core/term/gfxterm.c: Likewise.
16253 * grub-core/term/terminfo.c: Likewise.
16254 * grub-core/video/i386/pc/vbe.c: Likewise.
16255 * util/grub-menulst2cfg.c: Likewise.
16256 * util/grub-mkdevicemap.c: Likewise.
16257 * util/grub-mklayout.c: Likewise.
16258 * util/grub-mkrelpath.c: Likewise.
16259 * util/grub-script-check.c: Likewise.
16260 * util/ieee1275/grub-ofpathname.c: Likewise.
16261 * util/resolve.c: Likewise.
16262
073aa7a9
VS
162632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 Support %1$d syntax.
16266
16267 * tests/printf_unit_test.c: New file.
16268 * Makefile.util.def (printf_test): New test.
16269 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16270
c76b5417
VS
162712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16274 fix.
16275
df067ad1
VS
162762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16279 dprintf.
16280 * grub-core/font/font.c (grub_font_load): Likewise.
16281
5b289bc5
VS
162822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * util/grub-macho2img.c: Add comment concerning gettext.
16285 * grub-core/lib/legacy_parse.c: Likewise.
16286
c1860f87
VS
162872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16290 (grub_xvasprintf): Likewise.
16291
d35d0d37
VS
162922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 Add const keyword to grub_env_get and gettextize week days.
16295
16296 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16297 (grub_read_hook_datetime): Return const char *.
16298 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16299 updated.
16300 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16301 Mark for gettext.
16302 (grub_get_weekday_name): Return const char *. Call gettext.
16303 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16304 char * and len as the argument. All users updated.
16305 (grub_script_argv_split_append): Receive const char *.
16306 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16307 * include/grub/env.h (grub_env_get): Likewise.
16308 (grub_env_read_hook_t): Return const char *.
16309 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16310 (grub_script_argv_split_append): Likewise.
16311
9aed8a71
VS
163122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16315
067fdf00
VS
163162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16319 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16320
a8bd9d39
VS
163212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16324 Fix prototype.
16325
f7ce5baf
VS
163262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 Fix mips compilation.
16329
16330 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16331 normal decoder.
16332 (hashes): Use in embed decoder as well (for sizes).
16333 (dec_stream_header): Fix embed decompressor logic.
16334 (dec_stream_footer): Likewise.
16335
9bb182f3
VS
163362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16339 an error and not a fatal on unrecognised relocation types.
16340
63a9e6f6
VS
163412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16344 Issue error rather than printf on unknown arguments.
16345
4c458569
VS
163462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16349 Make buf a const.
16350
e2d22baf
VS
163512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16354 Fix module name.
16355
53dc8590
VS
163562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16359 leftover debug printf.
16360
6c189294
VS
163612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16364
f7688369
VS
163652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16368 A stylistic fix.
16369
11a775a3
VS
163702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16371
16372 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16373
33f784e8
SL
163742011-11-10 Shea Levy <slevy@tieronedesign.com>
16375
16376 Allow all modules to perform serial IO
16377
16378 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16379 * include/grub/serial.h (grub_serial_port_configure): New inline
16380 function.
16381 (grub_serial_port_fetch): Likewise.
16382 (grub_serial_port_put): Likewise.
16383 (grub_serial_port_fini): Likewise.
16384 (grub_serial_find): New proto.
16385
f6276525
VS
163862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Put symlink at the end of the node and fix a potential
16389 memory corruption.
16390
16391 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16392 Make symlink into an array.
16393 (set_rockridge): Set have_symlink and alloc_dirents.
16394 (grub_iso9660_read_symlink): Use new layout.
16395 (grub_iso9660_iterate_dir): Fix memory corruption.
16396 Use new layout.
16397 (grub_iso9660_dir): Set have_symlink.
16398 (grub_iso9660_open): Likewise.
16399
c3591189
VS
164002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 Remove local keyword.
16403
16404 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16405 (version_test_gt): Likewise.
16406 (version_find_latest): Likewise.
16407 (gettext_printf): Likewise.
16408 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16409
cb544caa
VS
164102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16413
45bd824d
VS
164142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 Fix ZFS memory and resource leaks.
16417
16418 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16419 All users updated.
16420 Free type on exit.
16421 (fill_vdev_info): New parameter inserted. All users updated.
16422 (check_pool_label): Likewise.
16423 (scan_disk): Likewise.
16424 (scan_devices): Close non-inserted disks.
16425 (fzap_iterate): Free l.
16426 (unmount_device): Free children descripto memory.
16427
ad9a2f44
VS
164282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16431 argument (access out of bounds).
16432
6b68db81
VS
164332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16436 >= 6 drives.
16437
28840fda
VS
164382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16441 Fix declaration.
16442
8a5a3a5b
VS
164432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 Fix several memory leaks.
16446
16447 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16448 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16449 (grub_cpio_dir): Likewise.
16450 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16451 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16452 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16453 (grub_romfs_label): Likewise.
16454 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16455 (squash_unmount): New function.
16456 (grub_squash_dir): Fix memory leak.
16457 (grub_squash_open): Likewise.
16458 (grub_squash_read): Likewise.
16459 (grub_squash_mtime): Likewise.
16460 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16461 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16462 * util/grub-fstest.c (fstest): Likewise.
16463
57b01250
VS
164642011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16467 avoid accessing beyond the array.
16468
19e81ba7
VS
164692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16472
52b656c0
VS
164732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Several AFFS fixes.
16476
16477 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16478 (GRUB_AFFS_FLAG_FFS): Removed.
16479 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16480 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16481 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16482 (grub_fshelp_node): Make block 32-bit.
16483 Add block_cache and last_block_cache.
16484 (grub_affs_read_block): Fill and use block cache.
16485 (grub_affs_read_file): Removed.
16486 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16487 boot block.
16488 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16489 safety.
16490 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16491 space.
16492 (grub_affs_close): Free block cache.
16493 (grub_affs_read): Use grub_fshelp_read_file directly.
16494
438a746a
VS
164952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16498 with no error set.
16499
49a45021
VS
165002011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16503 used variable.
16504 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16505 Likewise.
16506
3ae17eb8
VS
165072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16510
16511 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16512 byteswap when needed.
16513
27610c38
VS
165142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 Fix FreeBSD compilation.
16517
16518 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16519 to avoid circular dependency.
16520 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16521 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16522 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16523
4a19b601
VS
165242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 Fix ZFS crypto error types.
16527
16528 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16529 (grub_gcm_decrypt): Likewise.
16530 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16531 from PBKDF2.
16532
958ee221
VS
165332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 Illumos support.
16536
16537 * Makefile.util.def (10_illumos): New script.
16538 * configure.ac: Set COND_HOST_ILLUMOS.
16539 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16540 Support Illumos calls.
16541 (find_partition_start) [__sun__]: Likewise.
16542 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16543 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16544 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16545 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16546 device.
16547 * util/grub-probe.c (probe) [__sun__]: Do character check.
16548 * util/grub.d/10_illumos.in: New file.
16549
cac14fb6
VS
165502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Support escaped commas in hostdisk.
16553
16554 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16555 (find_grub_drive): Use unescape_cmp.
16556 (make_device_name): Escape commas.
16557
78e08dc3
VS
165582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16561
9f421dd1
VS
165622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16565 variable.
16566
ed64e9e2
VS
165672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 Support trampoline jumps on powerpc.
16570
16571 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16572 __ia64__ path.
16573 (grub_dl_load_segments): Set mod->sz.
16574 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16575 segments.
16576 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16577 (jump): Likewise.
16578 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16579 function.
16580 (trampoline): New struct.
16581 (trampoline_template): New const.
16582 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16583 * include/grub/dl.h (grub_dl): Add sz element.
16584 [__powerpc__]: Follow __ia64__.
16585 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16586 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16587 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16588 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16589
3084ede4
VS
165902011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 ZFS crypto support.
16593
16594 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16595 * grub-core/Makefile.core.def (zfscrypt): New module.
16596 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16597 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16598 it. All users updated.
16599 (grub_zfs_decrypt): New var.
16600 (grub_zfs_load_key): Likewise.
16601 (zio_checksum_functions): Add SHA256+MAC.
16602 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16603 (zio_read): Handle encrypted blocks.
16604 (zap_verify): Remove incorrect check.
16605 (fzap_iterate): Handle non-standard fzap.
16606 (zap_iterate): Likewise.
16607 (zap_iterate_u64): New function.
16608 (dnode_get_fullpath): Load keys.
16609 * grub-core/fs/zfs/zfscrypt.c: New file.
16610 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16611 (grub_crypto_ecb_encrypt): Make input const.
16612 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16613 (grub_crypto_ecb_encrypt): Make input const.
16614 (GRUB_CIPHER_AES): New macro.
16615 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16616 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16617 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16618 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16619 prefix. All users updated.
16620 (grub_zfs_add_key): New proto.
16621 (grub_zfs_decrypt): Likewise.
16622 (grub_zfs_load_key): Likewise.
16623 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16624 * util/grub-fstest.c (options): Add -K option.
16625 (argp_parser): Likewise.
16626
b632b404
VS
166272011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 Support zle compression on ZFS.
16630
16631 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16632 (decomp_table): Add zle.
16633 * include/grub/zfs/zio.h (zio_compress): Add zle.
16634
c7ba4f69
VS
166352011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 Support BtrFS embedding.
16638
16639 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16640 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16641 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16642 * util/grub-setup.c (setup): Use fs embedding if available.
16643 Add additional sanity check.
16644
455377d9
VS
166452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * util/grub-install.in: Fix condition for config_opt.
16648
c2fd16ca
VS
166492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 Support third redundancy strip on raidz3.
16652
16653 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16654 Return error on singularity. All users updated.
16655 (read_device): Don't stop on 3rd failure on raidz3.
16656
8622923b
VS
166572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 Support case-insensitive ZFS subvolumes.
16660
16661 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16662 All users updated.
16663 (zap_hash): Likewise.
16664 (name_cmp): New function.
16665 (zap_leaf_array_equal): New parameter case_insensitive.
16666 All users updated.
16667 (zap_leaf_lookup): Likewise.
16668 (fzap_lookup): Likewise.
16669 (zap_lookup): Likewise.
16670 (dnode_get_path): New parameter case_insensitive. Retrieve case
16671 sensitiviness of a volume. All users updated.
16672 (dnode_get_fullpath): New parameter case_insensitive.
16673 All users updated.
16674 (grub_zfs_dir): Set info.case_insensitiveness.
16675
95f2e860
VS
166762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 Support second redundancy strip on raidz(2,3).
16679
16680 * grub-core/fs/zfs/zfs.c (powx): New array.
16681 (powx_inv): Likewise.
16682 (poly): New const.
16683 (xor_out): New function.
16684 (gf_mul): Likewise.
16685 (recovery): Likewise.
16686 (read_device): Use second redundancy strip.
16687
11ee4389
VS
166882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 Use a power of generator representation of GF(256) multiplication group
16691 to save space time and complexity.
16692
16693 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16694 (raid6_table2): Likewise.
16695 (powx): New array.
16696 (powx_inv): Likewise.
16697 (poly): New const.
16698 (grub_raid_block_mul): Replace with ...
16699 (grub_raid_block_mulx): ...this.
16700 (grub_raid6_init_table): Rewritten.
16701 (grub_raid6_recover): Use power of generator representation.
16702
09e2763f
VS
167032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16706 for the right device.
16707
8bec9a28
VS
167082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16711 expected by grub-mkimage and it's more clear since there is no implicit
16712 padding.
16713
dbd3a32e
VS
167142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16717 disk.
16718 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16719
182c872a
PMH
167202011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16721
16722 * util/grub-mkrescue.in: Fix handling xorriso option.
16723
1e51cabd
VS
167242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16727 NULL.
16728
9cc3581d 167292011-11-03 crocket <crockabiscuit@gmail.com>
16730
16731 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16732
158dc1ea
VS
167332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 XZ CRC64 and SHA256 support.
16736
16737 * Makefile.util.def (libgrubmods): Add crc64.c.
16738 * grub-core/Makefile.core.def (crc64): New module.
16739 * grub-core/lib/crc64.c: New file.
16740 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16741 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16742 Fix the type.
16743 (MAX_HASH_SIZE): New define.
16744 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16745 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16746 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16747 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16748 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16749 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16750 Handle non-crc32 hashes.
16751 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16752 (dec_stream_header): Handle non-crc32 hashes.
16753 (dec_stream_footer): Likewise.
16754 (dec_block_header): Likewise.
16755 (dec_main): Likewise.
16756 (xz_dec_init): Likewise.
16757 (xz_dec_reset): Likewise.
16758 (xz_dec_end): Likewise.
16759 * util/import_gcry.py: Add CRC64 line.
16760
9d9b3d2f
VS
167612011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16764 as well.
16765
7d0ac931
VS
167662011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 Make reiserfs label retrieval similar to other *_label functions.
16769
16770 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16771 (REISERFS_MAX_LABEL_LENGTH): Removed.
16772 (REISERFS_LABEL_OFFSET): Likewise.
16773 (grub_reiserfs_label): Rewritten.
16774
167752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16778 field.
16779
cf5ba824
VS
167802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16783
17744004
VS
167842011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16787 drive failure on both raidz and raidz2.
16788
aca5aefc
VS
167892011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 Fix RAIDZ(2) for >= 5 devices.
16792
16793 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16794 asize argument. All users updated.
16795
ce8ca56e
VS
167962011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Fix RAIDZ(2).
16799
16800 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16801 (fill_vdev_info_real): Set ashift.
16802 (read_device): Rewrite RAIDZ part based on reverse engineering.
16803
7c01e783
VS
168042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16807 don't report potentially unavialiable fields in debug output.
16808 (find_path): Fix double-free and memory leak.
16809
ce109e84
VS
168102011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 Read label on UFS1.
16813
16814 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16815 (grub_ufs_fs): Always set .label.
16816
87661123
VS
168172011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 Use shifts in UFS.
16820
16821 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16822 (grub_ufs_data): New field log2_blksz.
16823 (grub_ufs_read_file): Use shifts.
16824 (grub_ufs_mount): Check block size and logarithm it.
16825
46bc1dc2
VS
168262011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16829 long symlinks.
16830
19ee2987
VS
168312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Handle symlinks and long names on tar and cpio.
16834
16835 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16836 (ATTR_FILE): Likewise.
16837 (ATTR_DIR): Likewise.
16838 (ATTR_LNK): Likewise.
16839 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16840 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16841 L and K entries.
16842 (grub_cpio_mount): Zero-fill data.
16843 (handle_symlink): New function.
46bc1dc2
VS
16844 (grub_cpio_dir): Handle symlinks.
16845 (grub_cpio_open): Likewise.
16846 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16847
c83a08d8
VS
168482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16849
16850 Fix iso9660 filename limitations and fix memory leaks.
16851
16852 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16853 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16854
45cdd3ea
VS
168552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16856
16857 Fix JFS file name length limitations.
16858
16859 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16860 (grub_jfs_diropen): Fix maximum filename length.
16861 (grub_jfs_getent): Fix filename length.
16862 (grub_jfs_lookup_symlink): Fix size checks.
16863
94ef05c2
VS
168642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16867 string.
16868
785ab8c7
VS
168692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16870
eb0b6b45
VS
16871 Leverage BFS implementation to read AFS.
16872
16873 * Makefile.util.def (libgrubmods): Add afs.c.
16874 * grub-core/Makefile.core.def (afs): New module
16875 * grub-core/fs/afs.c: New file.
16876 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16877
168782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16881
c4a1628f
VS
168822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 * grub-core/fs/bfs.c: Run indent.
16885
5825b379
VS
168862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 BFS implementation based on the specification.
16889
16890 * grub-core/fs/bfs.c: New file.
16891 * Makefile.util.def (libgrubmods): Add bfs.c.
16892 * grub-core/Makefile.core.def (bfs): New module.
16893
42b2a706
VS
168942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * util/grub-fstest.c (cmd_cp): Clarify error message.
16897 (cmd_cmp): Likewise.
16898
61b99bfc
YB
168992011-10-30 Yves Blusseau <blusseau@zetam.org>
16900
16901 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16902 and befs_be.
16903
faba3d16
VS
169042011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 Remove afs and befs because of copyright problem.
16907
16908 * grub-core/fs/afs.c: Removed.
16909 * grub-core/fs/afs_be.c: Removed.
16910 * grub-core/fs/befs.c: Removed.
16911 * grub-core/fs/befs_be.c: Removed.
16912 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16913 * grub-core/Makefile.core.def (afs): Removed.
16914 (afs_be): Likewise.
16915 (befs): Likewise.
16916 (befs_be): Likewise.
16917
c39224b0
VS
169182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 Prefer rockridge over Joliet.
16921
16922 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16923 to ...
16924 (set_rockridge): ... here.
16925 (grub_iso9660_mount): Check rockridge on the primary label when
16926 discovering. Ignore Joliet if Rockridge is present.
16927
e551115a
VS
169282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 Use shifts in nilfs2.
16931
16932 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16933 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16934 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16935 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16936 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16937 (grub_nilfs2_entries_per_block): Replaced with ...
16938 (grub_nilfs2_log_entries_per_block_log): ... this.
16939 (grub_nilfs2_blocks_per_group): Replaced with ...
16940 (grub_nilfs2_blocks_per_group_log): ... this.
16941 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16942 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16943 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16944 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16945 (grub_nilfs2_palloc_entry_offset): Replaced ...
16946 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16947 (grub_nilfs2_dat_translate): Use shifts.
16948 (grub_nilfs2_read_inode): Likewise.
16949 (GRUB_MOD_INIT): Ensure that logs are correct.
16950
564dd58c
VS
169512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Use shifts in minix filesystem.
16954
16955 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16956 (GRUB_MINIX_ZONE2SECT): Likewise.
16957 (grub_minix_data): Replace block_size with log_block_size.
16958 (grub_minix_read_file): Use shifts.
16959 (grub_minix_mount): Check block size and take a logarithm.
16960
ed9ba06d
VS
169612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 Use shifts in squash4.
16964
16965 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16966 (squash_mount): Check block size and take logarithm.
16967 (direct_read): Use shifts.
16968
ad03fe76
VS
169692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 Correct befs block counting logic.
16972
16973 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16974 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16975 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16976 (grub_afs_read_inode): Use block_shift.
16977 (RANGE_SHIFT): New definition.
16978 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16979 unexpected conditions, use shifts and appropriate types.
16980 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16981
6563f63d
VS
169822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * grub-core/disk/raid.c (scan_devices): Check partition.
16985 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16986
5b1ae25f
VS
169872011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 Support BFS (befs) UUID.
16990
16991 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16992 (grub_afs_small_data_element_header): New struct.
16993 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16994 (grub_afs_read_attribute) [MODE_BFS]: New function.
16995 (grub_afs_iterate_dir): Allocate for complete inode.
16996 (grub_afs_mount): Likewise.
16997 (grub_afs_uuid) [MODE_BFS]: New function.
16998 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16999
f8d82408
VS
170002011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17003 (zfs_unmount): Fix memory leak.
17004
5773fb64
VS
170052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 Support NTFS reparse points.
17008
17009 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17010 (symlink_descriptor): New struct.
17011 (grub_ntfs_read_symlink): New function.
17012 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17013 (grub_ntfs_open): Likewise.
17014
91c3fdde
VS
170152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17018
3be82e10
VS
170192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 fstest xnu_uuid subcommand.
17022
17023 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17024 grub-core/commands/xnu_uuid.c.
17025 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17026 (fstest): Handle xnu_uuid.
17027 (options): Document xnu_uuid.
17028 (argp_parser): Parse xnu_uuid.
17029
8e32442e
VS
170302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17033 -l argument. Add newline at the end if printing.
17034 (GRUB_MOD_INIT): Document -l.
17035
52a05075
VS
170362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17039
1869edb5
VS
170402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 ZFS multi-device and version 33 support.
17043
17044 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17045 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17046 (grub_zfs_data): Add multidev-ice-related fields.
17047 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17048 (dva_get_offset): Make dva const.
17049 (zfs_fetch_nvlist): New function.
17050 (fill_vdev_info_real): Likewise.
17051 (fill_vdev_info): Likewise.
17052 (check_pool_label): Likewise.
17053 (scan_disk): Likewise.
17054 (scan_devices): Likewise.
17055 (read_device): Likewise.
17056 (read_dva): Likewise.
17057 (zio_read_gang): Use read_dva.
17058 (zio_read_data): Likewise.
17059 (zap_leaf_lookup): Add missing endian conversion.
17060 (zap_verify): Add missing endian conversion. All users updated.
17061 (fzap_lookup): Likewise.
17062 (fzap_iterate): Likewise.
17063 (dnode_get_path): Handle SA bonus.
17064 (nvlist_find_value): Make input const. All users updated.
17065 (unmount_device): New function.
17066 (zfs_unmount): Use unmount_device.
17067 (zfs_mount): Use scan_disk.
17068 (zfs_mtime): New function.
17069 (grub_zfs_open): Handle system attributes.
17070 (fill_fs_info): Likewise.
17071 (grub_zfs_dir): Likewise.
17072 (grub_zfs_fs): Add mtime.
17073 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17074 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17075 (SA_MTIME_OFFSET): Likewise.
17076 (SA_SYMLINK_OFFSET): Likewise.
17077 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17078 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17079 (fstest): Support zfsinfo.
17080 (argp_parser): Likewise.
17081
186b4028
VS
170822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17085 error.
17086
170872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
17088
17089 ZFS fixes.
17090
17091 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17092 sharing the same block. Iterate over correct number of indices.
17093 (dnode_get_path): Handle symlinks correctly.
17094
c0584900
VS
170952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17098
67e2bd71
VS
170992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 Read label on HFS+.
17102
17103 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17104 (grub_hfsplus_btree_search): Fix types.
17105 (grub_hfsplus_label): Implement.
17106
e9cc6b7b
VS
171072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17110
19832ddb
VS
171112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17114
66b40850
VS
171152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 Fix symlink handling on iso9660.
17118
17119 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17120 All users updated.
17121 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17122 (grub_iso9660_read_symlink): Moved most of code ...
17123 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17124
db821363
VS
171252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17128 Use union to avoid breaking strict-aliasing rules.
17129
e1211949
VS
171302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Support multi-extent iso files.
17133
17134 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17135 Add node.
17136 (grub_fshelp_node): Revamp. All users updated.
17137 (FLAG_*): New enum.
17138 (read_node): New function.
17139 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17140 All users updated.
17141 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17142 (get_node_size): New function.
17143 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17144 entries.
17145 Fix memory leak on . and ..
17146 (grub_iso9660_read): Use read_node.
17147 (grub_iso9660_close): Free node.
17148
d4888031
VS
171492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 Fix tar 4G limit and handle paths containing dot.
17152
17153 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17154 (canonicalize): New function.
17155 (grub_cpio_find_file): Use canonicalize. Store offs in
17156 grub_disk_addr_t.
17157 (grub_cpio_dir): Use grub_disk_addr_t.
17158 (grub_cpio_open): Likewise.
17159
9f12e664
VS
171602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17163
17164 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17165 unused flags.
17166 (grub_squash_inode): Add long_file and block_size.
17167 (grub_squash_cache_inode): New struct.
17168 (grub_squash_dirent): Make types into enum.
17169 (SQUASH_TYPE_LONG_REGULAR): New type.
17170 (grub_squash_frag_desc): Add field size.
17171 (SQUASH_BLOCK_FLAGS): New enum.
17172 (grub_squash_data): Use grub_squash_cache_inode.
17173 (grub_fshelp_node): Make ino_chunk 64-bit.
17174 (read_chunk): Minor argument change. All users updated.
17175 (squash_mount): Use correct le_to_cpu.
17176 (grub_squash_open): Handle LONG_REGULAR.
17177 (direct_read): New function.
17178 (grub_squash_read_data): Handle blocks correctly.
17179
9f326fba
VS
171802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17183
f4d9b64b
VS
171842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17187
5bbd28b8
VS
171882011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 Fix 2G limit on ZFS.
17191
17192 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17193 types.
17194 (uberblock_verify): Likewise.
17195 (dmu_read): Likewise.
17196 (grub_zfs_read): Likewise. Remove invalid cast.
17197
68c72069
VS
171982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17201 (grub_jfs_blkno): Fix incorrect shift.
17202 (grub_jfs_read_file): Use more appropriate types.
17203
6e536dc8
VS
172042011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 Support triple indirect on minix2 and minix3.
17207
17208 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17209 Declare triple_indir_zone.
17210 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17211 indirect.
17212
e0864e7a
VS
172132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 Minix FS fixes.
17216
17217 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17218 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17219 Rename ctime to mtime. All users updated.
17220 (grub_minix_get_file_block): Fix types and double indirect computations.
17221
89481cab
VS
172222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17225 if no label is found.
17226 (grub_fat_iterate_dir): Fix file size type.
17227 (grub_fat_iterate_dir): Likewise.
17228
f646e143
VS
172292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17232 save some space.
17233 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17234 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17235
534d769e
VS
172362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17239
e084ba18
VS
172402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * util/import_gcry.py: Accept space between # and include.
17243
3471ecdf
VS
172442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17247
124df5f6
VS
172482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17251
17252 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17253 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17254 yylex_strncpy.
17255 * grub-core/script/yylex.l: Add fine-grained #pragma.
17256
4defb8d5
VS
172572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17260 New inline function.
17261 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17262 Likewise.
17263 (memset) [GRUB_UTIL]: Likewise.
17264 (memcmp) [GRUB_UTIL]: Likewise.
17265
4e94ae65
VS
172662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17269 inline function rather than a define.
17270
18c575e5
VS
172712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * util/grub-setup.c: Add missing include.
17274
f8bc22a8
VS
172752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * util/ieee1275/grub-ofpathname.c: Add missing include.
17278
3ce69fc9
VS
172792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17282 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17283 Likewise.
17284
d1e293bb
VS
172852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17288 grub_memcmp usage.
17289
7a5c54a4
VS
172902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * util/grub-install.in: Add datarootdir as per automake manual
17293 suggestion.
17294 * util/grub-mknetdir.in: Likewise.
17295
172962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
17297
17298 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17299 suggestion.
17300 * util/grub.d/10_kfreebsd.in: Likewise.
17301 * util/grub.d/10_linux.in: Likewise.
17302 * util/grub.d/10_netbsd.in: Likewise.
17303 * util/grub.d/10_windows.in: Likewise.
17304 * util/grub.d/20_linux_xen.in: Likewise.
17305
766f7d08
VS
173062011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 Remove redundant grub_kernel_image_size.
17309
17310 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17311 _edata and _start.
17312 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17313 the small code. It moves it only by few bytes but simplifies the code.
17314 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17315 _start.
17316 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17317 (grub_kernel_image_size): Removed.
17318 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17319 (grub_kernel_image_size): Removed.
17320 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17321 compiled with Apple toolchain.
17322 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17323 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17324 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17325 (grub_total_module_size): Likewise.
17326 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17327 Removed.
17328 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17329 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17330 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17331 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17332 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17333 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17334 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17335 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17336 Removed.
17337 (grub_total_module_size): Removed.
17338 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17339 (image_targets): Likewise.
17340 Set .compressed_size to no field on sparc.
17341 (generate_image): Remove kernel_image_size handling.
17342
fcf1d672
SJ
173432011-10-19 Szymon Janc <szymon@janc.net.pl>
17344
17345 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17346 NULL pointer dereference.
17347
de9c615e
VS
173482011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17349
17350 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17351 done with a dedicated section.
17352
17353 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17354 Ensure the correct position of boot_path.
17355 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17356 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17357 other fields.
17358 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17359 * include/grub/boot.h: Removed. All references removed.
17360 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17361 Removed.
17362 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17363
e55599dc
VS
173642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17367 name.
17368
36dd20ad
VS
173692011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17372
f8f72eb8
VS
173732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17376 Don't add the bogus brackets.
17377
a374751b
VS
173782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 ExFAT support.
17381
17382 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17383 * grub-core/Makefile.core.def (exfat): New module.
17384 * grub-core/fs/exfat.c: New file.
17385 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17386 (GRUB_FAT_ATTR_*): Make into an enum.
17387 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17388 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17389 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17390 (GRUB_FAT_MAXFILE): Removed.
17391 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17392 (grub_current_fat_bpb_t): New type.
17393 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17394 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17395 (grub_fat_dir_node_t): New type.
17396 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17397 (fat_log2) [MODE_EXFAT]: Removed.
17398 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17399 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17400 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17401 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17402 (grub_fat_label) [MODE_EXFAT]: New function.
17403 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17404 reserved_first_sector to 0.
17405
544c2487
VS
174062011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 Move grub_reboot out of the kernel.
17409
17410 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17411 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17412 * grub-core/lib/efi/reboot.c: ... here.
17413 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17414 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17415 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17416 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17417 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17418 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17419 * grub-core/lib/ieee1275/reboot.c: ... here.
17420 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17421 * grub-core/lib/mips/arc/reboot.c: ... here.
17422 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17423 * grub-core/lib/mips/loongson/reboot.c: ...here.
17424 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17425 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17426 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17427 * include/grub/i386/reboot.h: New file.
17428 * include/grub/mips/loongson/ec.h: Fix includes.
17429 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17430 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17431 * grub-core/lib/i386/reboot.c: New file.
17432
a97501d2
VS
174332011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 Make grub_prefix into module to fix the arbitrary limit and save
17436 some space.
17437
17438 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17439 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17440 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17441 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17442 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17443 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17444 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17445 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17446 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17447 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17448 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17449 * include/grub/ia64/efi/kernel.h: Removed.
17450 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17451 (grub_prefix): Removed.
17452 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17453 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17454 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17455 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17456 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17457 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17458 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17459 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17460 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17461 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17462 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17463 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17464 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17465 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17466 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17467 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17468 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17469 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17470 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17471 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17472 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17473 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17474 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17475 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17476 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17477 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17478 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17479 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17480 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17481 from module.
17482 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17483 prefix_end.
17484 (image_targets): Likewise.
17485 (generate_image): Put prefix as a module.
17486
39705fad
VS
174872011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 Replace grub_module_iterate with FOR_MODULES.
17490
17491 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17492 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17493 (grub_efi_modules_addr): ...this.
17494 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17495 (grub_efi_init): Set grub_modbase.
17496 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17497 (grub_modbase): New variable.
17498 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17499 (grub_modbase): New variable.
17500 (grub_machine_init): Set grub_modbase.
17501 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17502 (grub_modbase): New variable.
17503 (grub_machine_init): Set grub_modbase.
17504 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17505 (grub_modbase): New variable.
17506 (grub_machine_init): Set grub_modbase.
17507 * grub-core/kern/main.c (grub_module_iterate): Remove.
17508 (grub_modules_get_end): Use grub_modbase.
17509 (grub_load_modules): Use FOR_MODULES.
17510 (grub_load_config): Likewise.
17511 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17512 (grub_modbase): New variable.
17513 (grub_machine_init): Set grub_modbase.
17514 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17515 (grub_modbase): New variable.
17516 (grub_machine_init): Set grub_modbase.
17517 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17518 Removed.
17519 (grub_modbase): New variable.
17520 (grub_machine_init): Set grub_modbase.
17521 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17522 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17523 (grub_module_iterate): Likewise.
17524 (grub_modbase): New variable declaration.
17525 (FOR_MODULES): New macro.
17526
2afb7f6c
VS
175272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17530 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17531
366e34fa
VS
175322011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 Fix few obvious type discrepancies.
17535
17536 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17537 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17538 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17539 variable.
17540 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17541 and connected types.
17542 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17543 offset.
17544 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17545 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17546 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17547 and connected types.
17548
177b960e
VS
175492011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 Fix python 3.x incompatibilities.
17552
17553 * gentpl.py: Put brackets around print strings.
17554 * util/import_gcry.py: Open explicitly as utf-8.
17555 Use in instead of has_key.
17556
3b619ae1
VS
175572011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17560 (GRUB_XFS_INO_AGBITS): Make into inline function.
17561 (GRUB_XFS_INO_INOINAG): Likewise.
17562 (GRUB_XFS_INO_AG): Likewise.
17563 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17564 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17565 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17566 (GRUB_XFS_EXTENT_SIZE): Likewise.
17567 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17568 (GRUB_XFS_NEXT_DIRENT): Likewise.
17569 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17570 (grub_xfs_read_file): Fix offset type.
17571
8bcebcb8
RM
175722011-10-15 Robert Millan <rmh@gnu.org>
17573
17574 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17575
0017e5ef
RM
175762011-10-15 Robert Millan <rmh@gnu.org>
17577
17578 Fix build problem on FreeBSD and GNU/kFreeBSD.
17579
17580 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17581
d8919552
VS
175822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17585
17586 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17587 types.
17588 (grub_hfsplus_btree_recoffset): Likewise.
17589 (grub_hfsplus_btree_recptr): Likewise.
17590 (grub_hfsplus_find_block): Likewise.
17591 (grub_hfsplus_btree_search): Likewise.
17592 (grub_hfsplus_read_block): Likewise.
17593 (grub_hfsplus_read_file): Likewise.
17594 (grub_hfsplus_mount): Likewise.
17595 (grub_hfsplus_btree_iterate_node): Likewise.
17596 (grub_hfsplus_btree_search): Likewise.
17597 (grub_hfsplus_iterate_dir): Likewise.
17598 (grub_hfsplus_read): A small code simplification.
17599
c81296b6
VS
176002011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/kern/emu/hostdisk.c
17603 (convert_system_partition_to_system_disk): Don't assume that children
17604 of mapper nodes are mapper nodes.
17605
0eb8ffb1
VS
176062011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17609 * include/grub/misc.h (grub_isxdigit): New function.
17610 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17611 switched to grub_isxdigit.
17612 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17613 number starting with a letter.
17614
a98f4a08
RM
176152011-10-09 Robert Millan <rmh@gnu.org>
17616
17617 LVM support for FreeBSD and GNU/kFreeBSD.
17618
17619 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17620 GNU/kFreeBSD.
17621 (LVM_DEV_MAPPER_STRING): Move from here ...
17622 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17623 * util/getroot.c: Include `<grub/util/lvm.h>'.
17624 (grub_util_get_dev_abstraction): Enable
17625 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17626 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17627 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17628 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17629 support it.
17630 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17631 GNU/kFreeBSD.
17632 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17633 when LVM abstraction is required for ${GRUB_DEVICE}.
17634
050e8e90
SJ
176352011-10-06 Szymon Janc <szymon@janc.net.pl>
17636
17637 Add support for LZO compression in GRUB:
17638 - import of minilzo library,
17639 - LZO decompression for btrfs,
17640 - lzop files decompression.
17641
17642 * grub-core/io/lzopio.c: New file.
17643 * grub-core/lib/adler32.c: Likewise.
17644 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17645 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17646 * grub-core/lib/minilzo/minilzo.c: Likewise.
17647 * grub-core/lib/minilzo/minilzo.h: Likewise.
17648 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17649 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17650 grub-core/lib/minilzo/minilzo.c to common.
17651 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17652 cflags in cppflags.
17653 * grub-core/Makefile.core.def (btrfs): Likewise.
17654 * grub-core/Makefile.core.def (lzopio): New module.
17655 (adler32): Likewise.
17656 * grub-core/fs/btrfs.c: Include minilzo.h.
17657 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17658 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17659 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17660 (grub_btrfs_lzo_decompress): New function.
17661 (grub_btrfs_extent_read): Add support for LZO compression type.
17662 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17663 (GRUB_USHRT_MAX): Likewise.
17664 (GRUB_UINT_MAX): Likewise.
17665 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17666 (UINT_MAX): Likewise.
17667 (CHAR_BIT): Likewise.
17668 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17669 grub-core/lib/posix_wrap/limits.h
17670 (UCHAR_MAX): Likewise.
17671 * include/grub/file.h (grub_file_filter_id): New compression filter
17672 GRUB_FILE_FILTER_LZOPIO.
17673 * include/grub/file.h (grub_file_filter_id): Set
17674 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17675 * include/grub/types.h (grub_get_unaligned16): New function.
17676 (grub_get_unaligned32): Likewise.
17677 (grub_get_unaligned64): Likewise.
17678 * util/import_gcry.py (cryptolist): Add adler32.
17679
0eb8ffb1
VS
176802011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17681
17682 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17683 in perspective decreases the complexity of build system and fixes
17684 compilation right now.
17685
ce79cc99 176862011-10-01 Ales Nesrsta <starous@volny.cz>
17687
17688 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17689 (fixed problem related to using UHCI with coreboot).
17690
8667a314
BC
176912011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17692
17693 * gentpl.py: Use Autogen macros so that the output template file
17694 (Makefile.tpl) size is reduced.
17695
fc5efcc0
MK
176962011-09-29 Mads Kiilerich <mads@kiilerich.com>
17697
17698 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17699 extra_dist.
17700
d1ab689d
ML
177012011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17702
17703 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17704 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17705
c05de032
ML
177062011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17707
17708 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17709 _fullpath.
17710
cca7ccd8
ML
177112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17712
17713 Remove extra declaration of sleep for mingw32.
17714
17715 * util/misc.c (sleep) [__MINGW32__]: Removed.
17716 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17717
e0b0dc83
GS
177182011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17719
17720 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17721 type and packname.
17722 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17723 Resurrected.
17724 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17725 (grub_netbsd_btinfo_bootwedge): New struct.
17726 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17727 New function.
17728 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17729
91a1a164
TH
177302011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17731
17732 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17733 loader.
17734
2ded951e
AB
177352011-09-28 Andreas Born <futur.andy@googlemail.com>
17736
17737 Fix incorrect identifiers in bash-completion.
17738
17739 * util/bash-completion.d/grub-completion.bash.in
17740 (_grub_mkpasswd-pbkdf2): Rename to ...
17741 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17742 (_grub_script-check): Rename to ...
17743 (_grub_script_check): ... this. All users updated.
17744
69915030
VS
177452011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17746
17747 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17748 Return 0 if disk isn't biosdisk.
17749
20fd15f9
GS
177502011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17751
17752 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17753 on NetBSD.
17754 * Makefile.util.def (grub-fstest): Likewise.
17755
1a7d7db9
GS
177562011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17757
17758 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17759 Get sector size from disk label.
17760
2221ab6c
CW
177612011-09-05 Colin Watson <cjwatson@ubuntu.com>
17762
17763 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17764 */README* as well as README*.
17765 Reported by: Axel Beckert.
17766
ca51c4a0
VS
177672011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17770 case of less than 256 MiB of RAM.
17771
ab80f326
VS
177722011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/commands/wildcard.c (make_regex): Handle @.
17775
4155e697
VS
177762011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17779
ab178c08
SJ
177802011-08-21 Szymon Janc <szymon@janc.net.pl>
17781
17782 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17783 AC_LANG_CONFTEST macros.
17784
7dc3c686
SJ
177852011-08-20 Szymon Janc <szymon@janc.net.pl>
17786
17787 Add grub-fstest option to uncompress data for commands.
17788
17789 * util/grub-fstest.c (uncompress): New var.
17790 (options): New option -u.
17791
fe8d4a7b
SJ
177922011-08-20 Szymon Janc <szymon@janc.net.pl>
17793
17794 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17795 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17796
a5219af1
SJ
177972011-08-20 Szymon Janc <szymon@janc.net.pl>
17798
17799 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17800 file type was not recognized correctly (not gzip or corrupted).
17801
f87abff5
VS
178022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17803
17804 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17805 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17806
d94497ea
VS
178072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17810 loongson.
17811 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17812 video_radeon_fuloong2e.
17813 * grub-core/video/radeon_fuloong2e.c: New file.
17814 * include/grub/video.h (grub_video_id_t): Add new ID
17815 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17816
0d1fd011
VS
178172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17820 define.
17821 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17822 that PRID matches the detected subplatform and reset the subplatform
17823 if it doesn't.
17824
84beb0ee
VS
178252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17828
1227c133
VS
178292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17830
17831 Fix PCI iterating on functions >= 4.
17832
17833 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17834 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17835 Removed.
17836 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17837 (grub_pci_read): Fix bitmask.
17838 (grub_pci_read_word): Likewise.
17839 (grub_pci_read_byte): Likewise.
17840 (grub_pci_write): Likewise.
17841 (grub_pci_write_word): Likewise.
17842 (grub_pci_write_byte): Likewise.
17843
9594c689
VS
178442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17847 can still be specified in TARGET_CFLAGS)
17848
14a2562c
VS
178492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17852
17853 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17854 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17855 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17856 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17857 (FULOONG): Rename to ...
17858 (FULOONG2F): ... this. All users updated.
17859 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17860 (machtype_fuloong2f_str): ... this.
17861 (machtype_fuloong2e_str): New string.
17862 Check for machtype_fuloong2e_str.
17863 * grub-core/loader/mips/linux.c (loongson_machtypes)
17864 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17865 * grub-core/term/serial.c (loongson_defserial)
17866 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17867 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17868 loongson_defserial.
17869 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17870 Rename to ...
17871 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17872 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17873 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17874 to IMAGE_FULOONG2F_FLASH. All users updated.
17875 (image_targets): Rename images.
17876 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17877
b526cbb6
SJ
178782011-08-19 Szymon Janc <szymon@janc.net.pl>
17879
17880 Make enable of disk cache statistics code configurable.
17881
17882 * configure.ac: --enable-cache-stats added.
17883 * config.h.in (DISK_CACHE_STATS): New define.
17884 * grub-core/Makefile.core.def (cacheinfo): New command.
17885 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17886 * grub-core/commands/cacheinfo.c: New file.
17887 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17888 moved to cacheinfo.c.
17889 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17890 debug code.
17891 * include/grub/disk.h: Likewise.
17892
fb739ccd
SJ
178932011-08-19 Szymon Janc <szymon@janc.net.pl>
17894
17895 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17896 * grub-core/Makefile.am: Likewise.
17897
2bba8cfd
VS
178982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17901 non-zero pull.
17902
43526629
VS
179032011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17906 All users updated.
17907 (grub_jfs_lookup_symlink): Use correct starting inode.
17908
5c144cc8
VS
179092011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17910
17911 * util/grub-setup.c (main): Add missing gcry initialisation.
17912
b1257f65
VS
179132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 Don't accept text modes on EFI when booting Linux.
17916
17917 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17918 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17919
828bc390
ML
179202011-08-15 Mario Limonciello <mario_limonciello@dell.com>
179212011-08-15 Colin Watson <cjwatson@ubuntu.com>
17922
17923 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17924 use of "/path/.." as in grub-install for EFI as well as handling
17925 symlinks correctly.
17926 Fixes Debian bug #637768.
17927
5f60ccac
CW
179282011-08-15 Colin Watson <cjwatson@ubuntu.com>
17929
17930 * util/grub-probe.c: Remove duplicate #include.
17931
6dc212f9
RM
179322011-08-10 Robert Millan <rmh@gnu.org>
17933
17934 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17935
17936 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17937 function.
17938 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17939 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17940
66816d85
RM
179412011-08-03 Robert Millan <rmh@gnu.org>
17942
17943 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17944 la_array as packed.
17945 Reported by: Zachary Bedell
17946
20168fca
CW
179472011-07-26 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * configure.ac: The Loongson port requires grub-mkfont due to its
17950 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17951 be built.
17952
303b6246
CW
179532011-07-26 Colin Watson <cjwatson@ubuntu.com>
17954
17955 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17956 processing arguments (otherwise help2man fails when GRUB has not yet
17957 been installed).
17958
6795300e
VS
179592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17960
41aa28ea
VS
17961 New script grub-mkstandalone.
17962
17963 * Makefile.util.def (grub-mkstandalone): New script.
17964 * docs/man/grub-mkstandalone.h2m: New file.
17965 * util/grub-mkstandalone.in: Likewise.
17966
179672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 Support ATA disks with 4K sectors.
6795300e
VS
17970
17971 * include/grub/ata.h (grub_ata): New member log_sector_size.
17972 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17973 (grub_ata_identify): Read sector size.
17974 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17975
92227597
VS
179762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * util/grub-install.in: Don't use uhci outside of x86.
17979
c77069f5
VS
179802011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * util/grub-mkrescue.in: Add missing quotes.
17983
179842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17985
17986 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17987 dereference.
17988
583168a2
VS
179892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17992
6be1c01f
VS
179932011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 * include/grub/video.h: add missing EXPORT_FUND on
17996 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17997
a1167439
VS
179982011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17999
18000 * include/grub/mips/kernel.h: Fix define conflict.
18001
bf66054f
VS
180022011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18003
18004 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18005 all four ways.
18006
8fc4fa45
CW
180072011-07-21 Colin Watson <cjwatson@ubuntu.com>
18008
18009 Preferred resolution detection for VBE.
18010
18011 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18012 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18013 the Flat Panel extension, in line with the X.org VESA driver.
18014 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18015 New function.
18016 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18017 (grub_vbe_bios_read_edid): Likewise.
18018 (grub_vbe_get_preferred_mode): Likewise.
18019 (grub_video_vbe_setup): When the mode is "auto", try to get the
18020 preferred mode from VBE, and use the largest mode that is no larger
18021 than the preferred mode (some BIOSes expose a preferred mode that is
18022 not in their mode list!). If this fails, fall back to 640x480 as a
18023 safe conservative choice.
18024 (grub_video_vbe_get_edid): New function.
18025 (grub_video_vbe_adapter): Add get_edid.
18026 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18027 (struct grub_video_adapter): Add get_edid.
18028 (grub_video_edid_checksum): Add prototype.
18029 (grub_video_edid_preferred_mode): Likewise.
18030 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18031 structure.
18032
18033 * grub-core/commands/videoinfo.c (print_edid): New function.
18034 (grub_cmd_videoinfo): Print EDID if available.
18035
18036 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18037 is more appropriate on a wider range of platforms than 640x480.
18038 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18039 documentation.
18040
ca5572a9
VS
180412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18044
e4bcf625
VS
180452011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * po/POTFILES.in: Regenerate.
18048
c4edd548
VS
180492011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18052 incorrect memory usage.
18053
16a2bab0
VS
180542011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18055
18056 * util/grub-install.in: Source grub-mkconfig_lib.
18057
2e418de6
VS
180582011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 Remove getroot.c from core on emu platform.
18061
18062 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18063 kern/emu/raid.c.
18064 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18065 useless.
18066 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18067 * util/getroot.c (get_win32_path): ... here.
18068 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18069 * util/getroot.c (fini_libzfs): ... here.
18070 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18071 * util/getroot.c (grub_get_libzfs_handle): ... here.
18072 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18073 Moved from here...
18074 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18075 * grub-core/kern/emu/misc.c
18076 (grub_make_system_path_relative_to_its_root): Moved from here...
18077 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18078 * grub-core/kern/emu/getroot.c: Moved from here ...
18079 * util/getroot.c: ... here. All users updated.
18080 * grub-core/kern/emu/raid.c: Moved from here ...
18081 * util/raid.c: ... here. All users updated.
18082
def9832a
VS
180832011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 * po/POTFILES.in: Regenerate.
18086
cd8fe79a
VS
180872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 Fix compilation on GNU/Linux.
18090
18091 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18092 Disable geli.
18093 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18094 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18095 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18096
a251b719
VS
180972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
180982011-07-07 Michael Gorven <michael@gorven.za.net>
180992011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18100
18101 LUKS and GELI support.
18102
18103 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18104 grub-core/disk/luks.c, grub-core/disk/geli.c,
18105 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18106 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18107 grub-core/lib/arg.c.
18108 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18109 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18110 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18111 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18112 (grub-bin2h): Add libgcry.a.
18113 (grub-mkimage): Likewise.
18114 (grub-mkrelpath): Likewise.
18115 (grub-script-check): Likewise.
18116 (grub-editenv): Likewise.
18117 (grub-mkpasswd-pbkdf2): Likewise.
18118 (grub-pe2elf): Likewise.
18119 (grub-fstest): Likewise.
18120 (grub-mkfont): Likewise.
18121 (grub-mkdevicemap): Likewise.
18122 (grub-probe): Likewise.
18123 (grub-ofpath): Likewise.
18124 (grub-mklayout): Likewise.
18125 (example_unit_test): Likewise.
18126 (grub-menulst2cfg): Likewise.
18127 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18128 * grub-core/Makefile.core.def (cryptodisk): New module.
18129 (luks): Likewise.
18130 (geli): Likewise.
18131 * grub-core/disk/AFSplitter.c: New file.
18132 * grub-core/disk/cryptodisk.c: Likewise.
18133 * grub-core/disk/geli.c: Likewise.
18134 * grub-core/disk/luks.c: Likewise.
18135 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18136 grub_util_is_lvm.
18137 (grub_util_get_dm_abstraction): New function.
18138 (grub_util_follow_gpart_up): Likewise.
18139 (grub_util_get_geom_abstraction): Likewise.
18140 (grub_util_get_dev_abstraction): Use new functions.
18141 (grub_util_pull_device): Pull GELI and LUKS.
18142 (grub_util_get_grub_dev): Handle LUKS and GELI.
18143 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18144 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18145 (follow_geom_up): Removed.
18146 (grub_util_fd_seek): New function.
18147 (open_device): Use grub_util_fd_seek.
18148 (nread): Rename to ..
18149 (grub_util_fd_read): ... this. All users updated.
18150 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18151 (grub_crypto_cbc_decrypt): Likewise.
18152 (grub_crypto_hmac_write): Likewise.
18153 (grub_crypto_hmac_buffer): Likewise.
18154 (grub_password_get): Extend to util.
18155 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18156 New member modname.
18157 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18158 * include/grub/cryptodisk.h: New file.
18159 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18160 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18161 LUKS and GELI.
18162 (grub_util_follow_gpart_up): New proto.
18163 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18164 (grub_util_fd_read): Likewise.
18165 (grub_cryptodisk_cheat_mount): Likewise.
18166 (grub_util_cryptodisk_print_uuid): Likewise.
18167 (grub_util_get_fd_sectors): Likewise.
18168 * util/grub-fstest.c (mount_crypt): New var.
18169 (fstest): Mount crypto if requested.
18170 (options): New option -C.
18171 (argp_parser): Parse -C.
18172 (main): Init and fini gcry.
18173 * util/grub-install.in: Support cryptodisk install.
18174 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18175 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18176 cryptodisk.
18177 (prepare_grub_to_access_device): Likewise.
18178 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18179 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18180 (probe_cryptodisk_uuid): New function.
18181 (probe_abstraction): Likewise.
18182 (probe): Use new functions.
18183 * util/import_gcry.py: Create Makefile.utilgcry.def.
18184 Add modname member.
18185
9bfdcbbc
VS
181862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 Lazy device scanning.
18189
18190 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18191 (grub-setup): Remove util/raid.c.
18192 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18193 * grub-core/disk/lvm.c (scan_depth): New variable.
18194 (grub_lvm_iterate): Rescan if necessary.
18195 (find_lv): New function based on grub_lvm_open.
18196 (grub_lvm_open): Use find_lv. Rescan on error.
18197 (is_node_readable): New function.
18198 (is_lv_readable): Likewise.
18199 (grub_lvm_scan_device): Skip already found disks.
18200 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18201 Stop if searched device is found and readable.
18202 * grub-core/disk/raid.c (inscnt): New variable.
18203 (scan_depth): Likewise.
18204 (scan_devices): New function based on grub_raid_register. Abort if
18205 looked for device is found.
18206 (grub_raid_iterate): Rescan if needed.
18207 (find_array): NEw function based on -grub_raid_open.
18208 (grub_raid_open): Use find_array and rescan.
18209 (insert_array): Set became_readable_at.
18210 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18211 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18212 New function.
18213 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18214 (grub_util_pull_device): New function.
18215 (grub_util_get_grub_dev): Call grub_util_pull_device.
18216 * util/raid.c: Moved to ..
18217 * grub-core/kern/emu/raid.c: ... here.
18218 (grub_util_raid_getmembers): New parameter "bootable".
18219 All users updated. Support 1.x.
18220 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18221 All users updated.
18222 * include/grub/disk.h (grub_disk_pull_t): New enum.
18223 (grub_disk_dev): Change iterate prototype.
18224 All users updated.
18225 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18226 New proto.
18227 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18228 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18229 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18230 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18231 All users updated.
18232 * include/grub/util/raid.h: Removed.
18233
1c358e59
VS
182342011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 * po/POTFILES.in: Regenerate.
18237
abee94ed
VS
182382011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18239
18240 Unify sparc init with other ieee1275.
18241
18242 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18243 instead of kern/sparc64/ieee1275/init.c.
18244 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18245 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18246 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18247 grub/machine/kernel.h.
18248 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18249 (grub_claim_heap) [__sparc__]: Use sparc version.
18250 (grub_machine_init): Moved args parsing to
18251 (grub_parse_cmdline): ...this.
18252 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18253 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18254 New definition.
18255 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18256
18257 Move BOOTP to separate file.
18258
18259 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18260 * grub-core/net/net.c: Move all BOOTP functions to
18261 * grub-core/net/bootp.c: ... here.
18262
18263 Use frame interface on PXE.
18264
18265 * grub-core/Makefile.core.def (pxecmd): Removed.
18266 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18267 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18268 * grub-core/i386/pc/pxe.c: Moved from here ...
18269 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18270 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18271 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18272
18273 EFI network support.
18274
18275 * grub-core/Makefile.core.def (efinet): New module.
18276 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18277 here...
18278 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18279 All users updated.
18280 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18281 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18282 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18283 * grub-core/net/drivers/efi/efinet.c: New file.
18284 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18285 (grub_efi_net_config): New extern var.
18286
18287 Various cleanups and bugfixes.
18288
18289 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18290 error.
18291 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18292 disk declared as partition.
18293 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18294 leak on failure.
18295 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18296 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18297 (grub_debug_zalloc): Likewise.
18298 (grub_debug_realloc): Likewise.
18299 (grub_debug_memalign): Likewise.
18300 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18301 Check that target is IPv4.
18302 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18303 local-mac-address as fallback.
18304 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18305 memory leak.
18306 * grub-core/net/ip.c (ipchksum): Rename to ...
18307 (grub_net_ip_chksum): ... this. All users updated.
18308 (grub_net_recv_ip_packets): Special handling for DHCP.
18309 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18310
18311 Unify prefix handling
18312
18313 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18314 (grub_machine_get_bootlocation): ... this.
18315 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18316 (grub_machine_get_bootlocation): ... this.
18317 (grub_prefix): New variable.
18318 (prefix): Removed.
18319 (root_dev): New variable.
18320 (dir): Likewise.
18321 (main): Use new variables.
18322 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18323 Revamped into ...
18324 (grub_machine_get_bootlocation): ... this.
18325 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18326 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18327 (grub_machine_get_bootlocation): ... this.
18328 (grub_machine_set_prefix): Removed.
18329 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18330 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18331 Revamped into ...
18332 (grub_machine_get_bootlocation): ... this.
18333 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18334 (grub_set_prefix_and_root): ... this. All users updated.
18335 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18336 Revamped into ...
18337 (grub_machine_get_bootlocation): ... this.
18338 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18339 (grub_machine_get_bootlocation): New proto.
18340 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18341
18342 Less intrusive and more reliable seek on network implementation.
18343
18344 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18345 (grub_file_seek): Don't call grub_file_net_seek.
18346 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18347 (grub_net_fs_read_real): .. this.
18348 (grub_net_seek_real): Use net->offset.
18349 (grub_net_fs_read): Seek if necessary.
18350
18351 Unify IEEE1275 netwotk config with the other platforms.
18352
18353 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18354 New variable.
18355 (grub_machine_get_bootlocation): Support network.
18356 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18357 Support type and device parsing.
18358 (grub_ieee1275_get_device_type): New function.
18359 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18360 into ...
18361 (grub_ieee1275_net_config_real): ... this.
18362 (grub_ofnet_probecards): Removed.
18363 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18364 * include/grub/ieee1275/ofnet.h: Removed.
18365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18366 extern var.
18367 (grub_ieee1275_get_device_type): New function.
18368
18369 Unify network device closing across platforms and make more robust.
18370
18371 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18372 grub_grubnet_fini.
18373 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18374 already.
18375 * grub-core/net/net.c (grub_net_network_level_interface_register):
18376 Update num_ifaces.
18377 (grub_net_card_unregister): Close all interfaces.
18378 (receive_packets): Don't poll if no iterfaces are registered.
18379 Open if necessary.
18380 (grub_net_fini_hw): New function.
18381 (grub_net_restore_hw): Likewise.
18382 (fini_hnd): New variable.
18383 (GRUB_MOD_INIT): Register preboot hook.
18384 (GRUB_MOD_FINI): Run and unregister preboot hook.
18385
18386 Poll network cards when idle.
18387
18388 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18389 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18390 * grub-core/net/net.c (receive_packets): Save last poll time.
18391 (grub_net_poll_cards_idle_real): New function.
18392 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18393 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18394 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18395
18396 Rename ofnet interfaces.
18397
18398 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18399 (grub_ofnet_findcards): Use ofnet_%s names.
18400
18401 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18402
18403 Cleanup socket opening.
18404
18405 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18406 (grub_net_fs_close): Likewise.
18407 (grub_net_fs_read_real): Use eof member.
18408 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18409 (+grub_net_udp_close): New inline function.
18410
18411 * include/grub/net/tftp.h: Moved to the top of ...
18412 * grub-core/net/tftp.c: ... here.
18413 * include/grub/net/ip.h: Moved mostly to the top of ...
18414 * grub-core/net/ip.c: ... here.
18415 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18416 * grub-core/net/ethernet.c: ... here.
18417
18418 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18419
18420 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18421 FS name.
18422
18423 * include/grub/net/ip.h (ipv4_ini): Removed.
18424 (ipv4_fini): Likewise.
18425
18426 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18427 (grub_net_send_ip_packets): Likewise.
18428
cf1337aa
VS
184292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18432 grub_read_cmos prototype.
18433
93c06ff9
VS
184342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 VGA text support in qemu-mips
18437
18438 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18439 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18440 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18441 text.
18442 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18443 * grub-core/kern/vga_init.c: ... this.
18444 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18445 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18446 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18447 Adjust.
18448 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18449 GRUB_MACHINE_PCI_IO_BASE.
18450
748ccabe
VS
184512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18452
18453 MIPS qemu flash support.
18454
18455 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18456 magic.
18457 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18458 (grub_machine_init): Probe memory if its size isn't known.
18459 * util/grub-mkimage.c (image_targets): Add flash targets.
18460 (generate_image): Handle flash targets.
18461
d7345994
VS
184622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 MIPS qemu at_keyboard support.
18465
18466 * gentpl.py (videoinkernel): Add qemu-mips.
18467 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18468 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18469 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18470 modules.
18471 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18472 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18473 * grub-core/term/serial.c (grub_serial_register)
18474 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18475
a07a81b3
VS
184762011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 CMOS support on sparc.
18479
18480 * gentpl.py (cmos): Add powerpc and sparc.
18481 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18482 powerpc and sparc.
18483 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18484 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18485 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18486 grub_set_datetime_cmos.
18487 * grub-core/lib/ieee1275/cmos.c: New file.
18488 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18489 (find_rtc): Set no_ieee1275_rtc on error.
18490 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18491 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18492 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18493 fail. Move value to argument. All users updated
18494 (grub_cmos_write): Likewise.
18495 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18496 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18497 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18498 grub_get_datetime_cmos and grub_set_datetime_cmos.
18499
77546584
GS
185002011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18501
18502 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18503 sourcing grub-mkconfig_lib.
18504 * util/update-grub_lib.in: Likewise.
18505 * util/grub.d/00_header.in: Likewise.
18506 * util/grub.d/10_hurd.in: Likewise.
18507 * util/grub.d/10_kfreebsd.in: Likewise.
18508 * util/grub.d/10_linux.in: Likewise.
18509 * util/grub.d/10_netbsd.in: Likewise.
18510 * util/grub.d/10_windows.in: Likewise.
18511 * util/grub.d/20_linux_xen.in: Likewise.
18512 * util/grub.d/30_os-prober.in: Likewise.
18513
54894791
CW
185142011-06-28 Colin Watson <cjwatson@ubuntu.com>
18515
18516 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18517 default_bg_color rather than black.
18518 (grub_gfxterm_fullscreen): Likewise.
18519 (grub_gfxterm_background_color_cmd): Save new background color in
18520 default_bg_color.
18521
8d5d8444
VS
185222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18525
5afeb5bd
VS
185262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18529 mismerge.
18530
ba7df45e
VS
185312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 Chainloading on coreboot support.
18534
18535 * grub-core/Makefile.core.def (chain): Add coreboot.
18536 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18537
d0b526b2
VS
185382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18541 if it happens.
18542
5ff1d945
VS
185432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 Implement time command.
18546
18547 * grub-core/Makefile.core.def (time): New module.
18548 * grub-core/commands/time.c: New file.
18549 * grub-core/script/parser.y: Remove "time" keyword.
18550 * grub-core/script/yylex.l: Likewise.
18551
5ebaad7e
VS
185522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18555
bdea3798
VS
185562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18559 when handling leftovers.
18560
b28c5655
VS
185612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18564 so that help2man doesn't fail.
18565
b6f945dc
VS
185662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18569 type in pointers on sparc64.
18570 (get_card_packet): Likewise.
18571
f9b75e8a
CW
185722011-06-27 Colin Watson <cjwatson@ubuntu.com>
18573
18574 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18575 with `*'.
18576 (grub_cmd_videoinfo): Fetch current video mode.
18577
1e3d9b86
VS
185782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18581 because of underlying system restrictions.
18582
efff4b1c
VS
185832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18584
18585 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18586 necessary.
18587
9fc9ce37
VS
185882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 Coreboot video support.
18591
18592 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18593 (vbe): Likewise.
18594 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18595 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18596 here ...
18597 * grub-core/kern/i386/int.S: ... here.
18598 * grub-core/video/i386/pc/vbe.c: Updated includes.
18599 * grub-core/video/i386/pc/vga.c: Likewise.
18600 * include/grub/i386/coreboot/memory.h
18601 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18602 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18603 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18604 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18605 Disable interrupts.
18606 * include/grub/i386/pc/vga.h: Removed. All users updated.
18607
41bec7fe
VS
186082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18611 definitions for dprintf.
18612 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18613
ca80309d
VS
186142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18617 prototype.
18618 (get_card_packet): Likewise.
18619
9e322ce8
YB
186202011-06-26 Yves Blusseau <blusseau@zetam.org>
18621
18622 Display the path of the file when file is not found
18623
18624 * grub-core/fs/fat.c: Display the filename when file is not found.
18625 * grub-core/fs/fshelp.c: Likewise.
18626 * grub-core/fs/hfs.c: Likewise.
18627 * grub-core/fs/jfs.c: Likewise.
18628 * grub-core/fs/minix.c: Likewise.
18629 * grub-core/fs/ufs.c: Likewise.
18630 * grub-core/fs/btrfs.c: Likewise.
18631 * grub-core/commands/i386/pc/play.c: Likewise.
18632
cbf597af
SJ
186332011-06-26 Szymon Janc <szymon@janc.net.pl>
18634
18635 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18636 pointer checks before calling grub_free().
18637 * grub-core/commands/wildcard.c (match_devices): Likewise.
18638 * grub-core/commands/wildcard.c (match_files): Likewise.
18639 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18640 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18641 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18642 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18643 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18644 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18645 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18646 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18647 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18648
6295b32f
P
186492011-06-25 Patrick <p55@mailinator.com>
18650
18651 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18652
77c0840b
VS
186532011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18656 (grub_pxe_send): Likewise.
18657 (GRUB_MOD_INIT): Fix types.
18658
40ea05de
SJ
186592011-06-24 Szymon Janc <szymon@janc.net.pl>
18660
18661 * grub-core/io/xzio.c: Fix code style issues
18662
90162423
MRA
186632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
186642011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18665
18666 Network infrastructure.
18667 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18668
18669 * include/grub/net/arp.h: New file.
90162423
MRA
18670 * include/grub/net/device.h: Likewise.
18671 * include/grub/net/ethernet.h: Likewise.
18672 * include/grub/net/ip.h: Likewise.
18673 * include/grub/net/netbuff.h: Likewise.
18674 * include/grub/net/tftp.h: Likewise.
18675 * include/grub/net/udp.h: Likewise.
18676 * include/grub/ieee1275/ofnet.h: Likewise.
18677 * include/grub/emu/export.h: Likewise.
18678 * include/grub/net.h: Likewise.
18679 * grub-core/net/arp.c: Likewise.
18680 * grub-core/net/ethernet.c: Likewise.
18681 * grub-core/net/ip.c: Likewise.
18682 * grub-core/net/udp.c: Likewise.
18683 * grub-core/net/tftp.c: Likewise.
18684 * grub-core/net/netbuff.c: Likewise.
18685 * grub-core/net/net.c: Likewise.
18686 * grub-core/net/drivers/emu/emunet.c: Likewise.
18687 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18688 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18689 export.h.
18690 * grub-core/Makefile.core.def (net): New module.
18691 (tftp): Likewise.
18692 (ofnet): Likewise.
18693 (emunet): Likewise.
18694 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18695 network protocols.
18696 * grub-core/kern/device.c (grub_net_open) : New variable.
18697 (grub_device_open): Handle network device.
18698 (grub_device_close): Likewise.
18699 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18700 (grub_grubnet_fini): Likewise.
18701 (grub_file_seek): Seek in network device.
18702 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18703 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18704 network root.
18705 (grub_machine_fini): Call grub_grubnet_fini.
18706 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18707 network.
18708 (grub_ieee1275_get_aliasdevname): New function.
18709 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18710 Add unofficial Solaris network info.
18711 (grub_multiboot_make_mbi): Likewise.
18712 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18713 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18714 * include/grub/device.h (grub_fs): Removed.
18715 * include/grub/err.h (grub_err_t): Add network-related values.
18716 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18717 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18718 (grub_ieee1275_get_aliasdevname): New proto.
18719 * include/grub/net.h: Rewritten.
423a1849 18720
031f22a0
VS
187212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18724 names.
18725
4388ca72
VS
187262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18729 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18730 it truncates the output.
18731 Reported by: Ximin Luo.
18732
98e2f506
VS
187332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18736
2a5e94d8
VS
187372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18740 partmap before abstraction.
18741
535c1910
AK
187422011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18743
18744 * util/grub-mkconfig_lib.in: Add missing quotes.
18745
bc09e1a2
VS
187462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18749 old method if mountinfo would return /dev/root and /dev/root doesn't
18750 exist.
18751
290766fb
VS
187522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 ZFS zlib support
18755
18756 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18757 (decomp_table): Add zlib entries.
18758 (zio_read): USe 8 bits for compression function rather than 3.
18759 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18760
187612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 * grub-core/disk/ahci.c: Add missing license statements.
18764 * grub-core/fs/romfs.c: Likewise.
18765 * grub-core/lib/ia64/setjmp.S: Likewise.
18766 * grub-core/loader/i386/pc/freedos.c: Likewise.
18767 * grub-core/loader/ia64/efi/linux.c: Likewise.
18768 * grub-core/video/colors.c: Likewise.
18769 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18770
5ab3f48a
VS
187712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 AHCI support.
18774
18775 * grub-core/Makefile.core.def (ata_pthru): Removed.
18776 (ahci): New module.
18777 (pata): Likewise.
18778 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18779 on unload.
18780 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18781 readwrite.
18782 (grub_hdparm_do_check_powermode_cmd): Likewise.
18783 (grub_hdparm_do_smart_cmd): Likewise.
18784 (grub_hdparm_set_val_cmd): Likewise.
18785 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18786 * grub-core/disk/ahci.c: New file.
18787 * grub-core/disk/ata.c: Factor out the low-level part into ...
18788 * grub-core/disk/pata.c: ... here.
18789 * grub-core/disk/ata_pthru.c: Contents moved to ...
18790 * grub-core/disk/pata.c: ... here.
18791 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18792 (grub_scsi_iterate): Use grub_scsi_names.
18793 (grub_scsi_open): Likewise.
18794 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18795 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18796 (grub_ata_regs_t): New struct.
18797 (grub_disk_ata_pass_through_parms): Likewise.
18798 (grub_ata_device): Renamed to ...
18799 (grub_ata): ... this.
18800 (grub_ata_dev): New struct.
18801 Removed all low-level inline functions.
18802 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18803 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18804 iterate hooks and open. All users updated.
18805 * util/grub-install.in: Handle AHCI disk module.
18806
c31dc5f5
SJ
188072011-06-23 Szymon Janc <szymon@janc.net.pl>
18808
18809 Add support for DRI and RSTn markers in JPEG files.
18810
18811 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18812 (JPEG_MARKER_RST0): Likewise.
18813 (JPEG_MARKER_RST1): Likewise.
18814 (JPEG_MARKER_RST2): Likewise.
18815 (JPEG_MARKER_RST3): Likewise.
18816 (JPEG_MARKER_RST4): Likewise.
18817 (JPEG_MARKER_RST5): Likewise.
18818 (JPEG_MARKER_RST6): Likewise.
18819 (JPEG_MARKER_RST7): Likewise.
18820 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18821 (grub_jpeg_decode_dri): New function.
18822 (grub_jpeg_decode_sos): Move image data related part into
18823 grub_jpeg_decode_data function.
18824 (grub_jpeg_decode_data): New function.
18825 (grub_jpeg_reset): New function.
18826 (grub_jpeg_decode_jpeg): Handle new markers.
18827
fe12fd5b
VS
188282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * util/ieee1275/ofpath.c (check_sas): Close fd.
18831 (main): Free of_path.
18832 Reported by: David Volgyes <dvolgyes>.
18833
03147f46
VS
188342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18837 Reported by: David Volgyes <dvolgyes>.
18838
cad3237f
VS
188392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18842 file after stat.
18843 Reported by: David Volgyes <dvolgyes>.
18844
13548d26
VS
188452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18848
18849 Reported by: David Volgyes <dvolgyes>.
18850
e061a1b5
VS
188512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18854 Prevent memory leak.
18855
1abe47dc
VS
188562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18859 (main): Close file.
e061a1b5 18860 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18861
fbc62666
VS
188622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18865 to continue if allocation is failed.
18866
18867 Reported by: David Volgyes <dvolgyes>.
18868
e98c83e9
DV
188692011-06-23 David Volgyes <dvolgyes>
18870
18871 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18872 dereference.
18873
a199a8cd
VS
188742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 Fix spurious warning.
18877
18878 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18879 (acorn_partition_map_find): Use .bin member.
18880
e2d1dba0
VS
188812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18884 /dev/root as a valid device.
18885
8a5d6919
JM
188862011-06-23 Jim Meyering <meyering@redhat.com>
18887
e2d1dba0
VS
18888 Avoid NULL deref in grub_device_open.
18889
8a5d6919
JM
18890 * grub-core/kern/device.c (grub_device_open): Don't dereference
18891 a NULL pointer upon failed grub_env_get.
18892
f7db6f4a
VS
188932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Support non-512B sectors and agglomerate reads.
18896
18897 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18898 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18899 (disk_io_guid): Removed.
18900 (make_devices): Locate solely by BlockIO.
18901 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18902 (grub_efidisk_read): Use read_blocks.
18903 (grub_efidisk_write): Use write_blocks.
18904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18905 log_sector_size.
18906 (get_safe_sectors): Handle non-512B sectors.
18907 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18908 sectors.
18909 (grub_biosdisk_write): Handle non-512B sectors.
18910 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18911 (grub_scsi_read): Remove special non-512B block handling (now handled
18912 one level up).
18913 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18914 and do sanity checks.
18915 (grub_disk_adjust_range): Handle non-512B sectors.
18916 (transform_sector): New function.
18917 (grub_disk_read_small): Likewise.
18918 (grub_disk_read): Rewritten.
18919 (grub_disk_write): Handle non-512B sectors.
18920 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18921 log_sector_size.
18922 (open_device): Use log_sector_size.
18923 (grub_util_biosdisk_read): Likewise.
18924 (grub_util_biosdisk_write): Likewise.
18925 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18926 non-512B sectors.
18927 (pc_partition_map_embed): Likewise.
18928 * include/grub/disk.h (grub_disk): New field log_sector_size.
18929 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18930 (GRUB_DISK_CACHE_BITS): Increased to 6.
18931 * util/grub-fstest.c (fstest): New command testload.
18932 (argp_parser): Likewise.
18933
881ac815
RM
189342011-06-16 Robert Millan <rmh@gnu.org>
18935
18936 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18937 `ata' driver on kernel of FreeBSD 9.
18938
18939 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18940 (get_ataraid_disk_name): New functions.
18941 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18942 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18943 get_ataraid_disk_name() and get_ada_disk_name().
18944
1e9aef7d
CW
189452011-06-13 Colin Watson <cjwatson@ubuntu.com>
18946
18947 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18948 input format.
18949
351c7c8a
CW
189502011-05-29 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18953 `ftp.gnu.org' for `alpha.gnu.org'.
18954
6b4e6430
CW
189552011-05-27 Colin Watson <cjwatson@ubuntu.com>
18956
18957 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18958 partitions under /dev/disk/by-id/.
18959
c64db050
CW
189602011-05-27 Colin Watson <cjwatson@ubuntu.com>
18961
18962 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18963 after ten consecutive open failures. Scanning all the way up to
18964 10000 is excessive and can cause serious performance problems in
18965 some configurations.
18966 Fixes Ubuntu bug #787461.
18967
245f4aba
VS
189682011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18971 opening new one.
18972
f767c929
VS
189732011-05-21 Colin Watson <cjwatson@ubuntu.com>
189742011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 Don't stat devices unless we have to.
18977
18978 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18979 dir == /dev/mapper.
18980 (grub_guess_root_device): Use already known os_dev if possible.
18981 * grub-core/kern/emu/hostdisk.c
18982 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18983 if device is known to be a dm one.
18984
f35fa3a6
CW
189852011-05-20 Colin Watson <cjwatson@ubuntu.com>
18986
18987 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18988 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18989 Reported by: Pawel Tecza.
18990
9a79fcf2
VS
189912011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18994 (lsefisystab): Likewise.
18995 (lssal): Likewise.
18996 (lsefimmap): Likewise.
18997 (hdparm): Enable on qemu-mips.
18998 (setjmp): Add ia64 nodist.
18999 (serial): Simplify tags.
19000
63e3eea9
CW
190012011-05-18 Colin Watson <cjwatson@ubuntu.com>
19002
19003 * Makefile.util.def (grub-ofpathname): Install manual page.
19004
09728256
CW
190052011-05-18 Colin Watson <cjwatson@ubuntu.com>
19006
19007 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19008
8b63a142
CW
190092011-05-18 Colin Watson <cjwatson@ubuntu.com>
19010
19011 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19012
e775d8ed
VS
190132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19016 into dprintf.
19017
bf947d36
VS
190182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Use full 64-bit division.
19021
19022 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19023 (grub_divmod64): ... this.
19024 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19025 version.
19026
b84f26c5
CW
190272011-05-18 Colin Watson <cjwatson@ubuntu.com>
19028
19029 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19030 `source'.
19031
5626056f
CW
190322011-05-18 Colin Watson <cjwatson@ubuntu.com>
19033
19034 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19035 to avoid accidents when debugging with 'sh -x'.
19036 * grub-core/gensyminfo.sh.in: Likewise.
19037 * tests/example_scripted_test.in: Likewise.
19038 * tests/grub_cmd_regexp.in: Likewise.
19039 * tests/grub_script_blanklines.in: Likewise.
19040 * tests/grub_script_dollar.in: Likewise.
19041 * tests/grub_script_expansion.in: Likewise.
19042 * tests/grub_script_final_semicolon.in: Likewise.
19043 * tests/partmap_test.in: Likewise.
19044 * tests/util/grub-shell-tester.in: Likewise.
19045 * tests/util/grub-shell.in: Likewise.
19046
e2965f4a
CW
190472011-05-18 Colin Watson <cjwatson@ubuntu.com>
19048
19049 Move gfxmenu color handling to video, so that gfxterm can use it
19050 too.
19051
19052 * grub-core/gfxmenu/named_colors.c: Move to ...
19053 * grub-core/video/colors.c: ... here. Rename
19054 grub_gui_get_named_color to grub_video_get_named_color.
19055 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19056 * grub-core/video/colors.c (my_isxdigit): ... here.
19057 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19058 Move to ...
19059 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19060 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19061 to ...
19062 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19063
19064 * include/grub/gui.h (grub_gui_color_t): Move to ...
19065 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19066 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19067 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19068 * include/grub/gui.h (grub_gui_map_color): Move to ...
19069 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19070 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19071 to ...
19072 * include/grub/video.h (grub_video_get_named_color): ... here.
19073 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19074 * include/grub/video.h (grub_video_parse_color): ... here.
19075
19076 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19077 video/colors.c.
19078 (gfxmenu): Remove gfxmenu/named_colors.c.
19079 (video) [videomodules]: Add video/colors.c.
19080
19081 Add a background_color command.
19082
19083 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19084 function.
19085 (GRUB_MOD_INIT): Register background_color command.
19086 (GRUB_MOD_FINI): Unregister background_color command.
19087 (redraw_screen_rect): Allow blend/replace of text layer to be
19088 controlled independently from whether there is a background bitmap.
19089 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19090 changing bitmap.
19091
1e4b4390
VS
190922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19093
26618ff0
VS
19094 Patch BPB in ntldr and chainloader --bpb.
19095
1e4b4390
VS
19096 * grub-core/fs/fat.c: Include grub/fat.h.
19097 (grub_fat_bpb): Moved to ...
19098 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19099 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19100 grub/ntfs.h.
19101 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19102 Moved from here...
19103 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19104 here.
19105 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19106 New function.
19107 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19108 (GRUB_MOD_INIT): Show --bpb.
19109 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19110 * grub-core/normal/main.c (features): New variable.
19111 (GRUB_MOD_INIT): Set feature_* variables.
19112 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19113 proto.
19114 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19115
cf02731e
VS
191162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19119 for cleanness.
19120
e3a1073f
VS
191212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 FreeDOS direct loading support.
19124
19125 * docs/grub.texi (Supported OS): Add FreeDOS.
19126 * grub-core/Makefile.core.def (freedos): New module.
19127 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19128 variable.
19129 (grub_relocator16_boot): Handle %ebx.
19130 * grub-core/lib/i386/relocator16.S: Likewise.
19131 * grub-core/loader/i386/pc/freedos.c: New file.
19132
05caa461
VS
191332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 Long Linux command line support.
19136
19137 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19138 (maximal_cmdline_size): New variable.
19139 (allocate_pages): Use maximal_cmdline_size.
19140 (grub_cmd_linux): Set and use maximal_cmdline_size.
19141 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19142 (allocate_pages): Use maximal_cmdline_size.
19143 (grub_cmd_linux): Set and use maximal_cmdline_size.
19144 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19145 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19146 and cmdline_size.
19147
a2491e23
VS
191482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
191492011-05-18 Colin Watson <cjwatson@ubuntu.com>
19150
19151 Improve devmapper support
19152
19153 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19154 (grub_util_is_lvm): New function.
19155 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19156 than lvm if not dmraid.
19157 Handle mapped md nodes.
19158 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19159 (grub_util_device_is_mapped): ... this. Make always available. All users
19160 updated.
19161 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19162 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19163 dmraid nodes.
19164 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19165
6ad6223e
VS
191662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19169
19170 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19171 * grub-core/modinfo.sh.in: New file.
19172 * grub-core/Makefile.core.def (modinfo.sh): New script.
19173 * util/grub-mknetdir.in: Use modinfo.sh.
19174 * util/grub-mkrescue.in: Likewise.
19175
543a8f6e
VS
191762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19179 Fix potential usage of Elf32 instead of Elf64 when compiling on
19180 32-bit architecture. Add endianness macros while on it.
19181
4959e111
VS
191822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 Use mipsel- rather than mips- in directories involving mipsel ports to
19185 allow both endiannesses coexist.
19186
19187 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19188 mips. All conditions adjusted.
19189 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19190 variable.
19191 * util/grub-install.in: Adjust conditions to take renaming into account.
19192 * util/grub-mkimage.c (image_targets): Likewise. New target
19193 mips-qemu_mips-elf for bigendian mips.
19194
35341bbc
VS
191952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 Avoid unnecessary copying on MIPS.
19198
19199 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19200 early if src == dest.
19201 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19202 compression is none.
19203
b772baed
VS
192042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 Reduce memory footprint on SGI by putting modules before the kernel
19207 as opposed to after.
19208
19209 * grub-core/Makefile.core.def (kernel): Increase linking address.
19210 (none_decompress): Likewise.
19211 (xz_decompress): Likewise.
19212 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19213 address.
19214 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19215 layout change.
19216 (grub_arch_modules_addr): New function.
19217 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19218 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19219 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19220 here.
19221 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19222 (grub_total_modules_size): ... this. Make global.
19223 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19224 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19225 New definition.
19226 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19227 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19228 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19229 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19230 * util/grub-mkimage.c (image_target_desc): New flag
19231 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19232 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19233 (generate_image): Handle images with modules before kernel.
19234
566a1917
VS
192352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 Prevent potential loss of memory map by overwrite on qemu-mips.
19238
19239 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19240 Save ram size in $s4.
19241 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19242 All users changed to grub_arch_memsize.
19243 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19244 Loongson.
19245 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19246 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19247 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19248 external variable.
19249
5d420cd9
CW
192502011-05-17 Colin Watson <cjwatson@ubuntu.com>
19251
19252 * .bzrignore: Remove grub-dumpbios.
19253
d064b830
CW
192542011-05-17 Colin Watson <cjwatson@ubuntu.com>
19255
19256 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19257 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19258 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19259 existing options which append).
19260 * docs/grub.texi (Simple configuration): Document new options.
19261 Reported by: Ian Jackson. Fixes Debian bug #617538.
19262
3ca2b466
CW
192632011-05-17 Colin Watson <cjwatson@ubuntu.com>
19264
19265 * util/grub-fstest.c (cmd_cat): New function.
19266 (fstest): Handle CMD_CAT.
19267 (options): Add cat.
19268 (argp_parser): Handle cat.
19269
24c9143a
CW
192702011-05-17 Colin Watson <cjwatson@ubuntu.com>
19271
19272 * Makefile.util.def (grub-bin2h): Don't install.
19273 * docs/man/grub-bin2h.h2m: Remove.
19274
90f7ac19
VS
192752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19278 place.
19279
8d4a5178
VS
192802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 Reenable qemu-mips port.
19283
19284 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19285 Fix small arc bug while on it.
19286 * gentpl.py: Handle qemu_mips.
19287 * grub-core/Makefile.am: Likewise.
19288 * grub-core/Makefile.core.def: Likewise.
19289 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19290 inappropriate includes.
19291 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19292 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19293 * grub-core/kern/main.c (grub_modules_get_end)
19294 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19295 * grub-core/kern/mips/qemu-mips: Moved to ..
19296 * grub-core/kern/mips/qemu_mips: ... this.
19297 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19298 (grub_machine_init): Call terminfo_init and serial_init.
19299 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19300 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19301 New variable.
19302 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19303 parameter passing.
19304 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19305 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19306 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19307 * include/grub/mips/qemu_mips/cmos.h: New file.
19308 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19309 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19310 Removed.
19311 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19312 Use correct mips-style address.
19313 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19314 (GRUB_TICKS_PER_SECOND): Removed.
19315 (grub_get_rtc): Likewise.
19316 (grub_cpu_idle): Likewise.
19317 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19318 New definition.
19319 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19320 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19321 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19322 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19323 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19324 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19325 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19326 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19327
400b9371
VS
193282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 SGI ARCS port.
19331
19332 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19333 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19334 platforms.
19335 * configure.ac: New target mips-arc.
19336 * gentpl.py: Likewise.
19337 * grub-core/Makefile.am: Likewise.
19338 * grub-core/Makefile.core.def: Likewise.
19339 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19340 (none_decompress): Likewise.
19341 (lsdev): New module.
19342 (datetime): Use lib/arc/datetime.c on ARC.
19343 (part_dvh): New module.
19344 * grub-core/commands/arc/lsdev.c: New file.
19345 * grub-core/disk/arc/arcdisk.c: Likewise.
19346 * grub-core/kern/mips/arc/init.c: Likewise.
19347 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19348 aligned addresses.
19349 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19350 support.
19351 (grub_arch_dl_relocate_symbols): Likewise.
19352 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19353 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19354 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19355 platforms.
19356 * grub-core/lib/arc/datetime.c: New file.
19357 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19358 pci.h on non-loongson.
19359 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19360 (grub_linux_boot): Set unused registers to 0.
19361 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19362 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19363 * grub-core/mmap/mips/uppermem.c: ...here.
19364 * grub-core/partmap/dvh.c: New file.
19365 * grub-core/term/arc/console.c: Likewise.
19366 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19367 (grub_terminfo_set_current): Add terminal "arc".
19368 (grub_terminfo_readkey): Support ARC sequences.
19369 * include/grub/arc/arc.h: New file.
19370 * include/grub/arc/console.h: Likewise.
19371 * include/grub/disk.h (grub_disk_dev_id): Add
19372 GRUB_DISK_DEVICE_ARCDISK_ID.
19373 * include/grub/mips/arc/kernel.h: New file.
19374 * include/grub/mips/arc/memory.h: Likewise.
19375 * include/grub/mips/arc/time.h: Likewise.
19376 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19377 * include/grub/mips/kernel.h (grub_halt): ... here.
19378 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19379 here...
19380 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19381 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19382 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19383 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19384 proto.
19385 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19386 from here ...
19387 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19388 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19389 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19390 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19391 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19392 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19393 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19394 (grub_phys_addr_t): Moved from here ...
19395 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19396 (grub_vtop): Moved from here ...
19397 * include/grub/mips/memory.h (grub_vtop): ... here.
19398 (grub_map_memory): Moved from here ...
19399 * include/grub/mips/memory.h (grub_map_memory): ... here.
19400 (grub_unmap_memory): Moved from here ...
19401 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19402 (grub_machine_mmap_iterate): Moved from here ...
19403 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19404 (grub_mmap_get_lower): Moved from here ...
19405 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19406 (grub_mmap_get_upper): Moved from here ...
19407 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19408 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19409 here ...
19410 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19411 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19412 here ...
19413 * include/grub/mips/time.h (grub_get_rtc): ... here.
19414 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19415 here ...
19416 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19417 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19418 here ...
19419 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19420 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19421 definition.
19422 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19423 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19424 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19425 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19426 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19427 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19428 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19429 (GRUB_MACHINE_LINK_ADDR): Likewise.
19430 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19431 to 6.
19432 * util/grub-install.in: Run dvhtool on ARC.
19433 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 19434 (generate_image): Handle ECOFF output for mips-arc.
400b9371 19435
c8ecc840
VS
194362011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19439 blocks.
19440
153a4b55
VS
194412011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19444 after enabling port.
19445
ff44d107
VS
194462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 Skip incorrect USB devices.
19449
19450 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19451 configcnt == 0.
19452 * include/grub/usb.h (grub_usb_err_t): New enum value
19453 GRUB_USB_ERR_BADDEVICE.
19454
638dbe4f
VS
194552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 Fuloong video init support.
19458
19459 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19460 well.
19461 (grub_vga_read_arx): New function.
19462 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19463 definition.
19464 (framebuffer): New members io, mmioptr and mmiobase.
19465 (read_sis_cmd): New function.
19466 (write_sis_cmd): Likewise.
19467 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19468 rather than 640x400.
19469 * grub-core/video/sis315_init.c: New file.
19470
c3fc520c
VS
194712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19474 non-loongson.
19475 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19476 to grub_dl_register_symbol.
19477
67b1e5c9
VS
194782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 Fix compilation errors.
19481
19482 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19483 potentially unused.
19484 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19485 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19486 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19487 to loongson machines.
19488
b756f75f
VS
194892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 Several FS mtime support.
19492
19493 * grub-core/fs/affs.c (grub_affs_time): New struct.
19494 (grub_affs_file): New field mtime.
19495 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19496 type. Removed 'size'. New field 'di'. All users updated.
19497 (grub_affs_mount): Simplify checsum checking.
19498 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19499 (grub_affs_dir): Handle mtime.
19500 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19501 (grub_cpio_dir): Likewise.
19502 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19503 (grub_hfs_filerec): New field mtime.
19504 (grub_hfs_dir): Handle mtime.
19505 (grub_hfs_mtime): New function.
19506 (grub_hfs_fs): Register grub_hfs_mtime.
19507 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19508 (grub_iso9660_dir): New field mtime.
19509 (grub_fshelp_node): New field dirent.
19510 (iso9660_to_unixtime): New function.
19511 (iso9660_to_unixtime2): Likewise.
19512 (grub_iso9660_read_symlink): Use node->dirent.
19513 (grub_iso9660_iterate_dir): Likewise.
19514 (grub_iso9660_dir): Set mtime.
19515 (grub_iso9660_mtime): New function.
19516 (grub_iso9660_fs): Register grub_iso9660_mtime.
19517 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19518 (grub_jfs_inode): New fields atime, ctime and mtime.
19519 (grub_jfs_dir): Set mtime.
19520 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19521 * grub-core/fs/ntfs.c (list_file): Set mtime.
19522 (grub_ntfs_dir): Likewise.
19523 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19524 (grub_reiserfs_iterate_dir): Set mtime.
19525 (grub_reiserfs_dir): Likewise.
19526 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19527 (grub_fshelp_node): Likewise.
19528 (grub_sfs_iterate_dir): Set mtime.
19529 (grub_sfs_dir): Likewise.
19530 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19531 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19532 (grub_xfs_inode): New fields atime, mtime, ctime.
19533 (grub_xfs_dir): Set mtime.
19534 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19535 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19536 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19537
19538 Support UDF symlinks.
19539
19540 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19541 (grub_ufs_read_symlink): New function. All users updated.
19542
19543 Check amiga partmap checksum.
19544
19545 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19546 (grub_amiga_partition): Likewise.
19547 (amiga_partition_map_checksum): New function.
19548 (amiga_partition_map_iterate): Check checksum.
19549
5470225d
VS
195502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 ROMFS support.
19553
19554 * Makefile.util.def (libgrubmods.a): Add romfs.
19555 * grub-core/Makefile.core.def (romfs): New module.
19556 * grub-core/fs/romfs.c: New file.
19557
d4680a35
VS
195582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 Squashfs v4 support.
19561
19562 * Makefile.util.def (libgrubmods.a): Add squash4.
19563 * grub-core/Makefile.core.def (squash4): New module.
19564 * grub-core/fs/squash4.c: New file.
19565 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19566 disk_input_start, disk_input.
19567 (get_byte): Handle disk_input.
19568 (grub_zlib_disk_read): New function.
19569 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19570
bcb18e74
FZ
195712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
195722011-05-15 Feiran Zheng <famcool@gmail.com>
19573
19574 * Makefile.util.def (libgrubmods.a): Add minix3.
19575 * grub-core/Makefile.core.def (minix3): New module.
19576 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19577 (GRUB_MINIX_BSIZE): Removed.
19578 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19579 (grub_minix_ino_t): New type.
19580 (grub_minix_le_to_cpu_ino): New macro.
19581 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19582 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19583 (grub_minix_data): New field block_size.
19584 (grub_minix_read_file): Handle 64-bit correctly.
19585 * grub-core/fs/minix3.c: New file.
19586
32297d5f
TG
195872011-05-15 Tristan Gingold <gingold@free.fr>
195882011-05-15 Robert Millan <rmh.grub@aybabtu.com>
195892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 IA64 support.
19592
19593 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19594 * configure.ac: Add ia64-efi target.
19595 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19596 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19597 * gentpl.py: Add ia64_efi platform.
19598 Rename x86_efi to efi and Add ia64-efi. All users updated.
19599 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19600 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19601 Remove kern/generic/rtc_get_time_ms.c on EFI.
19602 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19603 kern/ia64/dl_helper.c on ia64-efi.
19604 Add kern/emu/cache.c on emu.
19605 (linux): Use on loader/ia64/efi/linux.c on ia64.
19606 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19607 whether symbol is a function.
19608 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19609 (grub_symbol): New field 'isfunc'.
19610 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19611 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19612 (grub_dl_load_segments): Place all sections into the same region.
19613 [__ia64__]: Create trampolines and got.
19614 [GRUB_MACHINE_EMU]: Call mprotect.
19615 (grub_dl_resolve_symbols): Resolve symbol type as well.
19616 [__ia64__]: Create function descriptors.
19617 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19618 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19619 (grub_get_rtc): New function.
19620 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19621 * grub-core/kern/emu/cache.S: Renamed to ...
19622 * grub-core/kern/emu/cache_s.S: ... this.
19623 [__ia64__]: Add a nop.
19624 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19625 [__ia64__]: New function.
19626 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19627 * grub-core/kern/ia64/dl.c: New file.
19628 * grub-core/kern/ia64/dl_helper.c: Likewise.
19629 * grub-core/kern/ia64/efi/init.c: New file.
19630 * grub-core/kern/ia64/efi/startup.S: Likewise.
19631 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19632 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19633 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19634 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19635 * grub-core/loader/ia64/efi/linux.c: New file.
19636 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19637 (GRUB_MOD_DEP): Likewise.
19638 (grub_dl) [__ia64__]: New fields got and tramp.
19639 (grub_dl): New field 'base'.
19640 (grub_dl_register_symbol): New argument isfunc. All users updated.
19641 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19642 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19643 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19644 (grub_ia64_dl_get_tramp_got_size): New proto.
19645 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19646 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19647 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19648 * include/grub/efi/api.h: Skip call wrappers on ia64.
19649 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19650 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19651 * include/grub/elf.h (ELF_ST_INFO): New definition.
19652 * include/grub/ia64/efi/kernel.h: New file.
19653 * include/grub/ia64/efi/memory.h: Likewise.
19654 * include/grub/ia64/efi/time.h: Likewise.
19655 * include/grub/ia64/kernel.h: Likewise.
19656 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19657 * include/grub/ia64/time.h: New file.
19658 * include/grub/ia64/types.h: Likewise.
19659 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19660 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19661 New protos.
19662 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19663 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19664 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19665 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19666 All users updated.
19667 (EFI64_HEADER_SIZE): New definition. All users updated.
19668 (image_targets): Add ia64-efi.
19669 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19670 jumpers_addr. All users updated.
19671 Create function descriptors.
19672 (count_funcs): New function.
19673 (unaligned_uint32): New struct.
19674 (MASK20): New definition.
19675 (MASK19): Likewise.
19676 (MASKF21): Likewise.
19677 (add_value_to_slot_20b): New function.
19678 (add_value_to_slot_21_real): Likewise.
19679 (add_value_to_slot_21): Likewise.
19680 (ia64_kernel_trampoline): New struct.
19681 (nopm): New variable.
19682 (jump): Likewise.
19683 (make_trampoline): New function.
19684 (relocate_addresses): Handle ia64.
19685 (make_reloc_section): Likewise.
19686 (load_image): Likewise.
19687
983b414d
VS
196882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19691 warning. Move variables before code while on it.
19692
5d063cdc
VS
196932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 Fuloong support.
19696
19697 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19698 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19699 * grub-core/boot/mips/loongson/fuloong.S: New file.
19700 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19701 Explicitly init CS5536.
19702 [FULOONG]: Don't use serial until CS5536 is available.
19703 Set GPIO based on dumps.
19704 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19705 [FULOONG]: Handle GPIO and memory controller differences.
19706 Parse machine type in $a2.
19707 * grub-core/boot/mips/startup_raw.S: Determine and save the
19708 architecture.
19709 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19710 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19711 init on architecture type.
19712 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19713 SIS315E. Don't init at_keyboard on fuloong.
19714 (grub_halt): Support Fuloong.
19715 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19716 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19717 (loongson_machtypes): New array.
19718 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19719 type.
19720 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19721 config. All users updated. Handle CS5536 serial.
19722 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19723 default port on machine type. Register serial as inactive.
19724 * grub-core/video/sis315pro.c: New file.
19725 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19726 definition.
19727 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19728 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19729 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19730 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19731 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19732 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19733 to ...
19734 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19735 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19736 definition.
19737 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19738 (grub_arch_machine): New extern var.
19739 * include/grub/mips/loongson/serial.h
19740 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19741 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19742 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19743 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19744 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19745 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19746 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19747 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19748 * include/grub/term.h (grub_term_register_input_inactive): New inline
19749 function.
19750 (grub_term_register_output_inactive): Likewise.
19751 * include/grub/video.h (grub_video_driver_id): New value
19752 GRUB_VIDEO_DRIVER_SIS315PRO.
19753 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19754 New field "names". All users updated.
19755 New field value IMAGE_FULOONG_FLASH.
19756 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19757
6ada82d1
JU
197582011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19759
19760 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19761 and add some clarification.
19762
90c571a4
VS
197632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19766 platforms if kernel is compressed.
19767
de04eecf
VS
197682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19769
19770 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19771 unused modules since currently referrence counter isn't reliable and
19772 there isn't much memory to recover there anyway.
19773
57688121
VS
197742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19777 rather than resetting it to allow modules to reference themselves
19778 in init.
19779
3d2c7e35
VS
197802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19783 counter on dependencies since grub_dl_unref already handles this.
19784
b25db218
VS
197852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19788 on error if not already done.
19789
25a45338
VS
197902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 Fix few potential memory misusage.
19793
19794 * grub-core/font/font.c (load_font_index): Don't free char_index to
19795 avoid double free.
b25db218
VS
19796 (grub_font_load): Zero-fill font at alloc for safety.
19797 Close file on error.
19798 (free_font): Free bmp_idx.
25a45338 19799
0cac83df
VS
198002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 * docs/grub.texi (Installation): Fix several outdated claims.
19803
2217a143
VS
198042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 Handle module_license on windows.
19807
19808 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19809 sections shifted.
19810 (insert_string): Make argument const char * instead of char *.
19811 (write_section_data): Handle long section names.
19812 Handle module_license.
19813
d4de6b01
VS
198142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19815
19816 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19817 handle class-free menuentries.
19818 (grub_normal_add_menu_entry): Add a check to be sure.
19819
4c2a3b43
VS
198202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19821
19822 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19823 PgUp and PgDown.
19824
85c6210f
VS
198252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19826
19827 * configure.ac: Bump version to 1.99.
19828
36084912
VS
198292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 Give ATA device a bit more time on first try in order to allow disks
19832 to spin up.
19833
19834 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19835 if dev->present is 1. Reset dev->present on failure.
19836 (grub_ata_device_initialize): Set dev->present to 1.
19837 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19838 (grub_ata_device): New member 'present'.
19839
bda0e219
VS
198402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * util/grub-mkimage.c (generate_image): Update hash.
19843
19e1c41b
VS
198442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 Flush caches on DMA memory.
19847
19848 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19849 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19850 (grub_dma_free): Likewise.
19851 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19852
91bbcc0c
VS
198532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19854
19855 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19856 to avoid asm treating ld and sd as macros.
19857
60ddfad3
VS
198582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19859
19860 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19861 decompressor.
19862
a298aa04
VS
198632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19864
19865 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19866 grub_decompress_core since later would fail if grub_decompress_core
19867 is too far.
19868
9b44feca
VS
198692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19872 R_MIPS_JALR since it's used by newer compiler.
19873
56dbe7b4
VS
198742011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19877
52856af2
VS
198782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19881 file_path to 0 for surety.
19882 (grub_chainloader_boot): Set exit_data to NULL.
19883 Unset the loader once done.
19884 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19885
9c9bfc6d
VS
198862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19889 unknown key into a dprintf.
19890
dd94a3df
VS
198912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19894 on first non-existant partition.
19895
fa68d99c
VS
198962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19899 openning fails.
19900 Reported by: Mark Korenberg.
19901
157effb7
VS
199022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19905 overflow.
19906
ea75312f
VS
199072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19910 before closing to ensure that it will be readable by grub-setup.
19911
072b5d31
VS
199122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19915 (devpath_1): Use MAKE_PIWG_PATH.
19916 (devpath_2): Likewise.
19917 (devpath_3): Likewise.
19918 (devpath_4): Likewise.
19919 (devpath_5): Likewise.
19920 (devpath_6): Likewise.
19921
19922 The appleldr.mod was checked that to be binary identical to previous
19923 version.
19924
7fae0051
Z
199252011-05-05 Zach <mikezackles>
19926
19927 Support 2010 Macbooks.
19928
19929 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19930 (devs): Add devpath_6.
19931
7c515bee
VS
199322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19933
19934 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19935 /dev/random. /dev/urandom is good enough for our purposes (salting).
19936
ed660bd8
VS
199372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19940
ee5614b7
VS
199412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19944 hexadecimal.
19945
664889a6
VS
199462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19949 and not 0 on failure.
19950
bd405bbc
CW
199512011-05-03 Colin Watson <cjwatson@ubuntu.com>
19952
19953 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19954 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19955 disk; otherwise grub_fs_probe will not fall back to the next
19956 filesystem.
19957 (grub_pxefs_open): Likewise, for consistency.
19958 Reported and tested by: Ezekiel Grave.
19959
4ebff753
CW
199602011-05-03 Colin Watson <cjwatson@ubuntu.com>
19961
19962 * tests/partmap_test.in: Don't hardcode path to parted.
19963 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19964
8f942553
CW
199652011-05-01 Colin Watson <cjwatson@ubuntu.com>
19966
19967 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19968 of `ls' to find out which devices are available.
19969
3c62402d
VS
199702011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19973 than source address for efi mmap buffer.
19974
723f63f2
VS
199752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19978 wrong action on non-detecting the magic.
19979
68797f92
VS
199802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19983 already supplied by another part of the module (fixes compilation on
19984 FreeBSD).
19985
6be8715d
VS
199862011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19989 match the one used by mdadm.
19990
e91dba5b
CW
199912011-04-21 Colin Watson <cjwatson@ubuntu.com>
19992
19993 * po/README: Add instructions for creating po/LINGUAS.
19994
c85140b3
CW
199952011-04-21 Colin Watson <cjwatson@ubuntu.com>
19996
19997 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19998 #551428.
19999
20000 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20001 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20002 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20003 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20004 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20005 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20006 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20007 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20008 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20009 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20010 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20011 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20012 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20013 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20014 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20015 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20016 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20017 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20018 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20019 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20020 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20021 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20022
92051871
CW
200232011-04-21 Colin Watson <cjwatson@ubuntu.com>
20024
20025 * grub-core/kern/emu/getroot.c
20026 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20027 test that was incorrectly reintroduced in r3214.
20028 Reported by: Ian Dall. Fixes Savannah bug #33133.
20029
b13f79a4
CW
200302011-04-21 Colin Watson <cjwatson@ubuntu.com>
20031
20032 Fix stack pointer handling in 16-bit relocator.
20033
20034 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20035 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20036 Fixes Ubuntu bug #683904.
20037
9b710a88
VS
200382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20039
20040 * configure.ac: Bump version to 1.99~rc2.
20041
d97e7b59
VS
200422011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20045 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20046 * grub-core/lib/x86_64/setjmp.S: Likewise.
20047 * grub-core/lib/mips/setjmp.S: Likewise.
20048 * grub-core/lib/powerpc/setjmp.S: Likewise.
20049 * grub-core/lib/sparc64/setjmp.S: Likewise.
20050
0624551c
VS
200512011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20054 * grub-core/lib/efi/datetime.c: Likewise.
20055
e8f28d4c
VS
200562011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20059 New function.
20060 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20061 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20062 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20063
bba79a15
VS
200642011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20065
20066 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20067 bitmap.
20068 (grub_gfxterm_term_init): Likewise.
20069
abc474ef
VS
200702011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 Take into account the decorations the computing menu entry width.
20073
20074 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20075 (grub_gfxmenu_create_box): Register get_border_width.
20076 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20077 if available.
20078 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20079 get_border_width.
20080
e74b3947
EP
200812011-04-18 Endres Puschner <code@e7p.de>
20082
20083 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20084 Don't skip first class.
20085
34faa595
VS
200862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20089 chunks.
20090 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20091
93a777e3
VS
200922011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 Complete 64-bit division support.
20095
20096 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20097 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20098 * include/grub/misc.h (grub_divmod64): Rename to ...
20099 (grub_divmod64_full): ... this.
20100 (grub_divmod64): New inline function.
20101
a5102d94
VS
201022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20105
f3fb7b36
VS
201062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20109 performing the necessary test.
20110
9ac718b0
VS
201112011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20114 (kfreebsd.elf): Likewise.
20115 (pc-chainloader.elf): Likewise.
20116 (ntldr.elf): Likewise.
20117
50d2cc5a
VS
201182011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 Identify RAID by its UUID rather than (guessed) name.
20121
20122 * grub-core/disk/raid.c (ascii2hex): New function.
20123 (grub_raid_open): Accept mduuid/%s specification.
20124 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20125 (get_mdadm_uuid): ... this.
20126 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20127
e03f7bea
VS
201282011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20131 to negative size.
20132
e74c3112
CW
201332011-04-13 Colin Watson <cjwatson@ubuntu.com>
20134
20135 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20136 btrfs subvolume.
20137 * util/grub.d/20_linux_xen.in: Likewise.
20138
78fa584f
CW
201392011-04-13 Colin Watson <cjwatson@ubuntu.com>
20140
20141 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20142 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20143
20144 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20145 Build a list of relevant visible mounts using the mnt_id and
20146 parent_mnt_id fields, and then scan that list at the end.
20147
9d5f8162
CW
201482011-04-12 Colin Watson <cjwatson@ubuntu.com>
20149
20150 * docs/grub.texi (normal): New section.
20151 (normal_exit): New section.
20152 (Embedded configuration): Add reference to normal.
20153 (GRUB only offers a rescue shell): Likewise.
20154 * docs/grub-dev.texi (Error Handling): Fix typo.
20155
09a9d66f
CW
201562011-04-12 Colin Watson <cjwatson@ubuntu.com>
20157
20158 * NEWS: Drop obsolete entry about probe-only btrfs support.
20159
0c676933
CW
201602011-04-12 Colin Watson <cjwatson@ubuntu.com>
20161
20162 * util/import_gcry.py: Fix typo.
20163
ec9f5e0d
VS
201642011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 * NEWS: Add btrfs support.
20167
fe6b2cba
VS
201682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
201692011-04-11 Colin Watson <cjwatson@ubuntu.com>
20170
20171 BtrFS support. Written by me (Vladimir) with important bugfixes and
20172 even more important testing by Colin.
20173
20174 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20175 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20176 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20177 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20178 mem_input_off and mem_input. All users updated to accept in-RAM input.
20179 (gzio_seek): New function.
20180 (test_zlib_header): Likewise.
20181 (grub_gzio_read): Likewise.
20182 (grub_zlib_decompress): Likewise.
20183 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20184 Accept partial and non-virtual mounts.
20185 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20186 avoid receiving /dev/dm-X as device.
20187 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20188 Handle bind and partial mounts.
20189 * grub-core/lib/crc.c: New file.
20190 * include/grub/deflate.h: Likewise.
20191 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20192 proto.
20193 * include/grub/lib/crc.h: New file.
20194
e745cf0c
VS
201952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 Implement automatic module license checking according to new GNU
20198 guidelines.
20199
20200 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20201 (grub_dl_load_core): Use grub_dl_check_license.
20202 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20203 (GRUB_MOD_LICENSE): Likewise.
20204 (GRUB_MOD_DUAL_LICENSE): Likewise.
20205 All modules updated.
20206
2a9bc016
CW
202072011-04-11 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20210 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20211 loaders.
20212 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20213
8a3bc88e
VS
202142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20217
af869a4a
VS
202182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20221 failed.
20222
9ee8d94f
VS
202232011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20226 parenthesis in the middle of the filename.
20227
b01abe3e
VS
202282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20231 rather than trying to put initrd way too high.
20232 Reported by: Ryan Lortie <desrt@desrt.ca>
20233
335bda1e
VS
202342011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20237 improperly removed string.
20238
5ca1a64d
VS
202392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20242 is_disk.
20243 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20244 (open_device) Likewise.
20245 (grub_util_biosdisk_close): Likewise.
d8ce9995 20246 Reported by: Mark Korenberg.
5ca1a64d 20247
cbac5b1e
AK
202482011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20249
20250 * util/grub-mkconfig_lib.in: Add missing quotes.
20251
088cdb65
CW
202522011-04-10 Colin Watson <cjwatson@ubuntu.com>
20253
20254 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20255 is NULL.
20256
8b8a81fa
VS
202572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 Dynamically count the number of lines for the lower banner.
20260
20261 * grub-core/normal/menu_entry.c (per_term_screen): New member
20262 num_entries.
20263 (print_down): Use num_entries.
20264 (update_screen): Likewise.
20265 (grub_menu_entry_run): Set num_entries.
20266 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20267 num_entries.
20268 (grub_print_message_indented): Move real part to ...
20269 (grub_print_message_indented_real): ... here. Additional argument
20270 dry_run.
20271 (draw_border): Additional argument num_entries.
20272 (print_message): Additional argument dry_run.
20273 (print_entries): Receive menu viewer data.
20274 (grub_menu_init_page): New argment num_entries.
20275 (menu_text_set_chosen_entry): Use num_entries.
20276 (grub_menu_try_text): Likewise.
20277 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20278 All users updated.
20279 (grub_ucs4_count_lines): New function.
20280 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20281 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20282 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20283 (grub_term_border_height): Likewise.
20284 (grub_term_num_entries): Likewise.
20285
277f955b
VS
202862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20289 Remove now unused string.
20290
536ce85a
CW
202912011-04-09 Colin Watson <cjwatson@ubuntu.com>
20292
20293 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20294 build system.
20295 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20296
20297 (Comment): Fix typo.
20298 (Getting started): General copy-editing.
20299 (Typical Development Experience): Likewise.
20300 (Error Handling): Likewise.
20301 (Video API): Likewise.
20302
2cf09e32
CW
203032011-04-09 Colin Watson <cjwatson@ubuntu.com>
20304
20305 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20306 throughout.
20307
1ec652f4
VS
203082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20311 directory.
20312
2c583728
CW
203132011-04-08 Colin Watson <cjwatson@ubuntu.com>
20314
20315 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20316 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20317 "development".
20318
d7a565e9
VS
203192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20322 grub_strcpy since the lines aren't necessarily 0-terminated.
20323
7c2e4909
VS
203242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20327 root on legacy.
20328
34c09785
VS
203292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20332 (GRUB_MOD_INIT): DEVICE isn't optional.
20333
6a6f8058
VS
203342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20337 word on new line if it's too long anyway. Fixes a hang.
20338
2e335e90
VS
203392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20342 const.
20343 * util/grub-setup.c (main): Reuse md device name if available.
20344 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20345 not GRUB name as argument.
20346 Based on patch by: Florian Wagner <fwagner>.
20347
10a7a867
VS
203482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20351 Place mbi on low memory for better compatibility.
20352
7a3d6cd9
VS
203532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20356
18dd6b47
VS
203572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
203582011-04-08 Colin Watson <cjwatson@ubuntu.com>
20359
20360 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 20361 * conf/Makefile.common: Likewise.
18dd6b47 20362
3c0e3f14
VS
203632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20364
f7148863
VS
20365 * grub-core/normal/menu.c: Add missing include.
20366
203672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 20370
6d1fa41f
MZ
203712011-04-08 Martin Zuther <mzuther@mzuther.de>
20372
20373 * util/grub-mkconfig.in: Ignore emacsen backup.
20374
478182a8
VS
203752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20378 on open.
20379 (grub_util_biosdisk_close): Likewise.
20380
72a89a54
VS
203812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20384 const attribute and use grub_isdigit.
20385
b5ebecfa
A
203862011-04-06 Andrey <dev_null@ukr.net>
20387
20388 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20389 gcc warning.
20390
7755f66e
VS
203912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20392
20393 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20394 useful grub_dprintf's.
20395
461121ff
VS
203962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20399
2a961775
VS
204002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20401
20402 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20403
adf594cc
VS
204042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 Output errors if theme loading failed.
20407
20408 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20409 grub_gfxterm_fullscreen on error paths to ...
20410 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20411 theme loading error.
20412
665900a3
VS
204132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20416 space for older compilers.
20417 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20418
a562b479
VS
204192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20422 and report them as not RAID members since they are useless for GRUB.
20423 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20424
850e9373
VS
204252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 Increase LVM implementation robustness in order not to crash on
20428 configurations like pvmove. Previously code assumed that in some places
20429 only lvs or only pvs are used whereas it seems that they are used
20430 interchangeably.
20431
20432 * grub-core/disk/lvm.c (read_node): New function.
20433 (read_lv): Use read_node.
20434 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20435 Match volumes only at the end when all lvs are found. Take both
20436 pvs (first) and lvs (second) into account.
20437 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20438 mirror_* into node_*. All users updated.
20439 (grub_lvm_stripe): Merge this ...
20440 (grub_lvm_mirror): ... and this ...
20441 (grub_lvm_node): ... into this. All users updated.
20442
6f332153
VS
204432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20446 of function to allow further scanning for LVMs.
20447
829ea451
VS
204482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20451 on failed seek as it breaks open fd reusage.
20452
09ceb9a5
VS
204532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 * util/grub-install.in: Add a recommendation to use --recheck before
20456 reporting bugs.
20457
67e11623
VS
204582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20461 are obtained.
20462
caee5efd
VS
204632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 GRUB developper manual based on existing Internals section and
20466 contributions by the various authors with active copyright assignment.
20467
20468 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20469 * docs/font_char_metrics.png: New file.
20470 * docs/font_char_metrics.txt: Likewise.
20471 * docs/grub-dev.texi: Likewise.
20472 * docs/grub.texi (Internals): Move from here ...
20473 * docs/grub-dev.texi: ... here.
20474
2cccc747
CW
204752011-04-01 Colin Watson <cjwatson@ubuntu.com>
20476
20477 Store the loopback device as data on loopback grub_disk structures,
20478 rather than the file it points to. This fixes use of freed memory
20479 if an existing loopback device is replaced.
20480
20481 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20482 disk->data, not dev->file.
20483 (grub_loopback_read): Adjust file assignment to match.
20484 Fixes Ubuntu bug #742967.
20485
186ae367
CW
204862011-04-01 Colin Watson <cjwatson@ubuntu.com>
20487
20488 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20489 when replacing an existing device.
20490
cfed2ad0
VS
204912011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20494 memory corruptions.
20495
20496 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20497 unsigned.
20498 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20499 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20500 (grub_jfs_read_inode): Likewise.
20501 (grub_jfs_opendir): Likewise. Remove now useless casts.
20502 (grub_jfs_getent): Likewise.
20503 Make ino a grub_uint32_t rather than int.
20504 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20505 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20506 division and module with bit operations.
20507 (grub_jfs_find_file): Make ino a grub_uint32_t.
20508 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20509
05d2ed32
CW
205102011-04-01 Colin Watson <cjwatson@ubuntu.com>
20511
20512 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20513 warning. (This was in fact always initialised before use, but GCC
20514 wasn't smart enough to prove that.)
20515 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20516
91dc6073
VS
205172011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20520 stack alignment.
20521 (efi_wrap_1): Likewise.
20522 (efi_wrap_2): Likewise.
20523 (efi_wrap_3): Likewise.
20524 (efi_wrap_4): Likewise.
20525 (efi_wrap_5): Likewise.
20526 (efi_wrap_6): Likewise.
20527 (efi_wrap_10): Likewise.
20528 Based on information by: Red Hat/Peter Jones.
20529
a8afc1d1
CW
205302011-03-31 Colin Watson <cjwatson@ubuntu.com>
20531
20532 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20533 set-but-not-used variable.
20534
a826cc7d
CW
205352011-03-31 Colin Watson <cjwatson@ubuntu.com>
20536
20537 * docs/grub.texi (Simple configuration): Be more explicit about
20538 GRUB_DEFAULT, and add an example.
20539 Reported by: Leslie Rhorer.
20540
875b67ba
CW
205412011-03-30 Colin Watson <cjwatson@ubuntu.com>
20542
20543 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20544 shell".
20545
fd7cd914
AS
205462011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20547
20548 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20549 * util/grub.d/20_linux_xen.in: Likewise.
20550
090b1b6a
VS
205512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * util/grub.d/10_linux.in: Try alternative config filenames where
20554 we parse config file.
20555 * util/grub.d/20_linux_xen.in: Likewise.
20556
baad885c
AS
205572011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20558
20559 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20560 * util/grub.d/20_linux_xen.in: Likewise.
20561
241e41f5
VS
205622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * grub-core/disk/raid.c (insert_array): Add few potentially
20565 useful grub_util_info.
20566 (grub_raid_register): Likewise.
20567
56445fb2
VS
205682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20571 Preserve partition number in mdadm code path.
20572
c871b1c6
VS
205732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20576 few potentially useful grub_util_info.
20577
5e631b4f
CW
205782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20581
2d5d0333
CW
205822011-03-30 Colin Watson <cjwatson@ubuntu.com>
20583
20584 * docs/grub.texi (default): Use @example rather than nested
20585 itemized lists to avoid breaking gendocs.
20586
3d7ed04e
CW
205872011-03-30 Colin Watson <cjwatson@ubuntu.com>
20588
20589 * docs/grub.texi (Future): Update.
20590
abf04200 205912011-03-30 Colin Watson <cjwatson@ubuntu.com>
20592
20593 * docs/grub.texi (Environment): New chapter.
20594 (Changes from GRUB Legacy): Link to "Environment block" section for
20595 details of limitations.
20596 (Simple configuration): Likewise. Link to documentation of gfxmode
20597 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20598 respectively.
20599 (Shell-like scripting): Note that normal variables are stored in the
20600 environment.
20601 (gettext): Link to documentation of lang and locale_dir.
20602 (list_env): New section.
20603 (load_env): New section.
20604 (save_env): New section.
20605
20606 (Reporting bugs): Fix typo.
20607
e1ad0edd
VS
206082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20611 the example.
20612
5d803174
VS
206132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * grub-core/term/at_keyboard.c (set_scancodes)
20616 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20617
2a2da1d0
CW
206182011-03-30 Colin Watson <cjwatson@ubuntu.com>
20619
20620 * docs/grub.texi (Menu-specific commands): Remove some semantics
20621 that were true in GRUB Legacy but not in GRUB 2.
20622 (submenu): New section.
20623 (false): New section.
20624 (read): New section.
20625 (true): New section.
20626
a7527639
CW
206272011-03-30 Colin Watson <cjwatson@ubuntu.com>
20628
20629 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20630
206312011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20632
20633 * docs/grub.texi (Simple configuration): Explain some of the
20634 current limitations of grub-mkconfig.
8a748df2 20635 Reported by: Leslie Rhorer.
e30af029 20636
fc858482
VS
206372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 Old macs search for boot.efi rather than for bootia32.efi.
20640
20641 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20642 * util/grub-mkrescue.in: Likewise.
20643 Suggested by: Peter Jones.
20644
e1eb511d
VS
206452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20648
70e75364
VS
206492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20652 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20653 (grub_lvm_mirror): New struct.
20654 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20655 (grub_lvm_iterate): Iterate only visible volumes.
20656 (grub_lvm_read): Factor out to ..
20657 (read_lv): ... this. Support mirrors.
20658 (grub_lvm_read): New wrapper function.
20659 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20660 stripped or mirrored.
20661
fc18f6a3
VS
206622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20665
5c650f4c
CW
206662011-03-29 Colin Watson <cjwatson@ubuntu.com>
20667
20668 * docs/grub.texi (loopback): New section.
20669
61d7156b
CW
206702011-03-29 Colin Watson <cjwatson@ubuntu.com>
20671
20672 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20673 removed -p option.
20674
994b8264
CW
206752011-03-29 Colin Watson <cjwatson@ubuntu.com>
20676
20677 * docs/grub.texi (BIOS installation): New section, partly based on
20678 previous text in other sections.
20679 (Installing GRUB using grub-install): Replace BIOS discussion with a
20680 cross-reference.
20681 (Images): Likewise.
20682
9e4d19e0
VS
206832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20686 [HAVE_DIOCGDINFO]: Add safety checks.
20687
a307c0b2
VS
206882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20691 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20692
b4db4f39
CW
206932011-03-29 Colin Watson <cjwatson@ubuntu.com>
20694
20695 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20696 real_sb->size is zero (e.g. RAID-0), get the disk size from
20697 real_sb->data_size instead.
20698 Fixes Ubuntu bug #743136.
20699
35e5f84c
VS
207002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20703 printf clauses for printing size and start.
20704
d2e29d81
VS
207052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20708 Reported and tested by: Timothy Nikkel.
20709
ed5587af
VS
207102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20713 (dirty_region_add_real): ... this.
20714 (dirty_region_add): Don't discard margin refresh when performing
20715 scheduled repaint.
20716
a1dc717c
VS
207172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * grub-core/lib/relocator.c (allocate_regstart)
20720 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20721 terminals are capabple of malloc-free operation.
20722 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20723 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20724
9f3677d3
VS
207252011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20726
20727 * util/grub-setup.c: Copy the partition table zone if floppy support
20728 is disabled, even if no partition table is found.
20729
20730 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20731 during POST if an invalid partition table is contained in the PBR
20732 of the active partition when GRUB is installed to a partition.
20733
24148725
CW
207342011-03-28 Colin Watson <cjwatson@debian.org>
20735
20736 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20737 comment.
20738
f329eda7
CW
207392011-03-28 Colin Watson <cjwatson@debian.org>
20740
20741 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20742 to be specific about what kind of RAID device we're scanning for.
20743
c482ad98
SG
207442011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20745
20746 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20747 return freed string.
20748
5ee04984
VS
207492011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20752
f4727da9
VS
207532011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 Use libgeom on FreeBSD to detect partitions.
20756
20757 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20758 (grub-mkrelpath): Likewise.
20759 (grub-script-check): Likewise.
20760 (grub-editenv): Likewise.
20761 (grub-mkpasswd-pbkdf2): Likewise.
20762 (grub-fstest): Likewise.
20763 (grub-mkfont): Likewise.
20764 (grub-mkdevicemap): Likewise.
20765 (grub-probe): Likewise.
20766 (grub-setup): Likewise.
20767 (grub-ofpathname): Likewise.
20768 (grub-mklayout): Likewise.
20769 (example_unit_test): Likewise.
20770 (grub-menulst2cfg): Likewise.
20771 * grub-core/Makefile.core.def (grub-emu): Likewise.
20772 (grub-emu-lite): Likewise.
20773 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20774 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20775 define HAVE_DIOCGDINFO.
20776 (follow_geom_up) [FreeBSD]: New function.
20777 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20778 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20779 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20780 unconditionally of HAVE_DIOCGDINFO.
20781
82fe6c75
VS
207822011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 Fix FreeBSD compilation problem.
20785
20786 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20787 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20788
4c6c9431
CW
207892011-03-24 Colin Watson <cjwatson@ubuntu.com>
20790
20791 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20792 Switch back to page zero before loading a kernel, since some kernel
20793 drivers expect that.
20794 Thanks to: Felix Kuehling.
20795
c7064d94
VS
207962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20799 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20800 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20801
3f71cded
VS
208022011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20803
20804 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20805 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20806
ef6de21a
VS
208072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20808
20809 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20810 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20811 malloc is disabled.
20812
8bc66a2c
VS
208132011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20816 for modules headers when counting the needed allocation size.
20817
5657722c
VS
208182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20821 if no ASCII character is found to prevent crash.
20822
41a85f55
AK
208232011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20824
20825 * grub-core/video/bitmap.c (match_extension): Ignore case.
20826
59e1e5f1
VS
208272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20830
bd4d051a
VS
208312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 * grub-core/script/parser.y: Declare "time" as valid argument.
20834
bae7fcc1
PJ
208352011-03-23 Peter Jones <pjones@redhat.com>
20836
20837 Fix incorrect assert failure reporting.
20838
20839 * grub-core/tests/example_functional_test.c (example_test): Add
20840 a failure comment.
20841 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20842 (failure_start): ...this. Check that malloc succeeded.
20843 Don't call xvasprintf. Return failure struct.
20844 (failure_append_vtext): New function.
20845 (failure_append_text): Likewise.
20846 (add_failure): Likewise.
20847 (grub_test_assert_helper): Likewise.
20848 * include/grub/test.h (grub_test_assert_helper): New declaration.
20849 (grub_test_assert): Macro rewritten.
20850
537dc9be
VS
208512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20854
fa3e01bf
VS
208552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20858
b1d28404
VS
208592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20862 into GRUB-style one.
20863
2e3e2e09
VS
208642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20865
20866 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20867 error and not grub_errno.
20868 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20869
ed57e557
VS
208702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20873 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20874
d1611f01
VS
208752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * grub-core/efiemu/i386/pc/cfgtables.c
20878 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20879 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20880 (grub_xnu_unlock): Likewise.
20881 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20882
7d4e39d6
VS
208832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20886 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20887 * grub-core/commands/hashsum.c (aliases): Likewise.
20888 * grub-core/commands/setpci.c (pci_registers): Likewise.
20889 * grub-core/disk/usbms.c (attach_hook): Likewise.
20890 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20891 (zio_checksum_table): Likewise.
20892 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20893 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20894 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20895 * grub-core/lib/relocator.c (leftovers): Likewise.
20896 (extra_blocks): Likewise.
20897 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20898 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20899 (modules_last): Likewise.
20900 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20901 (devices): Likewise.
20902 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20903 (modules_last): Likewise.
20904 * grub-core/normal/auth.c (users): Likewise.
20905 * grub-core/normal/context.c (initial_menu): Likewise.
20906 (current_menu): Likewise.
20907 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20908 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20909 (grub_serial_terminfo_input_template): Likewise.
20910 (grub_serial_terminfo_output_template): Likewise.
20911 (grub_serial_terminfo_input): Likewise.
20912 (grub_serial_terminfo_output): Likewise.
20913 (registered): Likewise.
20914 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20915
40fc4659
VS
209162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20919 grub_video_mode_type_t.
20920 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20921 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20922 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20923
2da48d28
VS
209242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 * util/grub-install.in: Correct the x86-64 name as x86_64.
20927
9b43bf39
CW
209282011-03-11 Colin Watson <cjwatson@ubuntu.com>
20929
20930 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20931 initial chunk read from the kernel always includes GRUB's multiboot
20932 header, which is now outside the first sector.
20933
be1a7ce0
CW
209342011-03-09 Colin Watson <cjwatson@ubuntu.com>
20935
20936 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20937 cached mmap_size, so that this works correctly when called multiple
20938 times.
20939 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20940
83a3c48d
CW
209412011-03-09 Colin Watson <cjwatson@ubuntu.com>
20942
20943 * docs/grub.texi (Simple configuration): Tidy up formatting.
20944
57d75699
SJ
209452011-03-07 Szymon Janc <szymon@janc.net.pl>
20946
20947 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20948 Set-but-not-used variable removed.
20949
028501a0
VS
209502011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20951
20952 Workaround yet another IEEE1275 bug.
20953
20954 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20955 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20956 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20957 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20958 is set.
20959 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20960 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20961
d998657d
VS
209622011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20965 error.
20966
fee7cdd4
CW
209672011-02-11 Colin Watson <cjwatson@ubuntu.com>
20968
20969 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20970 empty, since in that case we can only generate either nothing or a
20971 syntactically invalid configuration file.
20972 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20973
97286eb5
CW
209742011-02-09 Colin Watson <cjwatson@ubuntu.com>
20975
20976 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20977 (Making a GRUB bootable CD-ROM): Likewise.
20978 (Invoking grub-mkrescue): New section.
20979 Reported by: Yann Dirson. Fixes Debian bug #612585.
20980
22b28eb3
CW
209812011-02-09 Colin Watson <cjwatson@ubuntu.com>
20982
20983 * util/grub-install.in: Remove unnecessary brackets from tr
20984 arguments.
20985 * util/grub.d/10_hurd.in: Likewise.
20986 * util/grub.d/10_kfreebsd.in: Likewise.
20987 * util/grub.d/10_linux.in: Likewise.
20988 * util/grub.d/20_linux_xen.in: Likewise.
20989 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20990
7e735e43
CW
209912011-02-08 Colin Watson <cjwatson@ubuntu.com>
20992
20993 * include/grub/file.h (not_easly_seekable): Rename to ...
20994 (not_easily_seekable): ... this. Update all users.
20995
800f1881
CW
209962011-01-28 Colin Watson <cjwatson@ubuntu.com>
20997
20998 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20999 grub-mkrescue.
21000
3281d3d6
VS
210012011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * util/grub-mkimage.c (generate_image): Refuse to create the images
21004 bigger than the actual flash (512K) in Loongson machines. 512K is also
21005 the biggest chip supported by them.
21006
3533413c
VS
210072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21010
73ae4f4f
VS
210112011-01-22 Anthony DeRobertis <anthony@derobert.net>
21012
21013 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21014 super_offset field.
21015
37f4f608
VS
210162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * util/grub-install.in: Ignore install device on platforms
21019 where it doesn't make sense. Always use UUIDs except on pc, efi and
21020 sparc64.
21021 Reported by: Daniel Kahn Gillmor.
21022
03a4ccb5
VS
210232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21026
ffc8f4d8
VS
210272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21030 (iterate_real): Don't rely on partition being non-NULL.
21031
80f23be7
VS
210322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21033
21034 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21035 supported platforms. Put a compile time assert for this rather than
21036 generate a warning with 32-bit shift.
21037
5d4f4dd5
VS
210382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21041 logical expression more readable.
21042
e489601a
VS
210432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21044
21045 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21046 even if some elements have a name.
21047 Reported by: Alexander GQ Gerasiov.
21048
96e0a6ea
CW
210492011-01-22 Colin Watson <cjwatson@ubuntu.com>
21050
21051 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21052 path unreadable if `grub-probe -t abstraction' fails, for example if
21053 memberlist fails on an LVM volume group.
21054 Reported by: Darius Jahandarie.
21055
81431e2b
CW
210562011-01-22 Colin Watson <cjwatson@ubuntu.com>
21057
21058 * docs/grub.texi (Simple configuration): Document
21059 GRUB_PRELOAD_MODULES.
21060
5e79d66a
CW
210612011-01-17 Colin Watson <cjwatson@ubuntu.com>
21062
21063 * .bzrignore: Remove nonexistent grub-pbkdf2.
21064
646ada34
VS
210652011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 * configure.ac: Bump version to 1.99~rc1.
21068
04360337
VS
210692011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21072 for safety.
21073
46c9db88
VS
210742011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21077 module.
21078
210792011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
21080
21081 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21082
4fbf1852
VS
210832011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21086 diskdevid.
21087
f1632d4d
VS
210882011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 Fix compilation on cygwin.
21091
21092 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21093 -R .drectve on cygwin.
21094 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21095 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21096 (COND_CYGWIN): New condition.
21097 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21098 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21099 not @TARGET_OBJ2ELF@.
21100 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21101 type to determine whether aux is to be used.
21102
0b5e127b
VS
211032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21106 realpath'ed device string.
21107 Handle floppy (somewhat).
21108 Issue error in unknown case rather than garbage.
21109 Reported by: Axel Beckert.
21110
173b71e9
VS
211112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21112
21113 * util/grub.d/00_header.in (load_video): Handle the case when no video
21114 drivers available.
21115 Thanks to: Axel Beckert.
21116
f8f479db
VS
211172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21120 variable. Fixes problem on big endian platforms.
21121
8fc0a245
VS
211222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21125 It doesn't work well there.
21126
b8494fbe
VS
211272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21130 warning.
21131 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21132 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21133 counter.
21134
b44a558c
VS
211352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 Use alias->path rather than buggy "canon".
21138
21139 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21140 (ofdisk_hash_add): New argument curcan. All users updated.
21141
51fa856c
CW
211422011-01-11 Colin Watson <cjwatson@ubuntu.com>
21143
21144 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21145
9da068a5
VS
211462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21149 loadmask before doing any calculations. Use correct type for offset.
21150 (grub_linux_load64): Likewise.
21151
86205c94
CW
211522011-01-11 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21155 with NULL.
21156 (console_grub_equivalences_unshift): Likewise.
21157 Reported by: Daniel Dehennin.
21158
4531a206
VS
211592011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21162 (set_env_limn_ro): Likewise.
21163 (GRUB_MOD_INIT): Likewise.
21164 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21165 ARRAY_SIZE while on it.
21166 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21167 * grub-core/normal/context.c (grub_env_export): Move from here ...
21168 * grub-core/kern/env.c (grub_env_export): ... here.
21169 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21170 prefix.
21171 * grub-core/kern/main.c (grub_main): Export root and prefix.
21172 * include/grub/env.h (grub_env_export): Export.
21173 Reported by: Seth Goldberg.
21174
45146057
VS
211752011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21178 Take into account space used by ELF sections and multiboot palette.
21179 Reported by: Grégoire Sutre.
21180
f093110b
VS
211812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21182
21183 * BUGS: New file.
21184
3395fe52
VS
211852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Pass more appropriate video id to Linux.
21188
21189 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21190 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21191 fill have_vga.
21192 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21193 shift params->lfb_size.
21194 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21195
c2fa6cbb
VS
211962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21199
b3ff6ff0
VS
212002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21201
21202 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21203 separator and pass bootpath/devid even if only one of them is available.
21204 Reported by: Seth Goldberg.
21205
ae67942e
VS
212062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21207
21208 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21209 implementations bug on them.
21210
21211 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21212 memory.
21213 (filter_memory_map): Likewise.
21214
d570097a
VS
212152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21218 Reported by: nebuchadnezzar.
21219
a508e776
VS
212202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21223 Reported by: nebuchadnezzar.
21224
dcb883b1
VS
212252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 Submenu default support.
21228
21229 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21230 auto_boot. All users updated.
21231 Declared static.
21232 Handle chosen and default with submenus.
21233 (grub_menu_execute_with_fallback): Declared static.
21234 Don't notify failure if autobooted. Upper level does it.
21235 (menuentry_eq): New function.
21236 (get_entry_number): Use menuentry_eq.
21237 (show_menu): New parameter "autobooted". All users updated.
21238 (grub_show_menu): Likewise.
21239 * include/grub/normal.h (grub_show_menu): Likewise.
21240 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21241 (grub_menu_execute_with_fallback): Likewise.
21242
6fef99b4
VS
212432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * util/grub-mklayout.c (usage): Update help text.
21246
47a77af5
VS
212472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21250
ce6bb3ee
VS
212512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * util/grub-menulst2cfg.c (main): Trim the line.
21254
db87be2a
VS
212552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21258 (grub_machine_init): Don't check amount of low memory as reportedly
21259 INT 12h can be broken and if low memory is too low we wouldn't have
21260 gotten into grub_machine_init anyway.
21261
c49849cc
VS
212622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21265 (grub_machine_mmap_iterate): Take low memory into account
21266
b1969b30
VS
212672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21268
21269 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21270 badfs.
21271 Reported by: TiCPU.
21272
cf0eaf13
VS
212732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21276 members errors.
21277
1f060f39
GS
212782011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21279
21280 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21281 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21282
a21e5672
GS
212832011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21284
21285 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21286 openbsd and netbsd types being in part_bsd module.
21287
c88172fa
VS
212882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21291 (_FILE_OFFSET_BITS): Likewise.
21292 Reported by: Seth Goldberg.
21293
53798c4b
GS
212942011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21295
21296 * configure.ac: Check for libdevmapper header.
21297
e7121b69
VS
212982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21301 avoid aliasing.
21302 (fzap_lookup): Likewise.
21303 (dnode_get): Likewise.
21304 (make_mdn): Likewise.
21305 (zfs_mount): Likewise.
21306 (fzap_iterate): Use temporary pointer to avoid aliasing.
21307 (grub_zfs_read): Likewise.
21308 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21309 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21310 pointers to avoid aliasing.
21311 (grub_cmd_xnu_kernel64): Likewise.
21312 (grub_xnu_load_driver): Likewise.
21313
fc836af9
VS
213142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21317 aliasing warning.
21318 (grub_cmd_terminal_output): Likewise.
21319 Reported and tested by: Grégoire Sutre.
21320
f9f37648
VS
213212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21324 warning.
21325 Reported and tested by: Grégoire Sutre.
21326
ec1dfd63
VS
213272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * configure.ac: Do CPU substitution even if it's specified explicitly.
21330 Reported and tested by: Alain Greppin.
21331
9462775a
VS
213322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21335 Reported and tested by: Alain Greppin.
21336
0fd48e35
VS
213372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 Satisfy some bison versions need for inttypes.h.
21340
21341 * grub-core/lib/posix_wrap/inttypes.h: New file.
21342 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21343 (int16_t): Likewise.
21344 (int32_t): Likewise.
21345 (int64_t): Likewise.
21346 Reported and tested by: Alain Greppin.
21347
43f1bc83
VS
213482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21351 Silence spurious warning.
21352 Reported and tested by: Alain Greppin.
21353
64d1f041
SJ
213542011-01-07 Szymon Janc <szymon@janc.net.pl>
21355
21356 * docs/grub.texi (Support automatic decompression): Update with xz
21357 decompression support.
21358
25953e10
SJ
213592011-01-07 Szymon Janc <szymon@janc.net.pl>
21360
21361 Improve loaders' kernel command line handling.
21362
21363 * grub-core/lib/cmdline.c: New file.
21364 * include/grub/lib/cmdline.h: Likewise.
21365 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21366 grub_create_loader_cmdline to create kernel command line.
21367 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21368 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21369 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21370 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21371 (linux): Add lib/cmdline.c on common.
21372
e72d259f
VS
213732011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21376 inopos might be unaligned.
21377
c0cf26da
VS
213782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21379
21380 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21381 endian transformations.
21382 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21383 Based on report by: Doug Nazar.
21384
0ca09e6c
DN
213852011-01-07 Doug Nazar <nazard.michi@gmail.com>
21386
21387 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21388 array->members[i].start_sector.
21389 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21390
014b6806
VS
213912011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21394 Reported and tested by: Grégoire Sutre.
21395
415502c2
CW
213962011-01-06 Colin Watson <cjwatson@ubuntu.com>
21397
21398 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21399 avoid causing test failures by clearing the screen.
21400
71b6a2b7
CW
214012011-01-06 Colin Watson <cjwatson@ubuntu.com>
21402
21403 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21404 Fix prefix check to handle the case where dir ends with a slash
21405 (most significantly, "/" itself).
21406 Reported by: Michael Vogt.
21407
b3f8d28a
VS
214082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 Run terminfo_cls on initing terminfo output to clear the screen and
21411 move the cursor to (0,0).
21412
21413 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21414 Call grub_terminfo_output_init.
21415 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21416 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21417 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21418
4c3e4f37
VS
214192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21422 only when needed.
21423
488f71f1
VS
214242011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21427 CTRL.
21428
18a38098
VS
214292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 The E820 type 5 is BADRAM, not EXEC_CODE.
21432
21433 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21434 (GRUB_E820_BADRAM): New define.
21435 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21436 into reserved. Propagate BADRAM.
21437 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21438 (GRUB_E820_BADRAM): New define.
21439
9eae2084
VS
214402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21443 Ignore the memory post-4G.
21444 (grub_relocator_firmware_alloc_region): Additional debug statement.
21445
ebc71d28
VS
214462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21449 names.
21450 Reported by: David Pravec.
21451
446fa400
VS
214522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21455 BIOSes.
21456
a0159f37
VS
214572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21460 Prevent overflow.
21461 (grub_reed_solomon_recover): Likewise.
21462
e5146ca1
VS
214632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21466
214672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
21468
21469 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21470 variable.
21471
5b1bdf12
CW
214722011-01-04 Colin Watson <cjwatson@ubuntu.com>
21473
21474 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21475 descriptions of extract_legacy_entries_source and
21476 extract_legacy_entries_configfile.
21477 Reported by: Seung Soo, Ha.
21478
99d925aa
CW
214792011-01-03 Colin Watson <cjwatson@ubuntu.com>
21480
21481 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21482 on devices that do not implement function 0.
21483
4af0504b
DV
214842011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21485
21486 * grub-core/fs/hfsplus.c: Make parent unsigned.
21487 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21488 overflows.
21489 (grub_hfsplus_cmp_extkey): Likewise
21490
469ee10a
VS
214912011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * util/grub-install.in: Correctly use bootloader_id and not
21494 GRUB_DISTRIBUTOR on efibootmgr line.
21495
323a8e9c
VS
214962011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21497
21498 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21499
1b394975
IC
215002010-12-31 Ian Campbell <ijc@hellion.org.uk>
21501
21502 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21503 Xen and reorder menu item wording to make it clearer that this entry
21504 will launch Xen. Print separate messages when loading Xen and
21505 Linux.
21506
275bff5f
VS
215072010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21510 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21511 loop in case of incorrect amiga partmap.
21512
307806cb
VS
215132010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21516 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21517 Reported by:EHeM.
21518
b12b923e
VS
215192010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21522 spurious warning.
21523 Reported by: crocket
21524
14b48a19
VS
215252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21526
21527 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21528 Preload EFIemu.
21529 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21530
693db2df
VS
215312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21534 is loaded
21535 (grub_cmd_xnu_kextdir): Likewise.
21536 (grub_cmd_xnu_splash): Likewise.
21537
c7638645
VS
215382010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 Avoid using Reed-Solomon with 0 redundancy.
21541
21542 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21543 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21544 or 0 redundancy.
21545 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21546 (grub_reed_solomon_recover): Likewise.
21547
25dd4780
VS
215482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 Don't use disk subsystem in freebsd_boot.
21551
21552 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21553 (freebsd_biosdev): Likewise.
21554 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21555 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21556
0b2db943
VS
215572010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 Handling of files of unknown size is currently limited. They can't be
21560 used e.g. for initrd or modules. Moreover gzip handling of not
21561 easily seekable files is buggy. Disable unknown file size for now. May
21562 be inefficient but works.
21563
21564 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21565 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21566
5c408d0f
MP
215672010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21568
21569 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21570 floppy probe.
21571
190a011a
JD
215722010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21573
21574 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21575
022d01b8
SL
215762010-12-25 Shea Levy <shlevy>
21577
21578 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21579
c4855fdc
VS
215802010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21583 Windows Server 2008.
21584 Reported by: Devin Giddings.
21585
0354b867
VS
215862010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21589 writing an error message because of async power management.
21590 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21591 (grub_reboot): Likewise.
21592
ab66c69f
JU
215932010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21594
21595 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21596 keep unit tests from failing when they shouldn't.
21597
1426ef35
CW
215982010-12-21 Colin Watson <cjwatson@ubuntu.com>
21599
21600 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21601 previous patch increased the size of the RS code by 20 bytes (at
21602 least with gcc-4.4), so increase this by 20 bytes to match.
21603 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21604
20641b6b
CW
216052010-12-21 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21608 scratch area. Make sure to initialise chosen in standalone mode as
21609 well as non-standalone.
21610 Reported by: Robert Hooker and Andy Whitcroft.
21611 Tested by: Andy Whitcroft.
21612
d060ad60
CW
216132010-12-21 Colin Watson <cjwatson@ubuntu.com>
21614
21615 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21616 constructing a new unescaped string and passing it to grub_xputs in
21617 one go, rather than passing characters to grub_printf one at a time.
21618
b889cfad
CW
216192010-12-21 Colin Watson <cjwatson@ubuntu.com>
21620
21621 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21622 initialising utf16.
21623
4e01b6c8
CW
216242010-12-21 Colin Watson <cjwatson@ubuntu.com>
21625
21626 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21627 comment. Add an extra layer of quotation, requiring the output of
21628 this function to be used in a printf format string.
21629 (gettext_printf): New function.
21630 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21631 Extract translatable strings from here-documents and use a temporary
21632 variable instead, so that xgettext can find them.
21633 * util/grub.d/10_kfreebsd.in: Likewise.
21634 * util/grub.d/10_linux.in: Likewise.
21635 * util/grub.d/20_linux_xen.in: Likewise.
21636
21637 * po/grub.d.sed: New file.
21638 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21639 arguments. Set c-format flags on all strings extracted from
21640 util/grub.d/ (xgettext refuses to include these itself for strings
21641 it extracted from a shell file, but these really are c-format).
21642
5318fe98
VS
216432010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21646 Avoid next pointing to nowhere.
21647
6c85b743
VS
216482010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21651 rather than assuming than rootblock is exactly in the middle.
21652 (grub_affs_label): Likewise.
21653
a2a08a35
VS
216542010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21657 reserved_first_sector to 0.
21658 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21659 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21660 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21661
7059d1ec
VS
216622010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 Fix handling of UTF-16 UDF labels.
21665
21666 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21667 (read_string): .. here.
21668 (grub_udf_label): Use read_string.
21669
30aff4cb
BC
216702010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21671
21672 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21673 editor under argument scope.
21674 Reported by: Jordan Uggla
21675
5cf86f4b
VS
216762010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21679
32570200
CW
216802010-12-18 Colin Watson <cjwatson@ubuntu.com>
21681
21682 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21683 line, and other keys scroll an entire page (previous handling was
21684 for \r and \n to scroll a page and other keys to scroll two lines).
21685
e1dffcf2
VS
216862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21689 Set ptrdest to correct get_physical_target_address rather than
21690 incorrect get_virtual_current_address.
21691
b04298cf 216922010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21693
21694 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21695 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21696
5367ecd3
CW
216972010-12-10 Colin Watson <cjwatson@ubuntu.com>
21698
21699 * .bzrignore: Ignore grub-core/rs_decoder.S.
21700
1fb430f8
CW
217012010-12-10 Colin Watson <cjwatson@ubuntu.com>
21702
21703 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21704 .mo/.mo.gz opening sequence to ...
21705 (grub_mofile_open_lang): ... here.
21706 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21707 * util/grub.d/00_header.in (grub_lang): Include country part of
21708 locale.
21709 Reported by: Mario Limonciello.
21710
a94a6671
RM
217112010-12-09 Robert Millan <rmh@gnu.org>
21712
21713 * NEWS: Document addition of ZFS support.
21714
24b7938b
CW
217152010-12-04 Colin Watson <cjwatson@ubuntu.com>
21716
21717 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21718 rather than `/ 2', as the latter requires -Wa,--divide which would
21719 require bumping our minimum binutils version.
21720
bddc3ef6
BC
217212010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21722
21723 * util/grub-script-check.c (main): Print script line number on
21724 error.
21725
bf78d5b2
RM
217262010-12-01 Robert Millan <rmh@gnu.org>
21727
21728 * grub-core/fs/zfs/zfs.c: New file.
21729 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21730 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21731 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21732 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21733
21734 * include/grub/zfs/dmu.h: Likewise.
21735 * include/grub/zfs/dmu_objset.h: Likewise.
21736 * include/grub/zfs/dnode.h: Likewise.
21737 * include/grub/zfs/dsl_dataset.h: Likewise.
21738 * include/grub/zfs/dsl_dir.h: Likewise.
21739 * include/grub/zfs/sa_impl.h: Likewise.
21740 * include/grub/zfs/spa.h: Likewise.
21741 * include/grub/zfs/uberblock_impl.h: Likewise.
21742 * include/grub/zfs/vdev_impl.h: Likewise.
21743 * include/grub/zfs/zap_impl.h: Likewise.
21744 * include/grub/zfs/zap_leaf.h: Likewise.
21745 * include/grub/zfs/zfs.h: Likewise.
21746 * include/grub/zfs/zfs_acl.h: Likewise.
21747 * include/grub/zfs/zfs_znode.h: Likewise.
21748 * include/grub/zfs/zil.h: Likewise.
21749 * include/grub/zfs/zio.h: Likewise.
21750 * include/grub/zfs/zio_checksum.h: Likewise.
21751
21752 * Makefile.util.def: Build ZFS into libgrubmods.
21753 * grub-core/Makefile.core.def: Build zfs.mod.
21754
3f0f3831
SJ
217552010-11-30 Szymon Janc <szymon@janc.net.pl>
21756
21757 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21758 variable.
21759 * grub-core/commands/wildcard.c (match_files): Likewise.
21760
3a4253b2
RM
217612010-11-30 Robert Millan <rmh@gnu.org>
21762
21763 * grub-core/loader/i386/bsd.c
21764 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21765 whether kernel is loaded using grub_loader_is_loaded(), rather
21766 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21767 certain error conditions.
21768
8c317b27
RM
217692010-11-30 Robert Millan <rmh@gnu.org>
21770
c5c9cd3e
RM
21771 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21772 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21773
49d3ab46
VS
217742010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 Avoid using tricks for initialising endian variables.
21777
21778 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21779 Make const.
21780 (GRUB_MOD_INIT): Don't byte-swap.
21781 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21782 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21783 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21784 (grub_swap_bytes32_compile_time): Likewise.
21785 (grub_cpu_to_le32_compile_time): Likewise.
21786 (grub_cpu_to_le16_compile_time): Likewise.
21787
f420a804
VS
217882010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 * util/grub-setup.c (setup): Stop recommending --force. People who
21791 understand the dangers of blocklists are able to find this option
21792 anyway and the ones who don't shouldn't use it anyway.
21793
4e7db17b
RM
217942010-11-26 Robert Millan <rmh@gnu.org>
21795
21796 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21797 Update all users.
21798
9be57a0d
CW
217992010-11-26 Colin Watson <cjwatson@ubuntu.com>
21800
21801 Fix LVM-on-RAID probing.
21802
21803 * util/grub-probe.c (probe): Remember which disk was detected as
21804 RAID (perhaps an LVM physical volume). Use that disk's raidname
21805 rather than that of the top-level disk.
21806
2c7859b3 218072010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21808
d7647bb6
BC
21809 Fix cmdline argument quotes for setparams command of menuentry
21810 definitions.
7e623b0d
BC
21811
21812 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21813 quotes for arguments.
f866fe80 21814 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21815 grub_strchrsub function instead.
f866fe80 21816
7955bea0 21817 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21818
74f72a64
CW
218192010-11-24 Colin Watson <cjwatson@ubuntu.com>
21820
21821 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21822 effort by skipping "." and ".." entries up-front.
21823 Suggested by: Michael Lazarev.
21824
5a407278
CW
218252010-11-24 Colin Watson <cjwatson@ubuntu.com>
21826
21827 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21828 ldflags to ldadd, to fix link line ordering.
21829 (none_decompress): Likewise.
21830
3030d8ec
CW
218312010-11-24 Colin Watson <cjwatson@ubuntu.com>
21832
21833 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21834 platforms.
21835 (grub-emu-lite): Remove kern/emu/cache.S.
21836
b7fbac12
CW
218372010-11-23 Colin Watson <cjwatson@ubuntu.com>
21838
21839 * util/deviceiter.c (compare_devices): If the by-id link for a
21840 device couldn't be resolved, fall back to sorting by the by-id link
21841 rather than segfaulting.
21842 Reported and tested by: Daniel Mierswa.
21843
5225f328
CW
218442010-11-23 Colin Watson <cjwatson@ubuntu.com>
21845
21846 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21847 ldflags, to fix link line ordering.
21848
038b3ce8
CW
218492010-11-23 Colin Watson <cjwatson@ubuntu.com>
21850
21851 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21852 linkers are picky about this.
21853
bf16e98e
CW
218542010-11-23 Colin Watson <cjwatson@ubuntu.com>
21855
21856 * grub-core/Makefile.am (command.lst): Adjust sed expression
21857 ordering so that extended and priority commands aren't treated as
21858 ordinary commands.
21859
7242bab6
CW
218602010-11-23 Colin Watson <cjwatson@ubuntu.com>
21861
21862 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21863 Remove byte-swapping function calls, which are not valid in
21864 structure initialisers.
21865 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21866 non-const.
21867 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21868 grub_gpt_partition_type_bios_boot.
21869
14e8b279
CW
218702010-11-22 Colin Watson <cjwatson@ubuntu.com>
21871
21872 Fix test program build on GNU/kFreeBSD.
21873
21874 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21875 $(LIBNVPAIR)' library dependencies.
21876
e6f63338 218772010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21878
21879 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21880
cf8ffc38
CW
218812010-11-22 Colin Watson <cjwatson@ubuntu.com>
21882
21883 * util/grub-install.in: Remove excessive quoting that broke
21884 installations to RAID devices.
21885
7f8b0fd7
VS
218862010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21887
21888 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21889 bootloader version instead of 0.
21890
dfd240b1
VS
218912010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21892
21893 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21894 warning.
21895
7b61e609
VS
218962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21899 retrieve the metadat sector if size isn't known.
21900 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21901
9dfe92d0
RM
219022010-11-18 Robert Millan <rmh@gnu.org>
21903
21904 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21905 with grub_memcmp().
21906
41cc919e
VS
219072010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21908
21909 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21910 arrow.
21911 Reported by: Jordan Uggla.
21912
1afcc914
VS
219132010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 Make better UTF compliant.
21916
21917 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21918 sequences as incorrect.
21919 (grub_is_valid_utf8): Likewise.
21920 (grub_utf8_to_ucs4): Likewise.
21921 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21922 (grub_ucs4_to_utf8_alloc): Likewise.
21923 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21924
f1808884
VS
219252010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 Make legacy_source behave like source.
21928
21929 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21930 grub_show_menu.
21931 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21932
24ec575b
CW
219332010-11-16 Colin Watson <cjwatson@debian.org>
21934
21935 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21936 (-Wunused implies -Wunused-parameter, but not vice versa).
21937
72b7c7aa
CW
219382010-11-16 Colin Watson <cjwatson@ubuntu.com>
21939
21940 * configure.ac: Make error messages less confusing by testing for
21941 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21942 accepted, but produces a diagnostic if something else is wrong).
21943
e98937aa
VS
219442010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21947 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21948 (now unused).
21949 (grub_keyboard_controller_init)
21950 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21951 read the initial state since controller isn't inited yet.
21952
f6bbabc3
VS
219532010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21956 allocate_regbeg may need to create new chunk header.
21957
22e7dbb2
VS
219582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21959
21960 Fix quoting in legacy parser.
21961
21962 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21963 single quotes.
21964 (grub_legacy_parse): Likewise.
21965 Reported by: Jordan Uggla.
21966 Tested by: Jordan Uggla.
21967
03f80960
VS
219682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 Don't add -lgcc on i386 and x86_64.
21971
21972 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21973 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21974 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21975
779dc15b
VS
219762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * configure.ac: Add -Wno-trampolines when supported.
21979
d20a3b37
MV
219802010-11-14 Modestas Vainius <modax@debian.org>
21981
21982 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21983 fakeraid.
21984
e5360933
GC
219852010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21986
21987 Add generic logical block size support for UDF.
21988
21989 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21990 (GRUB_UDF_BLKSZ): Removed.
21991 (struct grub_udf_data): New field "lbshift" to hold the logical block
21992 size of the file system in log2 format. All users updated.
21993 (sblocklist): Change type to unsigned.
21994 (grub_udf_mount): Change type of "sblklist" to unsigned.
21995 Move AVDP search before VRS recognition, because the latter requires
21996 knowledge of the logical block size, which is detected during the
21997 former.
21998 Detect and validate logical block size during AVDP search, adding
21999 support for block sizes 512, 1024 and 4096.
22000 Make VRS recognition independent of block size.
22001
cb0229c5
GC
220022010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22003
22004 Properly handle deleted files on UDF.
22005
22006 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22007 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22008 set.
22009
406858a8
GC
220102010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22011
22012 Support reading files larger than 2 GiB.
22013
22014 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22015 "offset" to grub_off_t.
22016 (grub_udf_read_file): Likewise for parameter "pos".
22017
130da6a7
VS
220182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22021 unavailable.
22022 (Simple configuration): Refer to Changes from GRUB Legacy about
22023 save_env availability.
22024
65e93f6b
VS
220252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22026
22027 * util/grub-install.in: Ignore empty partition table detection
22028 instead of trying to include part_ module.
22029
1fd08bf1
VS
220302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22031
22032 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22033 LVM on RAID support.
22034
de1a024f
VS
220352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 Properly define WORDS_BIGENDIAN in wrapped environments.
22038
22039 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22040 definition.
22041 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22042
22043 Reported by: Manoel Rebelo Abranches.
22044 Tested by: Manoel Rebelo Abranches.
22045
bc5dd0b9
VS
220462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 * util/grub-mkconfig.in: Fix quoting.
22049
58c184be
VS
220502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22051
22052 Support big ext2 files.
22053
22054 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22055 (grub_ext2_read_block): Support triple indirect blocks.
22056 (grub_ext2_read_file): Use 64-bit types and read size_high.
22057 (grub_ext2_open): Read size_high.
22058 Reported by: Ximin Luo.
22059 Tested by: Manoel Rebelo Abranches.
22060
5f0c02b3
VS
220612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 * util/grub-install.in: Handle filenames containing spaces.
22064 Reported by: Jordan Uggla.
22065 Tested by: Jordan Uggla.
22066
4417aae6
VS
220672010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22068
22069 * util/grub-mkconfig.in (grub_script_check): New variable.
22070 Use grub_script_check instead of grub-script-check.
22071 Reported by: Barry Jackson.
22072
7625a68e
VS
220732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * docs/grub.texi (menu): Correct the order.
22076 Reported by: D. Hugh Redelmeier.
22077
10001ac5
VS
220782010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22081 jump.
22082
9c4cf53b
MRA
220832010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22084
10001ac5
VS
22085 * include/grub/elfload.h (grub_elf32_size): New parameter.
22086 All users updated.
9c4cf53b
MRA
22087 Return maximum segments alignment.
22088 (grub_elf64_size): Likewise.
22089 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22090 Return maximum segments alignment.
22091 (grub_elf64_size): Likewise.
22092 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
22093 (grub_linux_claimmap_iterate): New function. Uses the
22094 "available" property in the "memory" node for memory allocation
22095 for kernel in the PowerPC loader.
9c4cf53b
MRA
22096 (grub_linux_load32): Correctly find linux entry point offset.
22097 (grub_linux_load64): Likewise.
22098
d2bf06bf
RM
220992010-11-07 Robert Millan <rmh@gnu.org>
22100
22101 On mips-yeeloong, build with -march=loongson2f when this flag is
22102 available (GCC >= 4.4).
22103 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22104 `-march=mips3'.
22105 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22106 or otherwise add -march=mips3.
22107
898c99a2
BC
221082010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22109
87220a68
BC
22110 Suppress shell expansion on echo '*' and echo "*" like cases.
22111 Reported by: Jordan Uggla.
898c99a2
BC
22112
22113 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22114 string arguments before shell expansion.
22115 * tests/grub_cmd_echo.in: New testcases.
22116
4f9b406a
RM
221172010-11-07 Robert Millan <rmh@gnu.org>
22118
22119 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22120 transition.
22121
80c6d25e
VS
221222010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22123
22124 * grub-core/kern/emu/hostdisk.c
22125 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22126
4a1a0153
VS
221272010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22130 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22131 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22132
34706ddc
VS
221332010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22136
6972dea9
VS
221372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * util/grub-install.in: Replace useless recomendation to pass
22140 --modules with a recomendation to report a bug.
22141
9c693bd6
VS
221422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22143
22144 Properly register serial terminfo.
22145 Reported by: Jordan Uggla
22146
22147 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22148 const.
22149 (grub_serial_terminfo_output_template): Likewise.
22150 (grub_cmd_serial): Register "serial" with terminfo.
22151 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22152 grub_serial_terminfo_output.
22153
6c9e4c0c
RM
221542010-11-05 Robert Millan <rmh@gnu.org>
22155
22156 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22157 needed).
22158
b9b3839f
RM
221592010-11-05 Robert Millan <rmh@gnu.org>
22160
22161 On Yeeloong, pass machine type information to Linux.
22162
22163 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22164 (LOONGSON_MACHTYPE): New macro, set to
22165 "machtype=lemote-yeeloong-2f-8.9inches".
22166 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22167 additional argument to Linux.
22168
1a3aaff4
RM
221692010-11-04 Robert Millan <rmh@gnu.org>
22170
22171 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22172 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22173 (its SATA disks are detected as slaveless IDE master drives on
22174 kFreeBSD).
22175 Reported by Carsten Aulbert.
22176
a75f4f62
CW
221772010-11-02 Colin Watson <cjwatson@ubuntu.com>
22178
22179 * util/bin2h.c (main): Fix spelling error in generated output.
22180
33b4b0c6
GS
221812010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22182
22183 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22184
2b36fbf4
VS
221852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22188 vga= option is supplied.
22189
74aaf558
VS
221902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22193 * util/grub.d/10_kfreebsd.in: Likewise.
22194 * util/grub.d/10_linux.in: Likewise.
22195 * util/grub.d/20_linux_xen.in: Likewise.
22196
6428dec3
VS
221972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22200 argument as an argument to no-argument option.
22201
f8729d98
VS
222022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 * util/grub.d/10_linux.in: Add missing load_video with explicit
22205 GRUB_GFXPAYLOAD_LINUX.
22206
89d68fa6
VS
222072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22210
3a1197cd
VS
222112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22214 elements with invlid index.
22215 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22216 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22217 members.
22218 * include/grub/raid.h (grub_raid_member): New struct.
22219 (grub_raid_array): Transform devices and start_sector into usage of
22220 grub_raid_member. All users updated
22221 (allocated_devs): New member.
22222
71574288
VS
222232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22226 is modified
22227
8d40ec65
BC
222282010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22229
22230 NetBSD build fix for getline function conflict from gnulib.
22231
22232 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22233 components that depend on gnulib headers.
22234 (libgrubmods.a): Renamed from earlier libgrub.a.
22235 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22236
95b9257e
VS
222372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22240 install rather than creating a broken install.
22241
26c53dc6
VS
222422010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * util/grub-setup.c (argp): Remove misleading example of installing to
22245 a partition.
22246
4171b3c5
VS
222472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 * util/grub-setup.c (setup): Clarify the error message.
22250
18568d18
VS
222512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22254
4f6a2e21
VS
222552010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 * grub-core/kern/emu/misc.c
22258 (grub_make_system_path_relative_to_its_root)
22259 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22260
222612010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
22262
22263 * grub-core/kern/emu/misc.c
22264 (grub_make_system_path_relative_to_its_root): Revert r2882.
22265
e138c458
VS
222662010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22269 useless field head. All users updated.
22270 (free_subchunk): Correct handling of IN_REGION subchunk.
22271
0cbcdf0e
CW
222722010-10-22 Colin Watson <cjwatson@ubuntu.com>
22273
22274 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22275 (Supported kernels): Likewise.
22276
b65ea155
GS
222772010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22278
22279 Make mktemp invocations portable.
22280
22281 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22282 exit if mktemp fails.
22283 * tests/grub_script_blockarg.in: Likewise.
22284 * tests/partmap_test.in: Likewise.
22285 * tests/util/grub-shell-tester.in: Likewise.
22286 * tests/util/grub-shell.in: Likewise.
22287 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22288 * Makefile.am: Likewise, and chain shell commands with `&&'
22289 instead of ';'.
22290 * util/grub-mkrescue.in: Use the same explicit template as above, and
22291 exit if mktemp fails.
22292
05f43cdd
BC
222932010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22294
22295 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22296 Linux kernel, reported by Dennis Schridde.
22297
800e6a9b
SJ
222982010-10-17 Szymon Janc <szymon@janc.net.pl>
22299
22300 * grub-core/normal/auth.c (grub_auth_check_authentication):
22301 Set-but-not-used variable removed.
22302
d82df574
VS
223032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22306 32-bit linux protocol.
22307
7bced458
VS
223082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22309
22310 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22311 cursor shape for sanity.
22312
5b027690
VS
223132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * docs/grub.texi (Installation): Document buggy BIOS install.
22316
ba5f65cf
VS
223172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 * docs/grub.texi (Installation): Indent.
22320
fdf2ec9c
VS
223212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * util/grub-setup.c (setup): New parameter allow_floppy.
22324 (arguments): New member allow_floppy.
22325 (argp_parser): Handle --allow-floppy.
22326 (main): Pass allow_floppy.
22327 * util/grub-install.in: New option --allow-floppy passed though to
22328 grub-setup.
22329
861dfd4c
VS
223302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22331
22332 * util/grub-install.in: Handle partitionless disks.
22333
f77a8c24
VS
223342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 * util/grub-setup.c (setup): Don't clean blocklists before readability
22337 verfification.
22338
27d9ee32
VS
223392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 * docs/grub.texi (Installation): Document embedding zone. Remove
22342 obsolete grub-install example.
22343
6bdda8f8
SJ
223442010-10-16 Szymon Janc <szymon@janc.net.pl>
22345
22346 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22347 Set-but-not-used variable ifdef'ed.
22348 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22349 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22350 variable removed.
22351 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22352 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22353 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22354 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22355 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22356 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22357 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22358 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22359 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22360 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22361 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22362 Likewise.
22363
e19b016b
VS
223642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22367 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22368 enum value.
22369
6c8d3002
VS
223702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22373 synonym to _S5_. Needed for some DSDTs.
22374
c32b51c9
VS
223752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 Userspace ACPI parser debugging.
22378
22379 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22380 headers and add relevant defines. Don't include standard headers.
22381 (main) [GRUB_DSDT_TEST]: New function.
22382 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22383 Don't declare functions.
22384
fbfbeb39
VS
223852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22386
22387 Remove dead grub_efi_mm_fini.
22388
22389 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22390 (ALLOCATED_PAGES_SIZE): Likewise.
22391 (MAX_ALLOCATED_PAGES): Likewise.
22392 (allocated_pages): Likewise.
22393 (grub_efi_allocate_pages): Don't record allocated pages.
22394 (grub_efi_free_pages): Likewise.
22395 (grub_efi_mm_init): Likewise.
22396 (grub_efi_mm_fini): Removed.
22397
65f7ed7c
VS
223982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22399
22400 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22401 (grub_efi_mm_init): Take into account the memory map size increase.
22402
24977b44
VS
224032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22406 (serial_hw_put): Wait based on real time rather than port reads. Don't
22407 roken ports.
22408 * include/grub/serial.h (grub_serial_port): New field broken.
22409
1eb01cd2
RM
224102010-10-16 Robert Millan <rmh@gnu.org>
22411
22412 * grub-core/kern/emu/misc.c
22413 (grub_make_system_path_relative_to_its_root): Fix premature return
22414 when processing non-root ZFS filesystems.
5f8b440b 22415 Reported by Sergio Talens-Oliag.
1eb01cd2 22416
2d5fed60
RM
224172010-10-15 Robert Millan <rmh@gnu.org>
22418
22419 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22420 guarantee compressed ones are processed first.
22421
d0f4c1ea
VS
224222010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22423
22424 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22425 grub_efiemu_autocore.
22426
d87c681f
VS
224272010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22430 rather than 0x1b.
22431 (grub_console_getkey): Use correct jae opcode rather than ja.
22432
219b3564
RM
224332010-10-12 Robert Millan <rmh@gnu.org>
22434
22435 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22436 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22437 variable. All references updated.
22438
22439 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22440
20c6bb7e
VS
224412010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22442
22443 Correctly distinguish mdraid flavours.
22444
22445 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22446 (insert_array): New argument raid.
22447 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22448 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22449 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22450
74baff84
VS
224512010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22454 handling of special keys.
22455
3ef068df 224562010-10-02 Aleš Nesrsta <starous@volny.cz>
22457
c7980ad9
VS
22458 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22459 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 22460
a9455194 224612010-10-02 Aleš Nesrsta <starous@volny.cz>
22462
c7980ad9
VS
22463 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22464 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22465 users updated.
a9455194 22466 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 22467 Use right endpoint when querying descriptor.
a9455194 22468
441cfe65
VS
224692010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 Clear out 0x80 color bit on EFI.
22472 Tested by: decoder
22473 Reported by: decoder and meta tech.
22474
22475 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22476 (grub_console_setcolorstate): Clear out 0x80 bit.
22477 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22478 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22479 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22480
bf26bcc4
VS
224812010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22484 Set to "auto".
22485
6e3c515d
VS
224862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22489 mo_file after freeing.
22490
e6d983ba
VS
224912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22494
74ccb5b5
VS
224952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22496
22497 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22498 flags.
22499
17821956
VS
225002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22503 usage.
22504
ee74fa48
VS
225052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22508
22509 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22510 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22511 and terminfo.h when needed.
22512 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22513 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22514 (terminfo): Enable only on terminfokernel.
22515 (extcmd): Likewise.
22516 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22517 * include/grub/lib/arg.h: Likewise.
22518 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22519 incorrect usage of ->.
22520
aa438e68
VS
225212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22522
22523 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22524 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22525
57994012
VS
225262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22527
22528 Fix coreboot compilation.
22529
22530 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22531 Take VBE info into account even if only text is supported.
22532 (fill_vbe_info): Take into account the case when only VGA text
22533 is supported.
22534 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22535 on coreboot, multiboot and qemu.
22536
2a406611
VS
225372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22540 debug messages.
22541 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22542
d33613fc
VS
225432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22546 parameters.
22547
44a1b432
VS
225482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22551 if they were BSD-style.
22552
edde54e6
VS
225532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22554
22555 * grub-core/boot/i386/pc/lnxboot.S: Replace
22556 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22557 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22558
b65830fa
VS
225592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 Write embedding zone using Reed-Solomon.
22562
22563 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22564 * grub-core/Makefile.am (rs_decoder.S): New target.
22565 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22566 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22567 (multiboot): Move to RS part.
22568 (post_reed_solomon): New label.
22569 (grub_boot_drive): Move to non-RS part since it's modified in memory
22570 on boot.
22571 Include rs_decoder.S.
22572 * grub-core/lib/reed_solomon.c: New file.
22573 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22574 New definition.
22575 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22576 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22577 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22578 * include/grub/partition.h (grub_partition_map): Change prototype of
22579 embed to allow returning additional sectors.
22580 * include/grub/reed_solomon.h: New file.
22581 * util/grub-setup.c (setup): Handle Reed-Solomon.
22582
0b4b227f
CW
225832010-09-28 Colin Watson <cjwatson@ubuntu.com>
22584
22585 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22586 i386 and x86-64 definedness tests.
22587
f772623b
YB
225882010-09-27 Yves Blusseau <blusseau@zetam.org>
22589
22590 Fix generation of kernel_syms.lst
22591
22592 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22593 ASM_PREFIX
22594
8e57a6ca
RM
225952010-09-26 Robert Millan <rmh@gnu.org>
22596
22597 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22598
22599 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22600 the pool is an array of devices, iterate through it and return the
22601 first device that passes a stat() test (instead of blindly returning
22602 the first one).
22603
f9130836
RM
226042010-09-26 Robert Millan <rmh@gnu.org>
22605
22606 Build fixes for GNU/kFreeBSD.
22607
22608 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22609 to programs that require ZFS conversion.
22610 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22611 kernels that don't have FLOPPY_MAJOR.
22612
96510faf
BC
226132010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22614
22615 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22616
449333eb
BC
226172010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22618
22619 Fix grub-emu build.
22620
22621 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22622 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22623 mdraid09 and mdraid1x.
22624
e1fd1939
CW
226252010-09-24 Colin Watson <cjwatson@ubuntu.com>
22626
22627 Re-enable grub-extras.
22628
22629 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22630 avoid confusing Automake. Run autogen only twice, once for the top
22631 level and once for grub-core. Add Makefile.util.def and
22632 Makefile.core.def from extra modules to the appropriate autogen
22633 invocations. If Makefile.common exists in an extra module, include
22634 it in both Makefile.util.am and grub-core/Makefile.core.am;
22635 similarly, include any Makefile.util.common file in Makefile.util.am
22636 and any Makefile.core.common file in grub-core/Makefile.core.am.
22637 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22638 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22639 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22640 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22641
22642 * gentpl.py (gvar_add): Turn GVARS into a set.
22643 (global_variable_initializers): Sort global variables on output.
22644 (vars_init): New function.
22645 (first_time): Likewise.
22646 (library): Ensure that non-global variable initialisations are
22647 emitted before the first time we emit code for a library block.
22648 Append to variables rather than setting them. Only emit
22649 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22650 each conditional path.
22651 (program): installdir() emits an Autogen macro, so must be passed to
22652 var_add rather than gvar_add.
22653 (data): Likewise.
22654 (script): Likewise.
22655 (rules): New function, centralising handling for different target
22656 types. Set up Guile association lists for first_time and vars_init,
22657 and send most output to a diversion so that variable initialisations
22658 can be emitted first.
22659 (module_rules): Use new rules function.
22660 (kernel_rules): Likewise.
22661 (image_rules): Likewise.
22662 (library_rules): Likewise.
22663 (program_rules): Likewise.
22664 (script_rules): Likewise.
22665 (data_rules): Likewise.
22666
22667 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22668
22669 * .bzrignore: Add contrib and grub-core/contrib. Remove
22670 grub-core/Makefile.gcry.am.
22671
1d12cf29
YB
226722010-09-24 Yves Blusseau <blusseau@zetam.org>
22673
22674 * grub-core/lib/LzFind.c: Add missing include.
22675 * grub-core/lib/LzmaEnc.c: Likewise.
22676 * grub-core/script/lexer.c: Likewise.
22677 * grub-core/script/yylex.l: Likewise.
22678 * util/grub-macho2img.c: Likewise.
22679 * util/grub-menulst2cfg.c: Likewise.
22680 * util/grub-mklayout.c: Likewise.
22681 * util/grub-mkpasswd-pbkdf2.c
22682 * util/grub-mkrelpath.c: Likewise.
22683 * util/resolve.c: Likewise.
22684
dd363028
BC
226852010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22686
22687 * Makefile.util.def (example_unit_test): Add
22688 grub-core/gnulib/libgnu.a.
22689
f5a109e2
GS
226902010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22691
22692 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22693
6d0fa83c
VS
226942010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 Support xz compression on yeeloong.
22697
22698 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22699 * configure.ac: Check for LZMA.
22700 * grub-core/Makefile.core.def (xz_decompress): New target.
22701 (none_decompress): Likewise.
22702 * grub-core/boot/decompressor/minilib.c: New file.
22703 * grub-core/boot/decompressor/none.c: Likewise.
22704 * grub-core/boot/decompressor/xz.c: Likewise.
22705 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22706 * grub-core/kern/mips/cache_flush.S: Likewise.
22707 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22708 * grub-core/kern/mips/startup.S: Move first stage to ...
22709 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22710 nomacro.
22711 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22712 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22713 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22714 Allocate statically.
22715 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22716 Allocate statically or use scratch. Don't check CRC32.
22717 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22718 Allocate statically. Don't check CRC32.
22719 * include/grub/decompressor.h: New file.
22720 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22721 Removed.
22722 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22723 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22724 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22725 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22726 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22727 * util/grub-mkimage.c (grub_compression_t): New type.
22728 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22729 (image_target_desc): New field default_compression.
22730 (image_targets): Adjust yeeloong targets.
22731 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22732 (compress_kernel): New parameter comp.
22733 (generate_image): Likewise. Handle new compression case.
22734 (options): New option --compression
22735 (help): Likewise.
22736 (main): Handle new option.
22737
1b655af6
GS
227382010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22739
22740 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22741
8f03f0b5
CW
227422010-09-22 Colin Watson <cjwatson@ubuntu.com>
22743
22744 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22745 typo in __i386__ conditional.
22746
7835dfd3
VS
227472010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22748
22749 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22750 include.
22751
e255597e
VS
227522010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22753
6d0fa83c 22754 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22755
22756 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22757 new tags as supported.
22758 (acpiv2_size): New function.
22759 (grub_multiboot_get_mbi_size): Take new tags into account.
22760 (grub_multiboot_make_mbi): Add new tags.
22761 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22762
6cc14051 227632010-09-21 Aleš Nesrsta <starous@volny.cz>
22764
22765 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22766 Added missing configuration of USB device.
22767
df7769d8
CW
227682010-09-21 Colin Watson <cjwatson@ubuntu.com>
22769
22770 * grub-core/normal/menu_entry.c (run): Make sure we always return
22771 a value.
22772
b031012d
CW
227732010-09-21 Colin Watson <cjwatson@ubuntu.com>
22774
22775 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22776 NumberOfPages is UINT64 according to the UEFI specification, not
22777 UINTN. Fix printf format.
22778
174de8f3
CW
227792010-09-21 Colin Watson <cjwatson@ubuntu.com>
22780
22781 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22782 `err' to grub_usb_err_t.
22783 Reported and tested by: KESHAV P.R.
22784
d7dbe923
CW
227852010-09-21 Colin Watson <cjwatson@ubuntu.com>
22786
22787 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22788 tpart non-const, so that we can assign to it. (Since this is a
22789 typedef, the constness refers to the pointer rather than what it
22790 points to.)
22791
8d5e2af3
CW
227922010-09-21 Colin Watson <cjwatson@ubuntu.com>
22793
22794 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22795 $(top_srcdir)/grub-core/gnulib as well as
22796 $(top_builddir)/grub-core/gnulib.
22797 Reported by: KESHAV P.R.
22798
5c527783
CW
227992010-09-21 Colin Watson <cjwatson@ubuntu.com>
22800
22801 * util/grub-install.in: Fix the bootloader ID option to be
22802 consistently --bootloader-id, not --bootloader_id.
22803 Reported by: KESHAV P.R.
22804
d309a16e
CW
228052010-09-21 Colin Watson <cjwatson@ubuntu.com>
22806
22807 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22808 check hash checksum." consistently translatable.
22809
b830cd16
YB
228102010-09-21 Yves Blusseau <blusseau@zetam.org>
22811
22812 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22813 $(top_builddir).
22814
c4fe27a8
CW
228152010-09-21 Colin Watson <cjwatson@ubuntu.com>
22816
22817 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22818 (GRUB_MOD_INIT): Register sha1sum command.
22819 (GRUB_MOD_FINI): Unregister sha1sum command.
22820
a4c1d277
YB
228212010-09-21 Yves Blusseau <blusseau@zetam.org>
22822
22823 Keep boot and grub directory names in sync with utils scripts
22824
22825 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22826 * config.h.in: Add previous macros.
22827 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22828 * util/grub-install.in: Use $bootdir and $grubdir variables.
22829
4eff79d2
CW
228302010-09-21 Colin Watson <cjwatson@ubuntu.com>
22831
22832 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22833 convert partition names to disk names if the new `convert' parameter
22834 is set.
22835 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22836 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22837 disk in its own right. This can happen with Xen disk images.
22838
934d7e44
YB
228392010-09-21 Yves Blusseau <blusseau@zetam.org>
22840
22841 * util/grub-editenv.c: Update strings to avoid warnings when generating
22842 grub.pot file.
22843 * util/grub-setup.c: Likewise.
934d7e44 22844
df3367cc
VS
228452010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * configure.ac: Change version to 1.99~beta0.
22848
77a94e98
VS
228492010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22852 Add BADRAM.
22853 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22854 Likewise.
22855 * include/multiboot.h: Resynced with specification.
22856 * include/multiboot2.h: Likewise.
22857
269004c1
CW
228582010-09-21 Colin Watson <cjwatson@ubuntu.com>
22859
22860 Fix po directory handling.
22861
22862 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22863 * grub-core/gnulib/Makefile.am: Import gettext module.
22864 * m4/gnulib-cache.m4: Likewise.
22865 * m4/gnulib-comp.m4: Likewise.
22866 * m4/gettext.m4: New file, from gnulib.
22867 * m4/glibc2.m4: Likewise.
22868 * m4/iconv.m4: Likewise.
22869 * m4/intdiv0.m4: Likewise.
22870 * m4/intl.m4: Likewise.
22871 * m4/intldir.m4: Likewise.
22872 * m4/intlmacosx.m4: Likewise.
22873 * m4/intmax.m4: Likewise.
22874 * m4/inttypes-pri.m4: Likewise.
22875 * m4/lcmessage.m4: Likewise.
22876 * m4/lib-ld.m4: Likewise.
22877 * m4/lib-link.m4: Likewise.
22878 * m4/lib-prefix.m4: Likewise.
22879 * m4/lock.m4: Likewise.
22880 * m4/nls.m4: Likewise.
22881 * m4/po.m4: Likewise.
22882 * m4/printf-posix.m4: Likewise.
22883 * m4/progtest.m4: Likewise.
22884 * m4/threadlib.m4: Likewise.
22885 * m4/uintmax_t.m4: Likewise.
22886 * m4/visibility.m4: Likewise.
22887 * po/Makefile.am: Remove.
22888 * po/Makefile.in.in: New file, from gettext.
22889 ($(DOMAIN).pot-update): Support POTFILES-shell.
22890 * po/Makevars: New file.
22891 * po/POTFILES-shell: Rename to ...
22892 * po/POTFILES-shell.in: ... this. Update.
22893 * po/POTFILES: Rename to ...
22894 * po/POTFILES.in: ... this. Update.
22895 * po/Rules-quot: New file, from gettext.
22896 * po/boldquot.sed: Likewise.
22897 * po/en@boldquot.header: Likewise.
22898 * po/en@quot.header: Likewise.
22899 * po/insert-header.sin: Likewise.
22900 * po/quot.sed: Likewise.
22901 * po/remove-potcdate.sin: Likewise.
22902
3e0fa5d0
VS
229032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22906
ade9bd66
VS
229072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22908
22909 * util/grub.d/20_linux_xen.in: Use submenus.
22910
fc55cc4c
VS
229112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22912
22913 Support submenus.
22914
22915 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22916 parameter submenu. All users updated.
22917 * grub-core/normal/main.c (free_menu): Rename to ...
22918 (grub_normal_free_menu): ... this. Made global.
22919 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22920 if requested.
22921 * grub-core/normal/menu_entry.c (screen): New field submenu.
22922 (make_screen): Set submenu.
22923 (run): Open new context if requested.
22924 * include/grub/menu.h (grub_menu_entry): New field submenu.
22925 * include/grub/normal.h (grub_normal_free_menu): New proto.
22926
600cedf7
VS
229272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 Menu entries extractor.
22930
22931 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22932 variants.
22933 (GRUB_MOD_INIT): Register new variants.
22934 (GRUB_MOD_FINI): Unregister new variants.
22935 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22936 into grub_cmd_legacy_source.
22937 (grub_cmd_legacy_source): Implement extractor variants.
22938 (GRUB_MOD_INIT): Register new variants.
22939 (GRUB_MOD_FINI): Unregister new variants.
22940 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22941 as an extractor.
22942 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22943 search as an extractor.
22944 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22945 test as an extractor.
22946 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22947 as an extractor.
22948 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22949 (grub_env_new_context): New function.
22950 (grub_env_context_open): Likewise.
22951 (grub_env_extractor_open): Likewise.
22952 (grub_env_extractor_close): Likewise.
22953 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22954 grub_extractor_level.
22955 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22956 * include/grub/env.h (grub_env_extractor_open): New proto.
22957 (grub_env_extractor_close): Likewise.
22958 * include/grub/normal.h (grub_extractor_level): New external variable.
22959
7bda3a87
VS
229602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22961
22962 Make cutmem accept a region specification.
22963 Suggested by: Samuel Thibault
22964
22965 * grub-core/mmap/mmap.c (parsemem): New function.
22966 (grub_cmd_cutmem): Handle new arguments.
22967
2ea57f88
VS
229682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 New command cutmem.
22971
22972 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22973 (GRUB_MOD_INIT): Register new command.
22974 (GRUB_MOD_FINI): Unregister new command.
22975
74342e31
VS
229762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22977
22978 Support some annoying BSD and Minix subpartitions.
22979
22980 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22981 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22982 Properly handle concatenation.
22983 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22984 * grub-core/normal/completion.c (iterate_partition): Likewise.
22985 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22986 contain partition. All users updated.
22987 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22988 struct.
22989 (grub_openbsdlabel_partition_map): Likewise.
22990 (bsdlabel_partition_map_iterate): Rename to ..
22991 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22992 (bsdlabel_partition_map_iterate): New function.
22993 (netopenbsdlabel_partition_map_iterate): Likewise.
22994 (netbsdlabel_partition_map_iterate): Likewise.
22995 (openbsdlabel_partition_map_iterate): Likewise.
22996 (GRUB_MOD_INIT): Register new partmaps.
22997 (GRUB_MOD_FINI): Unregister new partmaps.
22998 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22999 (grub_partition_msdos_iterate): ... this. All users updated.
23000 Don't support embedding other than in a minix partition.
23001 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23002 proto.
23003 * include/grub/partition.h (grub_partition): New field msdostype.
23004 * util/grub-install.in: Handle openbsd and netbsd types being in
23005 part_bsd module.
23006
1e8d555b
VS
230072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23010
23011 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23012 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23013 (mdraid09): ... this.
23014 (mdraid1x): New module.
23015 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23016 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23017
899d8af4
VS
230182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23019
23020 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23021 vsprintf.
23022
40901acd
CW
230232010-09-20 Colin Watson <cjwatson@ubuntu.com>
23024
23025 * grub-core/commands/efi/lsefimmap.c: Correct header.
23026 * NEWS: Update.
23027
dfe3b247
CW
230282010-09-20 Colin Watson <cjwatson@ubuntu.com>
23029
23030 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23031 as printf format strings; the translations might contain '%' which
23032 could cause a crash.
23033 (main): Likewise.
23034 * util/grub-fstest.c (argp_parser): Likewise.
23035 * util/grub-setup.c (argp_parser): Likewise.
23036 (main): Likewise.
23037
3286a4b4
VS
230382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23039
23040 Use argp in grub-fstest.
23041
23042 * util/grub-fstest.c: Don't include getopt.h.
23043 Include argp.h.
23044 (root): New variable.
23045 (args_count): Likewise.
23046 (nparm): Likewise.
23047 (num_disks): Likewise.
23048 (images): Likewise.
23049 (cmd): Likewise.
23050 (debug_str): Likewise.
23051 (args): Likewise.
23052 (options): Transformed to argp.
23053 (usage): Removed.
23054 (main): Split argument parsing into ...
23055 (argp_parser): ... this. Changed to argp format.
23056 (argp): New variable.
23057 (main): Use argp_parse.
23058
3dccbe4b
TG
230592010-09-20 Tristan Gingold <gingold@free.fr>
230602010-09-20 Robert Millan <rmh.grub@aybabtu.com>
230612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23062
23063 * grub-core/commands/efi/lsefimmap.c: New file.
23064 * grub-core/Makefile.core.def (lsefimmap): New module.
23065 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23066
38c259a7
VS
230672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 Pause the execution (10s max) if any errors are displayed so the user
23070 has a chance to see them.
23071
23072 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23073 (grub_print_error): Increment grub_err_printed_errors.
23074 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23075 execution if any errors were displayed.
23076 (show_menu): Remove old code for pause.
23077 * grub-core/normal/menu_entry.c (run): Likewise.
23078 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23079 users updated.
23080 (grub_normal_get_char_counter): Likewise.
23081 * include/grub/err.h (grub_err_printed_errors): New external variable.
23082 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23083
f218b09c
VS
230842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 Support multiboot VBE info.
23087
23088 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23089 Take VBE info into account.
23090 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23091 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23092 Call fill_vbe_info when appropriate.
23093 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23094 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23095 as supported.
23096 (grub_multiboot_get_mbi_size): Take new tags into account.
23097 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23098 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23099 Call fill_vbe_tag when appropriate.
23100 (grub_multiboot_make_mbi): Properly align tags.
23101 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23102 function.
23103 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23104 proto.
23105 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23106
a9cc5438
VS
231072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23108
23109 Suport manual terminal geometry specification.
23110
23111 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23112 Save state in grub_ofconsole_terminfo_output.
23113 (grub_ofconsole_term): Use grub_terminfo_getwh.
23114 (grub_ofconsole_getwh): Removed.
23115 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23116 (grub_serial_term): Use grub_terminfo_getwh.
23117 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23118 (options): New struct.
23119 (OPTION_*): New enum.
23120 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23121 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23122 width and height.
23123 (grub_terminfo_getwh): New proto.
23124 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23125
1a8fed20
VS
231262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23127
23128 Handle legacy "terminal" command.
23129
23130 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23131 and FLAG_TERMINAL.
23132 (legacy_commands): Add terminal and title.
23133 (grub_legacy_parse): Handle terminal. Simplify title handling.
23134
41e9c57d
VS
231352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23138 parameters overflow.
23139
61c874c5
CW
231402010-09-20 Colin Watson <cjwatson@ubuntu.com>
23141
23142 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23143 widthspec.h.
23144
23145 * docs/grub.texi (Shell-like scripting): Document `!'.
23146 (Network): Simplify using new i386-pc-pxe format. Mention
23147 grub-mknetdir.
23148
23149 * NEWS: Update.
23150
943682b4
CW
231512010-09-20 Colin Watson <cjwatson@ubuntu.com>
23152
23153 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23154 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23155 when needed.
23156
6d3d698d
CW
231572010-09-20 Colin Watson <cjwatson@ubuntu.com>
23158
23159 * grub-core/commands/efi/lsefisystab.c: Correct header.
23160 * grub-core/commands/efi/lssal.c: Likewise.
23161 * grub-core/commands/testload.c: Likewise.
23162
c982589f
CW
231632010-09-20 Colin Watson <cjwatson@ubuntu.com>
23164
23165 * util/grub-mkrescue.in: Add explicit root argument to --set to
23166 prevent the UUID being interpreted as an argument to --set (matches
23167 previous change to prepare_grub_to_access_device).
23168
a63c31b6
CW
231692010-09-20 Colin Watson <cjwatson@ubuntu.com>
23170
23171 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23172 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23173 the verbosity of later #ifs.
23174 (find_partition_start): Define this function on FreeBSD too.
23175 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23176 function.
23177 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23178 on FreeBSD.
23179
6439b8ee
YB
231802010-09-20 Yves Blusseau <blusseau@zetam.org>
23181
23182 * util/grub-editenv.c: Use argp instead of getopt.
23183
c5930ec8
YB
231842010-09-20 Yves Blusseau <blusseau@zetam.org>
23185
23186 * util/grub-setup.c: Use argp instead of getopt.
23187
15c69261
YB
231882010-09-20 Yves Blusseau <blusseau@zetam.org>
23189
23190 Use gnulib-tool to create gnulib source files.
23191
23192 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23193 grub-core/gnulib directories
23194 * .bzignore: Add **/.deps and autogenerated gnulib files
23195 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23196 of gnulib macros, add grub-core/gnulib/Makefile
23197 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23198 include m4 directory to aclocal.
23199 * Makefile.util.def: Remove direct compilation of gnulib source files
23200 and use the new grub-core/gnulib/libgnu.a.
23201 * build-aux/config.rpath: move config.rpath from top directory to
23202 build-aux
23203 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23204 in gnulib headers
23205 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23206 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23207 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23208 header.
23209 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23210 string.
23211
e511c9f5
YB
232122010-09-20 Yves Blusseau <blusseau@zetam.org>
23213
23214 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23215 grub-core/genmod.sh and grub-core/gensyminfo.sh
23216
c2dede05
BC
232172010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23218
23219 Add a test for echo command options.
23220
23221 * tests/grub_cmd_echo.in: New test.
23222 * Makefile.util.def: Rules for new test.
23223
c55f5018
SJ
232242010-09-20 Szymon Janc <szymon@janc.net.pl>
23225
23226 Remove crc.mod and move crc command to hashsum.mod.
23227 Remove lib/crc.c - users updated to use gcrypt implementation.
23228
23229 * grub-core/commands/crc.c: Removed.
23230 * grub-core/Makefile.core.def (crc): Module removed.
23231 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23232 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23233 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23234 * grub-core/lib/crc.c: Removed.
23235 * include/grub/lib/crc.h: Removed.
23236 * Makefile.util.def (crc): Remove lib/crc.c
23237 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23238 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23239 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23240 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23241 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23242 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23243
e0337366
VS
232442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23247
742f9232
VS
232482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 Split config.h for util and core.
23251
23252 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23253 (ADDR32): Likewise.
23254 (DATA32): Likewise.
23255 (BSS_START_SYMBOL): Likewise.
23256 (END_SYMBOL): Likewise.
23257 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23258 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23259 * config.h.in: New file.
23260 * configure.ac: Use config-util.h as config define file.
23261 Rename MACHINE into GRUB_MACHINE. All users updated.
23262 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23263 updated.
23264 (NESTED_FUNC_ATTR): Likewise.
23265 Substitue new variables.
23266 (COND_HAVE_ASM_USCORE): New conditional.
23267 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23268 (kernel_syms.lst): Use ASM_PREFIX.
23269 * grub-core/kern/emu/console.c: Include config-util.h.
23270 * grub-core/kern/emu/misc.c: Likewise.
23271 * grub-core/kern/emu/mm.c: Likewise.
23272 * include/grub/emu/misc.h: Likewise.
23273 * include/grub/libgcc.h: Likewise.
23274
39feb0e8
VS
232752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23278 constants usage.
23279 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23280 Fix GRUB_TERM_KEY_* constants usage.
23281 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23282
9af6dac3
VS
232832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23284
23285 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23286 print pointer.
23287 * grub-core/bus/usb/uhci.c: Remove empty define.
23288 (grub_uhci_check_transfer): Add missing cast.
23289 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23290 print pointer.
23291 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23292 PRIuGRUB_SIZE.
23293 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23294
d6d94820
VS
232952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23296
23297 * grub-core/Makefile.core.def (legacycfg): Add
23298 lib/i386/pc/vesa_modes_table.c on emu.
23299
3572f2b6
BC
233002010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23301
23302 Reduce number of temporary files generated by build system.
23303
23304 * grub-core/gencmdlist.sh: Removed.
23305 * grub-core/genfslist.sh: Removed.
23306 * grub-core/genhandlerlist.sh: Removed.
23307 * grub-core/genmodsrc.sh: Removed.
23308 * grub-core/genpartmaplist.sh: Removed.
23309 * grub-core/genparttoollist.sh: Removed.
23310 * grub-core/gentermiinallist.sh: Removed.
23311 * grub-core/genvideolist.sh: Removed.
23312
23313 * grub-core/genmod.sh.in: New file.
23314 * grub-core/gensyminfo.sh.in: New file.
23315
23316 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23317 * conf/Makefile.extra-dist: Update with new files.
23318 * gentpl.py: Remove rules related to unnecessary temporary files.
23319 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23320 and und-* files.
23321 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23322 genmod.sh scripts.
23323 * grub-core/bus/usb/uhci.c: Remove empty #define.
23324 * grub-core/genmoddep.awk: Updated with new syminfo format.
23325 * util/bash-completion.d/Makefile.am: Add config.log to
23326 CLEANFILES.
23327
c836b030
YB
233282010-09-19 Yves Blusseau <blusseau@zetam.org>
23329
23330 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23331
2f4e8053
BC
233322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23333
23334 * util/grub-mkconfig.in: Check the config script for syntax errors
23335 before saving.
23336
75831c34
CW
233372010-09-19 Colin Watson <cjwatson@ubuntu.com>
233382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23341 platforms.
23342 * util/grub-install.in: Add EFI and IEEE1275 support.
23343 * util/i386/efi/grub-install.in: Removed.
23344 * util/ieee1275/grub-install.in: Likewise.
23345
eaf41b25
VS
233462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23347
23348 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23349 (grub_cmd_cmosclean): Likewise.
23350 (GRUB_MOD_INIT): Register command cmosclean.
23351 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23352 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23353
1a9130dd
CPE
233542010-09-18 Carles Pina i Estany <carles@pina.cat>
233552010-09-18 Aleš Nesrsta <starous@volny.cz>
233562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 Add keyboard layouts support.
23359
23360 * Makefile.util.def (grub-mklayout): New file.
23361 (grub-kbdcomp): New script.
23362 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23363 Add keyboard_layouts.h.
23364 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23365 commands/boot.c on yeeloong.
23366 (keylayouts): New module.
23367 * grub-core/bus/usb/ohci.c
23368 * grub-core/bus/usb/uhci.c
23369 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23370 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23371 (attach_root_port): Likewise.
23372 (poll_nonroot_hub): Likewise.
23373 (grub_usb_poll_devices): Likewise.
23374 (detach_device): Close transfer.
23375 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23376 function.
23377 (grub_usb_bulk_setup_readwrite): Likewise.
23378 (grub_usb_bulk_finish_readwrite): Likewise.
23379 * grub-core/commands/keylayouts.c: New file.
23380 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23381 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23382 aliases.
23383 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23384 support scancode 2.
23385 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23386 * include/grub/keyboard_layouts.h: New file.
23387 * util/grub-mklayout.c: New file.
23388 * util/grub-kbdcomp.in: Likewise.
23389
a1d84a5e
VS
233902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23391
23392 Unify memory types.
23393
23394 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23395 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23396 types.
23397 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23398 (grub_upper_mem): Likewise.
23399 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23400 * include/grub/memory.h (grub_memory_type_t): New enum.
23401 All users updated.
23402
9696382e
VS
234032010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * grub-core/Makefile.core.def (lsapm): New module.
23406 * grub-core/commands/i386/pc/lsapm.c: New file.
23407 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23408 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23409 Likewise.
23410 * include/grub/i386/pc/apm.h: New file.
23411 * include/multiboot.h (multiboot_apm_info): New struct.
23412
234132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23414
23415 GRUB-legacy configuration file support.
23416
23417 * Makefile.util.def (grub-menulst2cfg): New util.
23418 * docs/man/grub-menulst2cfg.h2m: New file.
23419 * grub-core/Makefile.core.def (legacycfg): New module.
23420 * grub-core/commands/legacycfg.c: New file.
23421 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23422 (grub_normal_add_menu_entry): ... this.
23423 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23424 (grub_normal_set_password): ...this.
23425 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23426 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23427 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23428 * grub-core/lib/legacy_parse.c: New file.
23429 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23430 * include/grub/i386/pc/vesa_modes_table.h: New file.
23431 * include/grub/legacy_parse.h: Likewise.
23432 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23433 * util/grub-menulst2cfg.c: New file.
23434
bf8d1338
CW
234352010-09-17 Colin Watson <cjwatson@ubuntu.com>
23436
23437 * grub-core/kern/emu/hostdisk.c
23438 (convert_system_partition_to_system_disk): Initialise node.
23439
9c0bad2e
CW
234402010-09-17 Colin Watson <cjwatson@ubuntu.com>
23441
23442 * grub-core/kern/emu/hostdisk.c
23443 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23444 leak.
23445 Reported and based on patch by: Modestas Vainius.
23446
a939d135
CW
234472010-09-17 Colin Watson <cjwatson@ubuntu.com>
23448
23449 Fix DM-RAID probing with recent versions of device-mapper udev
23450 rules.
23451
23452 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23453 canonicalise device paths under /dev/mapper/.
23454 (convert_system_partition_to_system_disk): Compare the
23455 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23456 path, since device nodes under /dev/mapper/ are often symlinks.
23457
0f7ee3c9
YB
234582010-09-17 Yves Blusseau <blusseau@zetam.org>
23459
23460 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23461
10854d0d
YB
234622010-09-16 Yves Blusseau <blusseau@zetam.org>
23463
23464 * configure.ac: Avoid some annoying error messages if freetype-config
23465 program is not found.
23466
108538d8
CW
234672010-09-16 Colin Watson <cjwatson@ubuntu.com>
23468
23469 Support RAID on virtio devices, and others.
23470
23471 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23472 Rename to ...
23473 [__MINGW32__] (grub_find_device): ... this.
23474 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23475 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23476 reasonable default if dir is NULL.
23477 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23478 ...
23479 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23480 (grub_guess_root_device): Update callers.
23481 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23482
23483 * util/raid.c (grub_util_getdiskname): Remove.
23484 (grub_util_raid_getmembers): Use grub_find_device rather than
23485 grub_util_getdiskname.
23486
e5bfc130
CW
234872010-09-16 Colin Watson <cjwatson@ubuntu.com>
23488
23489 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23490 needing to be compiled with serial support.
23491 (ls): Indicate that multiple files are accepted.
23492 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23493 indicate that multiple files are accepted.
23494
be458ae2
CW
234952010-09-16 Colin Watson <cjwatson@ubuntu.com>
23496
23497 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23498 libgrub_a_init.c, and util/bash-completion.d/grub.
23499
cb731b5e
VS
235002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23501
23502 * util/grub-setup.c (setup): Fix incorrect container semantics.
23503
35139e8a
VS
235042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23505
23506 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23507 misusage.
23508 Reported by: J. Nick Terry
23509
e50fca4a
VS
235102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23511
23512 Move embedding routines to partmap sources files.
23513
23514 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23515 [GRUB_UTIL]: New variable.
23516 (gpt_partition_map_iterate): Set part.parent.
23517 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23518 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23519 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23520 New function.
23521 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23522 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23523 (grub_partition_map) [GRUB_UTIL]: New field embed.
23524 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23525 (setup): Use ->embed.
23526
f00478b7
VS
235272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23528
23529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23530 function.
23531 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23532 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23533
2b94e3ff
YB
235342010-09-15 Yves Blusseau <blusseau@zetam.org>
23535
23536 Add function to get completions from usage.
23537
23538 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23539 completions from usage. Use LC_ALL=C to get options properly.
23540
2e04a006
VS
235412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * grub-core/gnulib/basename-lgpl.c: Imported.
23544 * grub-core/gnulib/basename.c: Likewise.
23545 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23546 * grub-core/gnulib/dirname.c: Likewise.
23547 * grub-core/gnulib/dirname.h: Likewise.
23548 * grub-core/gnulib/stripslash.c: Likewise.
23549
5dcdf93a
VS
235502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * grub-core/gnulib/error.c: Resynced.
23553 * grub-core/gnulib/getopt.c: Likewise.
23554 * grub-core/gnulib/getopt_int.h: Likewise.
23555 * grub-core/gnulib/regex.h: Likewise.
23556 * grub-core/gnulib/regex_internal.c: Likewise.
23557 * grub-core/gnulib/regex_internal.h: Likewise.
23558
014f47b7
SJ
235592010-09-15 Szymon Janc <szymon@janc.net.pl>
23560
23561 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23562 CRC calculations and validity checks.
23563 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23564 calculations.
23565
dd521a4a
SJ
235662010-09-15 Szymon Janc <szymon@janc.net.pl>
23567
23568 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23569
79c4eeb9
VS
235702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23571
23572 Fix incorrect echo options handling.
23573 Reported by: Yves Blusseau.
23574
23575 * include/grub/command.h (grub_command_flags_t): New flags
23576 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23577 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23578 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23579
ed80f7d5
VS
235802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23583 users updated.
23584 (GRUB_COMMAND_FLAG_MENU): Likewise.
23585 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23586 (GRUB_COMMAND_FLAG_TITLE): Removed.
23587 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23588 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23589 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23590 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23591 (grub_command_flags_t): New enum. All users updated.
23592
5fe7620a
SG
235932010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23594
23595 Fix solaris compilation.
23596
23597 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23598 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23599 (grub-emu-list): Likewise.
23600
545b752f
VS
236012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 Remove deprecated root command.
23604
23605 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23606 updated.
23607
6c1a338c
VS
236082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23609
23610 * util/i386/pc/grub-setup.c: Merge this ...
23611 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23612 * util/grub-setup.c: ... into this.
23613 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23614 New struct.
23615
236162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23619 possible.
23620
d2ea4551
VS
236212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23624 allocate p.
23625
3c3b5040
VS
236262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23629 explicit root argument to set to prevent UUID to be interpreted as
23630 argument to set.
23631
b71c3fae
VS
236322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23635
275433e6
VS
236362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 Don't export grub_gate_a20.
23639
23640 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23641 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23642 to ...
23643 (grub_gate_a20): ... this. All users updated.
23644 * include/grub/i386/pc/init.h: Removed. All users updated.
23645
a5dbb1f1
VS
236462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 Create euro.pf2 which supports most European languages.
23649
23650 * Makefile.am (grubdata_DATA): Add euro.pf2.
23651 (euro.pf2): New target.
23652 (CLEANFILES): Add euro.pf2.
23653
62a747cb
VS
236542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * configure.ac: Disable emu-usb by default to prevent inadvertent
23657 device takeover.
23658
608e43b1
VS
236592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 Disable usbserial on grub-emu since our libusb code isn't good enough
23662 yet.
23663
23664 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23665 (usbserial_pl2303): Likewise.
23666 (usbserial_ftdi): Likewise.
23667
94564f81
VS
236682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23669
23670 * include/grub/disk.h (grub_disk): Remove has_partitions.
23671 All users updated.
23672 * disk/loopback.c (grub_loopback): Remove has_partitions.
23673 All users updated.
23674 (options): Remove partitions. All users updated.
23675 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23676 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23677 actual partition table is found.
23678
3352800b
VS
236792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23680
23681 Remove readability checks (too many false negatives).
23682
23683 * util/grub-install.in: Remove readability checks.
23684 * util/grub-mkconfig.in: Likewise.
23685 * util/grub.d/10_hurd.in: Likewise.
23686 * util/grub.d/10_kfreebsd.in: Likewise.
23687 * util/grub.d/10_linux.in: Likewise.
23688 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23689 way.
23690
2419f17a
VS
236912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23692
23693 Enable acpi shutdown on all ACPI platforms.
23694
23695 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23696 on coreboo, multiboot and EFI.
23697 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23698 (grub_acpi_halt): Likewise.
23699 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23700 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23701 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23702 * grub-core/lib/i386/halt.c (grub_halt)
23703 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23704
0575c7c3
VS
237052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23708 context.
23709
54ac3cd1
VS
237102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23713 * grub-core/video/efi_uga.c: Likewise.
23714
b2a30ac5
VS
237152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23716
23717 Filter devaliases and never open same device twice.
23718
23719 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23720 (last_ihandle): Likewise.
23721 (ofdisk_hash_ent): New member shortest.
23722 (ofdisk_hash_add): Add canonical path too.
23723 (scan): New function.
23724 (grub_ofdisk_iterate): Iterate over hashed entries.
23725 (compute_dev_path): Don't add :0.
23726 (grub_ofdisk_open): Don't really open the disk.
23727 (grub_ofdisk_close): Avoid closing unrelated disk.
23728 (grub_ofdisk_read): Implement reopen logic.
23729 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23730 New function.
23731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23732 New proto.
23733
fb53b340
VS
237342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23735
23736 Fix sparc64.
23737
23738 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23739 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23740 right address. Add sparc64_ieee1275_ldflags.
23741 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23742 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23743 to grub_host_to_target_addr
23744 (load_image): Likewise.
23745
f452b040
VS
237462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 * grub-core/normal/completion.c (complete_file): Handle device
23749 containing slash.
23750 Fix based on patch by Doug Nazar.
23751
9b5b2541
VS
237522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23753
23754 grub-mknetdir script.
23755
23756 * Makefile.util.def (grub-mknetdir): New module.
23757 * tests/util/grub-shell.in: Support boot=net
23758 * util/grub-mknetdir.in: New file.
23759
9d2be652
VS
237602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23761
23762 videoinfo on non-vbe.
23763
23764 * grub-core/Makefile.core.def (vbeinfo): Removed.
23765 (vbetest): Removed.
23766 (videoinfo): New module.
23767 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23768 * grub-core/commands/i386/pc/vbetest.c: Removed.
23769 * grub-core/commands/videoinfo.c: New file.
23770 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23771 specification.
23772 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23773 as vbetest.
23774 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23775 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23776 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23777 mode_number. New parameter mode. All users updated.
23778 (grub_video_gop_iterate): New function.
23779 (grub_video_efi_gop): New member iterate.
23780 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23781 (grub_vbe_set_video_mode): Remove setting useless fields.
23782 (vbe2videoinfo): New function.
23783 (grub_video_vbe_iterate): Likewise.
23784 (grub_video_vbe_setup): Use vbe2videoinfo.
23785 (grub_video_vbe_print_adapter_specific_info): New function.
23786 (grub_video_vbe_adapter): New fields iterate and
23787 print_adapter_specific_info.
23788 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23789 All users updated.
23790 (grub_video_mode_info): New field mode_number.
23791 (grub_video_adapter): New fields iterate and
23792 print_adapter_specific_info.
23793
179503f5
TG
237942010-09-13 Tristan Gingold <gingold@free.fr>
237952010-09-13 Robert Millan <rmh.grub@aybabtu.com>
237962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * grub-core/commands/efi/lsefisystab.c: New file.
23799 * grub-core/commands/efi/lssal.c: Likewise.
23800 * grub-core/Makefile.core.def (lsacpi): New module.
23801 (lsefisystab): Likewise.
23802 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23803 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23804 (grub_efi_sal_system_table): New struct.
23805 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23806 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23807 (grub_efi_sal_system_table_platform_features): Likewise.
23808 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23809 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23810 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23811 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23812
cf9827de
VS
238132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 Support explicit user claim that a device is BIOS-visible.
23816
23817 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23818 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23819 * grub-core/kern/emu/hostdisk.c
23820 (convert_system_partition_to_system_disk): Support mdX.
23821 (find_system_device): New parameter add. All users updated.
23822 (grub_util_biosdisk_is_present): New function.
23823 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23824 proto.
23825
53f0eb1f
VS
238262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 Search hints support.
23829
23830 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23831 All users updated.
23832
b23ffd70
YB
238332010-09-13 Yves Blusseau <blusseau@zetam.org>
23834
23835 Bash completion script for util commands
23836
23837 * Makefile.am: Add util/bash-completion.d directory
23838 * configure.ac: Likewise.
23839 * util/bash-completion.d/Makefile.am: New file.
23840 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23841
d547dc28
VS
238422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23845 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23846 Reported by: Yves Blusseau.
23847
2fc8ccb9
VS
238482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23849
23850 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23851 partition size and offset.
23852
d8a84076
VS
238532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23854
23855 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23856
84fb3b3d
VS
238572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23858
23859 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23860
768ec2e2
VS
238612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23862
23863 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23864 (grub_xvasprintf): Likewise.
23865
4870900f
VS
238662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23869
faca6bec
VS
238702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23873 args ending with NULL.
23874
238752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23876
23877 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23878 pointer.
23879
3c70f225
SJ
238802010-09-11 Szymon Janc <szymon@janc.net.pl>
23881
23882 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23883
4df7996d
VS
238842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 Shutdown using ACPI.
23887
23888 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23889 * grub-core/commands/acpihalt.c: New file.
23890 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23891 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23892 (grub_acpi_halt): New proto.
23893 (GRUB_ACPI_SLP_EN): New const.
23894 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23895 (GRUB_ACPI_OPCODE_*): New enum.
23896 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23897
126b4c32
TG
238982010-09-11 Tristan Gingold <gingold@free.fr>
238992010-09-11 Robert Millan <rmh.grub@aybabtu.com>
239002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 * commands/lsacpi.c: New file.
23903 * grub-core/Makefile.core.def (lsacpi): New module.
23904 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23905 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23906 (grub_acpi_madt_entry_header): New struct.
23907 (grub_acpi_madt): Likewise.
23908 (grub_acpi_madt_entry_interrupt_override): Likewise.
23909 (grub_acpi_madt_entry_sapic): Likewise.
23910 (grub_acpi_madt_entry_lsapic): Likewise.
23911 (grub_acpi_madt_entry_platform_int_source): Likewise.
23912 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23913 (PRIuGRUB_UINT32_T): Likewise.
23914 (PRIxGRUB_UINT64_T): Likewise.
23915
1aa4fe88
VS
239162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23917
23918 Implement loading palette on ieee1275_fb.
23919
23920 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23921 (have_setcolors): Likewise.
23922 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23923 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23924 (grub_video_ieee1275_set_palette): Implement.
23925
25761e13
VS
239262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
239272010-09-11 Colin Watson <cjwatson@ubuntu.com>
23928
23929 * util/grub-install.in (grub_partition): New variable.
23930 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23931 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23932 Fixes a bug reported by Yves Blusseau.
23933
050abaea
VS
239342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23935
23936 Fix emu on mipsel.
23937
23938 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23939 =grub_cpu_flush_cache on all mips and not only yeeloong.
23940 * configure.ac (COND_mips): New conditional.
23941 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23942 platforms.
23943 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23944 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23945 [GRUB_LINKER_HAVE_INIT]: New function.
23946 (grub_emu_post_init): Likewise.
23947 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23948 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23949 * include/grub/cache.h (_mips): Include mips/cache.h.
23950 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23951 LVM and RAID prototypes.
23952 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23953 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23954 function.
23955
5ed7d816
CW
239562010-09-10 Colin Watson <cjwatson@ubuntu.com>
23957
23958 * util/grub-install.in: Don't try to verify core.img until after
23959 running grub-mkimage to create it.
23960
90367e04
RM
239612010-09-10 Robert Millan <rmh@gnu.org>
23962
23963 * util/grub.d/10_hurd.in: Add misc readability checks.
23964 * util/grub.d/10_kfreebsd.in: Likewise.
23965 * util/grub.d/10_linux.in: Likewise.
23966
c452fa66
CW
239672010-09-10 Colin Watson <cjwatson@ubuntu.com>
23968
23969 * util/grub-install.in: ${imgext} won't be defined here until the
23970 install branch is merged. For the meantime, only verify core.img on
23971 i386-pc and sparc64-ieee1275 platforms.
23972
c38fe9f4
RM
239732010-09-10 Robert Millan <rmh@gnu.org>
23974
23975 Solaris support in grub_find_zpool_from_dir(). Thanks
23976 Seth Goldberg for referring to getextmntent() facility.
23977
23978 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23979 `sys/mkdev.h'.
23980 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23981 `<sys/mnttab.h>'.
23982 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23983 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23984 method for finding zpool name.
23985
905f7773
CW
239862010-09-10 Colin Watson <cjwatson@ubuntu.com>
23987
23988 grub-fstest needs the host and hostfs modules while other utilities
23989 actively require those modules to be absent, so grub-fstest needs
23990 its own initialisation and finalisation code.
23991
23992 * Makefile.am (grub_fstest.pp): New target.
23993 (grub_fstest_init.lst): Likewise.
23994 (grub_fstest_init.c): Likewise.
23995 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23996
fb90b546
RM
239972010-09-10 Robert Millan <rmh@gnu.org>
23998
23999 * configure.ac: Check for `struct statfs.f_fstypename' and
24000 `struct statfs.f_mntfromname'.
24001
24002 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24003 kFreeBSD-specific code.
24004
66d4bea5
RM
240052010-09-10 Robert Millan <rmh@gnu.org>
24006
24007 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24008 on ZFS. Now non-main filesystems are supported as / too.
24009
b6a690ee
CW
240102010-09-09 Colin Watson <cjwatson@ubuntu.com>
24011
24012 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24013 and grub-core/disk/host.c to ...
24014 (grub-fstest): ... here. Having the host disk implementation
24015 present confuses grub-probe and other utility programs.
24016
24017 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24018 when writing to a file, not when writing to stdout.
24019
8901b00c 240202010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24021
24022 * tests/partmap_test.in: New test for partitions.
24023 * Makefile.util.def: Rules for new test.
24024
7bf45fdd
RM
240252010-09-09 Robert Millan <rmh@gnu.org>
24026
24027 * util/grub-probe.c (probe): Fix a pair of unhandled error
24028 conditions.
24029
4dfbc574
RM
240302010-09-09 Robert Millan <rmh@gnu.org>
24031
24032 Basic Btrfs support (detection and UUID).
24033
24034 * grub-core/fs/btrfs.c: New file.
24035 * Makefile.util.def (library): Register btrfs.c.
24036 * grub-core/Makefile.core.def: Likewise.
24037
6b8e78ae
RM
240382010-09-08 Robert Millan <rmh@gnu.org>
24039
24040 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24041 with (optional) parameters to specify device and relative path.
24042 * util/grub-install.in: Use is_path_readable_by_grub() to
24043 verify readability of a few critical files.
24044 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24045 verify readability of grub.cfg.new.
24046
27f21a8b
VS
240472010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 Split minix.mod into minix.mod and minix2.mod.
24050
24051 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24052 * grub-core/Makefile.core.def (minix2): New module.
24053 * grub-core/fs/minix.c: Use definitions instead of runtime version
24054 checking.
24055 * grub-core/fs/minix2.c: New file.
24056
c0e53ea5
YB
240572010-09-08 Yves Blusseau <blusseau@zetam.org>
24058
24059 Add new --boot-directory option to replace --root-directory
24060
24061 * util/grub-install.in: Add new --boot-directory option
24062 * util/grub-reboot.in: Likewise.
24063 * util/grub-set-default.in: Likewise.
24064
b9fe6ea2
YB
240652010-09-08 Yves Blusseau <blusseau@zetam.org>
24066
24067 * util/grub-mkconfig.in: Use new variable.
24068
d87aedff
YB
240692010-09-08 Yves Blusseau <blusseau@zetam.org>
24070
24071 * configure.ac: Define some useful variables.
24072
e55e8495
VS
240732010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24074
24075 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24076 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24077 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24078 Use terminfo and don't use cursor-on/cursor-off unless it's known
24079 to work.
24080 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24081 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24082
6fa6d675
CW
240832010-09-08 Colin Watson <cjwatson@ubuntu.com>
24084
24085 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24086 starts with "(,", fill the drive containing the loaded image in
24087 between those two characters, but expect that a full partition
24088 specification including partition map names will follow.
24089
92f2aef0
RM
240902010-09-08 Robert Millan <rmh@gnu.org>
24091
24092 * configure.ac: Remove `--enable-grub-fstest' option.
24093 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24094
24095 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24096 `grub-fstest' instead of `grub-probe' for readability verification.
24097 * util/grub-probe.c (probe): Remove readability verification kludge.
24098
99fd620d
RM
240992010-09-08 Robert Millan <rmh@gnu.org>
24100
24101 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24102 initializing `GRUB_FS'.
24103
058e30ac 241042010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24105
24106 Not command (!) support to GRUB script.
24107
24108 * tests/grub_script_not.in: New test.
24109 * Makefile.util.def: Rules for new test.
24110
24111 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24112 ! command as a special case.
24113 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24114
b61d05ed 241152010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24116
058e30ac 24117 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24118 grub_free.
b61d05ed 24119
4d69c786 241202010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24121
24122 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24123
aa3119c4 241242010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24125
24126 * docs/grub.texi (Shell-like scripting): Documentation for break,
24127 continue, shift and return commands.
24128
db0f7e3d
VS
241292010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24130
24131 Rename CD-ROM to cd on BIOS.
24132
24133 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24134 "cd".
24135 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24136
88b87c93
VS
241372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24138
24139 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24140 * util/grub-probe.c (main): Likewise.
24141 * util/i386/pc/grub-setup.c (main): Likewise.
24142 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24143 Reported and debugged by: alexxy
24144
294f324d
VS
241452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24148 diagnostic info.
24149
d7ee3441
JS
241502010-09-05 Jo Shields <directhex@apebox.org>
24151
24152 * util/grub.d/30_os-prober.in: Add missing classes.
24153
d7e06c1f
VS
241542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24155
24156 * docs/grub.texi (Theme file format): Document new position format.
24157
fc157e53
VS
241582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24159
24160 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24161 a table. Use @code instead of @verbatim.
24162
506e9a1c
CB
241632010-09-05 Colin D Bennett <colin@gibibit.com>
24164
24165 Gfxmenu documentation.
24166
24167 * docs/grub.texi (Theme file format): New chapter.
24168
f0aff67c
SJ
241692010-09-05 Szymon Janc <szymon@janc.net.pl>
24170
24171 * grub-core/Makefile.core.def (xzio): New module.
24172 * grub-core/io/xzio.c: New file.
24173 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24174 * grub-core/lib/xzembed/xz_config.h: Likewise.
24175 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24176 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24177 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24178 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24179 * grub-core/lib/xzembed/xz_private.h: Likewise.
24180 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24181 * include/grub/file.h (grub_file_filter_id): New compression filter
24182 GRUB_FILE_FILTER_XZIO.
24183
82a85062
VS
241842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24187 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24188 size.
24189
3579415d
VS
241902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24193 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24194
5124ae6d
VS
241952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 Uncompressed checksum support.
24198
24199 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24200 (check_list): New parameter uncompress.
24201 (grub_cmd_hashsum): Handle --uncompress.
24202
9aadb3d1
VS
242032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 Reintroduce testload.
24206
24207 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24208 from here ...
24209 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24210 (GRUB_MOD_INIT): New function.
24211 (GRUB_MOD_FINI): Likewise.
24212 * grub-core/Makefile.core.def (testload): New module.
24213
a17792c3
SJ
242142010-09-05 Szymon Janc <szymon@janc.net.pl>
24215
24216 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24217 (uint8_t): New type.
24218 (uint16_t): Likewise.
24219 (uint32_t): Likewise.
24220 (uint64_t): Likewise.
24221
b81e40a3
SJ
242222010-09-05 Szymon Janc <szymon@janc.net.pl>
24223
24224 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24225
fc2ef117
VS
242262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24227
24228 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24229 Made static.
24230 (grub_gzfile_open): Removed. All users updated.
24231 (GRUB_MOD_INIT): New function.
24232 (GRUB_MOD_FINI): Likewise.
24233 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24234 (grub_file_filters_enabled): Likewise.
24235 (grub_file_open): Handle filters.
24236 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24237 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24238 * include/grub/file.h (grub_file_filter_id_t): New type.
24239 (grub_file_filter_t): Likewise.
24240 (grub_file_filters_all): New extern variable.
24241 (grub_file_filters_enabled): Likewise.
24242 (grub_file_filter_register): New inline function.
24243 (grub_file_filter_unregister): Likewise.
24244 (grub_file_filter_disable): Likewise.
24245 (grub_file_filter_disable_compression): Likewise.
24246 * include/grub/gzio.h: Removed.
24247
35ee15e0
BC
242482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24249
24250 Filename expansion support for wildcards in GRUB script.
24251
24252 * tests/grub_script_expansion.in: New test.
24253 * Makefile.util.def: Rule for new test.
24254
24255 * grub-core/commands/wildcard.c: New file, implements filename
24256 expansion support for GRUB script.
24257 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24258 * grub-core/script/argv.c: Cosmetic changes.
24259 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24260 Refactored to perform wildcard expansion on arguments.
24261 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24262 struct.
24263
24264 * tests/util/grub-shell.in: Fix quoting for read input.
24265
5f0c4aca
BC
242662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24267
24268 Support for updating environment variables with matched substrings
24269 of regexp.
24270
24271 * tests/grub_cmd_regexp.in: New test.
24272 * Makefile.util.def: Rule for new test.
24273
24274 * grub-core/commands/regexp.c: New option -s to update environment
24275 variables with regexp matches.
24276
3759a35f
SJ
242772010-09-04 Szymon Janc <szymon@janc.net.pl>
24278
24279 * include/grub/file.h (grub_file): New member not_easly_seekable.
24280 (grub_file_seekable): New inline function.
24281 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24282 easily seekable.
24283 (grub_gzio_open): Set not_easly_seekable.
24284 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24285 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24286
ed8c6dec
BC
242872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24288
24289 Support for options to appear multiple times on cmdline.
24290
24291 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24292 * grub-core/commands/extcmd.c: Support for repeatable option.
24293 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24294 repeatable option support.
24295
24296 Refactor menuentry into a regular command.
24297
24298 * grub-core/commands/menuentry.c: New file, menuentry command
24299 implementation.
24300 * grub-core/Makefile.core.def: Rule update for normal.mod.
24301 * grub-core/normal/main.c: Moved menuentry creation to
24302 grub-core/commands/menuentry.c.
24303 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24304 (grub_menu_execute_entry_real): Removed.
24305 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24306 function.
24307 (grub_script_execute_menuentry): Removed.
24308 * grub-core/script/parser.y (menuentry): Removed.
24309 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24310 * grub-core/script/yylex.l (menuentry): Removed.
24311 * include/grub/menu.h (grub_menu_init): New prototype.
24312 (grub_menu_fini): New prototype.
24313 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24314 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24315 (grub_script_execute_sourcecode): New prototype.
24316
dacd0cf0
BC
243172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24318
24319 "return" command for GRUB script functions.
24320
24321 * tests/grub_script_return.in: New test.
24322 * Makefile.util.def: Rules for new test.
24323
24324 * grub-core/script/execute.c (grub_script_return): New function.
24325 * grub-core/script/main.c: Register/unregister return commaond.
24326 * include/grub/script_sh.h (grub_script_return): New prototype.
24327
52e72f9d
BC
243282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24329
24330 "setparams" command to update positional parameters.
24331
24332 * tests/grub_script_setparams.in: New test.
24333 * Makefile.util.def: Rules for new test.
24334
24335 * grub-core/script/argv.c (grub_script_argv_make): New function.
24336 * grub-core/script/execute.c (replace_scope): New function.
24337 (grub_script_setparams): New function.
24338 * grub-core/script/lexer.c: Remove unused variables.
24339 * grub-core/script/main.c: Register/unregister setparams command.
24340 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24341 (grub_script_setparams): New prototype.
24342
25b60c91
BC
243432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24344
24345 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24346 grub_free order.
24347
37e7bf68
BC
243482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24349
24350 Support for passing block of commands as an argument to extcmds.
24351
24352 * Makefile.util.def: Rules for new test.
24353 * tests/grub_script_blockarg.in: New test.
24354 * grub-core/tests/test_blockarg.c: New file, block argument
24355 command used in the test.
24356
24357 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24358 (grub_register_extcmd_prio): New function prototype.
24359 (grub_extcmd_dispatcher): New function prototype.
24360 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24361 type.
24362 * include/grub/script_sh.h (struct grub_script): New members
24363 `children', `next_siblings' and `refcnt' for block arguments and
24364 reference counting.
24365 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24366 (grub_script_arg): New member `script' for block argument.
24367 (grub_script_argv): New member `script' for block argument.
24368 (grub_parser_param): New member `scripts' for block argument.
24369 (grub_script_mem_free): New extern function prototype.
24370 (grub_script_ref): New function prototype.
24371 (grub_script_unref): New function prototype.
24372
24373 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24374 extcmd form to support block arguments.
24375 * grub-core/script/argv.c: Block arguments support.
24376 * grub-core/script/execute.c: Likewise.
24377 * grub-core/script/lexer.c: Likewise.
24378 * grub-core/script/main.c: Likewise.
24379 * grub-core/script/script.c: Likewise.
24380 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24381 non-terminals.
24382
24383 * grub-core/commands/acpi.c: Update extcmd implementations with
24384 grub_extcmd_context_t.
24385 * grub-core/commands/cat.c: Likewise.
24386 * grub-core/commands/echo.c: Likewise.
24387 * grub-core/commands/extcmd.c: Likewise.
24388 * grub-core/commands/hashsum.c: Likewise.
24389 * grub-core/commands/hdparm.c: Likewise.
24390 * grub-core/commands/help.c: Likewise.
24391 * grub-core/commands/hexdump.c: Likewise.
24392 * grub-core/commands/i386/cpuid.c: Likewise.
24393 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24394 * grub-core/commands/i386/pc/halt.c: Likewise.
24395 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24396 * grub-core/commands/iorw.c: Likewise.
24397 * grub-core/commands/keystatus.c: Likewise.
24398 * grub-core/commands/loadenv.c: Likewise.
24399 * grub-core/commands/ls.c: Likewise.
24400 * grub-core/commands/lspci.c: Likewise.
24401 * grub-core/commands/memrw.c: Likewise.
24402 * grub-core/commands/probe.c: Likewise.
24403 * grub-core/commands/search_wrap.c: Likewise.
24404 * grub-core/commands/setpci.c: Likewise.
24405 * grub-core/commands/sleep.c: Likewise.
24406 * grub-core/disk/loopback.c: Likewise.
24407 * grub-core/hello/hello.c: Likewise.
24408 * grub-core/loader/i386/bsd.c: Likewise.
24409 * grub-core/loader/xnu.c: Likewise.
24410 * grub-core/term/gfxterm.c: Likewise.
24411 * grub-core/term/serial.c: Likewise.
24412 * grub-core/tests/lib/functional_test.c: Likewise.
24413
888d1500
BC
244142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24415
24416 Multi-line quoted strings support.
24417
24418 * grub-core/script/lexer.c (append_newline): Removed.
24419 (grub_script_lexer_yywrap): Refactored.
24420 (grub_script_lexer_init): Refactored.
24421 * grub-core/script/yylex.l (yywrap): New function.
24422 (grub_lexer_resplit): New function.
24423 (grub_lexer_unput): New function.
24424 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24425 and resplit.
24426 * tests/grub_script_echo1.in: Added few more testcases.
24427
dda060dd
VS
244282010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 * grub-core/kern/misc.c: Don't add abort alias in utils.
24431 Reported by: echoline.
24432
6556eba9
BC
244332010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24434
24435 Add missing files into "make dist" tarball for other platforms.
24436
24437 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24438 * conf/Makefile.common (dist_noinst_DATA): New variable.
24439 * conf/Makefile.extra-dist: Added missing make dist files.
24440 * grub-core/Makefile.core.def: Likewise.
24441
c8e7bf5f
VS
244422010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 Compress grub_prefix.
24445
24446 * grub-core/boot/i386/pc/lnxboot.S: Use
24447 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24448 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24449 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24450 GRUB_MACHINE_PREFIX_END. All users updated.
24451 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24452 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24453 + 0x40.
24454 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24455 * util/grub-mkimage.c (image_target_desc): Change data_end to
24456 prefix_end. All users updated.
24457
a7c00cdb
VS
244582010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24459
24460 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24461 value.
24462 (grub_openbsd_boot): Likewise.
24463 (grub_netbsd_boot): Likewise.
24464 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24465 (grub_xnu_boot): Likewise.
24466
9f915872
VS
244672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24468
24469 * configure.ac: Clean LIBS variable after tests.
24470
efa1bee7
CW
244712010-09-02 Colin Watson <cjwatson@ubuntu.com>
24472
24473 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24474
61d720e5
VS
244752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24476
24477 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24478 echo if libdevmapper will be used.
24479
ef8e0ec8
IT
244802010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24481
24482 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24483 constant for the same file.
24484
03e261d8
VS
244852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24486
24487 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24488
c2a4eba6
CW
244892010-09-02 Colin Watson <cjwatson@ubuntu.com>
24490
24491 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24492 grub-core/*.pp.
24493
9056cbf3
CW
244942010-09-02 Colin Watson <cjwatson@ubuntu.com>
24495
24496 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24497 required by the boot protocol.
24498
24499 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24500 ebp and edi members.
24501 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24502 state.ebp and state.edi.
24503 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24504 %ebp and %edi according to grub_relocator32_ebp and
24505 grub_relocator32_edi respectively.
24506 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24507 and state.edi.
24508
529cc99a
VS
245092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24510
24511 Add i386-pc-pxe image target.
24512
24513 * util/grub-mkimage.c (image_target_desc): New enum value
24514 IMAGE_I386_PC_PXE.
24515 (image_targets): New target i386-pc-pxe.
24516 (generate_image): Handle i386-pc-pxe image.
24517
9a093920
VS
245182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24519
24520 Fix grub_pxe_scan.
24521
24522 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24523 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24524 All users updated.
24525 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24526 (grub_pxe_pxenv): Correct type.
24527
f9cefc4e
CW
245282010-09-01 Colin Watson <cjwatson@ubuntu.com>
24529
24530 * NEWS: Document most of the important changes since 1.98.
24531
4066f57f
CW
245322010-09-01 Colin Watson <cjwatson@ubuntu.com>
24533
24534 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24535 generated manual page) a little.
24536
da2891f9
CW
245372010-09-01 Colin Watson <cjwatson@ubuntu.com>
24538
24539 * docs/grub.texi: Add myself as an author.
24540
ad717fae
VS
245412010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24542
24543 * Makefile.util.def (libgrub.a): Add missing sunpc.
24544 Reported by: Seth Goldberg.
24545
eefe8abd
VS
245462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 Interrupt wrapping and code simplifications.
24549
9494ef9a
VS
24550 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24551 x86_noieee1275 which are functionaly equivalent in this case.
24552 (grub-install): Make source on each platform explicit. Enable on
24553 all noemu.
24554 * gentpl.py (x86_efi_pc): Removed group.
24555 (x86_noefi): Likewise.
24556 (i386_noefi): Likewise.
24557 (x86_noieee1275): Likewise.
24558 (i386_noieee1275): Likewise.
24559 (i386_noefi_noieee1275): Likewise.
24560 (i386_pc_qemu_coreboot): Likewise.
24561 (i386_coreboot_multiboot): Likewise.
24562 (i386_pc_coreboot_multiboot_qemu): Likewise.
24563 (x86_noefi_mips): Likewise.
24564 (noieee1275): Likewise.
24565 (ieee1275_mips): Likewise.
24566 (noemu_noieee1275): Likewise.
24567 (cmos): New group.
24568 (usb): Likewise.
24569 (videoinkernel): Likewise.
24570 (videomodules): Likewise.
eefe8abd 24571 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24572 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24573 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24574 include/grub/loader.h, include/grub/msdos_partition.h,
24575 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24576 include/grub/machine/console.h, include/grub/machine/vga.h,
24577 include/grub/machine/vbe.h, include/grub/machine/init.h,
24578 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24579 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24580 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24581 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24582 * grub-core/Makefile.core.def (kernel): Explicit the source for
24583 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24584 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24585 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24586 Use videoinkernel tag.
24587 (usb): Enable on all usb.
24588 (usbserial_common): Likewise.
24589 (usbserial_pl2303): Likewise.
24590 (usbserial_ftdi): Likewise.
24591 (uhci): Enable on all x86.
24592 (ohci): Enable on all pci.
24593 (cmostest): Enable on all CMOS.
24594 (acpi): Include commands/acpi.c on all platforms.
24595 (halt): Add relevant lib/*/halt.c.
24596 (hdparm): Enable on all pci.
24597 (lspci): Likewise.
24598 (usbtest): Enable on all usb.
24599 (ata): Enable on all pci.
24600 (ata_pthru): Likewise.
24601 (usbms): Enable on all usb.
24602 (usb_keyboard): Likewise.
24603 (font): Use tag videomodules.
24604 (bufio): Likewise.
24605 (datetime): Use tag cmos. Enable on all noemu.
24606 (mmap): Use tags common and x86.
24607 (gfxterm): Use tag videomodules.
24608 (bitmap): Likewise.
24609 (bitmap_scale): Likewise.
24610 (video_fb): Likewise.
24611 (video): Likewise.
24612 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24613 adjust padding accordingly. All users updated.
24614 (grub_ohci_transaction): Fix bad format specification.
24615 (GRUB_MOD_INIT): Add asserts for struct size.
24616 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24617 (grub_alloc_td): Likewise.
24618 (grub_free_queue): Likewise.
24619 (grub_uhci_transfer): Likewise.
24620 (grub_uhci_transaction): Fix bad format specification.
24621 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24622 (grub_usb_bulk_readwrite): Likewise.
24623 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24624 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24625 Made static.
24626 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24627 Made static.
24628 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24629 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24630 Transformed into C.
24631 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24632 Moved from here ...
24633 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24634 ... here. Transformed into C. Made static.
24635 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24636 Moved from here ...
24637 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24638 ... here. Transformed into C. Made static.
24639 * grub-core/kern/i386/pc/startup.S
24640 (grub_biosdisk_check_int13_extensions): Moved from here ...
24641 * grub-core/disk/i386/pc/biosdisk.c
24642 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24643 Made static.
24644 * grub-core/kern/i386/pc/startup.S
24645 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24646 * grub-core/disk/i386/pc/biosdisk.c
24647 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24648 Transformed into C. Made static.
24649 * grub-core/kern/i386/pc/startup.S
24650 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24651 * grub-core/disk/i386/pc/biosdisk.c
24652 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24653 Transformed into C. Made static.
24654 * grub-core/kern/i386/pc/startup.S
24655 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24656 * grub-core/disk/i386/pc/biosdisk.c
24657 (grub_biosdisk_get_diskinfo_standard): ... here.
24658 Transformed into C. Made static.
24659 * grub-core/kern/i386/pc/startup.S
24660 (grub_biosdisk_get_num_floppies): Moved from here ...
24661 * grub-core/disk/i386/pc/biosdisk.c
24662 (grub_biosdisk_get_num_floppies): ... here.
24663 Transformed into C. Made static.
24664 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24665 New function.
24666 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24667 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24668 Transformed into C. Made static.
24669 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24670 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24671 Transformed into C. Made static.
24672 * grub-core/kern/i386/ieee1275/init.c: Removed.
24673 * grub-core/kern/i386/misc.S: Likewise.
24674 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24675 Splitted from here ...
24676 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24677 Transformed into C. Made static. All users updated.
24678 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24679 Transformed into C. Made static. All users updated.
24680 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24681 Moved from here...
24682 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24683 Transformed into C. Made static. All users updated.
24684 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24685 Moved from here...
24686 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24687 Transformed into C. Made static. All users updated.
24688 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24689 Removed (replaced by C version).
24690 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24691 Moved from here...
24692 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24693 Transformed into C. Made static.
24694 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24695 Moved from here...
24696 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24697 ... here. Transformed into C.
24698 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24699 Moved from here...
24700 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24701 ... here. Transformed into C.
24702 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24703 Moved from here...
24704 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24705 ... here. Transformed into C. Made static.
24706 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24707 Moved from here...
24708 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24709 ... here. Transformed into C.
21ed554b
VS
24710 * grub-core/kern/i386/pc/startup.S
24711 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24712 * grub-core/video/i386/pc/vbe.c
24713 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24714 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24715 Moved from here...
24716 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24717 ... here. Transformed into C.
24718 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24719 Moved from here...
24720 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24721 ... here. Transformed into C.
24722 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24723 Moved from here...
24724 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24725 ... here. Transformed into C.
24726 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24727 Moved from here...
24728 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24729 ... here. Transformed into C.
24730 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24731 Moved from here...
24732 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24733 ... here. Transformed into C. Made static.
24734 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24735 Moved from here...
24736 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24737 ... here. Transformed into C. Made static.
24738 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24739 Moved from here...
24740 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24741 ... here. Transformed into C. Made static.
24742 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24743 pxe_rm_entry as third argument.
24744 (grub_bios_interrupt): New function.
24745 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24746 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24747 of calling grub_stop.
24748 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24749 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24750 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24751 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24752 * grub-core/lib/i386/halt.c: Moved from here ...
24753 * grub-core/lib/i386/halt.c: ... here.
24754 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24755 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24756 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24757 grub_stop_floppy.
24758 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24759 * include/grub/i386/coreboot/init.h: Removed.
24760 * include/grub/i386/multiboot/init.h: Likewise.
24761 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24762 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24763 * include/grub/i386/pc/int.h: New file.
24764 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24765 (grub_pxe_scan): Removed.
24766 (grub_pxe_call): Update prototype.
24767 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24768 prototypes.
24769 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24770 * include/grub/i386/qemu/init.h: Removed.
24771 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24772 noreturn.
24773 (grub_halt): Likewise.
24774 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24775 (grub_reboot): Likewise.
24776 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24777 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24778 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24779
215dd471
RM
247802010-08-30 Robert Millan <rmh@gnu.org>
24781
24782 * NEWS: Document addition of ZFS support in `grub-install' and
24783 `grub-mkconfig'.
24784
ebd65b82
BC
247852010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24786
24787 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24788 dprintf output.
24789
11721d19
VS
247902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 Remove leftover embedding of font objects.
24793
24794 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24795 * util/grub-install.in (font): Removed.
24796 * util/grub-mkimage.c (generate_image): Remove font support. All users
24797 updated.
24798
37837d4e
VS
247992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 Remove leftover embedding of font objects.
24802
24803 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24804 * util/grub-install.in (font): Removed.
24805 * util/grub-mkimage.c (generate_image): Remove font support. All users
24806 updated.
24807
b4c1aae0
VS
248082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24811 Reported by: Ian Turner
b4c1aae0 24812
8920a08d
VS
248132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24814
24815 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24816 timeout to avoid indefinite boot stalling.
24817
f21db033
VS
248182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24819
24820 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24821 (grub_env_write_color_highlight): Likewise.
24822
9a9de209
VS
248232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 * grub-core/normal/term.c (print_more): Return to normal and not
24826 to standard state after printing "---MORE---".
24827
3dca01d7
VS
248282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24829
24830 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24831 Mask out the bit 0x80 since it has other meaning that specifiing color.
24832
0b986c40
VS
248332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 New relocator. Allows for more kernel support and more straightforward
24836 loader writing.
24837
24838 * Makefile.am (BOOTTARGET): New variable.
24839 (QEMU32): Likewise.
24840 (linux.init.x86_64): New target.
24841 (linux.init.i386): Likewise.
24842 (multiboot.elf): Likewise.
24843 (kfreebsd.elf): Likewise.
24844 (kfreebsd.aout): Likewise.
24845 (pc-chainloader.elf): Likewise.
24846 (pc-chainloader.bin): Likewise.
24847 (ntldr.elf): Likewise.
24848 (ntldr.bin): Likewise.
24849 (multiboot2.elf): Likewise.
24850 (kfreebsd.init.x86_64): Likewise.
24851 (kfreebsd.init.i386): Likewise.
24852 (knetbsd.init.i386): Likewise.
24853 (kopenbsd.init.i386): Likewise.
24854 (knetbsd.init.x86_64): Likewise.
24855 (kopenbsd.init.x86_64): Likewise.
24856 (linux-initramfs.i386): Likewise.
24857 (linux-initramfs.x86_64): Likewise.
24858 (kfreebsd-mfsroot.i386.img): Likewise.
24859 (knetbsd.image.i386): Likewise.
24860 (kopenbsd.image.i386): Likewise.
24861 (kopenbsd.image.x86_64): Likewise.
24862 (knetbsd.miniroot-image.i386.img): Likewise.
24863 (kfreebsd-mfsroot.x86_64.img): Likewise.
24864 (knetbsd.image.x86_64): Likewise.
24865 (knetbsd.miniroot-image.x86_64.img): Likewise.
24866 (kfreebsd-mfsroot.i386.gz): Likewise.
24867 (bootcheck-kfreebsd-i386): Likewise.
24868 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24869 (bootcheck-kfreebsd-x86_64): Likewise.
24870 (knetbsd.miniroot-image.i386.gz): Likewise.
24871 (bootcheck-knetbsd-i386): Likewise.
24872 (bootcheck-kopenbsd-i386): Likewise.
24873 (bootcheck-kopenbsd-x86_64): Likewise.
24874 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24875 (bootcheck-knetbsd-x86_64): Likewise.
24876 (bootcheck-linux-i386): Likewise.
24877 (bootcheck-linux-x86_64): Likewise.
24878 (bootcheck-linux16-i386): Likewise.
24879 (bootcheck-linux16-x86_64): Likewise.
24880 (bootcheck-multiboot): Likewise.
24881 (bootcheck-multiboot2): Likewise.
24882 (bootcheck-kfreebsd-aout): Likewise.
24883 (bootcheck-pc-chainloader): Likewise.
24884 (bootcheck-ntldr): Likewise.
24885 (CLEANFILES): Add new targets.
24886 (BOOTCHECKS): New variable.
24887 (.PHONY): Add bootchecks.
24888 (SUCCESSFUL_BOOT_STRING): New variable.
24889 (BOOTCHECK_TIMEOUT): Likewise.
24890 (bootcheck): New target
24891 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24892 * configure.ac: Correct efiemu excuse.
24893 * docs/grub.texi (Supported kernels): New chapter.
24894 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24895 include/grub/mm_private.h. Simplify inclusion of
24896 include/grub/boot.h, include/grub/loader.h
24897 and include/grub/msdos_partition.h
24898 (KERNEL_HEADER_FILES) [i386_coreboot]:
24899 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24900 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24901 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24902 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24903 include/grub/machine/loader.h.
24904 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24905 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24906 extra_dist.
24907 (pci.mod): Enable on i386-multiboot.
24908 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24909 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24910 i386-qemu.
24911 (relocator.mod): Rewritten.
24912 (aout.mod): Enable on all x86.
24913 (bsd.mod): Likewise.
24914 (ntldr.mod): New module.
24915 (linux.mod): Use loader/i386/linux.c on all x86.
24916 (xnu.mod): Enable on all x86.
24917 (vga_text.mod): disable on EFI and QEMU.
24918 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24919 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24920 * grub-core/efiemu/loadcore.c: Likewise.
24921 * grub-core/efiemu/main.c: Likewise.
24922 (grub_efiemu_exit_boot_services): Removed.
24923 (grub_efiemu_finish_boot_services): Likewise.
24924 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24925 function.
24926 * grub-core/efiemu/i386/nocfgtables.c: New file.
24927 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24928 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24929 (grub_efi_finish_boot_services): Moved from here ...
24930 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24931 Fille finish memory map and related data.
24932 (finish_mmap_buf): New variable.
24933 (grub_efi_uintn_t finish_mmap_size): Likewise.
24934 (grub_efi_uintn_t finish_key): Likewise.
24935 (grub_efi_uintn_t finish_desc_size): Likewise.
24936 (grub_efi_uint32_t finish_desc_version): Likewise.
24937 (grub_efi_is_finished): Likewise.
24938 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24939 finished.
24940 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24941 (grub_elf64_phdr_iterate): Likewise.
24942 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24943 (grub_os_area_size): Likewise.
24944 (grub_machine_init): Don't reserve os area.
24945 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24946 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24947 * grub-core/kern/i386/loader.S: Removed.
24948 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24949 (grub_os_area_size): Likewise.
24950 (grub_machine_init): Don't reserve os area.
24951 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24952 Don't call grub_dl_unload_all.
24953 Don't include loader.S.
24954 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24955 Declare the memory after _end as available.
24956 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24957 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24958 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24959 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24960 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24961 * include/grub/mm_private.h (grub_mm_header): ... here.
24962 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24963 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24964 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24965 (grub_mm_region): ..here. Removed addr. Added pre_size.
24966 All users updated.
24967 * grub-core/kern/mm.c (base): Renamed to ...
24968 (grub_mm_base): ... this. Made global.
24969 (grub_real_malloc): Alloc from end of region.
24970 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24971 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24972 * grub-core/kern/powerpc/cache_flush.S: ... here.
24973 * grub-core/lib/efi/relocator.c: New file.
24974 * grub-core/lib/i386/relocator.c: Rewritten.
24975 * grub-core/lib/i386/relocator16.S: New file.
24976 * grub-core/lib/i386/relocator32.S: Likewise.
24977 * grub-core/lib/i386/relocator64.S: Likewise.
24978 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24979 * grub-core/lib/i386/relocator_common.S: New file.
24980 * grub-core/lib/ieee1275/relocator.c: Likewise.
24981 * grub-core/lib/mips/relocator.c: Rewritten.
24982 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24983 stylistic adjustments.
24984 * grub-core/lib/powerpc/relocator.c: New file.
24985 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24986 * grub-core/lib/relocator.c: Rewritten.
24987 * grub-core/lib/x86_64/relocator_asm.S: New file.
24988 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24989 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24990 (bsd_tag): New struct.
24991 (tags): New variable.
24992 (tags_last): Likewise.
24993 (netbsd_module): New struct.
24994 (netbsd_mods): New variable.
24995 (netbsd_mods_last): Likewise.
24996 (openbsd_opts): New parameter "serial".
24997 (OPENBSD_SERIAL_ARG): New definition.
24998 (netbsd_opts): New parameter "serial".
24999 (NETBSD_SERIAL_ARG): New definition.
25000 (grub_freebsd_add_meta): Reorganised into ...
25001 (grub_bsd_add_meta): ...this. All users updated.
25002 (grub_freebsd_add_mmap): Reorganised into ...
25003 (generate_e820_mmap): ...this...
25004 (grub_bsd_add_mmap): ...and this. All users updated.
25005 (grub_freebsd_list_modules): Use tags.
25006 (grub_netbsd_add_meta_module): New function.
25007 (grub_netbsd_list_modules): Likewise.
25008 (grub_freebsd_boot): Use relocator and finish EFI.
25009 (grub_openbsd_boot): Likewise.
25010 (grub_netbsd_setup_video): New function.
25011 (grub_netbsd_add_modules): Likewise.
25012 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25013 and finish EFI.
25014 (grub_bsd_unload): Unload tags.
25015 (grub_bsd_load_aout): Use relocator.
25016 (grub_bsd_elf32_size_hook): New function.
25017 (grub_bsd_elf32_hook): Use relocator.
25018 (grub_bsd_elf64_size_hook): New function.
25019 (grub_bsd_elf64_hook): Use relocator.
25020 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25021 (grub_bsd_load): Zero-out openbsd_ramdisk.
25022 (grub_bsd_load): Use relocator.
25023 (grub_cmd_openbsd): Support serial.
25024 (grub_cmd_netbsd): Support modules.
25025 (grub_cmd_freebsd_module): Use relocator.
25026 (grub_netbsd_module_load): New function.
25027 (grub_cmd_netbsd_module): Likewise.
25028 (grub_cmd_openbsd_ramdisk): Likewise.
25029 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25030 kopenbsd_ramdisk.
25031 (GRUB_MOD_FINI): Unregister new commands.
25032 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25033 (grub_freebsd_load_elfmodule_obj): Use relocator.
25034 (grub_freebsd_load_elfmodule): Likewise.
25035 (grub_freebsd_load_elf_meta): Likewise.
25036 (grub_netbsd_load_elf_meta): New function.
25037 (grub_openbsd_find_ramdisk): Likewise.
25038 * grub-core/loader/i386/bsd_helper.S: Removed.
25039 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25040 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25041 * grub-core/loader/i386/efi/linux.c: Likewise.
25042 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25043 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25044 (DEFAULT_VIDEO_MODE): Likewise.
25045 (real_mode_target): New variable.
25046 (prot_mode_target): Likewise.
25047 (initrd_mem_target): Likewise.
25048 (relocator): Likewise.
25049 (efi_mmap_buf): Likewise.
25050 (efi_mmap_size): Likewise.
25051 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25052 (free_pages): Use relocator.
25053 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25054 (grub_linux_setup_video): Return error.
25055 (grub_linux_trampoline_start): Removed.
25056 (grub_linux_trampoline_end): Likewise.
25057 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25058 andd video parameters depending on firmware.
25059 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25060 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25061 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25062 (grub_cmd_initrd): Use relocator.
25063 * grub-core/loader/i386/linux_trampoline.S: Removed.
25064 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25065 (elf_sec_entsize): Likewise.
25066 (elf_sec_shstrndx): Likewise.
25067 (elf_sections): Likewise.
25068 (grub_multiboot_load): Use relocator.
25069 (grub_multiboot_get_mbi_size): Account for sections.
25070 (grub_multiboot_make_mbi): Use relocator and support sections.
25071 (grub_multiboot_add_elfsyms): New function.
25072 (grub_multiboot_free_mbi): Free sections.
25073 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25074 (grub_linux_real_target): Likewise.
25075 (grub_linux_real_chunk): Likewise.
25076 (grub_linux16_prot_size): Likewise.
25077 (grub_linux16_boot): Use relocator.
25078 (grub_linux_unload): Unload relocator.
25079 (grub_cmd_linux): Use relocator.
25080 (grub_cmd_initrd): Likewise.
25081 * grub-core/loader/i386/pc/ntldr.c: New file.
25082 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25083 Don't try to guess CPU frequency.
25084 (grub_xnu_set_video): Stretch bitmap.
25085 (grub_xnu_boot): Use relocator.
25086 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25087 (grub_linux_unload): Free relocator.
25088 (grub_linux_load32): Use relocator.
25089 (grub_linux_load64): Likewise.
25090 (grub_cmd_initrd): Likewise.
25091 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25092 (grub_multiboot_unload): Unload relocator.
25093 (grub_cmd_multiboot): Use relocator.
25094 (grub_cmd_module): Likewise.
25095 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25096 Use relocator and support sections.
25097 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25098 (elf_sec_entsize): Likewise.
25099 (elf_sec_shstrndx): Likewise.
25100 (elf_sections): Likewise.
25101 (grub_multiboot_load): Use relocator.
25102 (grub_multiboot_get_mbi_size): Account for sections.
25103 (grub_multiboot_make_mbi): Use relocator and support sections.
25104 (grub_multiboot_add_elfsyms): New function.
25105 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25106 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25107 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25108 Prototype changed. All users updated.
25109 (grub_xnu_align_heap): Simplified.
25110 (grub_xnu_writetree_toheap): Likewise.
25111 (grub_xnu_unload): Unload relocator.
25112 (grub_cmd_xnu_kernel): Use relocator.
25113 (grub_cmd_xnu_kernel64): Likewise.
25114 (grub_xnu_register_memory): Simplified.
25115 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
25116 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25117 EFI is finished.
25118 (grub_console_checkkey): Likewise.
25119 (grub_console_getkey): Likewise.
25120 (grub_console_getwh): Likewise.
25121 (grub_console_getxy): Likewise.
25122 (grub_console_gotoxy): Likewise.
25123 (grub_console_cls): Likewise.
25124 (grub_console_setcolorstate): Likewise.
25125 (grub_console_setcursor): Likewise.
25126 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25127 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25128 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25129 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25130 * grub-core/tests/boot/kernel-8086.S: Likewise.
25131 * grub-core/tests/boot/kernel-i386.S: Likewise.
25132 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25133 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25134 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25135 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25136 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25137 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25138 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25139 * grub-core/tests/boot/linux.cfg: Likewise.
25140 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25141 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25142 * grub-core/tests/boot/linux16.cfg: Likewise.
25143 * grub-core/tests/boot/multiboot.cfg: Likewise.
25144 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25145 * grub-core/tests/boot/ntldr.cfg: Likewise.
25146 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25147 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25148 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25149 New definition.
25150 * include/grub/dl.h (grub_dl_unload_all): Removed.
25151 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25152 (grub_efi_finish_boot_services): Change prototype.
25153 (grub_efi_is_finished): New variable.
25154 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25155 Changed prototype.
25156 (grub_efiemu_finish_boot_services): Removed.
25157 (grub_machine_efiemu_init_tables): New prototype.
25158 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25159 (grub_elf64_phdr_iterate): Likewise.
25160 * include/grub/i386/bsd.h: Include relocator.h.
25161 (freebsd_tag_header): New struct.
25162 (grub_openbsd_bios_mmap): Removed.
25163 (grub_unix_real_boot): Removed.
25164 (grub_freebsd_load_elfmodule32): Changed prototype.
25165 (grub_freebsd_load_elfmodule_obj64): Likewise.
25166 (grub_freebsd_load_elf_meta32): Likewise.
25167 (grub_freebsd_load_elf_meta64): Likewise.
25168 (grub_freebsd_add_meta): Removed.
25169 (grub_netbsd_load_elf_meta32): New prototype.
25170 (grub_netbsd_load_elf_meta64): Likewise.
25171 (grub_bsd_add_meta): Likewise.
25172 (grub_openbsd_ramdisk_descriptor): New struct.
25173 (grub_openbsd_find_ramdisk32): New prototype.
25174 (grub_openbsd_find_ramdisk64): Likewise.
25175 * include/grub/i386/coreboot/loader.h: Removed.
25176 * include/grub/i386/efi/loader.h: Likewise.
25177 * include/grub/i386/ieee1275/loader.h: Likewise.
25178 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25179 to grub_uint32_t.
25180 * include/grub/i386/loader.h: Removed.
25181 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25182 value.
25183 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25184 (grub_phys_addr_t): New type.
25185 (grub_vtop): New inline function.
25186 (grub_map_memory): Likewise.
25187 (grub_unmap_memory): Likewise.
25188 * include/grub/i386/multiboot/loader.h: Removed.
25189 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25190 (NETBSD_BTINFO_CONSOLE): New definition.
25191 (NETBSD_BTINFO_SYMTAB): Likewise.
25192 (NETBSD_BTINFO_MODULES): Likewise.
25193 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25194 (grub_netbsd_bootinfo): New struct.
25195 (grub_netbsd_btinfo_common): Use explicit bitsize.
25196 (grub_netbsd_btinfo_mmap_entry): Removed.
25197 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25198 (grub_netbsd_btinfo_bootdisk): New struct.
25199 (grub_netbsd_btinfo_symtab): Likewise.
25200 (grub_netbsd_btinfo_serial): Likewise.
25201 (grub_netbsd_btinfo_modules): Likewise.
25202 (grub_netbsd_btinfo_framebuf): Likewise.
25203 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25204 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25205 Likewise.
25206 (grub_openbsd_bootargs): Use explicit bitsize.
25207 (grub_openbsd_bootarg_console): New struct.
25208 (GRUB_OPENBSD_COM_MAJOR): New definition.
25209 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25210 * include/grub/i386/pc/efiemu.h: Removed.
25211 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25212 * include/grub/i386/qemu/loader.h: Removed.
25213 * include/grub/i386/relocator.h: Rewritten.
25214 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25215 * include/grub/mips/memory.h: New file.
25216 * include/grub/mips/multiboot.h: Rewritten.
25217 * include/grub/mips/relocator.h: Rewritten.
25218 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25219 (grub_vtop): New function.
25220 (grub_map_memory): Likewise.
25221 (grub_unmap_memory): Likewise.
25222 * include/grub/misc.h (ALIGN_DOWN): New definition.
25223 * include/grub/mm.h (grub_mm_check_real): New proto.
25224 (GRUB_MM_CHECK): New definition.
25225 * include/grub/mm_private.h: New file.
25226 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25227 (grub_multiboot_get_mbi_size): Removed.
25228 (grub_multiboot_make_mbi): Change prottype.
25229 (grub_multiboot_set_accepts_video): New proto.
25230 (grub_multiboot_add_elfsyms): Likewise.
25231 (grub_multiboot_payload_eip): New variable.
25232 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25233 New prototype.
25234 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25235 New definition.
25236 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25237 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25238 * include/grub/powerpc/ieee1275/loader.h: Removed.
25239 * include/grub/powerpc/memory.h: New file.
25240 * include/grub/powerpc/relocator.h: Likewise.
25241 * include/grub/relocator.h: Likewise.
25242 * include/grub/relocator_private.h: Likewise.
25243 * include/grub/sparc64/ieee1275/loader.h: Removed.
25244 * include/grub/x86_64/memory.h: New file.
25245 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25246 (grub_xnu_heap_malloc): Likewise.
25247 (grub_xnu_heap_real_start): Removed.
25248 (grub_xnu_heap_start): Likewise.
25249 (grub_xnu_relocator): New variable.
25250 (grub_xnu_heap_target_start): Likewise.
25251 * tests/util/grub-shell.in: Support non-pc.
25252 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 25253
5303b85d
VS
252542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25257 on malloc error.
25258 (grub_bidi_logical_to_visual): Check that malloc succeded.
25259 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25260 puts.
25261 (grub_xputs_normal): Likewise.
25262
d768d159
VS
252632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25264
25265 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25266 extra_dist.
25267
252682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25271
5bf84df4
VS
252722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25275
3626810e
VS
252762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25279 dprintf.
25280
a7363f53
BC
252812010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25282
25283 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25284
902f75f6
VS
252852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25286
25287 * grub-core/normal/term.c (print_more): Fix a memory leak.
25288 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25289 (grub_xputs_normal): Likewise.
25290
3c707967
VS
252912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25292
25293 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25294 the begining of the string
25295
2053cc07
VS
252962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25297
25298 * grub-core/script/script.c (grub_script_parse): Free parsed on
25299 failure.
25300
46422ebf
VS
253012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25302
25303 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25304 on failure.
25305
9e0fa3f6
VS
253062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25307
25308 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25309 return.
25310
3393cf16
VS
253112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25312
25313 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25314 (scroll_up): Fix a memory leak.
25315
b17540cb
VS
253162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25319 errors.
25320
67140446
VS
253212010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 Handle USB pendrives exposed as floppies.
25324
25325 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25326 floppy.
25327 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25328 Check for partitions on all devices.
25329
e35e46fc
VS
253302010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25333 (readkey): Likewise.
25334
d24c6190
BC
253352010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25336
25337 Multiple variable names support to "export" command.
25338
25339 * normal/context.c (grub_cmd_export): "export" command supports
25340 multiple variable names.
25341
04ddcc6a
ST
253422010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25343
25344 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25345 --target=drive output to Mach device name.
25346
0c8b61d8
BC
253472010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25348
25349 New Automake based build system for GRUB.
25350
25351 * ABOUT-NLS: New file.
25352 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25353 in Makefile.util.def file.
25354 * Makefile.util.def: New file. Autogen build definitions file for
25355 GRUB host utils.
25356 * conf/Makefile.common: New file. Common variables for GRUB host
25357 utils and target modules.
25358 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25359 * docs/Makefile.am: New file. Automake file for docs.
25360 * gentpl.py: New file. Python script to generate Autogen
25361 template.
25362 * grub-core/Makefile.am: New file. GRUB target modules' rules
25363 that doesn't fit in Makefile.core.def file.
25364 * grub-core/Makefile.core.def: New file. Autogen build
25365 definitions file for GRUB target modules.
25366 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25367 specific setjmp.S file.
25368 * po/Makefile.am: New file.
25369
25370 * .bzrignore: New ignores.
25371 * INSTALL: New requirements, without Ruby.
25372 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25373 * autogen.sh: Updated to invoke autogen as necessary.
25374 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25375 and defines for Automake conditionals.
25376 * geninit.sh: Refactoring.
25377
25378 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25379 necessary.
25380 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25381 New prototype.
25382
25383 * include/grub/test.h: Fix functional test modules' naming.
25384 * grub-core/tests/example_functional_test.c: Fix test module name.
25385
25386 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25387 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25388 * util/grub-editenv.c: Likewise.
25389 * util/grub-fstest.c: Likewise.
25390 * util/grub-mkdevicemap.c: Likewise.
25391 * util/grub-mkfont.c: Likewise.
25392 * util/grub-mkimage.c: Likewise.
25393 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25394 * util/grub-probe.c: Likewise.
25395 * util/grub-script-check.c: Likewise.
25396 * util/i386/pc/grub-setup.c: Likewise.
25397 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25398
25399 * tests/util/grub-shell.in: Fix override directory path.
25400 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25401 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25402
25403 * util/lvm.c: Update #includes.
25404 * util/raid.c: Likewise.
25405 * util/resolve.c: Likewise.
25406 * grub-core/bus/emu/pci.c: Likewise.
25407 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25408 * grub-core/lib/posix_wrap/string.h: Likewise.
25409 * grub-core/kern/emu/main.c: Likewise.
25410
25411 * grub-core/gensymlist.sh: New file. Script for generating kernel
25412 symbols file.
25413 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25414
25415 * grub-core/gentrigtables.c: Fix unused variable warnings.
25416
25417 * Makefile.in: Removed.
25418 * conf/any-emu.rmk: Removed.
25419 * conf/common.rmk: Removed.
25420 * conf/i386-coreboot.rmk: Removed.
25421 * conf/i386-efi.rmk: Removed.
25422 * conf/i386-ieee1275.rmk: Removed.
25423 * conf/i386-multiboot.rmk: Removed.
25424 * conf/i386-pc.rmk: Removed.
25425 * conf/i386-qemu.rmk: Removed.
25426 * conf/i386.rmk: Removed.
25427 * conf/mips-yeeloong.rmk: Removed.
25428 * conf/mips.rmk: Removed.
25429 * conf/powerpc-ieee1275.rmk: Removed.
25430 * conf/sparc64-ieee1275.rmk: Removed.
25431 * conf/tests.rmk: Removed.
25432 * conf/x86-efi.rmk: Removed.
25433 * conf/x86_64-efi.rmk: Removed.
25434 * gendistlist.sh: Removed.
25435 * geninitheader.sh: Removed.
25436 * genkernsyms.sh.in: Removed.
25437 * genmk.rb: Removed.
25438 * gensymlist.sh.in: Removed.
25439 * mkinstalldirs: Removed.
25440 * boot: Moved ...
25441 * grub-core/boot: ... to here.
25442 * bus: Moved ...
25443 * grub-core/bus: ... to here.
25444 * commands: Moved ...
25445 * grub-core/commands: ... to here.
25446 * disk: Moved ...
25447 * grub-core/disk: ... to here.
25448 * efiemu: Moved ...
25449 * grub-core/efiemu: ... to here.
25450 * font: Moved ...
25451 * grub-core/font: ... to here.
25452 * fs: Moved ...
25453 * grub-core/fs: ... to here.
25454 * gencmdlist.sh: Moved ...
25455 * grub-core/gencmdlist.sh: ... to here.
25456 * genemuinit.sh: Moved ...
25457 * grub-core/genemuinit.sh: ... to here.
25458 * genemuinitheader.sh: Moved ...
25459 * grub-core/genemuinitheader.sh: ... to here.
25460 * genfslist.sh: Moved ...
25461 * grub-core/genfslist.sh: ... to here.
25462 * genhandlerlist.sh: Moved ...
25463 * grub-core/genhandlerlist.sh: ... to here.
25464 * genmoddep.awk: Moved ...
25465 * grub-core/genmoddep.awk: ... to here.
25466 * genmodsrc.sh: Moved ...
25467 * grub-core/genmodsrc.sh: ... to here.
25468 * genpartmaplist.sh: Moved ...
25469 * grub-core/genpartmaplist.sh: ... to here.
25470 * genparttoollist.sh: Moved ...
25471 * grub-core/genparttoollist.sh: ... to here.
25472 * genterminallist.sh: Moved ...
25473 * grub-core/genterminallist.sh: ... to here.
25474 * gentrigtables.c: Moved ...
25475 * grub-core/gentrigtables.c: ... to here.
25476 * genvideolist.sh: Moved ...
25477 * grub-core/genvideolist.sh: ... to here.
25478 * gettext: Moved ...
25479 * grub-core/gettext: ... to here.
25480 * gfxmenu: Moved ...
25481 * grub-core/gfxmenu: ... to here.
25482 * gnulib: Moved ...
25483 * grub-core/gnulib: ... to here.
25484 * hello: Moved ...
25485 * grub-core/hello: ... to here.
25486 * hook: Moved ...
25487 * grub-core/hook: ... to here.
25488 * io: Moved ...
25489 * grub-core/io: ... to here.
25490 * kern: Moved ...
25491 * grub-core/kern: ... to here.
25492 * lib: Moved ...
25493 * grub-core/lib: ... to here.
25494 * loader: Moved ...
25495 * grub-core/loader: ... to here.
25496 * mmap: Moved ...
25497 * grub-core/mmap: ... to here.
25498 * normal: Moved ...
25499 * grub-core/normal: ... to here.
25500 * partmap: Moved ...
25501 * grub-core/partmap: ... to here.
25502 * parttool: Moved ...
25503 * grub-core/parttool: ... to here.
25504 * script: Moved ...
25505 * grub-core/script: ... to here.
25506 * term: Moved ...
25507 * grub-core/term: ... to here
25508 * tests/example_functional_test.c: Moved ...
25509 * grub-core/tests/example_functional_test.c: ... to here.
25510 * tests/lib/functional_test.c: Moved ...
25511 * grub-core/tests/lib/functional_test.c: ... to here.
25512 * tests/lib/test.c: Moved ...
25513 * grub-core/tests/lib/test.c: ... to here.
25514 * video: Moved ...
25515 * grub-core/video: ... to here.
25516
645586e6
BC
255172010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25518
25519 Replace --enable-grub-emu-modules with grub-emu-lite.
25520
25521 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25522 cache.S.
25523
25524 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25525 * kern/emu/full.c: New file. For grub-emu specific initialization.
25526 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25527 * kern/emu/main.c: Call initialization function grub_emu_init.
25528
25529 * Makefile.in: Include grub-emu-lite in install.
25530 * commands/parttool.c: Use grub_no_autoload to differentiate
25531 between grub-emu and grub-emu-lite.
25532 * include/grub/misc.h: New variable grub_no_autoload.
25533
25534 * conf/any-emu.rmk: New rules for grub-emu-lite.
25535 * configure.ac: Remove --enable-grub-emu-modules.
25536 * genmk.rb: Cleanup unnecessary rules.
25537 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25538
25539 * normal/main.c: Don't load list files on grub-emu-lite.
25540 * util/misc.c (grub_arch_sync_caches): Removed.
25541
f86a4030
CW
255422010-08-23 Colin Watson <cjwatson@ubuntu.com>
25543
25544 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25545 grub-mkimage rather than grub-mkelfimage.
25546 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25547
06776944
VS
255482010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25551 a key after CapsLock or NumLock. It's just a qemu bug.
25552
df262419
VS
255532010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25554
25555 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25556 needed by libusb wrapper.
25557
b40ea81b
ST
255582010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25559
25560 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25561
dee50575
VS
255622010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25563
25564 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25565 --nounzip is passed.
25566
fb1d7b79
VS
255672010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25568
25569 USB hotunplugging and USB serial support.
25570
25571 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25572 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25573 (grub_uhci_transfer): Respect timeout and set *actual.
25574 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25575 non-standard length.
25576 (grub_usb_device_attach): Autoload modules.
25577 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25578 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25579 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25580 users updated.
25581 (grub_usb_add_hub): Fill nports and children.
25582 (attach_root_port): Receive hub instead of controller.
25583 All users updated. Fill hub->devices.
25584 (grub_usb_root_hub): Allocate hub->devices.
25585 (detach_device): New function.
25586 (poll_nonroot_hub): Fill children and detach devices.
25587 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25588 actual arguments. All users updated.
25589 (grub_usb_bulk_read_extended): New function.
25590 * bus/usb/serial/common.c: New file.
25591 * bus/usb/serial/ftdi.c: Likewise.
25592 * bus/usb/serial/pl2303.c: Likewise.
25593 * commands/terminal.c (handle_command): Support wildcard.
25594 * commands/usbtest.c: Output "Unknown" instead of empty string.
25595 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25596 (usbserial_common_mod_SOURCES): New variable.
25597 (usbserial_common_mod_CFLAGS): Likewise.
25598 (usbserial_common_mod_LDFLAGS): Likewise.
25599 (pkglib_MODULES): Add usbserial_pl2303.mod.
25600 (usbserial_pl2303_mod_SOURCES): New variable.
25601 (usbserial_pl2303_mod_CFLAGS): Likewise.
25602 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25603 (pkglib_MODULES): Add usbserial_ftdi.mod.
25604 (usbserial_ftdi_mod_SOURCES): New variable.
25605 (usbserial_ftdi_mod_CFLAGS): Likewise.
25606 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25607 (pkglib_MODULES): Add serial.mod.
25608 (serial_mod_SOURCES): New variable.
25609 (serial_mod_CFLAGS): Likewise.
25610 (serial_mod_LDFLAGS): Likewise.
25611 * conf/i386-pc.rmk: Likewise.
25612 * conf/mips-yeeloong.rmk: Likewise.
25613 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25614 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25615 * disk/usbms.c (first_available_slot): New variable.
25616 (grub_usbms_attach): Don't reuse free slots due to potential cache
25617 problems.
25618 * include/grub/serial.h: Moved to ..
25619 * include/grub/ns8250.h: ...this.
25620 * include/grub/serial.h: New file.
25621 * include/grub/term.h (grub_term_poll_usb): New variable.
25622 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25623 readkey. All users updated.
25624 (grub_terminfo_output_state): Pass term to put.
25625 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25626 (grub_usb_controller_dev): Add timeout and actual arguments to
25627 transfer. All users updated.
25628 (grub_usb_interface): New field detach_data.
25629 (grub_usb_device): New fields children and nports.
25630 (grub_usb_ep_type_t): New type.
25631 (grub_usb_get_ep_type): New function.
25632 (grub_usb_bulk_read_extended): Likewise.
25633 * include/grub/usbdesc.h (grub_usb_desc): New type.
25634 * include/grub/usbserial.h: New file.
25635 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25636 * kern/term.c (grub_term_poll_usb): New variable.
25637 (grub_getkey): Call grub_term_poll_usb if set.
25638 (grub_checkkey): Likewise.
25639 (grub_getkeystatus): Likewise.
25640 * term/serial.c: Moved controller-specific parts to ...
25641 * term/ns8250.c: ... here.
25642 * term/serial.c: Mostly rewritten.
25643 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25644 according to spec.
25645
21a313de
RM
256462010-08-20 Robert Millan <rmh@gnu.org>
25647
25648 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25649 a separate module and maybe other interesting combinations.
25650
25651 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25652 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25653 (kfreebsd_entry): Add generic filesystem module load routine.
25654 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25655
63c734a6
CW
256562010-08-20 Colin Watson <cjwatson@ubuntu.com>
25657
25658 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25659 "numcenter" (I misunderstood the purpose of this entry).
25660 * docs/grub.texi (sendkey): Likewise.
25661
c4d16542
CW
256622010-08-20 Colin Watson <cjwatson@ubuntu.com>
25663
25664 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25665 status flag options; simply omitting the option is equivalent and
25666 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25667 (keysym_table): Rename "num5numlock" to "numlock".
25668 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25669 can uniformly say that only the last of multiple `sendkey'
25670 invocations has any effect.
25671 * docs/grub.texi (sendkey): New section.
25672
93541d66
CW
256732010-08-19 Colin Watson <cjwatson@ubuntu.com>
25674
25675 * commands/i386/pc/sendkey.c (options): Fix three typos.
25676
b4ece5e1
VS
256772010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 Implement sendkey support.
25680
25681 * commands/i386/pc/sendkey.c: New file.
25682 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25683 (sendkey_mod_SOURCES): New variable.
25684 (sendkey_mod_CFLAGS): Likewise.
25685 (sendkey_mod_LDFLAGS): Likewise.
25686
51f1f5af
CW
256872010-08-18 Colin Watson <cjwatson@ubuntu.com>
25688
25689 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25690 fix warnings from Autoconf.
25691
9da94e05
CW
256922010-08-18 Colin Watson <cjwatson@ubuntu.com>
25693
25694 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25695 to avoid false positives with some assemblers that output things
25696 like "someprefix_func" as part of their output.
25697
729a0f2e
RM
256982010-08-15 Robert Millan <rmh@gnu.org>
25699
25700 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25701 errors.
25702 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25703 grub_get_libzfs_handle() errors.
25704
f3710e08
RM
257052010-08-14 Robert Millan <rmh@gnu.org>
25706
25707 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25708 filesystem is not ZFS.
25709
7a3c13de
BC
257102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25711
25712 Fix for misspelled color names defaulting to black/black (bug
25713 reported by Doug Nazar)
25714
25715 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25716 status to prototype.
25717 * normal/color.c (grub_parse_color_name_pair): Return failure
25718 status.
25719 (grub_env_write_color_normal): Ignore bad color names.
25720 (grub_env_write_color_highlight): Likewise.
25721 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25722
ab8ba50d
BC
257232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25724
25725 "shift" command support to GRUB script.
25726
25727 * include/grub/script_sh.h (grub_script_shift): New prototype.
25728 * script/execute.c (grub_script_shift): New function.
25729 * script/main.c (grub_script_init): Register shift command.
25730 (grub_script_fini): Unregister shift command.
25731 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25732
25733 * tests/grub_script_shift.in: New testcase.
25734 * conf/tests.rmk: Rules for new testcase.
25735
4d61999e
BC
257362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25737
25738 "continue" command support to GRUB script.
25739
25740 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25741 (grub_script_break): Continue support.
25742 * script/main.c (grub_script_init): Register continue command.
25743 (grub_script_fini): Unregister continue command.
25744
25745 * tests/grub_script_continue.in: New testcase.
25746 * conf/tests.rmk: Rules for new testcase.
25747
4df51e00
BC
257482010-08-12 BVK Chaitanya <bvk@dbook>
25749
25750 "break" command support to GRUB script.
25751
25752 * conf/common.rmk: Rule updates to grub-script-check.
25753 * include/grub/misc.h (grub_min): New function.
25754 * include/grub/script_sh.h (grub_script_init): New prototype.
25755 (grub_script_fini): New prototype.
25756 (grub_script_break): New prototype.
25757 * script/main.c (grub_script_init): New function.
25758 (grub_script_fini): New function.
25759 * script/execute.c (grub_script_break): New function.
25760 * normal/main.c: Calls to grub_script_{init,fini}.
25761 * util/grub-script-check.c (grub_script_break): New function.
25762
25763 * tests/grub_script_break.in: New testcase.
25764 * conf/tests.rmk: Rules for new test case.
25765
f12c8420
BC
257662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25767
25768 Function parameters support to GRUB script.
25769
25770 * script/yylex.l (VARIABLE): Regular expression update.
25771 * script/function.c (grub_script_function_call): Moved ...
25772 * script/execute.c (grub_script_function_call): ... to here.
25773 (grub_script_execute_arglist_to_argv): Removed.
25774 (grub_script_arglist_to_argv): New function.
25775 * script/argv.c: New file.
25776 (grub_script_argv_free): New function.
25777 (grub_script_argv_next): Likewise.
25778 (grub_script_argv_append): Likewise.
25779 (grub_script_argv_split_append): Likewise.
25780 * include/grub/script_sh.h (grub_script_argv): New struct.
25781 (grub_script_argv_free): New function.
25782 (grub_script_argv_next): Likewise.
25783 (grub_script_argv_append): Likewise.
25784 (grub_script_argv_split_append): Likewise.
25785
25786 * conf/common.rmk (normal.mod): New source script/argv.c.
25787
25788 * tests/grub_script_echo1.in: More tests.
25789 * tests/grub_script_vars1.in: Likewise.
25790 * tests/grub_script_functions.in: New test case.
25791 * conf/tests.rmk: Rules for new testcase.
25792
8022b748
BC
257932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25794
25795 Remove grub_script_cmdblock struct.
25796
25797 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25798 * script/parser.y: Likewise.
25799 * script/execute.c: Rename cmdblock suffix to cmdlist.
25800 * script/script.c: Likewise.
25801 * util/grub-script-check.c: Likewise.
25802
79a6ba61
YB
258032010-08-11 Yves Blusseau <blusseau@zetam.org>
25804
25805 * .bzrignore: add grub-macho2img
25806
d04b9414
VS
258072010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25808
25809 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25810
f947ab49
VS
258112010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25812
25813 Remove the dump of sm712 initialisation sequence.
25814
25815 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25816 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25817 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25818 (GRUB_VGA_CR_*): Added many registers.
25819 (GRUB_VGA_SR_*): Likewise.
25820 (GRUB_VGA_GR_*): Likewise.
25821 (grub_vga_write_arx): New function.
25822 (grub_video_hw_config): New struct.
25823 (grub_vga_set_geometry): New function.
25824 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25825 GRUB_PCI_CLASS_SUBCLASS_VGA.
25826 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25827 * video/sm712.c (grub_sm712_write_reg): New function
25828 (grub_sm712_read_reg): Likewise.
25829 (grub_sm712_sr_write): Likewise.
25830 (grub_sm712_gr_write): Likewise.
25831 (grub_sm712_cr_write): Likewise.
25832 (grub_sm712_write_arx): Likewise.
25833 (grub_sm712_cr_shadow_write): Likewise.
25834 (grub_sm712_write_dda_lookup): Likewise.
25835 (grub_video_sm712_setup): Initialise the video rather then
25836 blindly replay the dump.
25837 (main) [TEST]: Add a routine to be able to compile as standalone for
25838 tests.
25839 * video/sm712_init.c (sm712_init): Removed.
25840 (sm712_sr_seq1): New array.
25841 (sm712_sr_seq2): Likewise.
25842
f0206638
VS
258432010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25844
25845 * include/grub/vga.h: Add missing grub/pci.h include.
25846
2764da3b
YB
258472010-08-10 Yves Blusseau <blusseau@zetam.org>
25848
25849 * util/grub-macho2img.c (main): fix typo
25850
cf0c775e
VS
258512010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25854 (grub_vga_gr_read): Likewise.
25855 (grub_vga_cr_write): Likewise.
25856 (grub_vga_cr_read): Likewise.
25857 (grub_vga_sr_write): Likewise.
25858 (grub_vga_sr_read): Likewise.
25859 (grub_vga_palette_read): Likewise.
25860 (grub_vga_palette_write): Likewise.
25861 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25862 (grub_sm712_sr_read): New function.
25863 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25864 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25865
07f360e9
RM
258662010-08-09 Robert Millan <rmh@gnu.org>
25867
25868 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25869 out unused variables on non-ZFS build.
25870
346c2072
RM
258712010-08-08 Robert Millan <rmh@gnu.org>
25872
25873 Fix path generation for sub-filesystems in ZFS.
25874
25875 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25876 missing slash.
25877
71175420
RM
258782010-08-08 Robert Millan <rmh@gnu.org>
25879
25880 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25881
0d8286f3
RM
258822010-08-08 Robert Millan <rmh@gnu.org>
25883
25884 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25885 exist, issue a proper error message (rely on `ls' for translated
25886 strings).
25887
55dd2924
RM
258882010-08-08 Robert Millan <rmh@gnu.org>
25889
25890 Fix grub-probe invocation.
25891
25892 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25893
d3dd9e80
RM
258942010-08-04 Robert Millan <rmh@gnu.org>
25895
25896 * configure.ac: Remove checks for getfsstat() and getmntany().
25897 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25898 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25899 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25900 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25901 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25902 function.
25903 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25904 via find_mount_point_from_dir() and getfsstat() / getmntany().
25905
0de22aa9
RM
259062010-08-04 Robert Millan <rmh@gnu.org>
25907
25908 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25909 (grub_find_zpool_from_mount_point): Merge into ...
25910 (grub_find_zpool_from_dir): ... this.
25911 * kern/emu/misc.c: Likewise.
25912
25913 * kern/emu/misc.c
25914 (grub_make_system_path_relative_to_its_root): Replace
25915 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25916 with grub_find_zpool_from_dir().
25917 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25918
62858144
RM
259192010-08-04 Robert Millan <rmh@gnu.org>
25920
25921 Support OpenSolaris in ZFS device resolution.
25922
25923 * configure.ac: Check for getmntany().
25924 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25925 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25926 support.
25927
9dd6fd50
RM
259282010-08-03 Robert Millan <rmh@gnu.org>
25929
25930 Fix grub-emu build.
25931
25932 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25933 * include/grub/emu/misc.h: ... here.
25934
25935 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25936 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25937
25938 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25939 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25940 (grub_get_libzfs_handle): Move to ...
25941 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25942 (grub_get_libzfs_handle): ... here.
25943
c9f7ff97
BC
259442010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25945
25946 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25947 as command name case.
25948
a870a783
CW
259492010-08-02 Colin Watson <cjwatson@ubuntu.com>
25950
25951 * disk/raid.c (insert_array): Select unique numbers for named arrays
25952 as well, for use as keys in the disk cache.
25953
c7db243b
RM
259542010-08-01 Robert Millan <rmh@gnu.org>
25955
25956 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25957 kFreeBSD device name, except on ZFS where the filesystem label is
25958 used.
25959 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25960 `/boot/zfs/zpool.cache'.
25961 Set mountfrom kernel variable using ${kfreebsd_device}.
25962
f7abdefb
RM
259632010-08-01 Robert Millan <rmh@gnu.org>
25964
25965 Make it even harder to use uninitialized `libzfs_handle' (and
25966 make the interface a bit simpler).
25967
25968 * include/grub/util/misc.h (grub_util_init_libzfs)
25969 (libzfs_handle): Remove.
25970 (grub_get_libzfs_handle): New prototype.
25971
25972 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25973 attribute.
25974 (grub_util_init_libzfs): Remove.
25975 (grub_get_libzfs_handle): New function.
25976
25977 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25978 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25979 accessing `libzfs_handle' directly.
25980
c882acc0
RM
259812010-08-01 Robert Millan <rmh@gnu.org>
25982
25983 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25984 (grub_find_zpool_from_mount_point): New function prototypes.
25985
25986 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25987 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25988
25989 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25990 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25991 `static' attribute.
25992
25993 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25994 finding zpool from mount point into ...
25995 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25996
25997 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25998 requested path is part of a ZFS pool, use
25999 grub_find_zpool_from_mount_point() to detect its filesystem name,
26000 and generate a path with `/fsname@path' syntax.
26001
8bfe31d8
CW
260022010-08-01 Colin Watson <cjwatson@ubuntu.com>
26003
26004 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26005 (void) rather than () so that this is a proper prototype.
26006
553df63d
VS
260072010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26010
8687cf07
VS
260112010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26012
26013 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26014 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26015
ea9be8ea
CW
260162010-08-01 Colin Watson <cjwatson@ubuntu.com>
26017
26018 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26019
6eea041a
CW
260202010-08-01 Colin Watson <cjwatson@ubuntu.com>
26021
26022 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26023
2cfb45df
CW
260242010-08-01 Colin Watson <cjwatson@ubuntu.com>
26025
26026 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26027 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26028 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26029 disable gfxpayload.
26030 (Shell-like scripting): Add real content.
26031 (Serial terminal): Suggest `terminal_input serial; terminal_output
26032 serial' rather than putting the two commands on separate lines,
26033 since console input will be inoperative after the first command.
26034 (menuentry): Document --class, --users, and --hotkey options.
26035 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26036 Vladimir Serbinenko).
26037
7decd202
VS
260382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
260392010-08-01 Colin Watson <cjwatson@ubuntu.com>
26040
26041 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26042
c882acc0
RM
260432010-08-01 Robert Millan <rmh@gnu.org>
26044
26045 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26046 (grub_find_zpool_from_mount_point): New function prototypes.
26047
26048 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26049 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26050
26051 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26052 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26053 `static' attribute.
26054
26055 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26056 finding zpool from mount point into ...
26057 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26058
26059 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26060 requested path is part of a ZFS pool, use
26061 grub_find_zpool_from_mount_point() to detect its filesystem name,
26062 and generate a path with `/fsname@path' syntax.
26063
deb0caa3
RM
260642010-08-01 Robert Millan <rmh@gnu.org>
26065
26066 Prevent accidental use of uninitialized libzfs_handle.
26067
26068 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26069 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26070 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26071
ce04ef47
CW
260722010-08-01 Colin Watson <cjwatson@ubuntu.com>
26073
26074 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26075 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26076
ebf53056
RM
260772010-08-01 Robert Millan <rmh@gnu.org>
26078
26079 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 26080
3710bb6b
RM
260812010-07-31 Robert Millan <rmh@gnu.org>
26082
26083 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26084
8072efeb
RM
260852010-07-31 Robert Millan <rmh@gnu.org>
26086
26087 * kern/emu/misc.c: Add missing license header.
26088
3169f4c7
RM
260892010-07-31 Robert Millan <rmh@gnu.org>
26090
26091 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26092
26093 * include/grub/util/libnvpair.h: Include `<config.h>'.
26094 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26095 declaring libnvpair prototypes ourselves.
26096 * include/grub/util/libzfs.h: Include `<config.h>'.
26097 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26098 declaring libzfs prototypes ourselves.
26099
26100 (libzfs_handle): Moved to ...
26101 * include/grub/util/misc.h (libzfs_handle): ... here.
26102 Include `<grub/util/libzfs.h>'.
26103
c9a00aee
RM
261042010-07-30 Robert Millan <rmh@gnu.org>
26105
26106 * include/grub/emu/misc.h: Add missing license header.
26107
a184f9c8
RM
261082010-07-30 Robert Millan <rmh@gnu.org>
26109
26110 Enable `grub-probe -t device' resolution on ZFS.
26111
26112 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26113 * include/grub/util/libnvpair.h: New file.
26114 * include/grub/util/libzfs.h: New file.
26115
26116 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26117 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26118 `<grub/util/libnvpair.h>'.
26119 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26120
26121 (find_mount_point_from_dir): New static function.
26122 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26123 function.
26124 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26125 find_root_device_from_libzfs() before ressorting to find_root_device().
26126
26127 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26128 prototype.
26129 * util/misc.c: Include `<grub/util/libzfs.h>'.
26130 (grub_util_init_libzfs): New function.
26131 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26132 [HAVE_LIBZFS] (fini_libzfs): New static function.
26133 (grub_util_init_libzfs): New function.
26134 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26135
f7790cdd
RM
261362010-07-30 Robert Millan <rmh@gnu.org>
26137
26138 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26139 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26140 `warn_unused_result' attribute.
26141 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26142 (grub_xasprintf, grub_xvasprintf): Likewise.
26143 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26144
0806b63c
RM
261452010-07-29 Robert Millan <rmh@gnu.org>
26146
26147 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26148 (probe): Handle `PRINT_FS_LABEL'.
26149 (main): Handle `-t fs_label'.
26150
9f841f5c
RM
261512010-07-29 Robert Millan <rmh@gnu.org>
26152
26153 * configure.ac: Remove grub-mkisofs checks.
26154
46371121
VS
261552010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26158 Reported by: Lennart Sorensen.
26159
261602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26161
26162 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26163 prior to terminal_input/terminal_output separation. It's been over 1.5
26164 years and those versions weren't widely deployed.
26165
a9600892
CW
261662010-07-22 Colin Watson <cjwatson@ubuntu.com>
26167
26168 * disk/raid.c (insert_array): Don't count named arrays when looking
26169 for unused array numbers.
697e053c 26170 Reported and tested by: Michael Guntsche.
a9600892 26171
c03507df
CW
261722010-07-20 Colin Watson <cjwatson@ubuntu.com>
26173
26174 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26175 implementation of this so that grub-emu links again, with a note
26176 that this should support hotplugging in the future.
26177
b26f1c11
CW
261782010-07-20 Colin Watson <cjwatson@ubuntu.com>
26179
26180 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26181
efc9d7f1
CW
261822010-07-20 Colin Watson <cjwatson@ubuntu.com>
26183
26184 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26185 handle on failure.
26186 (grub_loopback_close): Remove empty function.
26187 (grub_loopback_dev): Remove close method.
26188
dd8ff5c9
CW
261892010-07-20 Colin Watson <cjwatson@ubuntu.com>
26190
26191 Disable EFI cursor when the EFI console becomes inactive.
26192
26193 * term/efi/console.c (grub_efi_console_init): New function.
26194 (grub_efi_console_fini): New function.
26195 (grub_console_term_output): Register init and fini methods.
26196
5e3bec67
VS
261972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26200 sh script.
26201
afaec079
VS
262022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26203
26204 * disk/loopback.c (grub_loopback): Replace filename with file.
26205 (delete_loopback): Handle new semantics.
26206 (grub_cmd_loopback): Likewise.
26207 (grub_loopback_iterate): Likewise.
26208 (grub_loopback_close): Likewise.
26209
a6a11f3c
VS
262102010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26213 with -p "".
26214 Reported by: Tito Keitel.
26215
64a638b0
VS
262162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 * docs/grub.texi (Naming convention): Document new naming convention.
26219
ab8ba957
VS
262202010-07-20 Vadim Solomin <vadic052@gmail.com>
262212010-07-20 Colin Watson <cjwatson@ubuntu.com>
26222
26223 Generate device.map in something closer to the old ordering.
26224
26225 * util/deviceiter.c (struct device): New declaration.
26226 (compare_file_names): Rename to ...
26227 (compare_devices): ... this. Sort by kernel name in preference to
26228 the stable by-id name, but keep the latter as a fallback comparison.
26229 Update header comment.
26230 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26231 of `struct device' rather than of plain file names.
26232
a29d6a4b
TF
262332010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26234
26235 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26236 on i386.
26237
39d824e8
VS
262382010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26239
26240 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26241 hardcoding size.
26242 (setv1table): Likewise.
26243
f058276b
FZ
262442010-07-20 Colin Watson <cjwatson@ubuntu.com>
26245
26246 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26247 removing the homehost if present.
26248 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26249 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26250 removing the homehost if present.
26251 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26252 if possible.
26253 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26254
26255 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26256 parameter. Set its pointer target to 0.
26257 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26258 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26259 `data_offset' value from the superblock for 1.x metadata.
26260 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26261 data on the device.
26262 (insert_array): Record the start sector of data on the device.
26263 (grub_raid_register): Pass start_sector parameters to
26264 grub_raid_list->detect and insert_array.
26265 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26266 member.
26267 (struct grub_raid): Add start_sector parameter to `detect'.
26268
26269 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26270 __attribute__ ((packed)), leaving a comment.
26271 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26272 (grub_mdraid_detect_09): ... here and ...
26273 (grub_mdraid_detect_1x): ... here.
26274
262752010-07-20 Peter Henn <peter.henn@web.de>
26276
26277 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26278 chunk size and disk size, which are already given as sector counts
26279 as distinct from the 0.90 units. Fetch the correct device number
26280 from the role table instead of using the table index.
26281
262822010-07-20 Felix Zielcke <fzielcke@z-51.de>
26283
26284 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26285 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26286 (WriteMostly1): New macro.
26287 Set array->name to NULL for metadata format 0.90. Add support for
26288 metadata 1.x. Fix some comments.
26289 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26290 few comments.
26291 * util/getroot.c (grub_util_get_grub_dev): Add support for
26292 /dev/md/name style devices.
26293
4b761da9
CW
262942010-07-20 Colin Watson <cjwatson@ubuntu.com>
26295
26296 * .bzrignore: Ignore 20_linux_xen.
26297
5771289a
CW
262982010-07-17 Colin Watson <cjwatson@ubuntu.com>
26299
26300 * util/import_unicode.py: Remove unnecessary imports.
26301
5dab68df
AN
263022010-07-17 Aleš Nesrsta <starous@volny.cz>
26303
26304 Hotplugging and USB hub support.
26305
26306 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26307 (grub_ohci): Likewise.
26308 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26309 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26310 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26311 (GRUB_OHCI_CTRL_EDS): Likewise.
26312 (GRUB_OHCI_BULK_EDS): Likewise.
26313 (GRUB_OHCI_TDS): Likewise.
26314 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26315 (grub_ohci_ed_phys2virt): New function.
26316 (grub_ohci_virt_to_phys): Likewise.
26317 (grub_ohci_td_phys2virt): Likewise.
26318 (grub_ohci_td_virt2phys): Likewise.
26319 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26320 attachment.
26321 (grub_ohci_find_ed): New function.
26322 (grub_ohci_alloc_td): Likewise.
26323 (grub_ohci_free_td): Likewise.
26324 (grub_ohci_free_tds): Likewise.
26325 (grub_ohci_transfer): Use previously allocated memory.
26326 (grub_ohci_portstatus): Reset status changed bit.
26327 (grub_ohci_detect_dev): Supply status changed.
26328 (grub_ohci_fini_hw): Free memory.
26329 (grub_ohci_restore_hw): Reallocate memory.
26330 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26331 Reset status change.
26332 (grub_uhci_detect_dev): Supply status_change.
26333 * bus/usb/usb.c (attach_hooks): New var.
26334 (grub_usb_device_attach): New function.
26335 (grub_usb_register_attach_hook_class): Likewise.
26336 (grub_usb_unregister_attach_hook_class): Likewise.
26337 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26338 (grub_usb_add_hub): Reset connection changed bit.
26339 (attach_root_port): New function.
26340 (grub_usb_root_hub): Likewise.
26341 (poll_nonroot_hub): Likewise.
26342 (grub_usb_poll_devices): Likewise.
26343 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26344 * disk/usbms.c (grub_usbms_open): Use device hooks.
26345 (grub_usbms_iterate) :Poll devices.
26346 (grub_usbms_finddevs): Split into ...
26347 (grub_usbms_attach): ... this ...
26348 (grub_usbms_attach): ... and this.
26349 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26350 in detect_dev.
26351 (grub_usb_interface): New fields attached and detach_hook.
26352 (grub_usb_attach_hook_class): New type.
26353 (grub_usb_attach_desc): New struct.
26354 (grub_usb_register_attach_hook_class): New function.
26355 (grub_usb_unregister_attach_hook_class): Likewise.
26356 (grub_usb_poll_devices): Likewise.
26357 (grub_usb_device_attach): Likewise.
26358 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26359 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26360
3222efaf
VS
263612010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26362
26363 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26364 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26365 delta determination style. Works with most NetBSD partitions too.
26366
139b714a
VS
263672010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26370 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26371
986aad56
VS
263722010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26373
26374 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26375
99be513c
AB
263762010-07-14 Anton Blanchard <anton@samba.org>
26377
26378 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26379 ET_DYN files.
26380
18075f62
GS
263812010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26382
26383 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26384
8d9a5b15
GS
263852010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26386
26387 * kern/partition.c (grub_partition_check_containment): New function to
26388 check that a partition is physically contained in a parent. Since
26389 offsets are relative (and non-negative), this reduces to checking that
26390 the partition ends before its parent.
26391 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26392 (grub_partition_iterate): Likewise.
26393 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26394 comments.
26395 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26396 partitions that start before their parent, and add debug printfs.
26397
19563c25
CW
263982010-07-13 Colin Watson <cjwatson@ubuntu.com>
26399
26400 * Makefile.in (.SUFFIX): Spell correctly, as ...
26401 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26402 bare module name without `.mod', e.g. `test') tried to invoke a
26403 Modula-2 compiler.
26404
1a1f1e67
CW
264052010-07-13 Colin Watson <cjwatson@ubuntu.com>
26406
26407 * README: Point to the Info manual.
26408
811b0dca
JS
264092010-07-13 Jiro SEKIBA <jir@unicus.jp>
26410
26411 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26412 2nd superblock position from partition size.
26413
e4f4eafc
CW
264142010-07-10 Colin Watson <cjwatson@ubuntu.com>
26415
26416 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26417 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26418 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26419 outputs.
26420
4274c30f
VS
264212010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26422
26423 Restructure SCSI .id handling.
26424 Reported and tested by: Aleš Nesrsta.
26425
26426 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26427 (grub_atapi_dev): Changed .name to "ata". New field .id.
26428 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26429 (grub_usbms_dev): New field .id.
26430 * disk/scsi.c (grub_scsi_iterate): Generate name.
26431 (grub_scsi_open): Parse name.
26432 * include/grub/scsi.h (grub_make_scsi_id): New function.
26433 (grub_scsi_dev): Change iterate and open to number instead of naming
26434 busses. All users updated.
26435 (grub_scsi): Remove name. Add .bus.
26436
5bc24388
VS
264372010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26438
26439 * commands/help.c (grub_cmd_help): Fix a typo.
26440
249975ba
VS
264412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26444 Reported and tested by: Colin Watson.
26445
3eaac1a1
VS
264462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26447
26448 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26449 in this context.
26450
becce1b1
VS
264512010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26452
26453 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26454
f7bf0918
CW
264552010-07-07 Colin Watson <cjwatson@ubuntu.com>
26456
26457 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26458 indentation.
26459
0b0f9620
CW
264602010-07-06 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26463 and disk/raid6_recover.c.
26464 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26465 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26466
1e545469
CW
264672010-07-06 Colin Watson <cjwatson@ubuntu.com>
26468
26469 * term/gfxterm.c (repaint_schedulded): Rename to ...
26470 (repaint_scheduled): ... this. Update all callers.
26471 (repaint_was_schedulded): Rename to ...
26472 (repaint_was_scheduled): ... this. Update all callers.
26473
5357687a
CW
264742010-07-06 Colin Watson <cjwatson@ubuntu.com>
26475
26476 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26477 which we expect to be handled by upper layers.
26478
29d7e783
BC
264792010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26480
26481 * bus/usb/usbhub.c: #include time.h header.
26482
37582066
CW
264832010-07-06 Colin Watson <cjwatson@ubuntu.com>
26484
26485 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26486 entry_name also for entries without stat blocks (e.g. ".."); fixes
26487 corruption of the first entry in a directory.
26488
c8c06953
CW
264892010-07-06 Colin Watson <cjwatson@ubuntu.com>
26490
26491 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26492 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26493 doesn't work otherwise.
26494
e75056f1
CW
264952010-07-05 Colin Watson <cjwatson@ubuntu.com>
26496
26497 * docs/grub.texi (Features): Update list of supported file systems.
26498 (GNU/Linux): Update for GRUB 2.
26499 (Serial terminal): Remove mention of --disable-serial, which was a
26500 GRUB Legacy configure option. Update instructions to use
26501 `terminal_input' and `terminal_output' rather than `terminal'.
26502 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26503 configuration' and `Installing GRUB using grub-install'.
26504 (Menu entry editor): Update for GRUB 2.
26505 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26506 Document new -a, -u, and -v options.
26507 (initrd): New section.
26508 (initrd16): New section.
26509 (linux): New section.
26510 (linux16): New section.
26511 (search): The `var' argument to `--set' is optional.
26512 (GRUB only offers a rescue shell): Go into a little more detail on
26513 drive ordering.
26514
5cf69151
CW
265152010-07-05 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26518
e3f90044
CW
265192010-07-05 Colin Watson <cjwatson@ubuntu.com>
26520
26521 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26522 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26523
38d8f4f3
CW
265242010-07-05 Colin Watson <cjwatson@ubuntu.com>
26525
26526 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26527 install_prefix, in line with install_dos_part and install_bsd_part.
26528 Add new prefix variable, which is copied to install_prefix after
26529 comparing core.img in memory with the one read from disk in the
26530 no-embedding case, and use that rather than overwriting
26531 install_prefix immediately when installing to a partition.
26532 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26533 Bicakci.
26534
57ebd41e
GS
265352010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26536
26537 * configure.ac: Avoid == in test command, it's not portable.
26538 * util/grub.d/30_os-prober.in: Likewise.
26539
cb7f64b2
CW
265402010-07-04 Colin Watson <cjwatson@ubuntu.com>
26541
26542 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26543
6b654bb0
GS
265442010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26545
26546 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26547 multiple (top-level) partmaps.
26548
72a2026d
VS
265492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26552 Reported by: Tino Keitel.
72a2026d 26553
df3eb88f
VS
265542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26555
26556 Bidi and diacritics support.
26557
26558 * Makefile.in (widthspec.bin): New target.
26559 (widthspec.h): Likewise.
26560 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26561 * autogen.sh: Generate unidata.c.
26562 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26563 * commands/ls.c (grub_ls_list_devices): Likewise.
26564 (grub_ls_list_files): Likewise.
26565 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26566 (grub_mini_cmd_lsmod): Likewise.
26567 * commands/read.c: Likewise.
26568 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26569 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26570 * lib/arg.c (grub_arg_show_help): Likewise.
26571 * lib/crypto.c (grub_password_get): Likewise.
26572 * normal/auth.c (grub_username_get): Likewise.
26573 * normal/misc.c (grub_normal_print_device_info): Likewise.
26574 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26575 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26576 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26577 (normal/charset.c_DEPENDENCIES): New variable.
26578 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26579 (pkglib_MODULES): Remove charset.mod.
26580 (charset_mod_SOURCES): Removed.
26581 (charset_mod_CFLAGS): Likewise.
26582 (charset_mod_LDFLAGS): Likewise.
26583 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26584 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26585 and term/tparm.c.
26586 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26587 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26588 (kernel_img_HEADERS): Add terminfo.h.
26589 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26590 Fill ->font. Reverse ascii bitmaps.
26591 (grub_font_get_xheight): New function.
26592 * font/font.c (grub_font_get_string_width): Moved from here ...
26593 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26594 * font/font.c (grub_font_draw_string): Moved from here ...
26595 * gfxmenu/font.c (grub_font_draw_string): ... here.
26596 * font/font.c (grub_font_dup_glyph): New function.
26597 (grub_font_blit_glyph): Likewise.
26598 (grub_font_blit_glyph_mirror): Likewise.
26599 (blit_comb): Likewise.
26600 (grub_font_construct_dry_run): Likewise.
26601 (grub_font_get_constructed_device_width): Likewise.
26602 (grub_font_construct_glyph): Likewise.
26603 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26604 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26605 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26606 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26607 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26608 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26609 (grub_font_get_xheight): New proto.
26610 (grub_font_get_constructed_device_width): Likewise.
26611 (grub_font_construct_glyph): Likewise.
26612 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26613 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26614 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26615 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26616 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26617 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26618 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26619 (grub_console_getcharwidth): Likewise.
26620 * include/grub/misc.h (grub_xputs): New proto.
26621 (grub_puts): Inlined.
26622 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26623 (grub_normal_get_line_counter): Removed.
26624 (grub_install_newline_hook): Likewise.
26625 (grub_normal_get_char_counter): New proto.
26626 (grub_normal_reset_more): Likewise.
26627 (grub_xputs_normal): Likewise.
26628 * include/grub/powerpc/ieee1275/console.h: Removed.
26629 * include/grub/sparc64/ieee1275/console.h: Likewise.
26630 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26631 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26632 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26633 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26634 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26635 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26636 (grub_term_input): Pass reference to self. All users updated.
26637 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26638 Pass reference to self. New fields normal_color, highlight_color and
26639 data. All users updated.
26640 (grub_putchar): Removed.
26641 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26642 (grub_unicode_estimate_width): New function.
26643 (grub_term_getcharwidth): Add defaults.
26644 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26645 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26646 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26647 (grub_cls): Remove EXPORT_FUNC.
26648 (grub_setcolorstate): Inline.
26649 (grub_newline_hook): Removed.
26650 * include/grub/terminfo.h: Rewritten. All users updated.
26651 * include/grub/unicode.h: New file.
26652 * include/grub/video.h (grub_video_signed_rect): New type.
26653 * kern/emu/console.c (grub_console_highlight_color): Removed.
26654 (grub_console_normal_color): Likewise.
26655 (grub_console_standard_color): Made static.
26656 (grub_ncurses_putchar): Remove mapping.
26657 (grub_ncurses_getcharwidth): Removed.
26658 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26659 (grub_ncurses_setcolor): Removed.
26660 (grub_ncurses_getcolor): Likewise.
26661 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26662 (grub_console_putchar): ... this.
26663 (grub_console_putchar): Handle argument difference.
26664 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26665 console_init_early and console_init_lately.
26666 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26667 * kern/misc.c (grub_puts): Removed.
26668 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26669 (grub_vsnprintf_real): Remove str = NULL support.
26670 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26671 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26672 * kern/term.c (grub_putcode): Renamed to ...
26673 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26674 (grub_putchar): Removed.
26675 (grub_xputs_dumb): New function.
26676 (grub_xputs): New variable.
26677 * lib/charset.c: Move from here ...
26678 * normal/charset.c: ... to here.
26679 (grub_ucs4_to_utf8): New function.
26680 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26681 (join_types): New variable.
26682 (unpack_join): New function.
26683 (bidi_types): New variable.
26684 (unpack_bidi): New function.
26685 (get_bidi_type): Likewise.
26686 (get_join_type): Likewise.
26687 (is_mirrored): Likewise.
26688 (grub_unicode_get_comb_type): Likewise.
26689 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26690 (is_type_after): Likewise.
26691 (grub_unicode_aglomerate_comb): Likewise.
26692 (bidi_line_wrap): Likewise.
26693 (grub_bidi_line_logical_to_visual): Likewise.
26694 (grub_bidi_logical_to_visual): Likewise.
26695 (grub_unicode_mirror_code): Likewise.
26696 (grub_unicode_shape_code): Likewise.
26697 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26698 Don't use grub_putchar.
26699 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26700 (grub_normal_reader_init): Likewise.
26701 (grub_xputs_saved): New variable.
26702 (GRUB_MOD_INIT): Set grub_xputs.
26703 (GRUB_MOD_FINI): Restore grub_xputs.
26704 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26705 (menu_init): Avoid printing gfxmenu error.
26706 (show_menu): Use grub_normal_get_char_counter.
26707 * normal/menu_entry.c (update_screen): Fix out-of-array.
26708 (complete): Avoid NULL dereferencing.
26709 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26710 * normal/menu_text.c (print_spaces): Removed.
26711 (grub_print_ucs4): Likewise.
26712 (grub_print_message_indented): Use grub_print_ucs4.
26713 (print_message): Use grub_putcode.
26714 (print_entry): Hanlde diacritics.
26715 * normal/term.c (term_state): New type.
26716 (grub_more_lines): Removed.
26717 (term_states): New variable.
26718 (grub_normal_line_counter): Renamed to ..
26719 (grub_normal_char_counter): ...this. All users updated.
26720 (grub_normal_get_line_counter): Renamed to ...
26721 (grub_normal_get_char_counter): ... this.
26722 (grub_normal_reset_more): New function.
26723 (process_newline): Removed.
26724 (print_more): New function.
26725 (grub_install_newline_hook): Removed.
26726 (map_code): New function.
26727 (grub_puts_terminal): Use grub_print_ucs4.
26728 (putglyph): New function.
26729 (putcode_real): Likewise.
26730 (grub_putcode): Use putcode_real.
26731 (get_maxwidth): New function.
26732 (get_startwidth): Likewise.
26733 (print_ucs4_terminal): Likewise.
26734 (find_term_state): Likewise.
26735 (put_glyphs_terminal): Likewise.
26736 (print_backlog): Likewise.
26737 (print_ucs4_real): Likewise.
26738 (grub_print_ucs4): Likewise.
26739 (grub_xputs_normal): Likewise.
26740 * term/efi/console.c (grub_console_putchar): Output diacritics.
26741 (grub_console_getcharwidth): Removed.
26742 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26743 * term/gfxterm.c (clear_char): Free chars.
26744 (scroll_up): Avoid leaking memory.
26745 (grub_gfxterm_putchar): Support diacritics.
26746 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26747 * term/i386/pc/console.c (grub_console_term_output): Declare as
26748 GRUB_TERM_CODE_TYPE_VGA.
26749 * term/i386/pc/vga.c (grub_vga_term): Declare as
26750 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26751 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26752 GRUB_TERM_CODE_TYPE_VGA.
26753 * term/i386/vga_common.c (map_char): Removed.
26754 (grub_console_putchar): Likewise.
26755 (grub_console_getcharwidth): Likewise.
26756 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26757 (colors): Reordered to match terminfo.
26758 (grub_ofconsole_normal_color): Removed.
26759 (grub_ofconsole_writeesc): Likewise.
26760 (grub_ofconsole_highlight_color): Likewise.
26761 (grub_ofconsole_getcharwidth): Likewise.
26762 (grub_ofconsole_setcolorstate): Likewise.
26763 (grub_ofconsole_setcolor): Likewise.
26764 (grub_ofconsole_getcolor): Likewise.
26765 (grub_ofconsole_readkey): Renamed to ...
26766 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26767 key.
26768 (grub_ofconsole_checkkey): Removed.
26769 (grub_ofconsole_getkey): Likewise.
26770 (grub_ofconsole_getxy): Likewise.
26771 (grub_ofconsole_gotoxy): Likewise.
26772 (grub_ofconsole_cls): Likewise.
26773 (grub_ofconsole_refresh): Likewise.
26774 (grub_ofconsole_terminfo_input): New struct.
26775 (grub_ofconsole_terminfo_output): Likewise.
26776 (grub_ofconsole_term_input): Use terminfo.
26777 (grub_ofconsole_term_output): Likewise.
26778 (grub_console_init): Split into ...
26779 (grub_console_init_early): ...this and ...
26780 (grub_console_init_lately): ...this. Use terminfo.
26781 (grub_ofconsole_putchar): Renamed to ...
26782 (put): ... this. Remove mapping.
26783 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26784 * term/serial.c: Simplify using terminfo.
26785 (xpos): Removed.
26786 (ypos): Likewise.
26787 (keep_track): Likewise.
26788 (registered): Likewise.
26789 (input_buf): Likewise.
26790 (npending): Likewise.
26791 (serial_translate_key_sequence): Likewise.
26792 (fill_input_buf): Likewise.
26793 (grub_serial_checkkey): Likewise.
26794 (grub_serial_getkey): Likewise.
26795 (grub_serial_getxy): Likewise.
26796 (grub_serial_gotoxy): Likewise.
26797 (grub_serial_putchar): Likewise.
26798 (grub_serial_cls): Likewise.
26799 (grub_serial_setcolorstate): Likewise.
26800 (grub_serial_setcursor): Likewise.
26801 (serial_hw_init): Use serial_hw_fetch.
26802 (grub_serial_terminfo_input): New variable.
26803 (grub_serial_terminfo_output): Likewise.
26804 (grub_serial_term_input): Use terminfo.
26805 (grub_serial_term_output): Likewise.
26806 * term/terminfo.c (putstr): Use put.
26807 (grub_terminfo_all_free): New function
26808 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26809 (grub_terminfo_output_register): New function.
26810 (grub_terminfo_output_unregister): Likewise.
26811 (grub_terminfo_getxy): Likewise.
26812 (grub_terminfo_readkey): Likewise.
26813 (grub_terminfo_checkkey): Likewise.
26814 (grub_terminfo_getkey): Likewise.
26815 (grub_terminfo_input_init): Likewise.
26816 (print_terminfo): Likewise.
26817 (grub_cmd_terminfo): Handle encoding.
26818 (grub_terminfo_gotoxy): Track position.
26819 (grub_terminfo_cls): Likewise.
26820 (grub_terminfo_putchar): Likewise.
26821 (grub_terminfo_setcolorstate): Handle colors
26822 (grub_terminfo_cursor_on): This ...
26823 (grub_terminfo_cursor_off): ... and this merged into ...
26824 (grub_terminfo_setcursor): ... this.
26825 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26826 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26827 * unicode/BidiMirroring.txt: Likewise.
26828 * unicode/UnicodeData.txt: Likewise.
26829 * unicode/COPYING: Likewise.
26830 * util/grub-editenv.c (grub_putchar): Removed.
26831 (grub_xputs_real): New function.
26832 (grub_xputs): New variable.
26833 * util/grub-fstest.c (grub_putchar): Removed.
26834 (grub_xputs_real): New function.
26835 (grub_xputs): New variable.
26836 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26837 (grub_xputs_real): New function.
26838 (grub_xputs): New variable.
26839 * util/grub-probe.c (grub_putchar): Removed.
26840 (grub_xputs_real): New function.
26841 (grub_xputs): New variable.
26842 * util/grub-script-check.c (grub_putchar): Removed.
26843 (grub_xputs_real): New function.
26844 (grub_xputs): New variable.
26845 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26846 (grub_xputs_real): New function.
26847 (grub_xputs): New variable.
26848 * util/import_unicode.py: New file.
26849 * util/grub-mkfont.c (ft_errmsgs): New array.
26850 (grub_glyph_info): Make bitmap a pointer.
26851 (file_formats): New type WIDTH_SPEC.
26852 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26853 (options): Add width-spec.
26854 (help): Likewise.
26855 (add_char): Renamed to ...
26856 (add_glyph): ... this.
26857 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26858 (glyph_replace): New type.
26859 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26860 (add_char): New function.
26861 (add_subst): Likewise.
26862 (process_cursive): Likewise.
26863 (add_font): Handle GSUB.
26864 (write_font_width_spec): New function.
26865 (main): Sort glyphs.
26866 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26867 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26868 * kern/term.c (grub_cls): Moved from here...
26869 * normal/term.c (grub_cls): ... here.
26870
50f0bcda
CW
268712010-07-02 Colin Watson <cjwatson@ubuntu.com>
26872
26873 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26874 suitable for using within the format argument of printf when
26875 converting grub_size_t.
26876 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26877 "x" to convert grub_size_t arguments.
26878
40372103
VS
268792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26880
26881 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26882 too long captions.
26883 (list_get_minimal_size): Take selection box into account.
26884
942a10c7
VS
268852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26886
26887 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26888 NULL font.
26889
2bdb2892
CW
268902010-07-02 Colin Watson <cjwatson@ubuntu.com>
26891
26892 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26893 devices when iterating over /dev/disk/by-id; they will be handled
26894 later if appropriate, which they aren't always (e.g. LVM).
26895
e03ed6c1
CW
268962010-07-02 Colin Watson <cjwatson@ubuntu.com>
26897
26898 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26899 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26900 fails.
26901 (grub_halt): Likewise.
26902 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26903 reset-all fails.
26904 (grub_halt): Don't return, even if all of shut-down, power-off, and
26905 poweroff fail.
26906
47695765
CW
269072010-07-02 Colin Watson <cjwatson@ubuntu.com>
26908
26909 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26910 arguments, not three.
26911
507736c8
CW
269122010-07-02 Colin Watson <cjwatson@ubuntu.com>
26913
26914 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26915 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26916 LVM-on-RAID is handled correctly.
26917
e3c8cd37
CW
269182010-07-02 Colin Watson <cjwatson@ubuntu.com>
26919
26920 * docs/grub.texi (Changes from GRUB Legacy): New section.
26921 (Future): Fix typo.
26922
8d4a2fec
CW
269232010-07-02 Colin Watson <cjwatson@ubuntu.com>
26924
26925 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26926 grub.d/README accidentally ends up executable for one reason or
26927 another. Ignore it.
26928
1c4827be
VS
269292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26930
26931 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26932 (gpt_partition_map_iterate): Support non-512B sectors.
26933
d9a0c941
VS
269342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26937 Tested by: Seth Goldberg.
26938
48f27e87
VS
269392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26942 Properly align mbi.
26943 Reported by: Seth Goldberg.
26944
b0c4f956
VS
269452010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26946
26947 * util/grub-mkrescue.in: Avoid module duplication.
26948
105a2e8c
SF
269492010-07-01 Sean Finney <seanius@seanius.net>
26950
26951 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26952
5944958c
SF
269532010-07-01 Sean Finney <seanius@seanius.net>
26954
26955 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26956
269572010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26958
26959 * disk/lvm.c (grub_lvm_checkvalue): New function.
26960 (grub_lvm_check_flag): Likewise.
26961
b79889ba
RM
269622010-07-01 Robert Millan <rmh@gnu.org>
26963
26964 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26965 Support 'p' as partition separator on kernel of FreeBSD (used
26966 with GPT labels).
26967 (grub_util_biosdisk_get_grub_dev): Likewise.
26968
ec1d04f1
VS
269692010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26970
26971 Yeeloong firmware port.
26972
26973 * boot/mips/yeeloong/fwstart.S: New file.
26974 * bus/cs5536.c (gpiodump): New const.
26975 (set_io_space): New function.
26976 (set_iod): Likewise.
26977 (set_p2d): Likewise.
26978 (grub_cs5536_init_geode): Likewise.
26979 * commands/mips/yeeloong/lsspd.c: New file.
26980 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26981 (serial_mod_SOURCES): New variable.
26982 (serial_mod_CFLAGS): Likewise.
26983 (serial_mod_LDFLAGS): Likewise.
26984 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26985 term/terminfo.c and term/tparm.c.
26986 (pkglib_IMAGES): Add fwstart.img.
26987 (fwstart_img_SOURCES): New variable.
26988 (fwstart_img_CFLAGS): Likewise.
26989 (fwstart_img_ASFLAGS): Likewise.
26990 (fwstart_img_LDFLAGS): Likewise.
26991 (fwstart_img_FORMAT): Likewise.
26992 (pkglib_MODULES): Add lsspd.mod.
26993 (lsspd_mod_SOURCES): New variable.
26994 (lsspd_mod_CFLAGS): Likewise.
26995 (lsspd_mod_LDFLAGS): Likewise.
26996 (pkglib_MODULES): Add halt.mod.
26997 (halt_mod_SOURCES): New variable.
26998 (halt_mod_CFLAGS): Likewise.
26999 (halt_mod_LDFLAGS): Likewise.
27000 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27001 (serial_mod_SOURCES): Removed.
27002 (serial_mod_CFLAGS): Likewise.
27003 (serial_mod_LDFLAGS): Likewise.
27004 * disk/ata.c (check_device): New function.
27005 (grub_ata_device_initialize): Use check_device.
27006 (grub_ata_iterate): Recheck devices.
27007 (grub_ata_open): Likewise.
27008 (grub_atapi_iterate): Likewise.
27009 (grub_atapi_open): Likewise.
27010 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27011 (GRUB_ATA_CH1_PORT1): Likewise.
27012 (GRUB_ATA_CH0_PORT2): Likewise.
27013 (GRUB_ATA_CH1_PORT2): Likewise.
27014 * include/grub/mips/loongson.h: New file.
27015 * include/grub/mips/yeeloong/ec.h: Likewise.
27016 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27017 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27018 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27019 * include/grub/misc.h (grub_halt): Declare as noreturn.
27020 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27021 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27022 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27023 (UART_ENABLE_DTRRTS): Likewise.
27024 (UART_ENABLE_MODEM): Removed.
27025 (UART_ENABLE_OUT2): New const.
27026 * include/grub/term.h (grub_term_register_input_active): New function.
27027 (grub_term_register_output_active): Likewise.
27028 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27029 argument.
27030 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27031 (init_pci): New function.
27032 (grub_machine_init): Execute platform init when firmware. Init serial.
27033 (grub_halt): Implement.
27034 (grub_exit): Likewise.
27035 (grub_reboot): Likewise.
27036 * term/serial.c (serial_hw_init): Update macros.
27037 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27038 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27039 (image_targets): New target mipsel-yeeloong-flash.
27040 (generate_image): Support IMAGE_YEELOONG_FLASH.
27041 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27042 (grub_video_sm712_setup): Init card.
27043 (grub_video_sm712_set_palette): Removed.
27044 * video/sm712_init.c: New file.
27045
ff4a70d2
CW
270462010-06-30 Colin Watson <cjwatson@ubuntu.com>
27047
27048 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27049 PATH when running help2man and then run it on the unadorned
27050 executable names, rather than passing $(builddir)/* paths to
27051 help2man. This avoids the build directory ending up in generated
27052 manual pages.
27053
1246efeb
CW
270542010-06-29 Colin Watson <cjwatson@ubuntu.com>
27055
27056 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27057 to avoid accidents when debugging with 'sh -x'.
27058 * util/grub-mkrescue.in: Likewise.
27059 * util/grub.d/00_header.in: Likewise.
27060 * util/grub.d/10_hurd.in: Likewise.
27061 * util/grub.d/10_kfreebsd.in: Likewise.
27062 * util/grub.d/10_linux.in: Likewise.
27063 * util/grub.d/10_netbsd.in: Likewise.
27064 * util/grub.d/10_windows.in: Likewise.
27065 * util/grub.d/20_linux_xen.in: Likewise.
27066 * util/grub.d/30_os-prober.in: Likewise.
27067 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27068
1ba9b889
CW
270692010-06-29 Colin Watson <cjwatson@ubuntu.com>
27070
27071 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27072 last character in the buffer.
27073 Reported by: Vladimir Serbinenko.
27074
dccaf99d
RM
270752010-06-29 Robert Millan <rmh@gnu.org>
27076
27077 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27078 (Command-line and menu entry commands): Document `badram' command.
27079
d500ed12
RM
270802010-06-28 Robert Millan <rmh@gnu.org>
27081
27082 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27083 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27084 command using ${GRUB_BADRAM} as parameter.
27085
20bc84a6
CW
270862010-06-28 Colin Watson <cjwatson@ubuntu.com>
27087
27088 * docs/grub.texi (Device map): New section.
27089 (Themes): New section (stub).
27090 * Makefile.in (docs/grub.info): The info documentation now builds
27091 without errors. Make sure it stays that way.
27092
4045dee1
VS
270932010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27094
27095 Use normal parser for menu entries.
27096 Reported by: Thomas Frauendorfer
27097
27098 * include/grub/parser.h (grub_parser_execute): Don't export.
27099 * normal/menu.c (grub_menu_execute_entry_real): New function.
27100 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27101
bca58c7b
CW
271022010-06-28 Colin Watson <cjwatson@ubuntu.com>
27103
27104 * docs/grub.texi (Embedded configuration): New section (replacing
27105 old "Preset Menu" stub).
27106 (Images): New section.
27107 (configfile): Note that any menu entries defined in `file' are shown
27108 immediately.
27109
dec53e63
JT
271102010-06-28 Josh Triplett <josh@joshtriplett.org>
27111
27112 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27113
c06e40f7
CW
271142010-06-28 Colin Watson <cjwatson@ubuntu.com>
27115
27116 * util/grub-install.in: Add --debug-image= option.
27117
cb88052b
CW
271182010-06-28 Colin Watson <cjwatson@ubuntu.com>
27119
27120 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27121 possible on Linux.
27122
27123 * util/deviceiter.c (check_device): Rename to ...
27124 (check_device_readable_unique): ... this. Update all callers.
27125 Maintain and check a list of which devices (by canonicalized name)
27126 have already been seen.
27127 (clear_seen_devices): New function.
27128 (compare_file_names) [__linux__]: New function.
27129 (grub_util_iterate_devices): Clear the list of seen devices on exit
27130 and (just in case) on entry.
27131 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27132 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27133 seen-devices list, superseded by general code in check_device.
27134
bbe34652
CW
271352010-06-28 Colin Watson <cjwatson@ubuntu.com>
27136
27137 * commands/cat.c (options): New variable.
27138 (grub_cmd_cat): Parse options. If the --dos option is given, print
27139 DOS-style "\r\n" line endings as simple newlines (Debian bug
27140 #586358).
27141 (GRUB_MOD_INIT): Use extcmd.
27142 (GRUB_MOD_FINI): Likewise.
27143 * docs/grub.texi (cat): Document --dos.
27144
412e09f3
VS
271452010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27146
27147 XEN with Linux grub-mkconfig support.
27148
27149 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27150 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27151 GRUB_CMDLINE_XEN_DEFAULT.
27152 * util/grub.d/20_linux_xen.in: New file.
27153
53f3ef38 271542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
27155
27156 Initialise VGA video on qemu ourselves.
27157
27158 * boot/i386/qemu/boot.S: Don't call 0xc000.
27159 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27160 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27161 (kernel_img_HEADERS): Add pci.h.
27162 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27163 * configure.ac: Force unifont on qemu and yeeloong.
27164 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27165 (grub_vga_palette_write): Use correct register.
27166 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27167 Call grub_qemu_init_cirrus.
27168 * kern/i386/qemu/init.c: New file.
27169 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27170
27171 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27172
c75be4fb
PR
271732010-06-26 Pavel Roskin <proski@gnu.org>
27174
27175 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27176 13.
27177
d8034603
CW
271782010-06-26 Colin Watson <cjwatson@ubuntu.com>
27179
27180 * docs/grub.texi (Simple configuration): Explain that
27181 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27182 set to `true' to disable their respective recovery entries, not
27183 merely set.
27184
3fa06487
CW
271852010-06-26 Colin Watson <cjwatson@ubuntu.com>
27186
27187 Make the `source' command slightly faster.
27188
27189 * normal/main.c (grub_normal_execute): Don't re-read list files when
27190 nested.
27191
e9b29642
CW
271922010-06-23 Colin Watson <cjwatson@ubuntu.com>
27193
27194 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27195 field position and mask size to red fields from mode_info, not
27196 green.
27197 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27198 Remove redundant tag->common.framebuffer_type assignment.
27199 Reported by: Seth Goldberg.
27200
e726542f
CW
272012010-06-23 Colin Watson <cjwatson@ubuntu.com>
27202
27203 Sync up other versions of the Linux loader with Robert Millan's
27204 change of 2010-01-09, "Make loader output a bit more user-friendly".
27205
27206 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27207 grub_dprintf().
27208 (grub_cmd_linux): Likewise.
27209 (grub_cmd_initrd): Likewise.
27210 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27211 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27212
d6e98a17
CW
272132010-06-21 Colin Watson <cjwatson@ubuntu.com>
27214
27215 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27216 larger than MEMORY_MAP_SIZE.
27217
14d3f08e
BC
272182010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27219
27220 Fix parallel build.
27221
27222 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27223 dependency.
27224 * script/parser.y: #include grub_script.tab.h header.
27225
4f9613a3
VS
272262010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27227
27228 Support >3GiB and <16MiB RAM in i386-qemu.
27229
27230 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27231 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27232 (grub_lower_mem): Removed.
27233 (grub_upper_mem): Likewise.
27234 (mem_size): Made static.
27235 (above_4g): New variable.
27236 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27237 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27238 support.
27239
05e51879
VS
272402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27241
27242 Cirrus 5446 and Bochs video cards support.
27243
27244 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27245 video_bochs.mod
27246 (video_cirrus_mod_SOURCES): New variable.
27247 (video_cirrus_mod_CFLAGS): Likewise.
27248 (video_cirrus_mod_LDFLAGS): Likewise.
27249 (video_bochs_mod_SOURCES): Likewise.
27250 (video_bochs_mod_CFLAGS): Likewise.
27251 (video_bochs_mod_LDFLAGS): Likewise.
27252 * include/grub/vga.h: New file.
27253 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27254 (grub_video_fb_set_page_t): New type.
27255 (grub_video_fb_setup): New prototype.
27256 (grub_video_fb_swap_buffers): Likewise.
27257 (grub_video_fb_get_info_and_fini): Likewise.
27258 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27259 (CRTC_DATA_PORT): Likewise.
27260 (CRTC_CURSOR): Likewise.
27261 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27262 (CRTC_CURSOR_ADDR_LOW): Likewise.
27263 (CRTC_CURSOR_DISABLE): Likewise.
27264 (update_cursor): Use grub_vga_cr_write.
27265 (grub_vga_text_setcursor): Likewise.
27266 * video/bochs.c: New file.
27267 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27268 (palette): Likewise.
27269 (palette_size): Likewise.
27270 (framebuffer): New variable.
27271 (grub_video_fb_init): Use 'framebuffer'.
27272 (grub_video_fb_fini): Likewise.
27273 (grub_video_fb_get_info): Likewise.
27274 (grub_video_fb_get_palette): Likewise.
27275 (grub_video_fb_set_palette): Likewise.
27276 (grub_video_fb_set_viewport): Likewise.
27277 (grub_video_fb_get_viewport): Likewise.
27278 (grub_video_fb_map_color): Likewise.
27279 (grub_video_fb_map_rgb): Likewise.
27280 (grub_video_fb_map_rgba): Likewise.
27281 (grub_video_fb_unmap_color): Likewise.
27282 (grub_video_fb_unmap_color_int): Likewise.
27283 (grub_video_fb_fill_rect): Likewise.
27284 (grub_video_fb_blit_bitmap): Likewise.
27285 (grub_video_fb_blit_render_target): Likewise.
27286 (grub_video_fb_scroll): Likewise.
27287 (grub_video_fb_create_render_target): Likewise.
27288 (grub_video_fb_doublebuf_blit_init): Likewise.
27289 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27290 (doublebuf_pageflipping_update_screen): New function.
27291 (doublebuf_pageflipping_init): Likewise.
27292 (grub_video_fb_setup): Likewise.
27293 (grub_video_fb_swap_buffers): Likewise.
27294 (grub_video_fb_get_info_and_fini): Likewise.
27295 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27296 All users updated.
27297 (doublebuf_pageflipping_commit): Restructured into ...
27298 (doublebuf_pageflipping_set_page): ... this.
27299 (doublebuf_pageflipping_update_screen): Removed.
27300 (doublebuf_pageflipping_init): Likewise.
27301 (double_buffering_init): Likewise.
27302 (grub_video_vbe_setup): Use grub_video_fb_setup.
27303 (grub_video_vbe_swap_buffers): Removed.
27304 (grub_video_vbe_set_active_render_target): Likewise.
27305 (grub_video_vbe_get_active_render_target): Likewise.
27306 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27307 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27308 grub_video_fb_set_active_render_target and
27309 grub_video_fb_get_active_render_target.
27310 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27311 (SEQUENCER_DATA_PORT): Likewise.
27312 (MAP_MASK_REGISTER): Likewise.
27313 (CRTC_ADDR_PORT): Likewise.
27314 (CRTC_DATA_PORT): Likewise.
27315 (START_ADDR_HIGH_REGISTER): Likewise.
27316 (START_ADDR_LOW_REGISTER): Likewise.
27317 (GRAPHICS_ADDR_PORT): Likewise.
27318 (GRAPHICS_DATA_PORT): Likewise.
27319 (READ_MAP_REGISTER): Likewise.
27320 (INPUT_STATUS1_REGISTER): Likewise.
27321 (INPUT_STATUS1_VERTR_BIT): Likewise.
27322 (get_map_mask): Use grub_vga_sr_read.
27323 (set_map_mask): Use grub_vga_sr_write.
27324 (set_read_map): Use grub_vga_gr_write.
27325 (set_start_address): Use grub_vga_cr_write.
27326 * video/sm712.c (framebuffer): Remove leftover fields.
27327
4321c64a
CW
273282010-06-20 Colin Watson <cjwatson@ubuntu.com>
27329
27330 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27331 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27332 instead. Replace the gfxterm backend check with a check that
27333 ${GRUB_PREFIX}/video.lst is non-empty.
27334 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27335 again.
27336 (load_video): New generated function. Call it before loading
27337 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27338 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27339 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27340 * docs/grub.texi (Simple configuration): Document
27341 GRUB_VIDEO_BACKEND.
27342
273432010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27344
27345 Use video functions in linux and xnu loaders.
27346
27347 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27348 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27349 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27350 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27351 loader/i386/pc/linux.c.
27352 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27353 (find_line_len): Removed.
27354 (find_framebuf): Likewise.
27355 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27356 * loader/i386/efi/xnu.c: Removed.
27357 * loader/i386/pc/xnu.c: Moved from here...
27358 * loader/i386/xnu.c: ...here.
27359
27360 Enable priorities in video drivers.
27361
27362 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27363 (grub_video_adapter): New field prio.
27364 (grub_video_register): Respect prio when inserting.
27365 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27366 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27367 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27368 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27369 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27370 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27371 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27372
27373 Fix SDL driver ID.
27374
27375 * include/grub/video.h (grub_video_driver_id_t): New value
27376 GRUB_VIDEO_DRIVER_SDL.
27377 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27378
7d24e434
CW
273792010-06-17 Colin Watson <cjwatson@ubuntu.com>
27380
27381 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27382 argument to printf.
27383 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27384
c88a83f6
CW
273852010-06-17 Colin Watson <cjwatson@ubuntu.com>
27386
27387 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27388 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27389
094dfb69
CW
273902010-06-17 Colin Watson <cjwatson@ubuntu.com>
27391
27392 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27393 directly, and recommend grub-install instead.
27394 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27395
2164da6b
CW
273962010-06-17 Colin Watson <cjwatson@ubuntu.com>
27397
27398 Fix i386-pc prefix handling with nested partitions (Debian bug
27399 #585068). Note that the case where the core image is booted using
27400 multiboot and relocated from its original location still requires
27401 more work.
27402
27403 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27404 with "(,", fill the boot drive in between those two characters, but
27405 expect that a full partition specification including partition map
27406 names will follow.
27407 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27408 specified, write a prefix without the drive name but including a
27409 full partition specification.
27410
044e2e60
CW
274112010-06-16 Colin Watson <cjwatson@ubuntu.com>
27412
27413 * util/grub-mkconfig.in: Ignore non-option arguments, for
27414 compatibility with older versions (before 2010-06-12) which did the
27415 same. In particular, this makes it easier to ship an update-grub
27416 wrapper which is compatible with that used with GRUB Legacy (Debian
27417 bug #586056).
27418
5591324f
GS
274192010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27420
27421 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27422 for manual page generation.
27423
662e24d5
GS
274242010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27425
27426 * po/POTFILES: Remove leftover commands/handler.c.
27427
8d70754e
CW
274282010-06-14 Colin Watson <cjwatson@ubuntu.com>
27429
27430 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27431 left this script non-functional.
27432
41160e2e
CW
274332010-06-14 Colin Watson <cjwatson@ubuntu.com>
27434
27435 * docs/man/grub-emu.h2m: New file.
27436
b5309cc1
CW
274372010-06-13 Colin Watson <cjwatson@ubuntu.com>
27438
27439 * docs/grub.texi (Commands): Document reduced command set in rescue
27440 mode.
27441 (cpuid): New section.
27442
fcb2d090
GS
274432010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27444
27445 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27446 new partition naming style.
27447 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27448
96e5c556
BC
274492010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27450
27451 Add "-o grub.iso" like cmdline options support.
27452
27453 * util/grub-install.in: Improve cmdline option parsing.
27454 * util/grub-mkconfig.in: Likewise.
27455 * util/grub-mkrescue.in: Likewise.
27456 * util/grub-reboot.in: Likewise.
27457 * util/grub-set-default.in: Likewise.
27458 * util/i386/efi/grub-install.in: Likewise.
27459 * util/ieee1275/grub-install.in: Likewise.
27460 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27461
c16be99b
CW
274622010-06-12 Colin Watson <cjwatson@ubuntu.com>
27463
27464 * .bzrignore: Ignore 41_custom.
27465
ce08a9fb
TS
274662010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27467
27468 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27469
7beac90c
CW
274702010-06-12 Colin Watson <cjwatson@ubuntu.com>
27471
27472 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27473 prototype declarations.
27474
27475 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27476 generating fs, partmap, and video lists.
27477 * include/grub/fs.h (grub_fs_register): Omit prototype if
27478 GRUB_LST_GENERATOR is defined.
27479 * include/grub/partition.h (grub_partition_map_register): Likewise.
27480 * include/grub/video.h (grub_video_register): Likewise.
27481
1c8f0f8d
JM
274822010-06-12 Javier Martín <lordhabbit@gmail.com>
27483
27484 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27485
a6085973
TS
274862010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27487
27488 * util/grub-mkrescue.in: Support --xorriso argument.
27489
25c56d29
VS
274902010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27491
27492 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27493 Suggested by: Thomas Schmitt.
27494
e03e4b24
VS
274952010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27496
27497 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27498 Suggested by: Thomas Schmitt.
27499
57711df6
VS
275002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27501
27502 custom.cfg support.
27503
27504 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27505 * util/grub.d/41_custom.in: New file.
27506
ee62c427
CW
275072010-06-12 Colin Watson <cjwatson@ubuntu.com>
27508
27509 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27510 been merged back into normal.
27511
283af07a
CW
275122010-06-11 Colin Watson <cjwatson@ubuntu.com>
27513
27514 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27515 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27516
56a0d956
CW
275172010-06-11 Colin Watson <cjwatson@ubuntu.com>
27518
27519 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27520 when generating manual pages.
27521 * docs/man/grub-bin2h.h2m: New file.
27522 * docs/man/grub-editenv.h2m: New file.
27523 * docs/man/grub-fstest.h2m: New file.
27524 * docs/man/grub-install.h2m: New file.
27525 * docs/man/grub-macho2img.h2m: New file.
27526 * docs/man/grub-mkconfig.h2m: New file.
27527 * docs/man/grub-mkdevicemap.h2m: New file.
27528 * docs/man/grub-mkfont.h2m: New file.
27529 * docs/man/grub-mkimage.h2m: New file.
27530 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27531 * docs/man/grub-mkrelpath.h2m: New file.
27532 * docs/man/grub-mkrescue.h2m: New file.
27533 * docs/man/grub-ofpathname.h2m: New file.
27534 * docs/man/grub-pe2elf.h2m: New file.
27535 * docs/man/grub-probe.h2m: New file.
27536 * docs/man/grub-reboot.h2m: New file.
27537 * docs/man/grub-script-check.h2m: New file.
27538 * docs/man/grub-set-default.h2m: New file.
27539 * docs/man/grub-setup.h2m: New file.
27540
3a37e322
VS
275412010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27542
27543 Use FOR_* macros instead of *_iterate whenever possible.
27544
27545 * commands/handler.c: Removed.
27546 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27547 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27548 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27549 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27550 (grub_probe_SOURCES): Remove kern/parser.c.
27551 (util/grub-script-check.c_DEPENDENCIES): Removed.
27552 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27553 and grub_script_check_init.c.
27554 (grub_script_check_init.lst): Removed.
27555 (grub_script_check_init.h): Likewise.
27556 (grub_script_check_init.c): Likewise.
27557 (pkglib_MODULES): Remove handler.mod and sh.mod.
27558 (handler_mod_SOURCES): Removed.
27559 (handler_mod_CFLAGS): Likewise.
27560 (handler_mod_LDFLAGS): Likewise.
27561 (normal_mod_SOURCES): Remove normal/handler.c.
27562 Add script/main.c, script/script.c, script/execute.c,
27563 script/function.c, script/lexer.c, grub_script.tab.c
27564 and grub_script.yy.c.
27565 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27566 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27567 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27568 (grub_setup_SOURCES): Remove kern/parser.c.
27569 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27570 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27571 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27572 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27573 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27574 (grub_setup_SOURCES): Remove kern/parser.c.
27575 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27576 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27577 * include/grub/command.h (grub_command_iterate): Removed.
27578 (FOR_COMMANDS): New macro.
27579 * include/grub/dl.h (grub_dl): New member next.
27580 (grub_dl_iterate): Removed.
27581 (grub_dl_head): New variable declaration.
27582 (FOR_DL_MODULES): New macro.
27583 * include/grub/fs.h: Include list.h.
27584 (grub_fs): Make next first element.
27585 (grub_fs_list): New variable declaration.
27586 (grub_fs_register): Make inline.
27587 (grub_fs_unregister): Likewise.
27588 (grub_fs_iterate): Removed.
27589 (FOR_FILESYSTEMS): New macro.
27590 * include/grub/handler.h: Removed.
27591 * include/grub/list.h (grub_list_hook_t): Removed.
27592 (grub_list_test_t): Likewise.
27593 (grub_list_pop): Likewise.
27594 (grub_list_iterate): Likewise.
27595 (grub_list_insert): Likewise.
27596 (FOR_LIST_ELEMENTS): New macro.
27597 * include/grub/parser.h (grub_parser_class): Removed.
27598 (grub_parser_register): Likewise.
27599 (grub_parser_unregister): Likewise.
27600 (grub_parser_get_current): Likewise.
27601 (grub_parser_set_current): Likewise.
27602 (grub_register_rescue_parser): Likewise.
27603 (grub_rescue_parse_line): New function.
27604 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27605 * include/grub/script_sh.h (grub_script_function_list): New variable
27606 declaration.
27607 (FOR_SCRIPT_FUNCTIONS): New macro.
27608 (grub_script_function_iterate): Removed.
27609 (grub_normal_parse_line): New prototype.
27610 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27611 (FOR_DISABLED_TERM_INPUTS): Likewise.
27612 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27613 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27614 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27615 element.
27616 (grub_video_register): Inline.
27617 (grub_video_unregister): Likewise.
27618 (grub_video_adapter_list): New variable declaration.
27619 (grub_video_iterate): Removed.
27620 (FOR_VIDEO_ADAPTERS): New macro.
27621 * kern/dl.c (grub_dl_list): Removed. All users updated.
27622 (grub_dl_iterate): Removed.
27623 * kern/fs.c (grub_fs_list): Make global.
27624 (grub_fs_register): Removed.
27625 (grub_fs_unregister): Likewise.
27626 (grub_fs_iterate): Likewise.
27627 * kern/handler.c: Removed.
27628 * kern/list.c (grub_list_pop): Removed.
27629 (grub_list_iterate): Likewise.
27630 (grub_list_insert): Likewise.
27631 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27632 (grub_prio_list_insert): Don't use grub_list_insert.
27633 * kern/main.c (grub_register_rescue_parser): Don't call
27634 grub_register_rescue_parser.
27635 * kern/parser.c (grub_parser_class): Removed.
27636 (grub_parser_execute): Use grub_rescue_parse_line.
27637 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27638 (grub_rescue_parser): Removed.
27639 (grub_register_rescue_parser): Likewise.
27640 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27641 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27642 (grub_auth_check_authentication): Likewise.
27643 * normal/completion.c (iterate_command): Removed.
27644 (grub_normal_do_completion): Use FOR_COMMANDS.
27645 * normal/handler.c: Removed.
27646 * normal/main.c (read_config_file): Remove parser changing.
27647 (grub_normal_execute): Don't call read_handler_list.
27648 (grub_normal_read_line_real): Statically allocate prompt.
27649 (grub_cmdline_run): Use grub_normal_parse_line.
27650 (GRUB_MOD_FINI): Don't call free_handler_list.
27651 * normal/menu_entry.c (run): Likewise.
27652 * script/function.c (grub_script_function_list): Make global.
27653 (grub_script_function_iterate): Removed.
27654 * script/main.c (grub_normal_parse_line): Make global.
27655 (grub_sh_parser): Removed.
27656 (GRUB_MOD_INIT): Likewise.
27657 (GRUB_MOD_FINI): Likewise.
27658 * tests/lib/functional_test.c (grub_functional_test): Use
27659 FOR_LIST_ELEMENTS.
27660 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27661 (grub_test_run): Use FOR_LIST_ELEMENTS.
27662 * tests/lib/unit_test.c (main): Likewise.
27663 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27664 grub_list_pop.
27665 * util/grub-fstest.c (grub_term_input_class): Removed.
27666 (grub_term_output_class): Likewise.
27667 * util/grub-probe.c: Likewise.
27668 * util/i386/pc/grub-setup.c: Likewise.
27669 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27670 * util/grub-script-check.c (main): Don't call grub_init_all and
27671 grub_fini_all.
27672 * video/video.c (grub_video_adapter_list): Make global.
27673 (grub_video_register): Removed.
27674 (grub_video_unregister): Likewise.
27675 (grub_video_iterate): Likewise.
27676
6289c3a7
VS
276772010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27680 reported by Henrique Ferreiro.
27681
91460247
RM
276822010-06-09 Robert Millan <rmh@gnu.org>
27683
27684 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27685 ones, when both are available.
27686
0ea7c4f9
GS
276872010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27688
27689 Make --version uniform and avoid hard-coded program name.
27690
27691 * util/grub-mkimage.c (main): Use `program_name' instead of
27692 hard-coded string.
27693 * util/i386/pc/grub-setup.c (main): Likewise.
27694 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27695 * util/grub-install.in: Save the basename of $0 in $self, and use the
27696 latter in informational messages. Use the same format for --version
27697 as the binary programs.
27698 * util/grub-mkconfig.in: Likewise.
27699 * util/grub-mkrescue.in: Likewise.
27700 * util/grub-reboot.in: Likewise.
27701 * util/grub-set-default.in: Likewise.
27702 * util/i386/efi/grub-install.in: Likewise.
27703 * util/ieee1275/grub-install.in: Likewise.
27704 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27705
e8a6f3b6
GS
277062010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27707
27708 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27709 embedding area. Use <= instead of == when checking for non-emptiness.
27710
f4d095d7
GS
277112010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27712
27713 * configure.ac: Add `.' to the directories searched for unifont.
27714
50e532ca
CW
277152010-06-08 Colin Watson <cjwatson@ubuntu.com>
27716
27717 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27718 grub_script.yy.h.
27719
d39f3dec
CW
277202010-06-08 Colin Watson <cjwatson@ubuntu.com>
27721
27722 * docs/grub.texi (History): Expand to cover GRUB 2.
27723 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27724 commands, not `terminal'.
27725 (serial): Likewise.
27726 (terminal_input): New section.
27727 (terminal_output): New section.
27728 (uppermem): New section (stub).
27729 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27730
6ef0ddb4
CW
277312010-06-08 Colin Watson <cjwatson@ubuntu.com>
27732
27733 * docs/grub.texi (Security): Menu entries are unrestricted by
27734 default, not restricted to superusers as I had previously thought.
27735 Reword to account for this.
27736
e0f4c438
CW
277372010-06-07 Colin Watson <cjwatson@ubuntu.com>
27738
27739 * kern/emu/misc.c (device_mapper_null_log): New function.
27740 (grub_device_mapper_supported): New function.
27741 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27742 prototype.
27743 * kern/emu/hostdisk.c (find_partition_start): Check whether
27744 device-mapper is supported before trying to use it.
27745 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27746
da908200
CW
277472010-06-07 Colin Watson <cjwatson@ubuntu.com>
27748
27749 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27750 (File name syntax): Likewise.
27751 (help): --all is no longer supported in GRUB 2. Be more precise
27752 about pattern matching.
27753
fb55c3ac
CW
277542010-06-07 Colin Watson <cjwatson@ubuntu.com>
27755
27756 * normal/completion.c (grub_normal_do_completion): When completing
27757 arguments to "set" and the current word contains an equals sign,
27758 skip to after the equals sign before starting completion.
27759
258c2573
CW
277602010-06-07 Colin Watson <cjwatson@ubuntu.com>
27761
27762 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27763
ee75515e
CW
277642010-06-07 Colin Watson <cjwatson@ubuntu.com>
27765
27766 * docs/grub.texi (Network): New section.
27767 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27768 `(nd)' as in GRUB Legacy.
27769 (pxe_unload): New section.
27770
a6a700aa
CW
277712010-06-07 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27774 in the rescue shell, so recommend using `set' instead. Thanks,
27775 Jordan Uggla.
27776
4003dd38
CW
277772010-06-07 Colin Watson <cjwatson@ubuntu.com>
27778
27779 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27780 (password): New section.
27781 (password_pbkdf2): New section.
27782 (search): New section.
27783 (Security): New section.
27784 (Troubleshooting): New section, currently very incomplete.
27785 (Invoking grub-mkpasswd-pbkdf2): New section.
27786 (Internals): New section, currently very incomplete.
27787
e1cbcc40
CW
277882010-06-07 Colin Watson <cjwatson@ubuntu.com>
27789
27790 * util/grub.d/00_header.in: Add some more quoting (of
27791 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27792 work again.
27793 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27794
db8fa1ad
CW
277952010-06-07 Colin Watson <cjwatson@ubuntu.com>
27796
27797 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27798 to `count', fixing variable shadowing that broke the -c option.
27799
278002010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27801
27802 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27803 in case they contain spaces.
27804
f28a9212
CW
278052010-06-04 Colin Watson <cjwatson@ubuntu.com>
27806
27807 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27808 "part_" to partmap module names, in line with grub-install.
27809 Reported by: Jindřich Makovička (Debian bug #584426).
27810
9cdfe32f
CW
278112010-06-04 Colin Watson <cjwatson@ubuntu.com>
27812
27813 * util/grub-mkimage.c: Make target-related error messages slightly
27814 more helpful; -O talks about "format". Explicitly point to the use
27815 of -O if no target is specified.
27816 Reported by: Didier Raboud (Debian bug #584415).
27817
795b593a
CW
278182010-06-03 Colin Watson <cjwatson@ubuntu.com>
27819
27820 * INSTALL: Document several build requirements for optional features
27821 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27822
9d9b5833
GS
278232010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27824
27825 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27826 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27827 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27828
0819fec8
CW
278292010-06-02 Colin Watson <cjwatson@ubuntu.com>
27830
27831 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27832 Thanks to Jordan Uggla for spotting this.
27833
49396b4f
VS
278342010-06-02 Aleš Nesrsta <starous@volny.cz>
27835
27836 Finally make USB usable.
27837
27838 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27839 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27840 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27841 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27842 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27843 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27844 (GRUB_OHCI_FSMPS): Likewise.
27845 (GRUB_OHCI_PERIODIC_START): Likewise.
27846 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27847 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27848 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27849 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27850 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27851 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27852 (grub_ohci_transaction): Likewise.
27853 (grub_ohci_transfer): Improve condition detection algorithms.
27854 Handle toggle property. Program the transactions correctly.
27855 Improve error handling. Various important fixups.
27856 (grub_ohci_portstatus): Put register writes in right order.
27857 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27858 (grub_uhci_transfer): Don't show "failed" message on success.
27859 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27860 array.
27861 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27862 determine its size.
27863 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27864 before initialization is completed. Use IN direction for empty
27865 transfers. Use last_trans and compute toggle.
27866 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27867 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27868 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27869 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27870 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27871 (grub_usb_device): Increase toggle to 256.
27872 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27873 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27874 GRUB_USBMS_SUBCLASS_SFF8070.
27875 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27876 (grub_scsi_inquiry): New member page and alloc_length.
27877 (grub_scsi_request_sense): New structure.
27878 (grub_scsi_request_sense_data): Likewise.
27879 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27880 control.
27881 * disk/scsi.c (grub_scsi_request_sense): New function.
27882 (grub_scsi_test_unit_ready): Likewise.
27883 (grub_scsi_inquiry): Fill new fields.
27884 (grub_scsi_read_capacity): Likewise.
27885 (grub_scsi_read10): Add request sense at the end.
27886 (grub_scsi_read12): Likewise.
27887 (grub_scsi_write10): Likewise.
27888 (grub_scsi_write12): Likewise.
27889 (grub_scsi_open): Add Test Unit Ready.
27890 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27891 Support additional subclasses. Con't clear halt yet. Activate the
27892 proper config. Calculate LUNs correctly.
27893 (grub_usbms_transfer): Various important fixups.
27894
278952010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27896
27897 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27898 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27899 (grub_ohci_fini_hw): New function.
27900 (grub_ohci_restore_hw): Likewise.
27901 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27902 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27903 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27904
279052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27906
27907 Dedicated DMA allocations.
27908
27909 * bus/pci.c (grub_memalign_dma32): New function
27910 (grub_dma_free): Likewise.
27911 (grub_dma_get_virt): Likewise.
27912 (grub_dma_get_phys): Likewise.
27913 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27914 (grub_ohci_pci_iter): Use dma32_alloc.
27915 (grub_ohci_transfer): Likewise.
27916 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27917 (grub_usb_bulk_readwrite): Likewise.
27918 * include/grub/pci.h: Add declarations.
27919
279202010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27921
27922 CS5536 support.
27923
27924 * bus/cs5536.c: New file.
27925 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27926 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27927 (cs5536_mod_SOURCES): New variable.
27928 (cs5536_mod_CFLAGS): Likewise.
27929 (cs5536_mod_LDFLAGS): Likewise.
27930 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27931 machine/pci.h.
27932 (kernel_img_SOURCES): Add bus/cs5536.c.
27933 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27934 usb_keyboard.mod.
27935 (usb_mod_SOURCES): New variable.
27936 (usb_mod_CFLAGS): New variable.
27937 (usb_mod_LDFLAGS): New variable.
27938 (usbtest_mod_SOURCES): New variable.
27939 (usbtest_mod_CFLAGS): New variable.
27940 (usbtest_mod_LDFLAGS): New variable.
27941 (ohci_mod_SOURCES): New variable.
27942 (ohci_mod_CFLAGS): New variable.
27943 (ohci_mod_LDFLAGS): New variable.
27944 (usbms_mod_SOURCES): New variable.
27945 (usbms_mod_CFLAGS): New variable.
27946 (usbms_mod_LDFLAGS): New variable.
27947 (usb_keyboard_mod_SOURCES): New variable.
27948 (usb_keyboard_mod_CFLAGS): New variable.
27949 (usb_keyboard_mod_LDFLAGS): New variable.
27950 * include/grub/smbus.h: New file.
27951 * include/grub/cs5536.h: New file.
27952
0b35b2a9
CW
279532010-06-02 Colin Watson <cjwatson@ubuntu.com>
27954
27955 * util/grub.d/00_header.in: Add safety check to make sure that
27956 ${locale_dir} exists before trying to probe it.
27957
ca0afd5b
CW
279582010-06-02 Colin Watson <cjwatson@ubuntu.com>
27959
27960 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27961 per the GNU Coding Standards; this is now too obscure to be worth
27962 documenting.
27963 (QNX): Likewise.
27964 (chainloader): Remove cross-reference to `SCO UnixWare'.
27965
1c41aa78
CW
279662010-06-02 Colin Watson <cjwatson@ubuntu.com>
27967
27968 * docs/grub.texi (Chain-loading): New section.
27969 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27970 adjusted for GRUB 2.
27971 (SCO UnixWare): Likewise.
27972 (QNX): Likewise.
27973 (chainloader): Add reference to `Block list syntax'.
27974 (drivemap): New section.
27975 (parttool): New section.
27976
bb8ea0f5
CW
279772010-06-02 Colin Watson <cjwatson@ubuntu.com>
27978
27979 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27980 the grub shell'.
27981 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27982 (Installing GRUB using grub-install): Remove reference to the grub
27983 shell; mention `grub-mkimage' and `grub-setup' instead.
27984 (Invoking grub-install): Likewise.
27985 (Interface): Add reference to `Menu entry editor'.
27986 (serial): Remove `--device' option.
27987
288dd6ed
CW
279882010-06-02 Colin Watson <cjwatson@ubuntu.com>
27989
27990 * docs/grub.texi (Configuration): New section, documenting
27991 configuration file generation using grub-mkconfig. I've left a slot
27992 for documenting the full shell scripting format but have not yet
27993 started on writing that up.
27994 (Invoking grub-mkconfig): New section.
27995
34c9f0e9
CW
279962010-06-02 Colin Watson <cjwatson@ubuntu.com>
27997
27998 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27999 (GNU GRUB manual): Likewise.
28000 (General commands): Update description of `terminfo' for GRUB 2.
28001
9121567e
CW
280022010-06-02 Colin Watson <cjwatson@ubuntu.com>
28003
28004 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28005 (GRUB_MOD_INIT): Fix capitalisation.
28006 * docs/grub.texi (Command-line and menu entry commands): Document
28007 gettext and gptsync commands.
28008
ab631611
CW
280092010-06-02 Colin Watson <cjwatson@ubuntu.com>
28010
28011 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28012 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28013
bde4a9ac
CW
280142010-06-01 Colin Watson <cjwatson@ubuntu.com>
28015
28016 Add btrfs probing support, currently only in the single-device case.
28017
28018 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28019 function.
28020 (grub_guess_root_device): Call find_root_device_from_mountinfo
28021 before looking in /dev.
28022
b1d17e10
VS
280232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28024
28025 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28026 GRUB_DISK_SIZE_UNKNOWN.
28027 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28028
dfbfe004
JS
280292010-05-31 Jiro SEKIBA <jir@unicus.jp>
28030
28031 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28032 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28033 corrupted or not synced properly.
28034
c2ffc8e9
VS
280352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28036
28037 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28038 Reported by: Seth Goldberg.
28039
56293166
VS
280402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28041
28042 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28043 addition of dest.
28044 Reported by: Seth Goldberg.
28045
7620e7de
VS
280462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28049 Reported by: Seth Goldberg.
28050
c837af3f
VS
280512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28052
28053 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28054 64-bit address as signed on MIPS.
28055
c7c75cf4
CW
280562010-05-28 Colin Watson <cjwatson@ubuntu.com>
28057
28058 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28059 to the empty string.
28060
fa4b8490
BC
280612010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28062
28063 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28064
28065 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28066 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28067 * kern/misc.c (__enable_execute_stack): Disable on
28068 GRUB_MACHINE_EMU.
28069
a33075b9
CW
280702010-05-28 Colin Watson <cjwatson@ubuntu.com>
28071
28072 Make grub-probe work with symbolic links under /dev/mapper as well
28073 as with real block devices. The Linux world seems to be (at best)
28074 in transition here, and GRUB shouldn't get caught in the middle.
28075
28076 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28077 /dev/mapper.
28078
d8708134
CW
280792010-05-27 Colin Watson <cjwatson@ubuntu.com>
28080
28081 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28082 input files (in which case exit zero).
28083
db2102a0
CW
280842010-05-27 Colin Watson <cjwatson@ubuntu.com>
28085
28086 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28087 return NULL for various reasons even if it has a maximum-length
28088 buffer: for example, there might be a symlink loop, or the path
28089 might exceed PATH_MAX. If this happens, return NULL.
28090
5fdba519
RM
280912010-05-27 Robert Millan <rmh@gnu.org>
28092
28093 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28094 partmap module to handle cross-partmap setups.
28095 Reported by Orestes Mas. Gràcies!
28096
d1d368e4
CW
280972010-05-27 Colin Watson <cjwatson@ubuntu.com>
28098
28099 * util/grub-mkrescue.in: Initialise override_dir rather than
28100 assuming that it's unset or empty in the environment.
28101
95ac3c73
GS
281022010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28103
28104 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28105 variable index into p_index to suppress a warning with -Wshadow.
28106
7d8c0213
BC
281072010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28108
28109 * INSTALL: Added flex >= 2.5.35 requirement.
28110
db4d5813
VS
281112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28114
f24f4300
VS
281152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 cmostest support.
28118
28119 * commands/i386/cmostest.c: New file.
28120 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28121 (cmostest_mod_SOURCES): New variable.
28122 (cmostest_mod_CFLAGS): Likewise.
28123 (cmostest_mod_LDFLAGS): Likewise.
28124 * conf/i386-pc.rmk: Likewise.
28125 * docs/grub.texi (Vendor power-on keys): New section.
28126 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28127 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28128 and GRUB_BUTTON_CMOS_ADDRESS.
28129 * util/grub.d/00_header.in: Handle powering-on by separate button.
28130
ad603f61
VS
281312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28132
28133 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28134 Removed drawing_scrollbar argument. All users updated
28135 Fixes #29792.
28136 Reported by Jo Shields
28137
3ecb080a
VS
281382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28139
28140 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28141 buffer since gfxterm handles double repaint.
28142
5f2316c1
VS
281432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28146 * term/gfxterm.c (real_scroll): Likewise.
28147
9a25f885
VS
281482010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28149
28150 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28151 before calling BIOS.
28152
39fbb79a
VS
281532010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28154
28155 * include/grub/i18n.h: Always enable grub_gettext.
28156
228cfa97
VS
281572010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28158
28159 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28160 partition naming style.
28161
21717c8f
CW
281622010-05-21 Colin Watson <cjwatson@ubuntu.com>
28163
28164 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28165 not the first option.
28166
c0f48e65
CW
281672010-05-20 Colin Watson <cjwatson@ubuntu.com>
28168
28169 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28170
96779aec
CW
281712010-05-20 Colin Watson <cjwatson@ubuntu.com>
28172
28173 * util/misc.c: Move inclusion of <limits.h> to ...
28174 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28175
fa9d256e
GS
281762010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28177
28178 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28179 Fix merge error in NetBSD code.
28180 (find_partition_start) [__NetBSD__]: Likewise.
28181
123b7a85
BC
281822010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28183
28184 Fix grub-mkrescue usage unit testing.
28185
28186 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28187
74276c0d
CF
281882010-05-18 Christian Franke <franke@computer.org>
28189
28190 * util/grub.d/10_windows.in: Use path names instead of
28191 drive letters to prevent warning from Cygwin 1.7.
28192 Add drivemap command to menuentry if needed.
28193
c4f7b523
ST
281942010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28195
28196 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28197 gnumach and gnumach.gz.
28198
95b97950
VS
281992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28200
28201 * include/grub/i18n.h (gettext): Inline instead of using #define.
28202 (grub_gettext): Likewise.
28203 (_): Likewise.
28204
01b8d2d7
VS
282052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28208 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28209 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28210 (main): Add a slash after pkglibdirroot.
28211
654e1d1e
VS
282122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 * util/grub-install.in: Add missing "in" keyword.
28215
26966aeb
VS
282162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28217
28218 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28219 Reported by: Seth Goldberg.
28220
75006747
VS
282212010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28224
74cbf5bd
CW
282252010-05-18 Colin Watson <cjwatson@ubuntu.com>
28226
28227 * configure.ac: Check for Linux device-mapper support.
28228
28229 * util/hostdisk.c (device_is_mapped): New function.
28230 (find_partition_start): New function, partly broken out from
28231 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28232 device-mapper support added.
28233 (linux_find_partition): Use find_partition_start.
28234 (convert_system_partition_to_system_disk): Add `st' argument.
28235 Support Linux /dev/mapper/* devices if device-mapper support is
28236 available; only DM-RAID devices are understood at present.
28237 (find_system_device): Add `st' argument. Pass it to
28238 convert_system_partition_to_system_disk.
28239 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28240 find_system_device and convert_system_partition_to_system_disk. Use
28241 find_partition_start.
28242
28243 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28244 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28245 * util/deviceiter.c [__linux__]: Define MINOR.
28246 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28247 * util/mkdevicemap.c (grub_putchar): New function.
28248 (grub_getkey): New function.
28249 (grub_refresh): New function.
28250 (main): Set debug=all if -v -v is used.
28251
355b51e9
CW
282522010-05-18 Colin Watson <cjwatson@ubuntu.com>
28253
28254 Fix build with non-GNU libcs.
28255
28256 * util/misc.c (canonicalize_file_name): Move to ...
28257 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28258 grub_make_system_path_relative_to_its_root.
28259
7fb5c25f
CW
282602010-05-18 Colin Watson <cjwatson@ubuntu.com>
28261
28262 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28263 we handle finding grub-mkimage. Default to finding grub-mkimage in
28264 ${bindir} with program_transform_name applied, and provide a
28265 --grub-mkimage option to override this.
28266
1d3293d6
VS
282672010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28268
28269 Remove grub-mkisofs.
28270
28271 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28272 (grub_mkisofs_SOURCES): Removed.
28273 (grub_mkisofs_CFLAGS): Removed.
28274 * util/mkisofs/defaults.h: Removed.
28275 * util/mkisofs/eltorito.c: Likewise.
28276 * util/mkisofs/exclude.h: Likewise.
28277 * util/mkisofs/hash.c: Likewise.
28278 * util/mkisofs/include/: Likewise.
28279 * util/mkisofs/include/fctldefs.h: Likewise.
28280 * util/mkisofs/include/mconfig.h: Likewise.
28281 * util/mkisofs/include/prototyp.h: Likewise.
28282 * util/mkisofs/include/statdefs.h: Likewise.
28283 * util/mkisofs/iso9660.h: Likewise.
28284 * util/mkisofs/joliet.c: Likewise.
28285 * util/mkisofs/match.c: Likewise.
28286 * util/mkisofs/match.h: Likewise.
28287 * util/mkisofs/mkisofs.c: Likewise.
28288 * util/mkisofs/mkisofs.h: Likewise.
28289 * util/mkisofs/msdos_partition.h: Likewise.
28290 * util/mkisofs/multi.c: Likewise.
28291 * util/mkisofs/name.c: Likewise.
28292 * util/mkisofs/rock.c: Likewise.
28293 * util/mkisofs/tree.c: Likewise.
28294 * util/mkisofs/write.c: Likewise.
28295
5dde9afe
VS
282962010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 Unify grub-mkimage accross platforms.
28299
28300 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28301 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28302 (grub_mkelfimage_SOURCES): Removed.
28303 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28304 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28305 (bin_UTILITIES): Add grub-mkimage.
28306 (grub_mkimage_SOURCES): New variable.
28307 (kernel_img_HEADERS): Remove machine/kernel.h.
28308 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28309 (pkglib_PROGRAMS): Add kernel.img.
28310 (kernel_img_HEADERS): Add machine/kernel.h.
28311 (kernel_img_FORMAT): Removed.
28312 (bin_UTILITIES): Remove grub-mkimage.
28313 (grub_mkimage_SOURCES): Removed.
28314 (grub_mkimage_CFLAGS): Likewise.
28315 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28316 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28317 (pkglib_PROGRAMS): Add kernel.img.
28318 (bin_UTILITIES): Remove grub-mkimage.
28319 (grub_mkimage_SOURCES): Removed.
28320 (grub_mkimage_CFLAGS): Likewise.
28321 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28322 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28323 (pkglib_PROGRAMS): Add kernel.img.
28324 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28325 (pkglib_PROGRAMS): Add kernel.img.
28326 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28327 (grub_mkimage_SOURCES): Removed.
28328 (grub_mkimage_CFLAGS): Likewise.
28329 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28330 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28331 (pkglib_PROGRAMS): Add kernel.img.
28332 (bin_UTILITIES): Remove grub-mkimage.
28333 (grub_mkimage_SOURCES): Removed.
28334 (grub_mkimage_CFLAGS): Likewise.
28335 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28336 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28337 (grub_mkimage_SOURCES): Removed.
28338 (grub_mkimage_CFLAGS): Likewise.
28339 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28340 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28341 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28342 (grub_pe32_optional_header): ... this.
28343 (grub_pe64_optional_header): ... and this. All users updated.
28344 (GRUB_PE32_PE32_MAGIC): Split into ..
28345 (GRUB_PE32_PE32_MAGIC): .. this.
28346 (GRUB_PE32_PE64_MAGIC): .. and this.
28347 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28348 * include/grub/elf.h (PT_GNU_STACK): New definition.
28349 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28350 * include/grub/i386/efi/kernel.h: Likewise.
28351 * include/grub/i386/kernel.h: Likewise.
28352 * include/grub/i386/pc/kernel.h: Likewise.
28353 * include/grub/i386/qemu/boot.h: Likewise.
28354 * include/grub/mips/kernel.h: Likewise.
28355 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28356 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28357 * include/grub/powerpc/kernel.h: Likewise.
28358 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28359 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28360 * include/grub/sparc64/kernel.h: Likewise.
28361 * include/grub/x86_64/efi/kernel.h: Likewise.
28362 * include/grub/x86_64/kernel.h: Likewise.
28363 * include/grub/offsets.h: New file.
28364 * include/grub/kernel.h (grub_module_info): Split into ...
28365 (grub_module_info32): ... this.
28366 (grub_module_info64): ... and this.
28367 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28368 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28369 (grub_boot_blocklist): Moved from here ...
28370 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28371 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28372 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28373 * include/grub/types.h (grub_target_to_host16): Removed.
28374 (grub_target_to_host32): Likewise.
28375 (grub_target_to_host64): Likewise.
28376 (grub_host_to_target16): Likewise.
28377 (grub_host_to_target32): Likewise.
28378 (grub_host_to_target64): Likewise.
28379 (grub_host_to_target_addr): Likewise.
28380
28381 Support grub-mkrescue for efi, coreboot and qemu.
28382
28383 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28384 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28385 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28386 * util/grub-mkrawimage.c: Moved from here ...
28387 * util/grub-mkimage.c: ... here. All users updated.
28388 (ALIGN_ADDR): Use image_target.
28389 (TARGET_NO_FIELD): New const.
28390 (image_target_desc): New type.
28391 (image_targets): New array.
28392 (grub_target_to_host64): Use image_target.
28393 (grub_target_to_host32): Likewise.
28394 (grub_target_to_host16): Likewise.
28395 (grub_host_to_target64): Likewise.
28396 (grub_host_to_target32): Likewise.
28397 (grub_host_to_target16): Likewise.
28398 (grub_host_to_target_addr): Likewise.
28399 (generate_image): Handle multiimage.
28400 (main): Require -O parameter. All users updated.
28401 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28402 util/efi/grub-mkimage.c
28403 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28404 New option --rom-directory.
28405 Use xorriso.
28406 * util/i386/efi/grub-mkimage.c: Removed.
28407 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28408 (grub_target_to_host32): Likewise.
28409 (grub_target_to_host64): Likewise.
28410 (grub_host_to_target16): Likewise.
28411 (grub_host_to_target32): Likewise.
28412 (grub_host_to_target64): Likewise.
28413 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28414 (grub_target_to_host32): Likewise.
28415 (grub_target_to_host64): Likewise.
28416 (grub_host_to_target16): Likewise.
28417 (grub_host_to_target32): Likewise.
28418 (grub_host_to_target64): Likewise.
28419
f4fc97d0
BC
284202010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28421
28422 Source tree is reorganized for emu build.
28423
28424 * include/grub/util/console.h: Move from here...
28425 * include/grub/emu/console.h: ...to here.
28426 * include/grub/util/getroot.h: Move from here...
28427 * include/grub/emu/getroot.h: ...to here.
28428 * include/grub/util/hostdisk.h: Move from here...
28429 * include/grub/emu/hostdisk.h: ...to here.
28430 * util/console.c: Move from here...
28431 * kern/emu/console.c: ...to here.
28432 * util/getroot.c: Move from here...
28433 * kern/emu/getroot.c: ...to here.
28434 * util/grub-emu.c: Move from here...
28435 * kern/emu/main.c: ...to here.
28436 * util/hostdisk.c: Move from here...
28437 * kern/emu/hostdisk.c: ...to here.
28438 * util/hostfs.c: Move from here...
28439 * kern/emu/hostfs.c: ...to here.
28440 * util/mm.c: Move from here...
28441 * kern/emu/mm.c: ...to here.
28442 * util/pci.c: Move from here...
28443 * bus/emu/pci.c: ...to here.
28444 * util/sdl.c: Move from here...
28445 * video/emu/sdl.c: ...to here.
28446 * util/time.c: Move from here...
28447 * kern/emu/time.c: ...to here.
28448 * util/usb.c: Move from here...
28449 * bus/usb/emu/usb.c: ...to here.
28450
28451 * include/grub/emu/misc.h: New header for grub-emu functions.
28452 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28453
28454 * conf/any-emu.rmk: Rule updates for above renames.
28455 * conf/common.rmk: Likewise.
28456 * conf/i386-pc.rmk: Likewise.
28457 * conf/i386-qemu.rmk: Likewise.
28458 * conf/mips.rmk: Likewise.
28459 * conf/sparc64-ieee1275.rmk: Likewise.
28460 * conf/x86-efi.rmk: Likewise.
28461
28462 * disk/lvm.h: #include updates for above renames.
28463 * util/grub-mkrelpath.c: Likewise.
28464 * util/grub-probe.c: Likewise.
28465 * util/i386/pc/grub-setup.c: Likewise.
28466 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28467 * kern/emu/console.c: Likewise.
28468 * kern/emu/getroot.c: Likewise.
28469 * kern/emu/hostdisk.c: Likewise.
28470 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28471
28472 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28473 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28474 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28475 * util/misc.c: Remove grub-emu functions.
28476
cced9145
VS
284772010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28478
28479 Fix gfxmenu crash.
28480 Reported by: Thorsten Grützmacher.
28481
28482 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28483 timeout hook.
28484 (circprog_set_property): Register and unregister timeout hook.
28485 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28486 (label_destroy): Free template. and unregister hook.
28487 (label_set_state): New function.
28488 (label_set_property): Handle templates and hooks.
28489 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28490 timeout hook.
28491 (progress_bar_set_property): Register and unregister timeout hook.
28492 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28493 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28494 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28495 (update_timeout_visit): Removed.
28496 (update_timeouts): New function.
28497 (redraw_timeouts): Likewise.
28498 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28499 (grub_gfxmenu_clear_timeout): Likewise.
28500 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28501 (grub_gfxmenu_timeout_notify): Likewise.
28502 (grub_gfxmenu_timeout_notifications): New external variable.
28503 (grub_gfxmenu_timeout_register): New function.
28504 (grub_gfxmenu_timeout_unregister): Likewise.
28505
c6e5caab
VS
285062010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 Transform (broken) vga terminal into (working) vga video driver.
28509
28510 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28511 video/i386/pc/vga.c.
28512 * include/grub/video.h (grub_video_driver_id):
28513 Add GRUB_VIDEO_DRIVER_VGA.
28514 * term/i386/pc/vga.c: Renamed to ...
28515 * video/i386/pc/vga.c: ...this
28516 (DEBUG_VGA): Removed.
28517 (CHAR_WIDTH): Likewise.
28518 (CHAR_HEIGHT): Likewise.
28519 (TEXT_WIDTH): Likewise.
28520 (TEXT_HEIGHT): Likewise.
28521 (DEFAULT_FG_COLOR): Likewise.
28522 (DEFAULT_BG_COLOR): Likewise.
28523 (colored_char): Likewise.
28524 (xpos): Likewise.
28525 (ypos): Likewise.
28526 (cursor_state): Likewise.
28527 (fg_color): Likewise.
28528 (bg_color): Likewise.
28529 (text_buf): Likewise.
28530 (page): Likewise.
28531 (font): Likewise.
28532 (framebuffer): New variable.
28533 (set_read_map): Disabled.
28534 (setup): New variable.
28535 (is_target): Likewise.
28536 (grub_vga_mod_init): Likewise.
28537 (grub_vga_mod_fini): Likewise.
28538 (check_vga_mem): Likewise.
28539 (write_char): Likewise.
28540 (write_cursor): Likewise.
28541 (scroll_up): Likewise.
28542 (grub_vga_putchar): Likewise.
28543 (grub_vga_getcharwidth): Likewise.
28544 (grub_vga_getwh): Likewise.
28545 (grub_vga_getxy): Likewise.
28546 (grub_vga_gotoxy): Likewise.
28547 (grub_vga_cls): Likewise.
28548 (grub_vga_setcolorstate): Likewise.
28549 (grub_vga_setcursor): Likewise.
28550 (grub_video_vga_init): New function.
28551 (grub_video_vga_setup): Likewise.
28552 (grub_video_vga_fini): Likewise.
28553 (update_target): Likewise.
28554 (grub_video_vga_blit_bitmap): Likewise.
28555 (grub_video_vga_blit_render_target): Likewise.
28556 (grub_video_vga_set_active_render_target): Likewise.
28557 (grub_video_vga_get_active_render_target): Likewise.
28558 (grub_video_vga_swap_buffers): Likewise.
28559 (grub_video_vga_set_palette): Likewise.
28560 (grub_video_vga_get_info_and_fini): Likewise.
28561 (grub_vga_term): Removed.
28562 (grub_video_vga_adapter): New variable.
28563 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28564 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28565
2bf61a98
VS
285662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28567
28568 * video/readers/jpeg.c: Indented.
28569
09ddcd11
VS
285702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 Various jpeg cleanups.
28573
28574 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28575 (grub_jpeg_decode_quan_table): Use sizeof.
28576 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28577
e5507505
PH
285782010-05-05 Peter Hurley <No e-mail available> (tiny change)
28579
28580 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28581 tables. Ignore non-last ac bit.
28582 (grub_jpeg_decode_quan_table): Likewise.
28583
7e720a9b
VS
285842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28585
28586 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28587 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28588 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28589 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28590 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28591 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28592
a7fc080b
VS
285932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28594
28595 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28596 error.
28597
2bf6012d
VS
285982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28601
265d68cd
VS
286022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28603
28604 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28605 condition.
28606
286072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28608
28609 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28610 part.
28611
265d68cd 286122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28613
28614 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28615 pointers.
28616
265d68cd 286172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28618
28619 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28620
d1b61374
CF
286212010-05-01 Christian Franke <franke@computer.org>
28622
28623 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28624 Remove broken Cygwin path conversion.
28625 * util/misc.c: [__CYGWIN__] Add include and define.
28626 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28627 for Cygwin 1.7.
28628 (make_system_path_relative_to_its_root): Simplify loop, replace early
28629 return by break.
28630 [__CYGWIN__] Add conversion to win32 path.
28631 Include "/" case in trailing slash removal.
28632
3558c6e9
VS
286332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28636 Reported by: Seth Goldberg
28637
f5f3ff93
VS
286382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28639
28640 * commands/help.c (grub_cmd_help): Fix a typo.
28641 Reported by: Seth Goldberg
28642
d8b5cd40
VS
286432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28644
28645 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28646 name and add N_.
28647 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28648 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28649 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28650 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28651 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28652 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28653 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28654 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28655 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28656 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28657 * normal/context.c (GRUB_MOD_INIT): Likewise.
28658 * normal/main.c (GRUB_MOD_INIT): Likewise.
28659 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28660 * term/serial.c (GRUB_MOD_INIT): Likewise.
28661 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28662
88c14915
VS
286632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28664
28665 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28666 extra == 0.
28667
165134bc
VS
286682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28669
28670 * commands/iorw.c: New file.
28671 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28672 (iorw_mod_SOURCES): New variable.
28673 (iorw_mod_CFLAGS): Likewise.
28674 (iorw_mod_LDFLAGS): Likewise.
28675
c5ac9b32
VS
286762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28677
28678 Hotkey support
28679
28680 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28681 * normal/main.c (hotkey_aliases): New variable.
28682 (grub_normal_add_menu_entry): Parse "--hotkey".
28683 * normal/menu_text.c (run_menu): Handle hotkeys.
28684
ce60689c
VS
286852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28686
28687 * kern/i386/coreboot/init.c (grub_machine_init): Call
28688 grub_machine_mmap_init on qemu.
28689
0359d006
VS
286902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28691
28692 * boot/i386/qemu/boot.S: Add a missing .code16.
28693
7819a456
VS
286942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28695
28696 Use LBIO on coreboot.
28697
28698 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28699 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28700 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28701 New declaration.
28702 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28703 grub_machine_mmap_init on coreboot.
28704 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28705 GRUB_LINUXBIOS_MEMBER_LINK.
28706 (grub_machine_mmap_iterate): Fix declaration.
28707 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28708
7210dca9
VS
287092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 Split coreboot and multiboot ports.
28712
28713 * conf/i386-multiboot.rmk: New file.
28714 * configure.ac: Add multiboot port.
28715 * include/grub/i386/multiboot/boot.h: New file.
28716 * include/grub/i386/multiboot/console.h: Likewise.
28717 * include/grub/i386/multiboot/init.h: Likewise.
28718 * include/grub/i386/multiboot/kernel.h: Likewise.
28719 * include/grub/i386/multiboot/loader.h: Likewise.
28720 * include/grub/i386/multiboot/memory.h: Likewise.
28721 * include/grub/i386/multiboot/serial.h: Likewise.
28722 * include/grub/i386/multiboot/time.h: Likewise.
28723 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28724 * loader/multiboot.c: Likewise.
28725 * loader/multiboot_mbi2.c: Likewise.
28726 * util/grub-mkrescue.in: Generate multiboot rescue.
28727
6f8aaf68
VS
287282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28729
3080f7a7
VS
28730 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28731
287322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28733
28734 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28735
28736 * commands/terminal.c (abstract_terminal): New struct.
28737 (handle_command): New function. Based on grub_cmd_terminal_input.
28738 (grub_cmd_terminal_input): Use handle_command.
28739 (grub_cmd_terminal_output): Use handle_command.
28740
a8ebb841
BC
287412010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28742
28743 Fix comment handling.
28744
28745 * tests/grub_script_comments.in: New testcase.
28746 * conf/tests.rmk: Rules for new testcase.
28747 * script/yylex.l: Updated flex rules.
28748
bb06ba08
ST
287492010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28750
28751 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28752 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28753 if argc is 1.
bb06ba08 28754
cc9d2425
VS
287552010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28756
28757 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28758 autogen issues.
28759
460d8402
CF
287602010-04-26 Christian Franke <franke@computer.org>
28761
28762 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28763 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28764 (grub_get_prefix): Remove function.
28765 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28766 make_system_path_relative_to_its_root ().
28767 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28768
553c01f9
CF
287692010-04-24 Christian Franke <franke@computer.org>
28770
28771 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28772 (kernel_img_LDFLAGS): Remove -static-libgcc.
28773
2aec1692
CF
287742010-04-24 Christian Franke <franke@computer.org>
28775
28776 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28777 and CHECK_END_SYMBOL if grub-emu is built.
28778 Unset TARGET_OBJ2ELF if grub-emu is built
28779 without module support.
28780
f67dc308
JS
287812010-04-24 Jiro SEKIBA <jir@unicus.jp>
28782
28783 Nilfs2 support.
28784
28785 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28786 (grub_fstest_SOURCES): Likewise.
28787 (pkglib_MODULES): Add nilfs2.mod.
28788 (nilfs2_mod_SOURCES): New variable.
28789 (nilfs2_mod_CFLAGS): Likewise.
28790 (nilfs2_mod_LDFLAGS): Likewise.
28791 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28792 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28793 * fs/nilfs2.c: New file.
28794
4ba8d354
VS
287952010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28796
28797 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28798 is not supported.
28799
0d2c20c6
GS
288002010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28801
28802 Add grub-mkconfig support for NetBSD.
28803
28804 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28805 * util/grub-mkconfig.in: export new NetBSD specific variables.
28806 * po/POTFILES-shell: added 10_netbsd.in.
28807 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28808
bc4a2d83
BC
288092010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28810
28811 Fix emu build with grub-emu-pci and grub-emu-modules.
28812
28813 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28814 functions.
28815 * include/grub/libpciaccess.h: New file.
28816 * conf/any-emu.rmk: Update kernel headers for emu build.
28817
f48c87aa
VS
288182010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28819
28820 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28821
18959385
VS
288222010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28823
28824 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28825
0037de3f
VS
288262010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28827
28828 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28829 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28830 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28831 util/ieee1275/ofpath.c.
28832 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28833 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28834 * include/grub/sparc64/ieee1275/boot.h
28835 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28836 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28837 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28838 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28839 const char *.
28840 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28841 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28842 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28843 install.
28844
38e55e90
GS
288452010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28846
28847 * util/grub-mkconfig.in: Corrected two == equality tests.
28848 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28849 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28850 expect a number appended to it.
28851 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28852 expects a number appended to it.
28853
a9e6ff28
VS
288542010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28857
0b830b8f
VS
288582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28859
28860 * util/hostdisk.c (make_device_name): Change to new partition naming.
28861
0973daeb
VS
288622010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28863
28864 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28865
460d8402 288662010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28867
28868 * Makefile.in: Add missing localedir setting.
28869
0b456309
CW
288702010-04-14 Colin Watson <cjwatson@ubuntu.com>
28871
28872 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28873 mistake in r2156. Noticed by Anthony Fok.
28874
28875 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28876 @localedir@.
28877 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28878
08f46d62
BC
288792010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28880
28881 Fix a spurious, uninitialized variable warning.
28882
28883 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28884 Initialize variable, shdr.
28885 (grub_freebsd_load_elfmodule): Likewise.
28886 (grub_freebsd_load_elf_meta): Likewise.
28887
8c4a72d4
BC
288882010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28889
28890 Fix for escaped dollar in double quoted strings.
28891
28892 * script/yylex.l: Updated flex rules.
28893 * conf/tests.rmk: Rule for new testcase.
28894 * tests/grub_script_dollar.in: New testcase.
28895
ce44826e
CPE
288962010-04-13 Carles Pina i Estany <carles@pina.cat>
288972010-04-13 Colin Watson <cjwatson@ubuntu.com>
28898
28899 Enclose all translated strings in grub.cfg in single quotes, and
28900 escape them appropriately (Ubuntu bug #552921).
28901
28902 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28903 * util/grub.d/10_hurd.in: Use it.
28904 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28905 * util/grub.d/10_linux.in (linux_entry): Likewise.
28906
4b0cd8f8
VS
289072010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28908
28909 Fix cygwin compilation.
28910
28911 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28912 * include/grub/misc.h (__register_frame_info)
28913 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28914 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28915 * kern/misc.c (__register_frame_info)
28916 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28917 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28918
01fcf061
VS
289192010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28920
28921 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28922
5d04b11e
VS
289232010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 Unify libgcc processing.
28926
28927 * Makefile.in (kernel_img_LDFLAGS): New variable.
28928 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28929 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28930 overwriting.
28931 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28932 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28933 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28934 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28935 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28936 overwriting. Remove -lgcc and -static-libgcc
28937 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28938 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28939 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28940 (kernel_img_LDFLAGS): Append instead of overwriting.
28941 Remove -lgcc and -static-libgcc
28942 * conf/sparc64-ieee1275.rmk: Likewise.
28943 * include/grub/powerpc/libgcc.h: Move to ...
28944 * include/grub/libgcc.h: .. this.
28945 * include/grub/libgcc.h: Don't export most of the function on x86.
28946 (__bswapsi2): New export.
28947 (__bswapdi2): Likewise.
28948 * include/grub/mips/libgcc.h: Removed.
28949 * include/grub/sparc64/libgcc.h: Likewise.
28950
b7f3ac29
VS
289512010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28954 disk_info_msg (conflicts with gettexting into languages with cases).
28955
2c7031b1
GS
289562010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28957
28958 Add grub-probe support for NetBSD.
28959
28960 * util/getroot.c (find_root_device): Convert block device to
28961 character device on NetBSD.
28962 * util/probe.c (probe): Require character device on NetBSD.
28963 * util/hostdisk.c: NetBSD specific headers.
28964 (configure_device_driver): new function to tune device driver
28965 parameters (currently only for NetBSD floppy driver).
28966 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28967 via disklabel ioctl).
28968 (open_device): call configure_device_driver on NetBSD.
28969 (convert_system_partition_to_system_disk): NetBSD specific code.
28970 (device_is_wholedisk): Likewise.
28971 (grub_util_biosdisk_get_grub_dev): Likewise.
28972 (make_device_name): Fixed a typo in bsd_part_str.
28973 * configure.ac: check for opendisk() and getrawpartition() on
28974 NetBSD and set LIBUTIL.
28975 * Makefile.in: add LIBUTIL to LIBS.
28976
f516290c
BC
289772010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28978
28979 Documentation fix.
28980
28981 * util/grub-script-check.c: Better help message.
28982
d8dcc0df
BC
289832010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28984
28985 Fix FreeBSD build.
28986
28987 * configure.ac: Flex version check.
28988 * conf/common.rmk: Add -Wno-error to sh.mod.
28989 * script/yylex.l: Remove all #pragma.
28990
6734334a
VS
289912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28992
28993 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28994 prototype.
28995 Reported by: Seth Goldberg.
28996
daea6abd
VS
289972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28998
28999 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29000 Rename "module" to "module2".
29001 Reported by: Seth Goldberg.
29002
f2fd9d2b
VS
290032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29004
29005 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29006 EXPORT_FUNC.
29007 Reported by: Seth Goldberg.
29008
be124579
VS
290092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * lib/posix_wrap/locale.h: Add missing file.
29012 Reported by: Seth Goldberg.
29013
ef5da797
VS
290142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29015
29016 grub-emu module load support.
29017
29018 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29019 NO_DYNAMIC_MODULES switched to this.
29020 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29021 (CFLAGS): Likewise.
29022 * conf/any-emu.rmk: Generate symlist.
29023 (kernel_img_HEADERS): Add util/datetime.h.
29024 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29025 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29026 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29027 kern/$(target_cpu)/cache.S.
29028 * configure.ac (grub-emu-modules): New option.
29029 * genmk.rb: Handle multiple source lists.
29030 * include/grub/sdl.h: New file.
29031 * include/grub/libusb.h: Likewise.
29032 * util/grub-emu.c (main): Hanle (host) root.
29033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29034 GRUB_ERR_UNKNOWN_DEVICE.
29035 * util/misc.c: Move mm functions to ...
29036 * util/mm.c: ... here. All users updated.
29037
47822096
VS
290382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29041 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29042 missing files.
29043 (maintainer-clean): Remove libgcrypt-grub.
29044
5d7e7445
VS
290452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29046
29047 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29048
25f4e252
EC
290492010-04-09 EFI Coder <eficoder@hotmail.com>
29050
29051 * normal/menu_text.c (print_message): Clean up the message and show
29052 the Fn information when on EFI
29053 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29054
027de555
VS
290552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29056
29057 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29058 All users updated.
29059 * normal/crypto.c (read_crypto_list): Likewise.
29060 * normal/dyncmd.c (read_command_list): Likewise.
29061 * normal/term.c (read_terminal_list): Likewise.
29062 * normal/main.c (read_lists): Use explicit prefix.
29063 (read_lists_hook): Use read_lists.
29064 (grub_normal_execute): Likewise.
29065
47779711
VS
290662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29067
29068 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29069 Reported by: Thomas Schmitt.
29070 Add -no-emul-boot to grub-mkisofs parameters.
29071
1118c32e
VS
290722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29073
29074 * font/font.c: Indented.
29075
7d652447
BC
290762010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29077
29078 Elif support to GRUB script (by Deepak Vankadaru).
29079
29080 * tests/grub_script_if.in: New testcase.
29081 * conf/tests.rmk: Rule for new testcase.
29082 * script/parser.y: Grammar rules for elif.
29083
34bb22df
BC
290842010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29085
29086 While and until loops support to GRUB script.
29087
29088 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29089 (grub_script_create_cmdwhile): New function prototype.
29090 (grub_script_execute_cmdwhile): New function prototype.
29091 * script/execute.c (grub_script_execute_cmdwhile): New function.
29092 * script/parser.y (command): New commands.
29093 (whilecmd): New grammar rule.
29094 (untilcmd): New grammar rule.
29095 * script/script.c (grub_script_create_cmdwhile): New function.
29096 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29097 function.
29098
29099 * tests/grub_script_while1.in: New testcase.
29100 * conf/tests.rmk: Rule for new testcase.
29101
e215d8e0
VS
291022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29105 as *.jpg.
29106
d7c43ba1
MV
291072010-04-09 Mario Vazquez <mariovazq@gmail.com>
29108
29109 GRUB_BACKGROUND support.
29110
29111 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29112 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29113
d64795c0
VS
291142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 29117 Idea by: Mario Vazquez
d64795c0
VS
29118
29119 * util/grub.d/00_header.in: Load pf2 and image modules.
29120
f267f83a
VS
291212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 grub-mkconfig multiple terminal support.
29124
29125 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29126 * util/grub.d/00_header.in: Likewise.
29127
b7841ceb
VS
291282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29129
29130 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29131 we use cd $(srcdir).
29132
df60998c
CW
291332010-04-08 Colin Watson <cjwatson@ubuntu.com>
29134
29135 * util/grub.d/10_linux.in: Only use the first word of
29136 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29137 spaces in GRUB_DISTRIBUTOR.
29138 * util/grub.d/10_kfreebsd.in: Likewise.
29139 * util/grub.d/10_hurd.in: Likewise.
29140
fa09c82e
BC
291412010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29142
14e18ae3 29143 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
29144
29145 * tests/util/grub-shell.in: Remove -serial stdio option.
29146
daf892b3
BC
291472010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29148
29149 POSIX header file wrappers.
29150
29151 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29152 equivalents.
29153 * lib/posix_wrap/ctype.h: Likewise.
29154 * lib/posix_wrap/errno.h: Likewise.
29155 * lib/posix_wrap/langinfo.h: Likewise.
29156 * lib/posix_wrap/limits.h: Likewise.
29157 * lib/posix_wrap/localcharset.h: Likewise.
29158 * lib/posix_wrap/stdint.h: Likewise.
29159 * lib/posix_wrap/stdio.h: Likewise.
29160 * lib/posix_wrap/stdlib.h: Likewise.
29161 * lib/posix_wrap/string.h: Likewise.
29162 * lib/posix_wrap/sys/types.h: Likewise.
29163 * lib/posix_wrap/unistd.h: Likewise.
29164 * lib/posix_wrap/wchar.h: Likewise.
29165 * lib/posix_wrap/wctype.h: Likewise.
29166 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29167 (grub_script.yy.h): Likewise.
29168 * script/yylex.l: Remove POSIX emulation #defines.
29169 * Makefile.in (POSIX_CFLAGS): New variable.
29170 (GNULIB_UTIL_CFLAGS): Likewise.
29171
29172 Regexp support.
29173
29174 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29175 (regexp_mod_SOURCES): New variable.
29176 (regexp_mod_CFLAGS): Likewise.
29177 (regexp_mod_LDFLAGS): Likewise.
29178 * commands/regexp.c: New file.
29179 * gnulib/regcomp.c: New file. Imported from gnulib.
29180 * gnulib/regex.c: Likewise.
29181 * gnulib/regex_internal.c: Likewise.
29182 * gnulib/regex_internal.h: Likewise.
29183 * gnulib/regexec.c: Likewise.
29184 * gnulib/regex.h: Likewise.
29185
974ac4f7
VS
291862010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29187
29188 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29189 unsupported video mode types.
29190
2622c3ff
VS
291912010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29194
064cb524
VS
291952010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29196
29197 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29198 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29199
a8c3b552
VS
292002010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 Remove unused grub_vga_get_font.
29203
29204 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29205 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29206
187bbe3d
GS
292072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29208
29209 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29210 * include/grub/misc.h: Likewise.
29211
b9396631
GS
292122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29213
29214 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29215 for which failure is fatal.
29216
50479feb
GS
292172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29218
29219 * util/grub-install.in: Use mkdir -p to create grub directory.
29220 * util/i386/efi/grub-install.in: Likewise.
29221 * util/ieee1275/grub-install.in: Likewise.
29222
b1654fdf
GS
292232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29224
29225 * Makefile.in (LEX): new variable.
29226
bd5a6415
GS
292272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29228
29229 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29230 `=' and added double quotes on operands of this equality test.
29231
3db3a82b
VS
292322010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29233
29234 * Makefile.in (uninstall): Remove a leftover debug echo.
29235 Reported by: Grégoire Sutre
29236
38023412
VS
292372010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29238
29239 MIPS multiboot2 support.
29240
29241 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29242 (multiboot2_mod_SOURCES): New variable.
29243 (multiboot2_mod_CFLAGS): Likewise.
29244 (multiboot2_mod_LDFLAGS): Likewise.
29245 (multiboot2_mod_ASFLAGS): Likewise.
29246 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29247 definition.
29248 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29249 (MULTIBOOT_MBI_REGISTER): Likewise.
29250 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29251 (MULTIBOOT_ELF32_MACHINE): Likewise.
29252 (MULTIBOOT_ELF64_MACHINE): Likewise.
29253 * include/grub/mips/multiboot.h: New file.
29254 * include/grub/video.h (grub_video_driver_id): New type
29255 GRUB_VIDEO_DRIVER_SM712.
29256 (grub_video_get_info_and_fini): Export.
29257 (grub_video_get_palette): Likewise.
29258 (grub_video_get_driver_id): Likewise.
29259 * include/multiboot2.h: Resynced with spec.
29260 * loader/i386/multiboot.c: Moved from here ...
29261 * loader/multiboot.c: ... here. All users updated.
29262 (grub_multiboot_boot): Use platform-specific macros.
29263 * loader/i386/multiboot_elfxx.c: Moved from here ...
29264 * loader/multiboot_elfxx.c: ... here. All users updated.
29265 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29266 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29267 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29268
47674667
VS
292692010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29270
29271 Import gnulib argp module.
29272
29273 * gnulib/argp-ba.c: New file.
29274 * gnulib/argp-eexst.c: Likewise.
29275 * gnulib/argp-fmtstream.c: Likewise.
29276 * gnulib/argp-fmtstream.h: Likewise.
29277 * gnulib/argp-fs-xinl.c: Likewise.
29278 * gnulib/argp-help.c: Likewise.
29279 * gnulib/argp-namefrob.h: Likewise.
29280 * gnulib/argp-parse.c: Likewise.
29281 * gnulib/argp-pin.c: Likewise.
29282 * gnulib/argp-pv.c: Likewise.
29283 * gnulib/argp-pvh.c: Likewise.
29284 * gnulib/argp-version-etc.c: Likewise.
29285 * gnulib/argp-version-etc.h: Likewise.
29286 * gnulib/argp-xinl.c: Likewise.
29287 * gnulib/argp.h: Likewise.
29288
495442ed
VS
292892010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29290
29291 * kern/device.c (grub_device_iterate): Clear errors after failed
29292 opening device.
29293
f9fd65df
VS
292942010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29295
29296 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29297 returned by firmware.
29298
af09641e
VS
292992010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29300
29301 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29302 compilation on coreboot and qemu
29303
016883a5
VS
293042010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29305
29306 * include/multiboot2.h: Resync with spec.
29307
f97e1f7d
VS
293082010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 Multiboot2 tag support
29311
29312 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29313 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29314 Remove loader/multiboot_loader.c.
29315 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29316 (grub_multiboot2_real_boot): Likewise.
29317 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29318 (grub_get_multiboot_mmap_count): New proto.
29319 (grub_fill_multiboot_mmap): Likewise.
29320 (grub_multiboot_set_video_mode): Likewise.
29321 (grub_multiboot_set_console): Likewise.
29322 (grub_multiboot_load): Likewise.
29323 (grub_multiboot_load_elf): Likewise.
29324 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29325 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29326 * include/multiboot.h: Resynced with specification.
29327 * include/multiboot2.h: Resynced with specification.
29328 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29329 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29330 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29331 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29332 users updated.
29333 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29334 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29335 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29336 Removed.
29337 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29338 Moved from here...
29339 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29340 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29341 Moved from here...
29342 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29343 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29344 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29345 All users updated.
29346 * loader/i386/multiboot_mbi2.c: New file.
29347
3506b90b
VS
293482010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29349
29350 Resync with gnulib.
29351
29352 * Makefile.in (GNULIB_CFLAGS): New variable.
29353 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29354 (grub_script_check_CFLAGS): New variable.
29355 * gnulib/alloca.h: Resync with gnulib.
29356 * gnulib/error.c: Likewise.
29357 * gnulib/error.h: Likewise.
29358 * gnulib/fnmatch.c: Likewise.
29359 * gnulib/fnmatch_loop.c: Likewise.
29360 * gnulib/getdelim.c: Likewise.
29361 * gnulib/getline.c: Likewise.
29362 * gnulib/getopt.c: Likewise.
29363 * gnulib/getopt1.c: Likewise.
29364 * gnulib/getopt_int.h: Likewise.
29365 * gnulib/gettext.h: Likewise.
29366 * gnulib/progname.c: Likewise.
29367 * gnulib/progname.h: Likewise.
29368
394a3120
GS
293692010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29370
29371 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29372 which is the case with --disabled-nls.
29373
29374 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29375 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29376 * util/misc.c: Likewise.
29377 * util/mkisofs/mkisofs.c: Likewise.
29378 * util/mkisofs/mkisofs.h: Likewise.
29379
969d1c78
VS
293802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29381
29382 Simplify Apple CC support.
29383
29384 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29385 Add 0 byte at the end not to have a symbol with empty target.
29386 * mmap/i386/pc/mmap_helper.S: Likewise.
29387 * genmk.rb: Ignore errors 2030 and 2050.
29388 * kern/i386/pc/startup.S: Use LOCAL when possible.
29389
8d2977bb
BC
293902010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29391
29392 Testcase and the fix for final semicolon on cmdline.
29393
29394 * tests/grub_script_final_semicolon.in: New testcase.
29395 * conf/tests.rmk: Rules for the new testcase.
29396 * script/parser.y: Grammar fix.
29397
a7bd6915
BC
293982010-03-26 BVK Chaitanya <bvk@localhost>
29399
29400 Blank lines testcase for GRUB script.
29401
29402 * tests/grub_script_blanklines.in: New testcase.
29403 * conf/tests.rmk: Rules for the new testcase.
29404
e4ff6628
VS
294052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 Don't use __FILE__.
29408
29409 * genmk.rb: Add -DGRUB_FILE to all C targets.
29410 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29411 * include/grub/list.h: Likewise.
29412 * include/grub/misc.h: Likewise.
29413 * include/grub/mm.h: Likewise.
29414 * include/grub/test.h: Likewise.
29415 * kern/mm.c: Likewise.
29416 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29417
6a5cf6b6
VS
294182010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29419
29420 Sunpc partitions support.
29421
29422 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29423 (grub_fstest_SOURCES): Likewise.
29424 (pkglib_MODULES): Add part_sunpc.mod.
29425 (part_sunpc_mod_SOURCES): New variable.
29426 (part_sunpc_mod_CFLAGS): Likewise.
29427 (part_sunpc_mod_LDFLAGS): Likewise.
29428 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29429 * partmap/sunpc.c: New file.
29430
746d9045
BC
294312010-03-26 BVK Chaitanya <bvk@localhost>
29432
29433 For loop support to GRUB script.
29434
29435 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29436 (grub_script_create_cmdfor): New function prototype.
29437 (grub_script_execute_cmdfor): New function prototype.
29438 * script/execute.c (grub_script_execute_cmdfor): New function.
29439 * script/parser.y (command): New for command.
29440 (forcmd): New grammar rule.
29441 * script/script.c (grub_script_create_cmdfor): New function.
29442 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29443 function.
29444 * tests/grub_script_for1.in: New testcase.
29445 * conf/tests.rmk: Rules for new testcase.
29446
18486b18
VS
294472010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29448
29449 Nested partitions
29450
29451 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29452 'partition' is NULL, grub_partition_get_start already does that.
29453 * commands/loadenv.c (check_blocklists): Likewise.
29454 (write_blocklists): Likewise.
29455 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29456 (grub_fstest_SOURCES): Likewise.
29457 (pkglib_MODULES): Add part_bsd.mod.
29458 (part_bsd_mod_SOURCES): New variable.
29459 (part_bsd_mod_CFLAGS): Likewise.
29460 (part_bsd_mod_LDFLAGS): Likewise.
29461 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29462 (grub_emu_SOURCES): Likewise.
29463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29464 * include/grub/bsdlabel.h: New file.
29465 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29466 'get_name'.
29467 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29468 (grub_partition_map_list): New variable.
29469 (grub_partition_map_register): Inline.
29470 (grub_partition_map_unregister): Likewise.
29471 (FOR_PARTITION_MAPS): New macro.
29472 (grub_partition_map_iterate): Removed.
29473 (grub_partition_get_start): Handle nested partitions.
29474 * include/grub/msdos_partition.h: Remove bsd-related entries.
29475 (grub_pc_partition): Remove.
29476 * kern/disk.c (grub_disk_close): Free partition data.
29477 (grub_disk_adjust_range): Handle nested partitions.
29478 * kern/partition.c (grub_partition_map_probe): New function.
29479 (grub_partition_probe): Parse name to number, handle subpartitions.
29480 (get_partmap): New function.
29481 (grub_partition_iterate): Handle subpartitions.
29482 (grub_partition_get_name): Likewise.
29483 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29484 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29485 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29486 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29487 Set 'number'.
29488 (acorn_partition_map_probe): Remove.
29489 (acorn_partition_map_get_name): Likewise.
29490 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29491 Set 'number'.
29492 Set 'index' to 0 since there can be only one partition entry per sector.
29493 (amiga_partition_map_probe): Remove.
29494 (amiga_partition_map_get_name): Likewise.
29495 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29496 Set 'number'.
29497 Set 'offset' and 'index' to real positions of partitions.
29498 (apple_partition_map_probe): Remove.
29499 (apple_partition_map_get_name): Likewise.
29500 * partmap/bsdlabel.c: New file.
29501 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29502 Set 'number'.
29503 Allocate 'data' so it can be correctly freed.
29504 Set 'index' to offset inside sector.
29505 (gpt_partition_map_probe): Remove.
29506 (gpt_partition_map_get_name): Likewise.
29507 * partmap/msdos.c (grub_partition_parse): Remove.
29508 (pc_partition_map_iterate): Don't force raw access.
29509 Set 'number'.
29510 Make 'ext_offset' a local variable.
29511 (pc_partition_map_probe): Remove.
29512 (pc_partition_map_get_name): Remove.
29513 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29514 Set 'number'.
29515 (sun_partition_map_probe): Remove.
29516 (sun_partition_map_get_name): Likewise.
29517 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29518 (grub_pcpart_type): Likewise.
29519 * util/hostdisk.c (open_device): Handle new numbering scheme.
29520 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29521 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29522 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29523 * util/grub-install.in: Insert all subpartition modules.
29524 * util/ieee1275/grub-install.in: Likewise.
29525
a3940f88
AG
295262010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29527
29528 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29529 grammar.
29530
21b99926 295312010-03-24 Colin Watson <cjwatson@ubuntu.com>
29532
29533 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29534
bed1d352
CW
295352010-03-21 Colin Watson <cjwatson@ubuntu.com>
29536
29537 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29538 match where 'make install' puts them.
29539 * util/i386/efi/grub-install.in: Likewise.
29540
c9f58427
CW
295412010-03-19 Colin Watson <cjwatson@ubuntu.com>
29542
29543 * .bzrignore: Add gentrigtables, grub-script-check,
29544 grub_script_check_init.c, grub_script_check_init.h, and
29545 trigtables.c.
29546
f84afb27
VS
295472010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29548
29549 * kern/parser.c: Indented.
29550
ed0e3d30
VS
295512010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29552
29553 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29554
0ea81d98
VS
295552010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29556
29557 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29558 alpha_mask_size == 0 case.
29559
0cdc2a09
BC
295602010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29561
29562 GRUB shell lexer and parser improvements.
29563
29564 * conf/any-emu.rmk: Build rule updates.
29565 * conf/common.rmk: Likewise.
29566 * conf/i386-coreboot.rmk: Likewise.
29567 * conf/i386-efi.rmk: Likewise.
29568 * conf/i386-ieee1275.rmk: Likewise.
29569 * conf/i386-pc.rmk: Likewise.
29570 * conf/powerpc-ieee1275.rmk: Likewise.
29571 * conf/x86_64-efi.rmk: Likewise.
29572
29573 * configure.ac: Configure check for flex.
29574
29575 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29576 types.
29577 (grub_lexer_param): Struct member updates.
29578 (grub_parser_param): Likewise.
29579 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29580 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29581 (grub_script_lexer_init): Prototype update.
29582 (grub_script_lexer_record_start): Likewise.
29583 (grub_script_lexer_record_stop): Likewise.
29584 (grub_script_lexer_yywrap): New function prototype.
29585 (grub_script_lexer_fini): Likewise.
29586 (grub_script_execute_argument_to_string): Removed by...
29587 (grub_script_execute_argument_to_argv): ...better version.
29588
29589 * script/execute.c (ROUND_UPTO): New macro.
29590 (grub_script_execute_cmdline): Out of memory fixes.
29591 (grub_script_execute_menuentry): Likewise.
29592 (grub_script_execute_argument_to_string): Removed. Update all
29593 users by...
29594 (grub_script_execute_argument_to_argv): ...better version.
29595 * script/function.c (grub_script_function_create): Use
29596 grub_script_execute_argument_to_argv instead of
29597 grub_script_execute_argument_to_string.
29598
29599 * script/lexer.c (check_varstate): Removed.
29600 (check_textstate): Removed.
29601 (grub_script_lexer_record_start): Likewise.
29602 (grub_script_lexer_record_stop): Likewise.
29603 (recordchar): Replaced with...
29604 (grub_script_lexer_record): ...new function.
29605 (nextchar): Removed.
29606 (grub_script_lexer_init): Rewritten.
29607 (grub_script_yylex): Rewritten.
29608 (append_newline): New function.
29609 (grub_script_lexer_yywrap): New function.
29610 (grub_script_lexer_fini): New function.
29611 (grub_script_yyerror): Sets error flag.
29612
29613 * script/yylex.l: New file.
29614 (grub_lexer_yyfree): Wrapper for flex yyffre.
29615 (grub_lexer_yyalloc): Likewise.
29616 (grub_lexer_yyrealloc): Likewise.
29617 * script/parser.y: Refactored.
29618
29619 * script/script.c (grub_script_arg_add): Out of memory fixes.
29620 (grub_script_add_arglist): Likewise.
29621 (grub_script_create_cmdline): Likewise.
29622 (grub_script_create_cmdmenu): Likewise.
29623 (grub_script_add_cmd): Likewise.
29624 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29625 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29626 unnecessary code.
29627
29628 * tests/grub_script_echo1.in: New testcase.
29629 * tests/grub_script_vars1.in: New testcase.
29630 * tests/grub_script_echo_keywords.in: New testcase.
29631
1d63a066
VS
296322010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29633
29634 Remove some redundancy in build system.
29635
29636 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29637 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29638 (TARGET_LDFLAGS): Add -nostdlib.
29639 (TARGET_IMG_LDFLAGS): Likewise.
29640 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29641 anything since mmap isn't available.
29642 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29643 Add util/time.c.
29644 (pkglib_MODULES): Remove reboot.mod.
29645 (reboot_mod_SOURCES): Removed.
29646 (reboot_mod_CFLAGS): Likewise.
29647 (reboot_mod_LDFLAGS): Likewise.
29648 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29649 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29650 (DEFSYMFILES): Add kernel_syms.lst.
29651 (kernel_img_HEADERS): Add common headers.
29652 (symlist.c): New target.
29653 (kernel_syms.lst): Likewise.
29654 (pkglib_MODULES): Add memdisk.mod.
29655 (memdisk_mod_SOURCES): New variable.
29656 (memdisk_mod_CFLAGS): Likewise.
29657 (memdisk_mod_LDFLAGS): Likewise.
29658 (pkglib_MODULES): Add reboot.mod.
29659 (reboot_mod_SOURCES): New variable.
29660 (reboot_mod_CFLAGS): Likewise.
29661 (reboot_mod_LDFLAGS): Likewise.
29662 (pkglib_MODULES): Add date.mod.
29663 (date_mod_SOURCES): New variable.
29664 (date_mod_CFLAGS): Likewise.
29665 (date_mod_LDFLAGS): Likewise.
29666 (pkglib_MODULES): Add datehook.mod.
29667 (datehook_mod_SOURCES): New variable.
29668 (datehook_mod_CFLAGS): Likewise.
29669 (datehook_mod_LDFLAGS): Likewise.
29670 (pkglib_MODULES): Add lsmmap.mod.
29671 (lsmmap_mod_SOURCES): New variable.
29672 (lsmmap_mod_CFLAGS): Likewise.
29673 (lsmmap_mod_LDFLAGS): Likewise.
29674 (pkglib_MODULES): Add boot.mod.
29675 (boot_mod_SOURCES): New variable.
29676 (boot_mod_CFLAGS): Likewise.
29677 (boot_mod_LDFLAGS): Likewise.
29678 * conf/i386-coreboot.rmk: Removed redundant parts.
29679 * conf/i386-ieee1275.rmk: Likewise.
29680 * conf/i386-pc.rmk: Likewise.
29681 * conf/mips-yeeloong.rmk: Likewise.
29682 * conf/mips.rmk: Likewise.
29683 * conf/powerpc-ieee1275.rmk: Likewise.
29684 * conf/sparc64-ieee1275.rmk: Likewise.
29685 * conf/x86_64-efi.rmk: Likewise.
29686 * conf/i386-coreboot.rmk: Moved qemu parts ..
29687 * conf/i386-qemu.rmk: ... here
29688 * conf/i386-efi.rmk: Moved common parts to...
29689 * conf/x86-efi.rmk: ... here.
29690 * conf/i386.rmk: Added modules common to all x86 variants.
29691 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29692 * disk/memdisk.c: Remove grub/machine/kernel.h.
29693 * gensymlist.sh.in: Include symbol.h.
29694 * hook/datehook.c: Correct module name.
29695 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29696 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29697 * include/grub/i386/efi/serial.h: New file.
29698 * include/grub/x86_64/efi/serial.h: Likewise.
29699 * util/time.c: Likewise.
29700 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29701
463ac55f
CK
297022010-03-14 Colin King <colin.king@ubuntu.com>
297032010-03-14 Colin Watson <cjwatson@ubuntu.com>
29704
29705 Shrink the pre-partition-table part of boot.img by eight bytes.
29706
29707 * boot/i386/pc/boot.S (ERR): New macro.
29708 (chs_mode): Use ERR.
29709 (geometry_error): Likewise.
29710 (hd_probe_error): Remove. This is only used once, so we wrwite
29711 it inline instead.
29712 (read_error): Instead of printing read_error_string, just set up
29713 %si and fall through to ...
29714 (error_message): ... this new function, also used by ERR.
29715
08e46ede
CW
297162010-03-14 Colin Watson <cjwatson@ubuntu.com>
29717
29718 Speed up consecutive hostdisk operations on the same device.
29719
29720 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29721 (grub_util_biosdisk_open): Initialise disk->data.
29722 (struct linux_partition_cache): New structure.
29723 (linux_find_partition): Cache partition start positions; these are
29724 expensive to compute on every read and write.
29725 (open_device): Cache open file descriptor in disk->data, so that we
29726 don't have to reopen it and flush the buffer cache for consecutive
29727 operations on the same device.
29728 (grub_util_biosdisk_close): New function.
29729 (grub_util_biosdisk_dev): Set `close' member.
29730
29731 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29732 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29733 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29734 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29735 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29736
4a6d2d06
VS
297372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29738
29739 Compile parts of grub-emu as modules.
29740
29741 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29742 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29743 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29744 (all-local): Add $(GRUB_EMU).
29745 (install-local): Install $(GRUB_EMU).
29746 (uninstall): Uninstall $(GRUB_EMU).
29747 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29748 * kern/dl.c: Likewise.
29749 * commands/sleep.c: Not include machine/time.h.
29750 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29751 (COMMON_CFLAGS): Likewise.
29752 (sbin_UTILITIES): Remove grub-emu.
29753 (grub_emu_SOURCES): Removed.
29754 (kernel_img_RELOCATABLE): New variable.
29755 (pkglib_PROGRAMS): Add kernel.img.
29756 (kernel_img_SOURCES): New variable
29757 (kernel_img_CFLAGS): Likewise.
29758 (kernel_img_LDFLAGS): Likewise.
29759 (TARGET_NO_STRIP): Likewise.
29760 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29761 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29762 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29763 (grub-emu): New target.
29764 (GRUB_EMU): New variable.
29765 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29766 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29767 * loader/xnu.c: Likewise.
29768 * include/grub/pci.h: Likewise.
29769 * genemuinit.sh: New file.
29770 * genemuinitheader.sh: Likewise.
29771 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29772 Support TARGET_NO_DYNAMIC_MODULES.
29773 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29774 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29775 * disk/loopback.c: Likewise.
29776 * font/font_cmd.c: Likewise.
29777 * partmap/acorn.c: Likewise.
29778 * partmap/amiga.c: Likewise.
29779 * partmap/apple.c: Likewise.
29780 * partmap/gpt.c: Likewise.
29781 * partmap/msdos.c: Likewise.
29782 * partmap/sun.c: Likewise.
29783 * parttool/msdospart.c: Likewise.
29784 * term/gfxterm.c: Likewise.
29785 * video/bitmap.c: Likewise.
29786 * video/readers/jpeg.c: Likewise.
29787 * video/readers/png.c: Likewise.
29788 * video/readers/tga.c: Likewise.
29789 * video/video.c: Likewise.
29790 * util/grub-emu.c (read_command_list): Removed.
29791 (main): Don't call util_init_nls.
29792 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29793 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29794
91fdd2ed
VS
297952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29796
29797 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29798 date.mod, datehook.mod.
29799 (datetime_mod_SOURCES): New variable.
29800 (datetime_mod_CFLAGS): Likewise.
29801 (datetime_mod_LDFLAGS): Likewise.
29802 (date_mod_SOURCES): Likewise.
29803 (date_mod_CFLAGS): Likewise.
29804 (date_mod_LDFLAGS): Likewise.
29805 (datehook_mod_SOURCES): Likewise.
29806 (datehook_mod_CFLAGS): Likewise.
29807 (datehook_mod_LDFLAGS): Likewise.
29808 * conf/sparc64-ieee1275.rmk: Likewise.
29809 * lib/ieee1275/datetime.c: New file.
29810
873ccae6
VS
298112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29814 (ieee1275_fb_mod_SOURCES): New variable.
29815 (ieee1275_fb_mod_CFLAGS): Likewise.
29816 (ieee1275_fb_mod_LDFLAGS): Likewise.
29817 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29818 New proto.
29819 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29820 (HEAP_MAX_ADDR): Likewise.
29821 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29822 type.
29823 Correct stop condition.
29824 (grub_ieee1275_devices_iterate): New function.
29825 * video/ieee1275.c: New file.
29826
601c97c0
VS
298272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29828
29829 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29830
29831 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29832 as scratch.
29833 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29834 SCRATCH_PAD_DISKBOOT as scratch.
29835 (bootit): Pass Openfirmware pointer in %o4.
29836 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29837 of 0x200000.
29838 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29839 with util/grub-mkrawimage.c.
29840 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29841 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29842 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29843 (grub_aout_load) [GRUB_UTIL]: Likewise.
29844 * include/grub/kernel.h (grub_modules_get_end): New proto.
29845 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29846 (SCRATCH_PAD_BOOT): New definition.
29847 (SCRATCH_PAD_DISKBOOT): Likewise.
29848 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29849 * include/grub/sparc64/ieee1275/ieee1275.h
29850 (grub_ieee1275_original_stack): New variable
29851 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29852 New definition
29853 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29854 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29855 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29856 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29857 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29858 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29859 (grub_platform_image_format_t): New type.
29860 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29861 * kern/main.c (grub_modules_get_end)
29862 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29863 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29864 (codestart): Switch stacks.
29865 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29866 variable.
29867 (grub_heap_init): Use grub_modules_get_end.
29868 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29869 stack.
29870 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29871 (main): Likewise.
29872 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29873
d68b491e
TG
298742010-03-14 Thorsten Glaser <tg@mirbsd.org>
29875
29876 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29877
4e02ed50
MK
298782010-03-08 Matt Kraai <kraai@ftbfs.org>
29879
29880 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29881 bug #559005).
29882
1f15fc1e
VS
298832010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 * genmoddep.awk: Output all missing symbols and not only first.
29886
fce5d8ff
VS
298872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29888
29889 * NEWS: Put the date of 1.98 release.
29890
d1e8a02f
VS
298912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29892
29893 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29894 ft2build.h.
29895
696fd607
VS
298962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29897
29898 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29899 completition in the middle of string.
29900
33e2e6f3
VS
299012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29902
29903 * util/grub-mkrescue.in: Use mktemp with explicit template.
29904
b1f6d291
VS
299052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29906
29907 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29908
2ac227c7
VS
299092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29910
29911 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29912 right pointer.
29913
8f9a632b
VS
299142010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29915
29916 Fix FreeBSD compilation.
29917
29918 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29919 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29920
60b03859
VS
299212010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29922
29923 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29924
48a5a769
VS
299252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29926
29927 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29928
3ab4bd77
VS
299292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29930
29931 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29932
d116e0d8
RM
299332010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29934
29935 Support relative image path in theme file.
29936
29937 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29938 (image_set_property): Handle theme_dir and relative path.
29939
c7ef54aa
VS
299402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 * configure.ac: Alias amd64 to x86_64.
29943
fcee14ed
VS
299442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29945
29946 * NEWS: mention multiboot on EFI.
29947
d0780363
VS
299482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29949
29950 * kern/main.c (grub_load_modules): Handle errors from init functions of
29951 embeded modules.
29952
41168ea4
VS
299532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29954
29955 * normal/autofs.c (autoload_fs_module): Handle errors.
29956
b54d93ac
VS
299572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29958
29959 Disable linux.mod on qemu-mips since it's not functional and leads
29960 to compilation failure.
29961
29962 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29963 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29964 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29965 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29966 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29967 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29968 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29969 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29970 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29971 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29972 Reported by: BVK Chaitanya
29973
fc8345da
JU
299742010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29975
29976 * INSTALL: Add gettext as a dependency and add qemu to a new section
29977 "Prerequisites for make-check".
29978
4760f979
CF
299792010-03-04 Christian Franke <franke@computer.org>
29980
29981 * util/grub-pe2elf.c: Add missing include "progname.h".
29982
f209b5b2
VS
299832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29984
29985 * normal/crypto.c (read_crypto_list): Fix a typo.
29986 Reported by: Seth Goldberg.
29987
b4b7be98
VS
299882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29989
29990 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29991 Reported by: Seth Goldberg.
b4b7be98 29992
c0ee0385
VS
299932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29994
29995 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29996 ascii.bitmaps.
29997
a8efbf64
VS
299982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29999
30000 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 30001 Reported by: Seth Goldberg.
a8efbf64 30002
08dcd913
VS
300032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 * util/i386/efi/grub-install.in: Copy gettext files.
30006
c4d0b332
VS
300072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30008
30009 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30010
c6f2fe52
VS
300112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 Wait for user entry basing on presence of output rather than on errors.
30014
30015 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30016 (grub_install_newline_hook): Likewise.
30017 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30018 * normal/menu.c (show_menu): Check line_counter to determine presence
30019 of output.
30020 * normal/term.c (grub_normal_line_counter): New variable.
30021 (grub_normal_get_line_counter): New function.
30022 (grub_install_newline_hook): Likewise.
30023
5382b1e4
VS
300242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30025
30026 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30027
5519963b
VS
300282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30029
30030 * configure.ac: Update version to 1.98.
30031
72b28631
VS
300322010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30033
30034 * util/grub.d/10_linux.in (linux_entry): Don't default to
30035 gfxpayload=keep if Linux doesn't support video handover.
30036
c140a180
VS
300372010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 Don't compile video modules on yeeloong since video subsystem is part
30040 of kernel.
30041
30042 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30043 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30044 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30045 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30046 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30047 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30048 * include/grub/bitmap_scale.h: Likewise.
30049 * include/grub/bufio.h: Likewise.
30050 * include/grub/font.h: Likewise.
30051 * include/grub/gfxterm.h: Likewise.
30052 * include/grub/video.h: Likewise.
30053 * include/grub/vbe.h: Don't include video_fb.h.
30054 * video/i386/pc/vbe.c: Include video_fb.h.
30055 * commands/i386/pc/vbetest.c: Include video.h.
30056
a0ca21c2
CW
300572010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30058
30059 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30060 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30061 default entry if GRUB_SAVEDEFAULT=true. This allows using
30062 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30063 saving a new default on every boot.
30064
4a8a763c
VS
300652010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30066
30067 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30068 * normal/term.c (read_terminal_list): Likewise.
30069 * normal/main.c (grub_normal_init_page): Likewise.
30070 (grub_normal_read_line_real): Likewise.
30071
607ffde2
VS
300722010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30073
30074 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30075 memory leak.
30076 Reported by: Seth Goldberg.
30077
2b8fa975
CW
300782010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30079
30080 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30081 duplicate declaration of `start'.
30082
618307dd
VS
300832010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30084
30085 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30086 filename.
30087 Reported by: Georgy Buranov
30088
7dd05b96 300892010-02-20 Carles Pina i Estany <carles@pina.cat>
30090
30091 * util/grub-mkrawimage.c (usage): Change string formatting to
30092 improve gettext.
30093
d1484a42
MRA
300942010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30095
30096 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30097 backspace keys.
30098
42b1d186
VS
300992010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30102 Reported by: Michael Suchanek.
30103
301042010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
30105
30106 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30107 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30108
d9f31a41
VS
301092010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 Remove any reference to non-free fonts.
30112
30113 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30114 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30115 uses non-free components.
30116 * font/font.c (grub_font_get_name): Remove example name.
30117 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30118 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30119 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30120 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30121
2793c71e
GB
301222010-02-16 Georgy Buranov <gburanov@gmail.com>
30123
30124 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30125
402e3779
VS
301262010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30127
30128 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30129 Double divisor.
30130 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30131 features.
30132 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30133
0dd1e0dd
VS
301342010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30135
30136 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30137
6fa7cfce
ST
301382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30139
30140 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30141 * docs/grub.texi (Command-line and menu entry commands): Document play
30142 command.
30143
37c8483b
ST
301442010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30145
30146 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30147 parse arguments as inline tempo and notes. Move code for playing notes
30148 to...
30149 (play): ... new function.
30150
14da0fb7
ST
301512010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30152
30153 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30154 grub_uint16_t instead of short.
30155 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30156 disk from little endian to cpu endianness.
30157
04459e70
ST
301582010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30159
30160 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30161 GRUB_TICKS_PER_SECOND instead of 120.
30162
a0876943
VS
301632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30164
30165 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30166 escape sequence after \e.
30167
e29f95dc
VS
301682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30169
30170 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30171 non-ASCII characters.
30172
d27859b2
VS
301732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30174
30175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30176 set root in single quotes to prevent \, from being unescaped.
30177
bc028f2f
VS
301782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30179
30180 Prevent unknown commands from stopping menuentry execution.
30181
30182 * script/execute.c (grub_script_execute_cmdline): Print error after
30183 unknown command.
30184
095f5f82
VS
301852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30186
30187 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30188 Reported by: Pavel Pisa.
30189
8c717950
VS
301902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30191
30192 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30193
904935c3
VS
301942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30195
30196 Merge grub_ieee1275_map_physical into grub_map and rename to
30197 grub_ieee1275_map
30198
30199 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30200 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30201 Remove.
30202 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30203 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30204 necessary.
30205 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30206
5b59a4e3
VS
302072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30208
30209 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30210 opening and not after.
30211
69e137e8
VS
302122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30213
30214 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30215 constants.
30216
2c0fcc36
VS
302172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30218
30219 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30220 (alloc_phys): Use ALIGN_UP instead of align_addr.
30221
8c6052ce
VS
302222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30223
30224 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30225
17cec782
VS
302262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30227
30228 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30229
e0128bbd
VS
302302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30231
30232 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30233 verbose dprintf.
30234
ca62070b
VS
302352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 Fix over-4GiB seek on sparc64.
30238
30239 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30240 Replace pos_i and pos_lo with pos. All users updated.
30241 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30242 New constant.
30243 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30244 Likewise.
30245 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30246 and pos_lo.
30247
bdca2607
VS
302482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30249
30250 * util/grub-mkrawimage.c (main): Call set_program_name.
30251
da278c4d
VS
302522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30253
30254 Properly align 64-bit targets.
30255
30256 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30257 (generate_image): Use ALIGN_ADDR.
30258
b274d734
VS
302592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30260
30261 Properly create cross-endian images.
30262
30263 * include/grub/types.h (grub_host_to_target_addr): New macro
30264 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30265
82da2062
VS
302662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30269
7cae4377
VS
302702010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30271
30272 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30273
30274 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30275 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30276 (grub_linux_boot): Divide by 64K when on VESA.
30277
65a533e7
VS
302782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 Support GRUB_GFXPAYLOAD_LINUX.
30281
30282 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30283 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30284
dd01d397
VS
302852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30286
30287 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30288 to show messages instead of discarding them.
30289 Process errors after executing command and not before. Keep old method
30290 too as precaution.
30291
660960d6
VS
302922010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30293
30294 * configure.ac: Check for ft2build.h.
30295
62509f04
VS
302962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30299
473df63d
VS
303002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30301
30302 * genkernsyms.sh.in: Use TARGET_CC.
30303
c98d2a13
CW
303042010-02-07 Colin Watson <cjwatson@ubuntu.com>
30305
30306 * NEWS: Update.
30307
6e14234c
VS
303082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30309
30310 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
30311 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30312 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 30313
b255e9cf
YB
303142010-02-07 Yves Blusseau <blusseau@zetam.org>
30315
6e14234c 30316 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 30317
98e6959d
VS
303182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Fix warnings in grub-emu when compiling with maximum warning options.
30321
30322 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30323 (grub_arch_modules_addr): Return 0 and not NULL.
30324 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 30325 (xstrdup): Use newstr instead of dup.
f88d801b
VS
30326 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30327 of disk to dsk to avoid shadowing.
74e4934e
VS
30328 (find_free_slot): Fix prototype.
30329 * util/getroot.c (grub_util_is_dmraid): Make static.
30330 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30331 Add missing prototype.
30332 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 30333
74e31b5c
VS
303342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30335
30336 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30337 appropriately.
30338
6b2ad14b
VS
303392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30340
30341 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30342 code out.
30343
8f891adc
VS
303442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30345
30346 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30347 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30348 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30349 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30350 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30351 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30352
74b45184
VS
303532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30354
30355 * include/grub/err.h (grub_err_printf): Don't export.
30356
a4bced77
VS
303572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30358
30359 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30360
007d0695
VS
303612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30364 * kern/misc.c (grub_gettext_dummy): Make static.
30365
b6c0d9c2
VS
303662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30367
30368 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30369 by non-valid ones.
30370 * kern/term.c (grub_putchar): Likewise.
30371
f51a90d0
VS
303722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30375 buggy hook call and memory leak.
30376
6846cec5
VS
303772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30378
30379 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30380
468d69fe
VS
303812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30384
51906b8c
VS
303852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30386
30387 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30388 modevar.
30389 Return grub_errno on allocation error.
30390
09706ce5
VS
303912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30392
30393 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30394
911df80c
YB
303952010-02-06 Yves Blusseau <blusseau@zetam.org>
30396
30397 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30398 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30399
3746a6bc
VS
304002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30401
30402 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30403 non-pxe disk.
30404 (grub_pxefs_open): Likewise.
30405
09706ce5
VS
304062010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30407
30408 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30409 * util/grub.d/10_kfreebsd.in: Likewise.
30410 * util/grub.d/10_linux.in: Likewise.
30411
7cc192d9
VS
304122010-02-06 Colin D Bennett <colin@gibibit.com>
30413
30414 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30415 (gfxmenu_mod_SOURCES): New variable.
30416 (gfxmenu_mod_CFLAGS): Likewise.
30417 (gfxmenu_mod_LDFLAGS): Likewise.
30418 * include/grub/term.h (grub_term_set_current_output): Declare
30419 argument as const.
30420 * docs/gfxmenu-theme-example.txt: New file.
30421 * gfxmenu/gfxmenu.c: Likewise.
30422 * gfxmenu/gui_box.c: Likewise.
30423 * gfxmenu/gui_canvas.c: Likewise.
30424 * gfxmenu/gui_circular_progress.c: Likewise.
30425 * gfxmenu/gui_image.c: Likewise.
30426 * gfxmenu/gui_label.c: Likewise.
30427 * gfxmenu/gui_list.c: Likewise.
30428 * gfxmenu/gui_progress_bar.c: Likewise.
30429 * gfxmenu/gui_string_util.c: Likewise.
30430 * gfxmenu/gui_util.c: Likewise.
30431 * gfxmenu/icon_manager.c: Likewise.
30432 * gfxmenu/model.c: Likewise.
30433 * gfxmenu/named_colors.c: Likewise.
30434 * gfxmenu/theme_loader.c: Likewise.
30435 * gfxmenu/view.c: Likewise.
30436 * gfxmenu/widget-box.c: Likewise.
30437 * include/grub/gfxmenu_model.h: Likewise.
30438 * include/grub/gfxmenu_view.h: Likewise.
30439 * include/grub/gfxwidgets.h: Likewise.
30440 * include/grub/gui.h: Likewise.
30441 * include/grub/gui_string_util.h: Likewise.
30442 * include/grub/icon_manager.h: Likewise.
30443
304442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30445
30446 Agglomerate scrolling in gfxterm.
30447
30448 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30449 (grub_virtual_screen_setup): Initialise 'total_screen'.
30450 (write_char): Split to ...
30451 (paint_char): ... this ...
30452 (write_char): ... and this.
30453 (paint_char): Handle delayed scrolling.
30454 (draw_cursor): Likewise.
30455 (scroll_up): Split to ...
30456 (real_scroll): ... this ...
30457 (scroll_up): ... and this.
30458 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30459 characters.
30460 (grub_gfxterm_refresh): Call real_scroll.
30461
304622010-02-06 Colin D Bennett <colin@gibibit.com>
30463
30464 * include/grub/misc.h (grub_iscntrl): New inline function.
30465 (grub_isalnum): Likewise.
30466 (grub_strtol): Likewise.
30467
304682010-02-06 Colin D Bennett <colin@gibibit.com>
30469
30470 * normal/menu_text.c (get_entry_number): Move from here ...
30471 * normal/menu.c (get_entry_number): ... moved here.
30472 * include/grub/menu.h (grub_menu_get_default_entry_index):
30473 New prototype.
30474 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30475 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30476 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30477 (grub_menu_viewer_should_return): Likewise.
30478 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30479 * normal/menu_text.c (run_menu): Enable menu switching.
30480 * normal/menu_viewer.c (should_return): New variable.
30481 (menu_viewer_changed): Likewise.
30482 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30483 (grub_menu_viewer_should_return): New function.
30484 (menuviewer_write_hook): Likewise.
30485 (grub_menu_viewer_init): Likewise.
30486
304872010-02-06 Colin D Bennet <colin@gibibit.com>
304882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30489
30490 Support for gfxterm in a window.
30491
30492 * include/grub/gfxterm.h: New file.
30493 * include/grub/video.h (struct grub_video_rect): New declaration.
30494 (grub_video_rect_t): Likewise.
30495 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30496 (refcount): New variable.
30497 (render_target): Likewise.
30498 (window): Likewise.
30499 (repaint_callback): Likewise.
30500 (grub_virtual_screen_setup): Use 'render_target'.
30501 (init_window): New function.
30502 (grub_gfxterm_init_window): Likewise.
30503 (grub_gfxterm_init): Check reference counter.
30504 Use init_window.
30505 (destroy_window): New function.
30506 (grub_gfxterm_destroy_window): Likewise.
30507 (grub_gfxterm_fini): Check reference counter.
30508 Use destroy_window.
30509 (redraw_screen_rect): Restore viewport.
30510 Use 'render_target' and 'window'.
30511 Call 'repaint_callback'.
30512 (write_char): Use 'render_target'.
30513 (draw_cursor): Likewise.
30514 (scroll_up): Restore viewport.
30515 Use 'render_target' and 'window'.
30516 Call 'repaint_callback'.
30517 (grub_gfxterm_cls): Likewise.
30518 (grub_gfxterm_refresh): Use 'window'.
30519 (grub_gfxterm_set_repaint_callback): New function.
30520 (grub_gfxterm_background_image_cmd): Use 'window'.
30521 (grub_gfxterm_get_term): New function.
30522 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30523
305242010-02-06 Colin D Bennett <colin@gibibit.com>
30525
30526 Bitmap scaling support.
30527
30528 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30529 (bitmap_scale_mod_SOURCES): New variable.
30530 (bitmap_scale_mod_CFLAGS): Likewise.
30531 (bitmap_scale_mod_LDFLAGS): Likewise.
30532 * include/grub/bitmap_scale.h: New file.
30533 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30534 (background_image_cmd_options): New variable.
30535 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30536 (cmd): Rename and change type to ...
30537 (background_image_cmd_handle): ... this. All users updated.
30538 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30539 * video/bitmap_scale.c: New file.
30540
305412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 SDL support.
30544
30545 * Makefile.in (LIBSDL): New variable.
30546 (enable_grub_emu_sdl): Likewise.
30547 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30548 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30549 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30550 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30551 * util/sdl.c: New file.
30552
305532010-02-06 Colin D Bennett <colin@gibibit.com>
305542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30555
30556 Double buffering support.
30557
30558 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30559 * include/grub/video.h: Update comment.
30560 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30561 New type.
30562 (grub_video_fb_doublebuf_blit_init): New prototype.
30563 * term/gfxterm.c (scroll_up): Support double buffering.
30564 (grub_gfxterm_refresh): Likewise.
30565 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30566 (grub_video_fb_doublebuf_blit_init): Likewise.
30567 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30568 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30569 'displayed_page', 'render_page' and 'update_screen'.
30570 (grub_video_vbe_fini): Free offscreen buffer.
30571 (doublebuf_pageflipping_commit): New function.
30572 (doublebuf_pageflipping_update_screen): Likewise.
30573 (doublebuf_pageflipping_init): Likewise.
30574 (double_buffering_init): Likewise.
30575 (grub_video_vbe_setup): Enable doublebuffering.
30576 (grub_video_vbe_swap_buffers): Implement.
30577 (grub_video_vbe_set_active_render_target): Handle double buffering.
30578 (grub_video_vbe_get_active_render_target): Likewise.
30579 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30580 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30581 (grub_video_vbe_enable_double_buffering): Likewise.
30582 (grub_video_vbe_swap_buffers): Use update_screen.
30583 (grub_video_set_mode): Use double buffering.
30584
305852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30586
30587 * maintainance/gentrigtables.py: Remove.
30588 * lib/trig.c: Likewise.
30589
30590 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30591
30592 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30593 `trigtables.c'.
30594 (trigtables.c): New rule.
30595 (gentrigtables): Likewise.
30596 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30597
305982010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30599
30600 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30601 integer constants.
30602
306032010-02-06 Colin D Bennet <colin@gibibit.com>
30604
30605 Trigonometry support.
30606
30607 * include/grub/trig.h: New file.
30608 * lib/trig.c: Likewise.
30609 * maintainance/gentrigtables.py: Likewise.
30610 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30611 (trig_mod_SOURCES): New variable.
30612 (trig_mod_CFLAGS): Likewise.
30613 (trig_mod_LDFLAGS): Likewise.
30614
5562834e
VS
306152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30616
30617 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30618 disk devices.
30619
4f8528fc
VS
306202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30621
30622 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30623 error.
30624
2b4068e9
VS
306252010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30626
30627 * util/hostdisk.c (open_device): Don't use partition device when reading
30628 before the partition.
30629 (grub_util_biosdisk_read): Don't read from partition and before the
30630 partition in single operation.
30631 (grub_util_biosdisk_write): Don't write to partition and before the
30632 partition in single operation.
30633
399f6e4d
TL
306342010-02-03 Torsten Landschoff <torsten@debian.org>
30635
30636 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30637 last sectors.
30638
996649b0
VS
306392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30640
30641 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30642 CDROM reads.
30643 (grub_biosdisk_write): Refuse to write to CDROM.
30644
3b205d4d
VS
306452010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30648
61e89d9d
VS
306492010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30650
30651 * font/font.c (find_glyph): Check that bmp_idx is available before
30652 using it.
30653 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30654 with (font == NULL).
30655
bf7fcba2
CS
306562010-01-28 Christian Schmitt <chris@ilovelinux.de>
30657
30658 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30659
f45d2663
BC
306602010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30661
30662 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30663 * util/grub-script-check.c (getline): Fix empty lines case.
30664
ec1444e6
RM
306652010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30666
30667 * Makefile.in (check): Exit with fail status when one of the tests
30668 fails.
30669 * tests/example_functional_test.c (example_test): Fix reversed assert.
30670 * tests/example_unit_test.c (example_test): Likewise.
30671
2e1cb9bb
CW
306722010-01-28 Colin Watson <cjwatson@ubuntu.com>
30673
30674 * util/grub.d/10_linux.in: This script does not use any of the
30675 contents of gettext.sh, only the external command `gettext', so stop
30676 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30677 the same prefix as GRUB.)
30678 * util/grub.d/10_kfreebsd.in: Likewise.
30679
63533ab0
VS
306802010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30681
30682 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30683 of the line.
30684
989e1f93
VS
306852010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30686
30687 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30688 last sectors.
30689
e709ebe2
VS
306902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30693 having a 4KiB and not 32KiB buffer size.
30694
27dea7ed
RM
306952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30696
30697 * util/hostfs.c: Include `<errno.h>'.
30698 (grub_hostfs_read): Handle errors from fseeko() and fread().
30699
67667b9c
RM
307002010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30701
30702 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30703 loop when using read hooks on files whose size isn't sector-aligned.
30704
c294d9d8
RM
307052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30706
30707 Remove unused parameter.
30708
30709 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30710 (grub_iso9660_open): Remove initialization of `data->length'.
30711
af75a9f1
RM
307122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30713
30714 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30715 memleak conditions.
30716
254e2ce5 307172010-01-27 Carles Pina i Estany <carles@pina.cat>
30718
30719 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30720 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30721
b510928c 307222010-01-26 Carles Pina i Estany <carles@pina.cat>
30723
30724 * util/bin2h.c (usage): Fix warning (space after backslash).
30725
aa2f9dd2 307262010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30727
30728 * font/font.c: Include `grub/fontformat.h.
30729 Remove font file format constants.
30730 (grub_font_load): Use the new macros.
30731 * include/grub/fontformat.h: New file.
30732 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30733 (write_font_pf2): Use the new macros.
30734
94e7e712
RM
307352010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30738 does.
30739
3973a59a
RM
307402010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30743
30744 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30745 (_start): Macroify `0x7F'.
30746
30747 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30748 (make_install_device): Use "(pxe)" as fallback prefix when booting
30749 via PXE.
30750
42e0cba3
GS
307512010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30752
30753 * configure.ac: Reset LIBS after check for libgcc symbols.
30754
847effd8
CW
307552010-01-25 Colin Watson <cjwatson@ubuntu.com>
30756
30757 * util/hostdisk.c (open_device): Add trailing newline to debug
30758 message.
30759
ea4a7e35
GS
307602010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30761
30762 * configure.ac: Check for `limits.h'.
30763 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30764
67951a53
RM
307652010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30766
30767 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30768 capitalize error strings.
30769
c273d4ce
ST
307702010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30771
30772 * util/grub.d/10_hurd.in: Add a recovery mode.
30773
69be5b74
VS
307742010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30775
30776 * configure.ac: Check for libgcc symbols with -nostdlib.
30777
fc9e5810
BC
307782010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30779
30780 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30781
4b358c0a
VS
307822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30783
30784 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30785 stack since heap may be unavailable at that point.
30786 (grub_ofconsole_gotoxy): Likewise.
30787
454fcd1c
VS
307882010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 * configure.ac: Check for _restgpr_14_x.
30791 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30792 and _savegpr_* prototypes.
30793
566863ca
RM
307942010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30795
30796 Use generic grub_reboot() for i386-efi.
30797
30798 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30799 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30800 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30801
bf86e59a
VS
308022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30803
30804 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30805 presence of "prefix" variable as it breaks when normal.mod is
30806 embedded.
30807
d645e0f8
VS
308082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30809
30810 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30811 stack since heap is unavailable at that point.
30812
f9ab2e25
VS
308132010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30814
30815 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30816 (grub_freebsd_bootinfo): Rewritten.
30817 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30818
01fc7054
VS
308192010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30820
30821 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30822
caab4fd6
RM
308232010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30824
30825 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30826 domain now.
30827
67eb1427
FZ
308282010-01-20 Felix Zielcke <fzielcke@z-51.de>
30829
30830 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30831 around for handling "/" to the correct fix. Fix a memory leak. Use
30832 xstrdup instead of strdup.
30833
a9ed4ff3
VS
308342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30835
30836 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30837
308382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30839
30840 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30841
30842 * font/font.c (struct grub_font): New member 'bmp_idx'.
30843 (font_init): Initialise 'bmp_idx'.
30844 (load_font_index): Fill 'bmp_idx'.
30845 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30846
48209f4f
VS
308472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30848
30849 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30850 unnecessary calls.
30851
9f0a4bb7
VS
308522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30853
30854 Move context handling out of the kernel.
30855
30856 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30857 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30858 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30859 * conf/i386-efi.rmk: Likewise.
30860 * conf/i386-ieee1275.rmk: Likewise.
30861 * conf/i386-pc.rmk: Likewise.
30862 * conf/powerpc-ieee1275.rmk: Likewise.
30863 * conf/sparc64-ieee1275.rmk: Likewise.
30864 * conf/x86_64-efi.rmk: Likewise.
30865 * include/grub/env.h: Include grub/menu.h.
30866 (grub_env_var_type): Removed.
30867 (grub_env_var): Replaced field 'type' with 'global'.
30868 (grub_env_find): New prototype.
30869 (grub_env_context_open): Remove EXPORT_FUNC.
30870 (grub_env_context_close): Likewise.
30871 (grub_env_export): Likewise.
30872 (grub_env_set_data_slot): Removed.
30873 (grub_env_get_data_slot): Likewise.
30874 (grub_env_unset_data_slot): Likewise.
30875 (grub_env_unset_menu): New prototype.
30876 (grub_env_set_menu): Likewise.
30877 (grub_env_get_menu): Likewise.
30878 * include/grub/env_private.h: New file.
30879 * include/grub/normal.h (grub_context_init): New prototype.
30880 (grub_context_fini): Likewise.
30881 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30882 * normal/context.c (grub_cmd_export): ... to here.
30883 * kern/env.c: Include env_private.h.
30884 (HASHSZ): Moved to include/grub/env_private.h.
30885 (grub_env_context): Likewise.
30886 (grub_env_sorted_var): Likewise.
30887 (current_context): Renamed from this ...
30888 (grub_current_context): ...to this. 'static' removed. All users updated.
30889 (grub_env_find): Removed 'static'.
30890 (grub_env_context_open): Moved to normal/context.c.
30891 (grub_env_context_close): Likewise.
30892 (grub_env_export): Likewise.
30893 (mangle_data_slot_name): Removed.
30894 (grub_env_set_data_slot): Likewise.
30895 (grub_env_get_data_slot): Likewise.
30896 (grub_env_unset_data_slot): Likewise.
30897 * kern/main.c (grub_set_root_dev): Don't export root.
30898 It will be done later.
30899 (grub_main): Don't export prefix.
30900 It will be done later.
30901 * normal/context.c: New file.
30902 * normal/main.c (free_menu): Use grub_env_unset_menu.
30903 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30904 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30905 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30906 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30907
8dd35b8c
VS
309082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30909
30910 setpci support.
30911
30912 * commands/setpci.c: New file.
30913 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30914 (setpci_mod_SOURCES): New variable.
30915 (setpci_mod_CFLAGS): Likewise.
30916 (setpci_mod_LDFLAGS): Likewise.
30917
449193d5
VS
309182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 Byte-addressable PCI configuration space.
30921
30922 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30923 dword address.
30924 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30925 GRUB_PCI_REG_CACHELINE.
30926 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30927 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30928 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30929 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30930 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30931 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30932 grub_pci_make_address.
30933 (lock_rom_area): Likewise.
30934 * commands/lspci.c (grub_lspci_iter): Use macroses
30935 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30936 of grub_pci_make_address.
30937 * disk/ata.c (grub_ata_pciinit): Likewise.
30938 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30939 (GRUB_PCI_REG_VENDOR): Likewise.
30940 (GRUB_PCI_REG_DEVICE): Likewise.
30941 (GRUB_PCI_REG_COMMAND): Likewise.
30942 (GRUB_PCI_REG_STATUS): Likewise.
30943 (GRUB_PCI_REG_REVISION): Likewise.
30944 (GRUB_PCI_REG_CLASS): Likewise.
30945 (GRUB_PCI_REG_CACHELINE): Likewise.
30946 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30947 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30948 (GRUB_PCI_REG_BIST): Likewise.
30949 (GRUB_PCI_REG_ADDRESSES): Likewise.
30950 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30951 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30952 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30953 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30954 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30955 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30956 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30957 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30958 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30959 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30960 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30961 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30962 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30963 (GRUB_PCI_REG_MIN_GNT): Likewise.
30964 (GRUB_PCI_REG_MAX_LAT): Likewise.
30965 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30966 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30967 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30968 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30969 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30970 space.
30971
96d73208
RM
309722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30973
30974 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30975 can be reliably determined to be supported.
30976
d4484482
RM
309772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30978
30979 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30980 that VESA is supported.
30981 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30982 supported.
30983
00308ecf
VS
309842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30985
30986 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30987
f66924a4
RM
309882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30989
30990 * util/misc.c (make_system_path_relative_to_its_root): Work around
30991 special-casing of "/", as previous incarnation of this routine did.
30992
cbca0ada
VS
309932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30994
30995 Fix any-emu compilation.
30996
30997 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30998 * grub_bin2h_SOURCES: New variable.
30999
34a66d99
RM
310002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31001
31002 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31003
94fabf58
RM
310042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * util/grub.d/00_header.in: Fix handling of locale_dir.
31007
02cf98ca
VS
310082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31009
31010 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31011 as possible unifont location (Gentoo).
31012 Reported by: Alexander Brüning
31013
327dbcd7
VS
310142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31015
31016 Don't try to generate lists for kernel.img.
31017
31018 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31019 (pkglib_MODULES): Remove kernel.img.
31020 (kernel_img_EXPORTS): Removed.
31021 (kernel_img_RELOCATABLE): New variable.
31022 * conf/x86_64-efi.rmk: Likewise.
31023 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31024
ca467290
VS
310252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31026
31027 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31028 grub_xasprintf or grub_snprintf.
31029 (grub_vsprintf): Likewise.
31030 (grub_snprintf): New proto.
31031 (grub_vsnprintf): Likewise.
31032 (grub_xasprintf): Likewise.
31033 (grub_xvasprintf): Likewise.
31034 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31035 (grub_sprintf): Removed.
31036 (grub_vsnprintf): New function.
31037 (grub_snprintf): Likewise.
31038 (grub_xvasprintf): Likewise.
31039 (grub_xasprintf): Likewise.
31040 (grub_vsprintf): Renamed to ...
31041 (grub_vsnprintf_real): ...this. New argument max_len.
31042
aca655fd
BC
310432010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31044
31045 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31046 fix grub-script-check warning.
31047
7ee92c32
VS
310482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31049
31050 * include/grub/font.h (grub_font_load): Fix prototype.
31051
f80927ca
VS
310522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31053
31054 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31055
119c50ea
VS
310562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31057
31058 * include/grub/x86_64/at_keyboard.h: New file.
31059
47d5f3c1
VS
310602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31061
31062 * loader/mips/linux.c: Include missing grub/i18n.h.
31063
55ff5266
RM
310642009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * normal/menu.c (notify_execution_failure): Clarify error message.
31067
c893cc87
RM
310682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31069
31070 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31071 return value (and revert all return statements). Update users.
31072
917dd370
CW
310732010-01-20 Dan Merillat <debian@dan.merillat.org>
31074
31075 * kern/device.c (grub_device_iterate): Allocate new part_ent
31076 structure based on sizeof (*p) rather than sizeof (p->next), to
31077 account for structure padding.
31078
31079 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31080 disk is NULL, which might happen for LVM physical volumes with no
31081 LVM signature.
31082
d4a4ee57
RM
310832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * loader/mips/linux.c (grub_cmd_initrd)
31086 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31087
310882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31089
31090 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31091 (grub_video_video_init, grub_video_bitmap_init)
31092 (grub_font_manager_init, grub_term_gfxterm_init)
31093 (grub_at_keyboard_init): New extern declarations.
31094 (grub_machine_init): Initialize gfxterm and at_keyboard.
31095
31096 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31097
31098 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31099 `gfxterm.mod' into core image.
31100
31101 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31102 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31103 (kernel_img_FORMAT): Copy to ...
31104
31105 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31106 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31107 (kernel_img_FORMAT): ... here, and ...
31108
31109 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31110 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31111 (kernel_img_FORMAT): ... here.
31112
31113 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31114 and input (at_keyboard) terminals in kernel.
31115 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31116
31117 (pkglib_MODULES): Remove `pci.mod'.
31118 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31119 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31120 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31121 (at_keyboard_mod_LDFLAGS): Remove variables.
31122
311232010-01-11 Felix Zielcke <fzielcke@z-51.de>
31124
31125 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31126
311272009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31128
31129 * include/grub/mips/libgcc.h: Only export symbols for functions
31130 that libgcc provides.
31131
311322009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 MIPS support.
31135
31136 * bus/bonito.c: New file.
31137 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31138 GRUB_PCI_NUM_DEVICES.
31139 * term/i386/pc/serial.c: Move to ...
31140 * term/serial.c: ... here. All users updated.
31141 * util/i386/pc/grub-mkimage.c: Move to ...
31142 * util/grub-mkrawimage.c: ... here. All users updated.
31143 * term/i386/pc/at_keyboard.c: Move to ...
31144 * term/at_keyboard.c: ... here. All users updated.
31145 * conf/mips-qemu-mips.rmk: New file.
31146 * conf/mips-yeeloong.rmk: Likewise.
31147 * conf/mips.rmk: Likewise.
31148 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31149 mipsel-qemu-mips.
31150 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31151 to port addresses.
31152 (grub_ata_pciinit): Support CS5536.
31153 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31154 * font/font_cmd.c (loadfont_command): Open file before passing it to
31155 grub_font_load.
31156 (pseudo_file_read): New function.
31157 (pseudo_file_close): Likewise.
31158 (pseudo_fs): New structure.
31159 (load_font_module): New function.
31160 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31161 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31162 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31163 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31164 * include/grub/i386/at_keyboard.h: Split into ...
31165 * include/grub/at_keyboard.h: ... this ...
31166 * include/grub/i386/at_keyboard.h: ... and this.
31167 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31168 New prototype.
31169 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31170 updated.
31171 (grub_elf64_size): Likewise.
31172 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31173 filename.
31174 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31175 * include/grub/i386/coreboot/serial.h: Rewritten.
31176 * include/grub/i386/ieee1275/serial.h: Include
31177 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31178 * include/grub/i386/pc/serial.h: Moved from here ...
31179 * include/grub/serial.h: ... to here. All users updated.
31180 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31181 (GRUB_PCI_NUM_BUS): Likewise.
31182 (GRUB_PCI_NUM_DEVICES): Likewise.
31183 (grub_pci_device_map_range): Add missing volatile keyword.
31184 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31185 * include/grub/mips/at_keyboard.h: New file.
31186 * include/grub/mips/cache.h: Likewise.
31187 * include/grub/mips/io.h: Likewise.
31188 * include/grub/mips/kernel.h: Likewise.
31189 * include/grub/mips/libgcc.h: Likewise.
31190 * include/grub/mips/pci.h: Likewise.
31191 * include/grub/mips/qemu-mips/boot.h: Likewise.
31192 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31193 * include/grub/mips/qemu-mips/loader.h: Likewise.
31194 * include/grub/mips/qemu-mips/memory.h: Likewise.
31195 * include/grub/mips/qemu-mips/serial.h: Likewise.
31196 * include/grub/mips/qemu-mips/time.h: Likewise.
31197 * include/grub/mips/relocator.h: Likewise.
31198 * include/grub/mips/time.h: Likewise.
31199 * include/grub/mips/types.h: Likewise.
31200 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31201 * include/grub/mips/yeeloong/boot.h: Likewise.
31202 * include/grub/mips/yeeloong/kernel.h: Likewise.
31203 * include/grub/mips/yeeloong/loader.h: Likewise.
31204 * include/grub/mips/yeeloong/memory.h: Likewise.
31205 * include/grub/mips/yeeloong/pci.h: Likewise.
31206 * include/grub/mips/yeeloong/serial.h: Likewise.
31207 * include/grub/mips/yeeloong/time.h: Likewise.
31208 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31209 * kern/elf.c (grub_elf32_size): New parameter. All users
31210 updated.
31211 (grub_elf64_size): Likewise.
31212 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31213 Load modules before saying "Welcome to GRUB!".
31214 Call grub_refresh after saying "Welcome to GRUB!".
31215 * kern/mips/cache.S: New file.
31216 * kern/mips/cache_flush.S: Likewise.
31217 * kern/mips/dl.c: Likewise.
31218 * kern/mips/init.c: Likewise.
31219 * kern/mips/qemu-mips/init.c: Likewise.
31220 * kern/mips/startup.S: Likewise.
31221 * kern/mips/yeeloong/init.c: Likewise.
31222 * kern/term.c (grub_putcode): Handle NULL terminal.
31223 (grub_getcharwidth): Likewise.
31224 (grub_getkey): Likewise.
31225 (grub_checkkey): Likewise.
31226 (grub_getkeystatus): Likewise.
31227 (grub_getxy): Likewise.
31228 (grub_getwh): Likewise.
31229 (grub_gotoxy): Likewise.
31230 (grub_cls): Likewise.
31231 (grub_setcolorstate): Likewise.
31232 (grub_setcolor): Likewise.
31233 (grub_getcolor): Likewise.
31234 (grub_refresh): Likewise.
31235 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31236 (write_jump): Add hatch nop.
31237 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31238 * lib/mips/setjmp.S: New file.
31239 * loader/mips/linux.c: Likewise.
31240 * term/i386/pc/at_keyboard.c: Move from here ...
31241 * term/at_keyboard.c: ... to here.
31242 * term/i386/pc/serial.c: Moved from here ...
31243 * term/serial.c: ... to here. All users updated.
31244 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31245 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31246 (serial_translate_key_sequence): Avoid deadlock.
31247 (grub_serial_getkey): Handle backspace.
31248 (grub_serial_putchar): Fix newline handling.
31249 * util/i386/pc/grub-mkimage.c: Move from here ...
31250 * util/grub-mkrawimage.c: ... to here. All users updated.
31251 (generate_image): New parameters 'font_path' and 'format'.
31252 Support embedding font.
31253 Use grub_host_to_target* instead of grub_cpu_to_le*.
31254 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31255 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31256 (options): New option "--font".
31257 (usage): Likewise.
31258 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31259 (main): Handle "--font".
31260 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31261 (grub_virtual_screen_setup): Set bg_color_display.
31262 (redraw_screen_rect): Use bg_color_display instead of incorrect
31263 bg_color.
31264 (grub_gfxterm_cls): Likewise.
31265 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31266 Support embedding config file.
31267 (add_segments): Likewise.
31268 (options): New option "--config".
31269 (main): Handle "--config".
31270 * video/sm712.c: New file.
31271
25c2b5b3
RM
312722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31273
31274 Fix parallel builds.
31275
31276 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31277 font.c depend on ascii.h).
31278
312792010-01-12 Carles Pina i Estany <carles@pina.cat>
31280
31281 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31282
312832010-01-11 Carles Pina i Estany <carles@pina.cat>
31284
31285 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31286 By default: disabled.
31287 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31288 parameter.
31289
312902010-01-10 Carles Pina i Estany <carles@pina.cat>
31291
31292 * font/font.c: Update copyright years.
31293 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31294
312952010-01-10 Carles Pina i Estany <carles@pina.cat>
31296
31297 * font/font.c: Include `ascii.h'.
31298 (ASCII_BITMAP_SIZE): New macro.
31299 (ascii_font_glyph): Define.
31300 (ascii_glyph_lookup): New function.
31301 (grub_font_get_string_width): Change comment. If glyph not found, use
31302 ascii_glyph_lookup.
31303 (grub_font_get_glyph_with_fallback): If glyph not available returns
31304 ascii_glyph_lookup.
31305 * util/grub-mkfont.c (file_formats): New enum.
31306 (options): Add `ascii-bitmaps' new option.
31307 (usage): Add `asii-bitmaps' new option.
31308 (write_font_ascii_bitmap): New function.
31309 (write_font): Rename to ...
31310 (write_font_p2): ... this. Remove print_glyphs call.
31311 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31312 used. Call print_glyphs.
31313 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31314
313152010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31316
31317 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31318 (grub_bin2h_SOURCES): New variable.
31319 * util/bin2h.c: New file.
31320
915fc1b8
VS
313212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31322
31323 * include/multiboot.h: Resynced with spec.
31324 * include/multiboot2.h: Likewise.
31325 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31326 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31327
9444b678
RM
313282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31329
31330 * include/grub/term.h (grub_term_register_input,
31331 grub_term_register_output): Check return of terminal init()
31332 routines, and abort if errors are raised.
31333
31334 * commands/terminal.c: Update copyright year.
31335
cba98e8d
RM
313362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31337
31338 * commands/terminal.c (grub_cmd_terminal_input)
31339 (grub_cmd_terminal_output): Check return of terminal init()
31340 routines, and abort if errors are raised.
31341
6f7db5d6
VS
313422010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31343
31344 * include/grub/i386/bsd.h: Fix include pathes.
31345
262bff8d
VS
313462010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31347
31348 Add missing *BSD copyright headers.
31349
31350 * include/grub/aout.h: Add BSD licence.
31351 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31352 * include/grub/i386/freebsd_linker.h: ... here,
31353 * include/grub/i386/freebsd_reboot.h: ... here,
31354 * include/grub/i386/netbsd_bootinfo.h: ... here,
31355 * include/grub/i386/netbsd_reboot.h: ... here,
31356 * include/grub/i386/openbsd_bootarg.h: ... here,
31357 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31358 licence to each file.
31359
b2cab848
RM
313602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31361
31362 * acinclude.m4: Remove `nop' assembly instruction; it's not
31363 implemented by all architectures.
31364
2cb6be4b
RM
313652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31366
31367 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31368 ELILO. This is no longer necessary.
31369
a2eaee15
BC
313702010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31371
31372 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31373
31374 * util/grub-script-check.c: grub-script-check tool.
31375 * conf/common.rmk: Make rules for grub-script-check.
31376
88d17012
RM
313772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31378
31379 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31380 spotting it back in 2008. Shame on me for forgetting he did.
31381
31382 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31383
8040619d
RM
313842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31385
31386 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31387 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31388 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31389 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31390 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31391 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31392
a0c2a0f6
RM
313932010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 * include/grub/test.h: Add license header.
31396 * tests/example_functional_test.c: Likewise.
31397 * tests/example_unit_test.c: Likewise.
31398 * tests/lib/functional_test.c: Likewise.
31399 * tests/lib/test.c: Likewise.
31400 * tests/lib/unit_test.c: Likewise.
31401
b0b13907
VS
314022010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31403
31404 Use flag-based instead of hook-based video mode selection and "auto"
31405 keyword.
31406
31407 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31408 (grub_video_set_mode): Changed prototype. All users updated.
31409 (grub_video_check_mode_flag): New inline function.
31410 * video/video.c (parse_modespec): New function.
31411 (grub_video_set_mode): Parse flags and keywords.
31412
ea379330 314132010-01-17 Carles Pina i Estany <carles@pina.cat>
31414
31415 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31416 fprintf call.
31417
e15c215e
FZ
314182010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31419
31420 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31421
409ae1c9 314222010-01-16 Carles Pina i Estany <carles@pina.cat>
31423
31424 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31425 string.
31426 * util/grub-emu.c (usage): Likewise.
31427 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31428 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31429 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31430 * util/i386/pc/grub-setup.c (usage): Likewise.
31431
70a14d3d 314322010-01-16 Carles Pina i Estany <carles@pina.cat>
31433
31434 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31435 the message.
31436 (grub_util_info): Likewise.
31437 (grub_util_error): Likewise.
31438 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31439 and/or new lines in `grub_util_warna', `grub_util_info',
31440 `grub_util_error' calls.
31441 * util/getroot.c: Likewise.
31442 * util/grub-editenv.c: Likewise.
31443 * util/grub-emu.c: Likewise.
31444 * util/grub-fstest.c: Likewise.
31445 * util/grub-mkdevicemap.c: Likewise.
31446 * util/grub-mkfont.c: Likewise.
31447 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31448 * util/grub-mkrelpath.c: Likewise.
31449 * util/grub-pe2elf.c: Likewise.
31450 * util/grub-probe.c: Likewise.
31451 * util/hostdisk.c: Likewise.
31452 * util/i386/efi/grub-mkimage.c: Likewise.
31453 * util/i386/pc/grub-mkimage.c: Likewise.
31454 * util/i386/pc/grub-setup.c: Likewise.
31455 * util/ieee1275/ofpath.c: Likewise.
31456 * util/mkisofs/eltorito.c: Likewise.
31457 * util/mkisofs/rock.c: Likewise.
31458 * util/mkisofs/write.c: Likewise.
31459 * util/raid.c: Likewise.
31460 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31461 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31462
a0b766fc
VS
314632010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31464
31465 Enable multiboot on non-pc.
31466
31467 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31468 multiboot.mod and multiboot2.mod to ...
31469 * conf/i386.rmk (pkglib_MODULES): ... here.
31470 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31471 Moved to ...
31472 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31473 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31474 Moved to ...
31475 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31476 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31477 Moved to ...
31478 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31479 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31480 Moved to ...
31481 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31482 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31483 relocator.mod.
31484 (ata_mod_SOURCES): Removed.
31485 (ata_mod_CFLAGS): Likewise.
31486 (ata_mod_LDFLAGS): Likewise.
31487 (relocator_mod_SOURCES): Removed.
31488 (relocator_mod_CFLAGS): Likewise.
31489 (relocator_mod_ASFLAGS): Likewise.
31490 (relocator_mod_LDFLAGS): Likewise.
31491 Include i386.mk.
31492 * include/grub/x86_64/multiboot.h: New file.
31493 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31494 Terminate EFI.
31495
884ade56
VS
314962010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31497
31498 Video multiboot support.
31499
31500 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31501 New prototype.
31502 * include/multiboot.h: Resynced with multiboot specification.
31503 * include/multiboot2.h: Likewise.
31504 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31505 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31506 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31507 (HAS_VGA_TEXT): Likewise.
31508 (accepts_video): New variable.
31509 (grub_multiboot_set_accepts_video): New function.
31510 (grub_multiboot_get_mbi_size): Account for video structures.
31511 (set_video_mode): New function.
31512 (retrieve_video_parameters): Likewise.
31513 (grub_multiboot_make_mbi): Fill video fields.
31514
0d90e8a6
VS
315152010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31516
31517 Video driver ids.
31518
31519 * include/grub/video.h (grub_video_driver_id): New type.
31520 (grub_video_adapter): New member 'id'. All users updated.
31521 (grub_video_get_driver_id): New proto.
31522 * video/video.c (grub_video_get_driver_id): New function.
31523
5c71db1b 315242010-01-14 Carles Pina i Estany <carles@pina.cat>
31525
31526 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31527 `var=val'.
31528
cca15b52 315292010-01-14 Carles Pina i Estany <carles@pina.cat>
31530
31531 * normal/cmdline.c (print_completion): Gettextizze.
31532
c586fbb2 315332001-01-14 Carles Pina i Estany <carles@pina.cat>
31534
31535 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31536
ba2f6848 315372010-01-14 Carles Pina i Estany <carles@pina.cat>
31538
31539 * gettext/gettext.c (grub_gettext_translate): Push and pop
31540 grub_errno.
31541 (grub_gettext_delete_list): Change comment style.
31542 * kern/err.c (grub_error): Gettextizze.
31543 (grub_fatal): Gettextizze.
31544
0a46429a
RM
315452010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31546
31547 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31548 (grub_linux16_real_boot): ... this.
31549 * kern/i386/loader.S: Likewise.
31550 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31551 (grub_linux16_boot): New function. Switches to text mode and calls
31552 grub_linux16_real_boot().
31553
31554 * loader/i386/bsd.c: Include `<grub/video.h>'.
31555 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31556 text mode before calling grub_unix_real_boot().
31557
31558 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31559 (grub_multiboot_boot): Switch to text mode before calling
31560 grub_relocator32_boot().
31561
31562 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31563 (grub_chainloader_boot): Switch to text mode before calling
31564 grub_chainloader_real_boot().
31565
d6f93a66
RM
315662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315672010-01-05 Colin Watson <cjwatson@ubuntu.com>
31568
31569 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31570 non-empty value.
31571
315722010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315732010-01-05 Colin Watson <cjwatson@ubuntu.com>
31574
31575 * util/grub.d/00_header.in: Define a "savedefault" function for use
31576 in menu entries.
31577 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31578
315792010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
315802010-01-05 Colin Watson <cjwatson@ubuntu.com>
31581
31582 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31583 saved_entry if boot_once is unset.
31584 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31585 previous saved entry (i.e. grub-reboot).
31586
315872009-12-08 Colin Watson <cjwatson@ubuntu.com>
31588
31589 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31590
315912009-12-08 Colin Watson <cjwatson@ubuntu.com>
31592
31593 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31594 `var=val'.
31595 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31596
315972009-12-08 Colin Watson <cjwatson@ubuntu.com>
31598
31599 * util/grub-reboot.in: Fix --version output.
31600 * util/grub-set-default.in: Likewise.
31601
316022009-12-08 Colin Watson <cjwatson@ubuntu.com>
31603
31604 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31605 blocks.
31606
316072009-12-08 Colin Watson <cjwatson@ubuntu.com>
31608
31609 * util/grub.d/00_header.in: Quote the value assigned to `default',
31610 in case it contains spaces.
31611
316122009-12-08 Colin Watson <cjwatson@ubuntu.com>
31613
31614 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31615 `save_default_entry' call from the macosx case to the linux case.
31616
316172009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
316182009-10-25 Colin Watson <cjwatson@ubuntu.com>
31619
31620 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31621 in `chosen' environment variable.
31622 * normal/menu_text.c (get_entry_number): Check if the variable
31623 matches the title of a menu entry.
31624 (run_menu): Pass menu to get_entry_number.
31625
31626 * util/grub-reboot.in: New file.
31627 * util/grub-set-default.in: New file.
31628 * conf/common.rmk (grub-reboot): New utility.
31629 (grub-set-default): New utility.
31630
31631 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31632 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31633 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31634 move it to `saved_entry' for the next boot. Load environment on
31635 initialisation.
31636 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31637 * util/grub.d/10_hurd.in: Likewise.
31638 * util/grub.d/10_linux.in (linux_entry): Likewise.
31639 * util/grub.d/10_windows.in: Likewise.
31640 * util/grub.d/30_os-prober.in: Likewise.
31641
31642 * util/grub-install.in: Create environment block.
31643 * util/i386/efi/grub-install.in: Likewise.
31644 * util/ieee1275/grub-install.in: Likewise.
31645 * util/sparc64/ieee1275/grub-install.in: Likewise.
31646
0934d184
BC
316472010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31648
31649 Unit testing framework for GRUB.
31650
31651 * Makefile.in: Test framework build rules for 'make check'.
31652 * conf/tests.rmk: Build rules for individual tests and framework.
31653
31654 * include/grub/test.h: Header file for whitebox tests.
31655 * tests/lib/functional_test.c: Framework support for whitebox
31656 functional tests.
31657 * tests/lib/test.c: Common whitebox testing code for unit and
31658 functional tests.
31659 * tests/lib/unit_test.c: Framework support for whitebox unit
31660 tests.
31661
31662 * tests/util/grub-shell-tester.in: Support utility for grub-script
31663 tests.
31664 * tests/util/grub-shell.in: Utility to execute grub-script
31665 commands in a Qemu instance.
31666
31667 * tests/example_functional_test.c: Example whitebox functional
31668 test.
31669 * tests/example_grub_script_test.in: Example grub-script test.
31670 * tests/example_scripted_test.in: Example scripted test.
31671 * tests/example_unit_test.c: Example whitebox unit test.
31672
9c4ffeeb
VS
316732010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31674
31675 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31676 Add loader/i386/multiboot_mbi.c.
31677 (multiboot2_mod_SOURCES): Likewise.
31678 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31679 (multiboot2_mod_SOURCES): Likewise.
31680 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31681 (grub_multiboot_make_mbi): Likewise.
31682 (grub_multiboot_free_mbi): Likewise.
31683 (grub_multiboot_init_mbi): Likewise.
31684 (grub_multiboot_add_module): Likewise.
31685 (grub_multiboot_set_bootdev): Likewise.
31686 * loader/i386/multiboot.c (mbi): Removed.
31687 (mbi_dest): Likewise.
31688 (alloc_mbi): New variable.
31689 (grub_multiboot_payload_size): Removed. All users updated.
31690 (grub_multiboot_pure_size): New variable.
31691 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31692 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31693 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31694 (grub_fill_multiboot_mmap): Likewise.
31695 (grub_multiboot_get_bootdev): Likewise.
31696 (grub_multiboot): Use multiboot_mbi functions.
31697 * loader/i386/multiboot_mbi.c: New file.
31698
17383dfe
VS
316992010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31700
31701 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31702 it would result in module crash.
31703
c1f28820
VS
317042010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31705
31706 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31707 (grub_ofconsole_getwh): Split to ...
31708 (grub_ofconsole_getwh): ... this.
31709 (grub_ofconsole_dimensions): ...and this.
31710 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31711
58655a16
RM
317122010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31713
31714 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31715
10891398
VS
317162010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31717
31718 * loader/i386/pc/multiboot2.c: Removed stalled file.
31719
0b8a223c
VS
317202010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31721
31722 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31723 Reported by: Grégoire Sutre
31724
92ab12b0
RM
317252010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31726
31727 * util/misc.c (canonicalize_file_name): New function.
31728 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31729 instead of realpath().
31730
a788afb6
CW
317312010-01-11 Colin Watson <cjwatson@ubuntu.com>
31732
31733 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31734 and make it clearer that it's optional. Based on confusion
31735 witnessed on IRC.
31736
ffa8e3d2
VS
317372010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31738
31739 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31740 in premature implicit newline.
31741
e9060a9d
VS
317422010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31743
31744 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31745 which resulted in garbled command line at the end of screen.
31746
f0d0c0b7
RM
317472010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31748
31749 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31750 initialization with similar approach as with other Linux loaders.
31751
0e60bae7
RM
317522010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31753
31754 Fix i386-ieee1275 build.
31755
31756 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31757 and grub_term_height() for video_{width,height} initialization.
31758
317592010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31760
31761 Fix grub-emu build.
31762
31763 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31764
cdb3f378
RM
317652010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
317662010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31767
31768 Support for multiple terminals.
31769
31770 * Makefile.in (pkglib_DATA): terminal.lst.
31771 (terminal.lst): New target.
31772 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31773 (GRUB_MOD_INIT(handler)): Likewise.
31774 (GRUB_MOD_FINI(handler)): Likewise.
31775 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31776 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31777 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31778 (grub_cmd_sleep): Use grub_term_save_pos.
31779 * commands/terminal.c: New file.
31780 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31781 commands/terminal.c and lib/charset.c.
31782 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31783 (pkglib_MODULES): Add terminal.mod.
31784 (terminal_mod_SOURCES): New variable.
31785 (terminal_mod_CFLAGS): Likewise.
31786 (terminal_mod_LDFLAGS): Likewise.
31787 * genhandlerlist.sh: Don't handle terminals.
31788 * genmk.rb: Generate terminal-*.lst.
31789 * genterminallist.sh: New file.
31790 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31791 (grub_is_valid_utf8): Likewise.
31792 (grub_utf8_to_ucs4_alloc): Likewise.
31793 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31794 (grub_menu_register_viewer): Changed argument.
31795 (grub_menu_try_text): New proto.
31796 (grub_gfxmenu_try_hook): New declaration.
31797 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31798 (grub_menu_init_page): Additional argument term.
31799 (grub_normal_init_page): Likewise.
31800 (grub_cmdline_get): Arguments simplified.
31801 (grub_utf8_to_ucs4_alloc): Removed.
31802 (grub_print_ucs4): Additional argument term.
31803 (grub_getstringwidth): Likewise.
31804 (grub_print_message_indented): Likewise.
31805 (grub_menu_text_register_instances): New proto.
31806 (grub_show_menu): Likewise.
31807 (read_terminal_list): Likewise.
31808 (grub_set_more): Likewise.
31809 * include/grub/parser.h: Include handler.h.
31810 * include/grub/reader.h: Rewritten.
31811 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31812 (GRUB_TERM_WIDTH): Changed to function.
31813 (GRUB_TERM_HEIGHT): Likewise.
31814 (GRUB_TERM_BORDER_WIDTH): Likewise.
31815 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31816 (GRUB_TERM_NUM_ENTRIES): Likewise.
31817 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31818 (GRUB_TERM_CURSOR_X): Likewise.
31819 (grub_term_input_class): Likewise.
31820 (grub_term_output_class): Likewise.
31821 (grub_term_outputs_disabled): New declaration.
31822 (grub_term_inputs_disabled): Likewise.
31823 (grub_term_outputs): Likewise.
31824 (grub_term_inputs): Likewise.
31825 (grub_term_register_input): Rewritten.
31826 (grub_term_register_output): Likewise.
31827 (grub_term_unregister_input): Likewise.
31828 (grub_term_unregister_output): Likewise.
31829 (FOR_ACTIVE_TERM_INPUTS): New macro.
31830 (FOR_DISABLED_TERM_INPUTS): Likewise.
31831 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31832 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31833 * include/grub/terminfo.h: Add oterm argument to all protypes.
31834 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31835 Use grub_rescue_run.
31836 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31837 All users updated.
31838 * kern/reader.c: Removed. All users updated.
31839 * kern/rescue_reader.c (grub_rescue_init): Removed.
31840 (grub_rescue_reader): Likewise.
31841 (grub_register_rescue_reader): Likewise.
31842 (grub_rescue_run): New function based on kern/reader.c.
31843 * kern/term.c: Adapted for multiterm.
31844 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31845 (grub_is_valid_utf8): Likewise.
31846 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31847 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31848 right terminal.
31849 * loader/i386/linux.c (grub_linux_boot): Likewise.
31850 * normal/auth.c (grub_username_get): New function.
31851 (grub_auth_check_authentication): Use grub_username_get.
31852 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31853 * normal/color.c: Adapt for multiterm.
31854 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31855 (grub_normal_init_page): Additional argument term.
31856 (read_lists): Call read_terminal_lists.
31857 (grub_enter_normal_mode): Call grub_cmdline_run.
31858 Handle grub_normal_exit_level.
31859 (grub_cmd_normal): Make reentrant.
31860 (grub_cmd_normal_exit): New function.
31861 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31862 * normal/menu.c: Adapt for multiterm.
31863 * normal/menu_entry.c: Likewise.
31864 * normal/menu_text.c: Likewise.
31865 * normal/menu_viewer.c: Removed. All users updated.
31866 * normal/term.c: New file.
31867 * util/console.c: Change order of includes to workaround a bug in
31868 ncurses headers.
31869 * term/terminfo.c: New argument oterm on all exported functions.
31870 All users updated.
31871 * util/grub-editenv.c (grub_term_input_class): Removed.
31872 (grub_term_output_class): Likewise.
31873
1a064917
RM
318742010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 Make loader output a bit more user-friendly.
31877
31878 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31879 is being loaded. Likewise for the Hurd.
31880
31881 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31882 that kernel of FreeBSD ${version} is being loaded.
31883
31884 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31885 grub_dprintf().
31886 (grub_cmd_initrd): Likewise.
31887 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31888 that Linux ${version} is being loaded. Likewise for initrd.
31889
5ce0a83a 318902010-01-09 Carles Pina i Estany <carles@pina.cat>
31891
31892 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31893
809bbfeb 318942010-01-08 Carles Pina i Estany <carles@pina.cat>
31895
31896 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31897 (GRUB_MOD_INIT): Gettextizze.
31898 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31899 (GRUB_MOD_INIT): Gettextizze.
31900 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31901 (grub_cmd_linux): Capitalise Linux.
31902 (GRUB_MOD_INIT): Gettextizze.
31903 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31904 (grub_cmd_linux): Capitalise Linux.
31905 (GRUB_MOD_INIT): Gettextizze.
31906 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31907 (grub_cmd_linux): Capitalise Linux.
31908 (GRUB_MOD_INIT): Gettextizze.
31909 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31910 (GRUB_MOD_INIT): Gettextizze.
31911 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31912 (grub_cmd_linux): Capitalise Linux.
31913 (GRUB_MOD_INIT): Gettextizze.
31914 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31915 (grub_cpu_xnu_init): Gettextizze.
31916 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31917 (GRUB_MOD_INIT): Gettextizze.
31918 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31919 (GRUB_MOD_INIT): Gettextizze.
31920 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31921 (grub_linux_load64): Capitalise Linux.
31922 (GRUB_MOD_INIT): Gettextizze.
31923 * loader/xnu.c: Include `<grub/i18n.h>'.
31924 (GRUB_MOD_INIT): Gettextizze.
31925 * po/POTFILES: Add `loader/efi/appleloader.c',
31926 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31927 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31928 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31929 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31930 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31931 and `loader/xnu.c'.
31932
b394b2ca
RM
319332010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31934
31935 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31936
319372010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31938
31939 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31940 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31941 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31942
bc8b32b3
RM
319432010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31944
31945 Reset Multiboot 2 support. New loader implements the draft in
31946 /branches/multiboot2 and shares as much code as possible with the
31947 production Multiboot 1 implementation.
31948
31949 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31950 * loader/multiboot2.c: Likewise.
31951 * loader/i386/multiboot_helper.S: Likewise.
31952 * include/multiboot2.h: Replace with latest version from the draft
31953 in /branches/multiboot2.
31954
31955 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31956 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31957 and `loader/multiboot2.c'.
31958 (pkglib_MODULES): Add `multiboot2.mod'.
31959 (multiboot2_mod_SOURCES): New variable.
31960 (multiboot2_mod_LDFLAGS): Likewise.
31961 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31962
31963 * conf/i386-pc.rmk: Likewise.
31964
31965 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31966 (multiboot_mod_SOURCES): Remove variable.
31967 (multiboot_mod_LDFLAGS): Likewise.
31968 (multiboot_mod_CFLAGS): Likewise.
31969
31970 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31971 `<multiboot2.h>' instead of `<multiboot.h>'.
31972 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31973 (MULTIBOOT_HEADER_MAGIC): New macros.
31974
31975 * loader/multiboot_loader.c (module_version_status): Remove variable.
31976 (find_multi_boot2_header): Remove function.
31977 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31978 logic. Always check for the Multiboot version we're compiling for.
31979 (grub_cmd_module_loader): Likewise.
31980 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31981 command instead of `multiboot'.
31982
5d2c52b8
RM
319832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31984
31985 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31986 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31987 all users.
31988
53108d92
RM
319892010-01-07 Robert Millan <rmh.grub@aybabtu.com>
319902010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31991
31992 Fix breakage introduced with previous commit.
31993
31994 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31995 commands.
31996 * normal/handler.c (read_handler_list): Revert part of previous commit
31997 affecting this file.
31998 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31999 (grub_normal_execute): ... here.
32000
e2e936b2
RM
320012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32002
32003 Merge prefix-redefinition-fix branch.
32004
32005 * normal/autofs.c (read_fs_list): Make function capable of being
32006 run multiple times, gracefuly replacing the previous data
32007 structures.
32008 * normal/dyncmd.c (read_command_list): Likewise.
32009 * normal/handler.c (read_handler_list): Likewise.
32010 * normal/main.c (read_lists): New function. Calls all the
32011 list reading functions.
32012 (grub_normal_execute): Use read_lists() instead of calling all
32013 list reading functions explicitly. Register read_lists() as a
32014 variable hook attached to ${prefix}.
32015
607a3701
VS
320162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32017
32018 Merge crypto branch.
32019
32020 * Makefile.in (pkglib_DATA): Add crypto.lst.
32021 (crypto.lst): New target.
32022 * commands/hashsum.c: New file.
32023 * commands/password.c (check_password): Use grub_crypto_memcmp.
32024 * commands/password_pbkdf2.c: New file.
32025 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32026 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32027 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32028 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32029 -I$(srcdir)/lib/libgcrypt_wrap.
32030 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32031 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32032 password_pbkdf2.mod.
32033 (crypto_mod_SOURCES): New variable.
32034 (crypto_mod_CFLAGS): Likewise.
32035 (crypto_mod_LDFLAGS): Likewise.
32036 (hashsum_mod_SOURCES): New variable.
32037 (hashsum_mod_CFLAGS): Likewise.
32038 (hashsum_mod_LDFLAGS): Likewise.
32039 (pbkdf2_mod_SOURCES): New variable.
32040 (pbkdf2_mod_CFLAGS): Likewise.
32041 (pbkdf2_mod_LDFLAGS): Likewise.
32042 (password_pbkdf2_mod_SOURCES): New variable.
32043 (password_pbkdf2_mod_CFLAGS): Likewise.
32044 (password_pbkdf2_mod_LDFLAGS): Likewise.
32045 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32046 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32047 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32048 Include conf/gcry.rmk.
32049 * include/grub/auth.h: Rewritten.
32050 * include/grub/crypto.h: New file.
32051 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32052 * include/grub/normal.h (read_crypto_list): New prototype.
32053 * lib/crypto.c: New file.
32054 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32055 * lib/pbkdf2.c: Likewise.
32056 * normal/auth.c (grub_auth_strcmp): Removed.
32057 (grub_iswordseparator): Likewise.
32058 (grub_auth_strword): Likewise.
32059 (is_authenticated): Use grub_strword.
32060 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32061 and grub_strword. Pass entered password to authentication callback.
32062 * normal/crypto.c: New file.
32063 * normal/main.c: Call read_crypto_list.
32064 * util/grub-mkpasswd-pbkdf2.c: New file.
32065 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32066
42841caa
VS
320672010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32068
32069 Fix descent and ascent calculation.
32070
32071 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32072 (options): New option "asce".
32073 (usage): Likewise.
32074 (add_char): Ignore invalid glyphs for descent calculation.
32075 Calculate ascent from actual content.
32076 (print_glyphs): Use 'asce'.
32077 (write_font): Likewise. Allow ascent override.
32078 (main): Handle "asce" option.
32079
e7730de7 320802010-01-06 Carles Pina i Estany <carles@pina.cat>
32081
32082 * kern/err.c: Include `<grub/i18n.h>'.
32083 (grub_print_error): Add full stop. Gettextizze.
32084 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32085 (grub_bsd_load_elf): Capitalise ELF.
32086 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32087 (grub_cmd_freebsd_module): Likewise.
32088 (grub_cmd_freebsd_module_elf): Likewise.
32089 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32090
40e3a41f 320912010-01-06 Carles Pina i Estany <carles@pina.cat>
32092
32093 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32094 * commands/search_file.c (HELP_MESSAGE): New macro.
32095 * commands/search_label.c (HELP_MESSAGE): Likewise.
32096 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32097 * po/POTFILES: Add `commands/search_file.c',
32098 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32099 `commands/search.c'.
32100
83507e68
RM
321012010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32102
32103 * config.rpath: Update from Gnulib.
32104
465c787b
YB
321052010-01-05 Yves Blusseau <blusseau@zetam.org>
32106
32107 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32108
6581dd3a
YB
321092010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32110
32111 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32112
3bff18c5
CW
321132010-01-05 Colin Watson <cjwatson@ubuntu.com>
32114
32115 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32116 arguments to fread so that we get a return value in bytes, rather
32117 than something that will normally be rounded down to 0.
32118 Adjust error handling to avoid producing garbage when size_t is not
32119 the same size as long long.
32120
a1368118
CW
321212010-01-05 Colin Watson <cjwatson@ubuntu.com>
32122
32123 * util/mkisofs/write.c (padblock_write): Check return value of
32124 fread.
32125
7c302978
RM
321262010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32127
32128 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32129 floppy images now.
32130
32131 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32132
e33ace06
RM
321332010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32134
32135 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32136 instead of manual alignment.
32137 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32138 verbose). Avoid attempts to read past end of the device
32139 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32140 but GRUB_DISK_CACHE_SIZE may exceed that).
32141
4b856776
RM
321422010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32143
32144 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32145 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32146 it to upper layer.
32147
52c2d97f
VS
321482010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32149
32150 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32151 New constant.
32152 (grub_efi_piwg_device_path): New structure
32153 (grub_efi_piwg_device_path_t): New type.
32154 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32155 (devpath_1): Transform to a structure. All users updated.
32156 (devpath_2): Likewise.
32157 (devpath_3): Likewise.
32158 (devpath_4): Likewise.
32159 (devpath_5): Likewise.
32160
98ff6a54
VS
321612010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32162
32163 * loader/efi/appleloader.c: Restored. Update all users.
32164
3a73dcb6
RM
321652010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32166
32167 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32168
32169 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32170 (struct boot_blocklist): Move from here ...
32171 * include/grub/i386/pc/boot.h [ASM_FILE]
32172 (struct grub_boot_blocklist): ... to here. Update all users.
32173 (setup): Only initialize `start' member of `first_block'
32174 structure. Add assert() calls to verify the other members.
32175
32176 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32177 (generate_image): Fix broken blocklist length initialization.
32178 Add assert() call to verify blocklist `segment' field.
32179
ab0eeb0c
RM
321802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32181
32182 * loader/efi/appleloader.c: Remove. Update all users.
32183
58bc8bd5
RM
321842010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32185
32186 * boot/i386/pc/boot.S: Update copyright year.
32187 * boot/i386/pc/cdboot.S: Likewise.
32188 * boot/i386/pc/diskboot.S: Likewise.
32189 * boot/i386/pc/lnxboot.S: Likewise.
32190 * boot/i386/pc/pxeboot.S: Likewise.
32191 * bus/pci.c: Likewise.
32192 * commands/cmp.c: Likewise.
32193 * commands/help.c: Likewise.
32194 * commands/hexdump.c: Likewise.
32195 * commands/i386/pc/halt.c: Likewise.
32196 * commands/i386/pc/play.c: Likewise.
32197 * commands/i386/pc/vbeinfo.c: Likewise.
32198 * commands/ls.c: Likewise.
32199 * commands/test.c: Likewise.
32200 * disk/dmraid_nvidia.c: Likewise.
32201 * disk/i386/pc/biosdisk.c: Likewise.
32202 * disk/ieee1275/nand.c: Likewise.
32203 * disk/ieee1275/ofdisk.c: Likewise.
32204 * disk/lvm.c: Likewise.
32205 * disk/raid.c: Likewise.
32206 * disk/raid6_recover.c: Likewise.
32207 * disk/scsi.c: Likewise.
32208 * fs/affs.c: Likewise.
32209 * fs/cpio.c: Likewise.
32210 * fs/ext2.c: Likewise.
32211 * fs/hfs.c: Likewise.
32212 * fs/iso9660.c: Likewise.
32213 * fs/ntfs.c: Likewise.
32214 * fs/sfs.c: Likewise.
32215 * fs/udf.c: Likewise.
32216 * fs/ufs.c: Likewise.
32217 * fs/xfs.c: Likewise.
32218 * gencmdlist.sh: Likewise.
32219 * genmk.rb: Likewise.
32220 * include/grub/disk.h: Likewise.
32221 * include/grub/efi/api.h: Likewise.
32222 * include/grub/efi/efi.h: Likewise.
32223 * include/grub/efi/pe32.h: Likewise.
32224 * include/grub/elf.h: Likewise.
32225 * include/grub/fs.h: Likewise.
32226 * include/grub/i386/at_keyboard.h: Likewise.
32227 * include/grub/i386/pc/memory.h: Likewise.
32228 * include/grub/i386/pc/vbe.h: Likewise.
32229 * include/grub/i386/pci.h: Likewise.
32230 * include/grub/i386/tsc.h: Likewise.
32231 * include/grub/ieee1275/ieee1275.h: Likewise.
32232 * include/grub/ntfs.h: Likewise.
32233 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32234 * include/grub/sparc64/libgcc.h: Likewise.
32235 * include/grub/symbol.h: Likewise.
32236 * include/grub/types.h: Likewise.
32237 * include/multiboot2.h: Likewise.
32238 * io/gzio.c: Likewise.
32239 * kern/device.c: Likewise.
32240 * kern/disk.c: Likewise.
32241 * kern/efi/efi.c: Likewise.
32242 * kern/efi/mm.c: Likewise.
32243 * kern/elf.c: Likewise.
32244 * kern/file.c: Likewise.
32245 * kern/i386/dl.c: Likewise.
32246 * kern/i386/pc/init.c: Likewise.
32247 * kern/i386/pc/startup.S: Likewise.
32248 * kern/ieee1275/ieee1275.c: Likewise.
32249 * kern/ieee1275/init.c: Likewise.
32250 * kern/main.c: Likewise.
32251 * kern/mm.c: Likewise.
32252 * kern/powerpc/dl.c: Likewise.
32253 * kern/sparc64/dl.c: Likewise.
32254 * kern/x86_64/dl.c: Likewise.
32255 * lib/hexdump.c: Likewise.
32256 * loader/efi/appleloader.c: Likewise.
32257 * loader/i386/ieee1275/linux.c: Likewise.
32258 * loader/i386/pc/chainloader.c: Likewise.
32259 * loader/i386/pc/linux.c: Likewise.
32260 * loader/i386/pc/multiboot2.c: Likewise.
32261 * loader/ieee1275/multiboot2.c: Likewise.
32262 * loader/multiboot2.c: Likewise.
32263 * loader/multiboot_loader.c: Likewise.
32264 * loader/powerpc/ieee1275/linux.c: Likewise.
32265 * normal/completion.c: Likewise.
32266 * normal/menu_entry.c: Likewise.
32267 * partmap/apple.c: Likewise.
32268 * util/grub.d/10_hurd.in: Likewise.
32269 * util/hostfs.c: Likewise.
32270 * video/readers/png.c: Likewise.
32271
e2d70b5c
CW
322722010-01-03 Colin Watson <cjwatson@ubuntu.com>
32273
32274 * include/grub/misc.h (GNUC_PREREQ): New macro.
32275 (ATTRIBUTE_ERROR): New macro.
32276 * include/grub/list.h (grub_bad_type_cast_real): Use
32277 ATTRIBUTE_ERROR.
32278
a173283f 322792010-01-03 Carles Pina i Estany <carles@pina.cat>
32280
32281 * normal/menu_text.c (print_message): Change messages.
32282
7fa7ff74 322832010-01-03 Carles Pina i Estany <carles@pina.cat>
32284
32285 * normal/menu_entry.c (store_completion): Gettextizze.
32286
136d24f6 322872010-01-03 Carles Pina i Estany <carles@pina.cat>
32288
32289 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32290
f936862e 322912010-01-03 Carles Pina i Estany <carles@pina.cat>
32292
32293 * po/POTFILES: Sort correctly.
32294
29c44ad1 322952010-01-03 Carles Pina i Estany <carles@pina.cat>
32296
32297 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32298 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32299 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32300 full stop.
32301 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32302 summary. Gettextizze the strings.
32303 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32304 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32305 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32306 full stop.
32307 (GRUB_MOD_INIT): Remove command name from summary.
32308 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32309 summary.
32310 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32311 * term/i386/pc/serial.c (options): Add full stops.
32312 (GRUB_MOD_INIT): Remove command name from the summary.
32313
77a79592 323142010-01-03 Carles Pina i Estany <carles@pina.cat>
32315
32316 * commands/acpi.c: Gettextizze help strings and/or options. Include
32317 `grub/i18n.h' if needed.
32318 * commands/blocklist.c: Likewise.
32319 * commands/boot.c: Likewise.
32320 * commands/cat.c: Likewise.
32321 * commands/cmp.c: Likewise.
32322 * commands/configfile.c: Likewise.
32323 * commands/crc.c: Likewise.
32324 * commands/date.c: Likewise.
32325 * commands/echo.c: Likewise.
32326 * commands/efi/fixvideo.c: Likewise.
32327 * commands/efi/loadbios.c: Likewise.
32328 * commands/gptsync.c: Likewise.
32329 * commands/halt.c: Likewise.
32330 * commands/handler.c: Likewise.
32331 * commands/hdparm.c: Likewise.
32332 * commands/hexdump.c: Likewise.
32333 * commands/i386/cpuid.c: Likewise.
32334 * commands/i386/pc/drivemap.c: Likewise.
32335 * commands/i386/pc/halt.c: Likewise.
32336 * commands/i386/pc/pxecmd.c: Likewise.
32337 * commands/i386/pc/vbeinfo.c: Likewise.
32338 * commands/i386/pc/vbetest.c: Likewise.
32339 * commands/ieee1275/suspend.c: Likewise.
32340 * commands/keystatus.c: Likewise.
32341 * commands/loadenv.c: Likewise.
32342 * commands/ls.c: Likewise.
32343 * commands/lsmmap.c: Likewise.
32344 * commands/lspci.c: Likewise.
32345 * commands/memrw.c: Likewise.
32346 * commands/minicmd.c: Likewise.
32347 * commands/parttool.c: Likewise.
32348 * commands/password.c: Likewise.
32349 * commands/probe.c: Likewise.
32350 * commands/read.c: Likewise.
32351 * commands/reboot.c: Likewise.
32352 * commands/search.c: Likewise.
32353 * commands/sleep.c: Likewise.
32354 * commands/test.c: Likewise.
32355 * commands/true.c: Likewise.
32356 * commands/usbtest.c: Likewise.
32357 * commands/videotest.c: Likewise.
32358 * commands/xnu_uuid.c: Likewise.
32359 * disk/loopback.c: Likewise.
32360 * hello/hello.c: Likewise.
32361 * loader/i386/bsd.c: Likewise.
32362 * term/i386/pc/serial.c: Likewise.
32363 * po/POTFILES: Add new files.
32364
da8d5c53
CW
323652010-01-02 Colin Watson <cjwatson@ubuntu.com>
32366
32367 * term/i386/pc/at_keyboard.c
32368 (keyboard_controller_wait_untill_ready): Rename to ...
32369 (keyboard_controller_wait_until_ready): ... this. Update all users.
32370
33937904 323712010-01-01 Carles Pina i Estany <carles@pina.cat>
32372
32373 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32374 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32375 string using string width.
32376 * normal/menu_text.c (grub_print_message_indented): Use
32377 grub_print_spaces and not print_spaces.
32378 (print_timeout): Likewise.
32379 (print_spaces): Move to...
32380 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32381
3fd3b8d8
RM
323822010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32383
32384 Import from Gnulib.
32385
32386 * gnulib/getdelim.c: New file.
32387 * gnulib/getline.c: Likewise.
32388
33433555
VS
323892009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32390
32391 * include/grub/list.h (grub_assert_fail): Removed.
32392 (grub_bad_type_cast_real): New function.
32393 (grub_bad_type_cast): New macro.
32394 (GRUB_AS_LIST): Use grub_bad_type_cast.
32395 (GRUB_AS_LIST_P): Likewise.
e44721e8 32396 (GRUB_AS_NAMED_LIST): Likewise.
33433555 32397 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 32398 (GRUB_AS_PRIO_LIST): Likewise.
33433555 32399 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 32400 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 32401
f5a51306
VS
324022009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32403
32404 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32405 Fix syntax error.
32406
90d1e879
RM
324072009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32408
32409 * configure.ac: Check for TARGET_CFLAGS initialization before we
32410 initialize it ourselves (sigh).
32411 Move a few modifications to TARGET_CFLAGS to be unconditional
32412 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32413 eh_frame)
32414
32415 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32416 * term/i386/pc/at_keyboard.c
32417 (keyboard_controller_wait_untill_ready): Likewise.
32418 (keyboard_controller_led): Rename `led_status' paramter to avoid
32419 name conflict.
32420
465b5a81 324212009-12-28 Carles Pina i Estany <carles@pina.cat>
32422
32423 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32424 quotes.
32425
c181849b
VS
324262009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32427
32428 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32429
9c8739a4
VS
324302009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32431
32432 * normal/menu_text.c (grub_print_message_indented): Prevent
32433 past-the-end-of-array dereference.
32434
3e74249c
VS
324352009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32436
32437 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32438 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32439
64fd18ed 324402009-12-27 Carles Pina i Estany <carles@pina.cat>
32441
32442 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32443 * normal/main.c (grub_normal_read_line): Remove a space from the
32444 default prompt.
32445
714af9b9 324462009-12-27 Carles Pina i Estany <carles@pina.cat>
32447
32448 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32449 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32450 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32451 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32452 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32453 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32454 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32455
82f3e412 324562009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 32457
32458 * video/readers/jpeg.c (cmd): Declare.
32459 (grub_cmd_jpegtest): Use `grub_command_t' type.
32460 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32461 Assign to `cmd'.
32462 (GRUB_MOD_FINI): Use `cmd' to unregister.
32463 * video/readers/png.c (cmd): Declare.
32464 (grub_cmd_pngtest): Use `grub_command_t' type.
32465 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32466 Assign to `cmd'.
32467 (GRUB_MOD_FINI): Use `cmd' to unregister.
32468 * video/readers/tga.c (cmd): Declare.
32469 (grub_cmd_tgatest): Use `grub_command_t' type.
32470 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32471 Assign to `cmd'.
32472 (GRUB_MOD_FINI): Use `cmd' to unregister.
32473
82f3e412 324742009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 32475
32476 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32477 stops.
32478 * kern/corecmd.c (grub_register_core_commands): Likewise.
32479 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32480 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32481 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32482 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32483 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32484 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32485 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32486 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32487 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32488 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32489 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32490 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32491 * normal/handler.c (insert_handler): Likewise.
32492 * normal/main.c (GRUB_MOD_INIT): Likewise.
32493 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32494
fdcdbb66 324952009-12-26 Carles Pina i Estany <carles@pina.cat>
32496
32497 * commands/help.c (grub_cmd_help): Print the command name before the
32498 summary.
32499 (GRUB_MOD_INIT): Remove command name from the summary.
32500 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32501 string as summary.
fdcdbb66 32502 * lib/arg.c (find_long): Print the command name before the summary.
32503 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32504 summary.
32505 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32506 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32507 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32508 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32509 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32510 * commands/date.c (GRUB_MOD_INIT): Likewise.
32511 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32512 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32513 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32514 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32515 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32516 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32517 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32518 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32519 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32520 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32521 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32522 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32523 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32524 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32525 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32526 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32527 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32528 * commands/password.c (GRUB_MOD_INIT): Likewise.
32529 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32530 * commands/read.c (GRUB_MOD_INIT): Likewise.
32531 * commands/search.c (GRUB_MOD_INIT): Likewise.
32532 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32533 * commands/test.c (GRUB_MOD_INIT): Likewise.
32534 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32535 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32536 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32537 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32538 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32539 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32540 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32541 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32542 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32543 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32544 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32545 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32546 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32547 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32548
9c288be2
VS
325492009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32550
32551 Use search command for preliminar UUID search.
32552
32553 * commands/search.c: Split into ...
32554 * commands/search_wrap.c: ...this
32555 * commands/search.c: ...and this.
32556 * commands/search_file.c: New file.
32557 * commands/search_label.c: New file.
32558 * commands/search_uuid.c: New file.
32559 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32560 Add commands/search_wrap.c, commands/search_file.c,
32561 commands/search_label.c and commands/search_uuid.c.
32562 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32563 (search_mod_SOURCES): Set to commands/search_wrap.c.
32564 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32565 search_label.mod.
32566 (search_fs_file_mod_SOURCES): New variable.
32567 (search_fs_file_mod_CFLAGS): Likewise.
32568 (search_fs_file_mod_LDFLAGS): Likewise.
32569 (search_label_mod_SOURCES): Likewise.
32570 (search_label_mod_CFLAGS): Likewise.
32571 (search_label_mod_LDFLAGS): Likewise.
32572 (search_fs_uuid_mod_SOURCES): New variable.
32573 (search_fs_uuid_mod_CFLAGS): Likewise.
32574 (search_fs_uuid_mod_LDFLAGS): Likewise.
32575 (fs_file_mod_SOURCES): Removed.
32576 (fs_file_mod_CFLAGS): Likewise.
32577 (fs_file_mod_LDFLAGS): Likewise.
32578 (fs_uuid_mod_SOURCES): Removed.
32579 (fs_uuid_mod_CFLAGS): Likewise.
32580 (fs_uuid_mod_LDFLAGS): Likewise.
32581 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32582 Set to util/grub-install.in.
32583 * disk/fs_file.c: Removed.
32584 * disk/fs_uuid.c: Likewise.
32585 * include/grub/search.h: New file.
32586 * util/grub-install.in: Handle sparc64.
32587 Create and use load.cfg.
32588 * util/sparc64/ieee1275/grub-install.in: Removed.
32589
db943399
VS
325902009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32591
32592 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32593 Ignore return status if CF is cleared.
32594 (grub_biosdisk_get_diskinfo_standard): Likewise.
32595
3fdae612
RM
325962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32597
32598 * term/i386/pc/at_keyboard.c
32599 (keyboard_controller_wait_untill_ready): New function.
32600 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32601 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32602 for keyboard polling, rather than duplicate the same loop. This
32603 saves a few bytes in code size.
32604
7ebaa2b4
VS
326052009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32606
32607 Support for (pxe[:server[:gateway]]) syntax and
32608 use environment variable for PXE.
32609
32610 * commands/i386/pc/pxecmd.c (options): Removed.
32611 (print_ip): Removed.
32612 (grub_cmd_pxe): Removed
32613 (grub_cmd_pxe_unload): New function.
32614 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32615 (grub_pxe_your_ip): Made static.
32616 (grub_pxe_default_server_ip): Likewise.
32617 (grub_pxe_default_gateway_ip): Likewise.
32618 (grub_pxe_blksize): Likewise.
32619 (parse_ip): New function.
32620 (grub_pxe_open): Support server and gateway specification.
32621 (grub_pxe_close): Free disk->data.
32622 (grub_pxefs_open): Use disk->data.
32623 (grub_pxefs_read): Likewise.
32624 (grub_env_write_readonly): New function.
32625 (set_mac_env): Likewise.
32626 (set_env_limn_ro): Likewise.
32627 (parse_dhcp_vendor): Likewise.
32628 (grub_pxe_detect): Set the environment variables.
32629 (set_ip_env): New function.
32630 (write_ip_env): Likewise.
32631 (grub_env_write_pxe_default_server): Likewise.
32632 (grub_env_write_pxe_default_gateway): Likewise.
32633 (grub_env_write_pxe_blocksize): Likewise.
32634 (GRUB_MOD_INIT(pxe)): Set environment variables.
32635 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32636 (grub_pxe_mac_addr_t): ... this. All users updated.
32637 (grub_pxe_your_ip): Removed.
32638 (grub_pxe_server_ip): Likewise.
32639 (grub_pxe_gateway_ip): Likewise.
32640 (grub_pxe_blksize): Likewise.
32641
ec5f98ab 326422009-12-25 Carles Pina i Estany <carles@pina.cat>
32643
32644 * commands/help.c: Include `<grub/i18n.h>'.
32645 (grub_cmd_help): Gettextizze.
32646 (GRUB_MOD_INIT): Likewise.
32647 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32648 (GRUB_MOD_INIT): Gettextizze.
32649 * commands/search.c: Include `<grub/i18n.h>'.
32650 (options): Gettextizze.
32651 (GRUB_MOD_INIT): Gettextizze.
32652 * lib/arg.c: Include `<grub/i18n.h>'.
32653 (help_options): Gettextizze.
32654 (find_long): Likewise.
32655 (grub_arg_show_help): Likewise.
32656 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32657 (read_command_list): Gettextizze.
32658 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32659 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32660
22815526
RM
326612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32662
32663 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32664 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32665 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32666 (led_status): New variable.
32667 (keyboard_controller_led): New function.
32668 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32669 update led status for caps lock, num lock and scroll lock.
32670
0ad46fd7
FZ
326712009-12-25 Felix Zielcke <fzielcke@z-51.de>
32672
32673 * util/hostdisk.c (open_device): Fix a comment.
32674
d0e158c2
RM
326752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32676
32677 * util/grub-install.in (host_os): New variable.
32678 * util/i386/efi/grub-install.in (host_os): Likewise.
32679
401c0ad6
RM
326802009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32681
32682 * util/mkisofs/write.c (padblock_write): Abort when given an
32683 excedingly large embed image, instead of silently truncating it.
32684
d14d3370
RM
326852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 * include/multiboot.h: Indentation fixes.
32688
eeed10b4
RM
326892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32690
32691 * include/multiboot.h (struct multiboot_aout_symbol_table)
32692 (struct multiboot_elf_section_header_table): New structure
32693 declarations (stolen from GRUB Legacy).
32694 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32695 table information.
32696
32697 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32698 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32699 type aliases.
32700
681c70ab
RM
327012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32702
32703 * include/multiboot.h: Make comments src2texi-friendly.
32704
e4d47d8d
RM
327052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32706
32707 For consistency with [multiboot]/docs/boot.S.
32708
32709 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32710 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32711 (MULTIBOOT_MAGIC2): Rename from this ...
32712 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32713
a0b70bda
RM
327142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32715
32716 * include/multiboot.h: Remove `<grub/types.h>'.
32717 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32718 types. Update all users.
32719
61ba42be 327202009-12-25 Carles Pina i Estany <carles@pina.cat>
32721
32722 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32723 `couldn't' and `can not' by `cannot'.
32724 * commands/i386/pc/drivemap.c: Likewise.
32725 * disk/ata.c: Likewise.
32726 * disk/ieee1275/nand.c: Likewise.
32727 * fs/affs.c: Likewise.
32728 * fs/fat.c: Likewise.
32729 * fs/hfs.c: Likewise.
32730 * fs/hfsplus.c: Likewise.
32731 * fs/iso9660.c: Likewise.
32732 * fs/jfs.c: Likewise.
32733 * fs/minix.c: Likewise.
32734 * fs/reiserfs.c: Likewise.
32735 * fs/sfs.c: Likewise.
32736 * fs/udf.c: Likewise.
32737 * fs/ufs.c: Likewise.
32738 * fs/xfs.c: Likewise.
32739 * loader/powerpc/ieee1275/linux.c: Likewise.
32740 * loader/sparc64/ieee1275/linux.c: Likewise.
32741 * util/grub-probe.c: Likewise.
32742 * util/misc.c: Likewise.
32743
7fd0baee 327442009-12-24 Carles Pina i Estany <carles@pina.cat>
32745
32746 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32747 grub_errno calls.
32748 * commands/acpi.c: Likewise.
32749 * commands/blocklist.c: Likewise.
32750 * commands/efi/loadbios.c: Likewise.
32751 * commands/i386/pc/drivemap.c: Likewise.
32752 * commands/loadenv.c: Likewise.
32753 * commands/memrw.c: Likewise.
32754 * commands/password.c: Likewise.
32755 * commands/videotest.c: Likewise.
32756 * disk/ata.c: Likewise.
32757 * disk/ata_pthru.c: Likewise.
32758 * disk/dmraid_nvidia.c: Likewise.
32759 * disk/ieee1275/nand.c: Likewise.
32760 * disk/ieee1275/ofdisk.c: Likewise.
32761 * disk/loopback.c: Likewise.
32762 * disk/lvm.c: Likewise.
32763 * disk/mdraid_linux.c: Likewise.
32764 * disk/raid.c: Likewise.
32765 * disk/raid6_recover.c: Likewise.
32766 * disk/scsi.c: Likewise.
32767 * efiemu/main.c: Likewise.
32768 * efiemu/mm.c: Likewise.
32769 * efiemu/pnvram.c: Likewise.
32770 * efiemu/symbols.c: Likewise.
32771 * font/font.c: Likewise.
32772 * fs/cpio.c: Likewise.
32773 * fs/hfsplus.c: Likewise.
32774 * fs/iso9660.c: Likewise.
32775 * fs/jfs.c: Likewise.
32776 * fs/minix.c: Likewise.
32777 * fs/ntfs.c: Likewise.
32778 * fs/ntfscomp.c: Likewise.
32779 * fs/reiserfs.c: Likewise.
32780 * fs/ufs.c: Likewise.
32781 * fs/xfs.c: Likewise.
32782 * gettext/gettext.c: Likewise.
32783 * include/grub/auth.h: Likewise.
32784 * kern/elf.c: Likewise.
32785 * kern/file.c: Likewise.
32786 * kern/ieee1275/init.c: Likewise.
32787 * kern/ieee1275/mmap.c: Likewise.
32788 * kern/ieee1275/openfw.c: Likewise.
32789 * kern/powerpc/dl.c: Likewise.
32790 * kern/sparc64/dl.c: Likewise.
32791 * lib/arg.c: Likewise.
32792 * loader/i386/bsd.c: Likewise.
32793 * loader/i386/bsdXX.c: Likewise.
32794 * loader/i386/efi/linux.c: Likewise.
32795 * loader/i386/efi/xnu.c: Likewise.
32796 * loader/i386/ieee1275/linux.c: Likewise.
32797 * loader/i386/linux.c: Likewise.
32798 * loader/i386/multiboot.c: Likewise.
32799 * loader/i386/pc/linux.c: Likewise.
32800 * loader/i386/pc/multiboot2.c: Likewise.
32801 * loader/i386/xnu.c: Likewise.
32802 * loader/ieee1275/multiboot2.c: Likewise.
32803 * loader/macho.c: Likewise.
32804 * loader/machoXX.c: Likewise.
32805 * loader/multiboot2.c: Likewise.
32806 * loader/multiboot_loader.c: Likewise.
32807 * loader/powerpc/ieee1275/linux.c: Likewise.
32808 * loader/sparc64/ieee1275/linux.c: Likewise.
32809 * loader/xnu.c: Likewise.
32810 * loader/xnu_resume.c: Likewise.
32811 * mmap/i386/pc/mmap.c: Likewise.
32812 * normal/menu_viewer.c: Likewise.
32813 * partmap/acorn.c: Likewise.
32814 * partmap/amiga.c: Likewise.
32815 * partmap/apple.c: Likewise.
32816 * script/lexer.c: Likewise.
32817 * term/gfxterm.c: Likewise.
32818 * term/i386/pc/serial.c: Likewise.
32819 * term/i386/pc/vga.c: Likewise.
32820 * term/ieee1275/ofconsole.c: Likewise.
32821 * term/terminfo.c: Likewise.
32822 * video/bitmap.c: Likewise.
32823 * video/efi_gop.c: Likewise.
32824 * video/efi_uga.c: Likewise.
32825 * video/fb/video_fb.c: Likewise.
32826 * video/i386/pc/vbe.c: Likewise.
32827 * video/readers/tga.c: Likewise.
32828 * video/video.c: Likewise.
32829
0ad46fd7 328302009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32831
32832 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32833 * commands/lspci.c: Likewise.
32834 * commands/probe.c: Likewise.
32835 * commands/xnu_uuid.c: Likewise.
32836 * conf/i386-coreboot.rmk: Likewise.
32837 * conf/i386-efi.rmk: Likewise.
32838 * conf/i386-ieee1275.rmk: Likewise.
32839 * conf/i386-pc.rmk: Likewise.
32840 * conf/powerpc-ieee1275.rmk: Likewise.
32841 * conf/sparc64-ieee1275.rmk: Likewise.
32842 * conf/x86_64-efi.rmk: Likewise.
32843 * fs/i386/pc/pxe.c: Likewise.
32844 * gettext/gettext.c: Likewise.
32845 * include/grub/efi/graphics_output.h: Likewise.
32846 * include/grub/i386/pc/memory.h: Likewise.
32847 * kern/env.c: Likewise.
32848 * kern/i386/qemu/startup.S: Likewise.
32849 * lib/i386/pc/biosnum.c: Likewise.
32850 * lib/i386/relocator.c: Likewise.
32851 * lib/i386/relocator_asm.S: Likewise.
32852 * lib/relocator.c: Likewise.
32853 * loader/i386/bsd.c: Likewise.
32854 * loader/i386/multiboot.c: Likewise.
32855 * loader/i386/pc/chainloader.c: Likewise.
32856 * loader/i386/xnu.c: Likewise.
32857 * loader/xnu.c: Likewise.
32858 * normal/main.c: Likewise.
32859 * normal/menu_text.c: Likewise.
32860 * util/getroot.c: Likewise.
32861 * util/grub-mkconfig_lib.in: Likewise.
32862 * util/grub.d/00_header.in: Likewise.
32863 * util/i386/pc/grub-mkimage.c: Likewise.
32864 * util/mkisofs/eltorito.c: Likewise.
32865 * util/mkisofs/exclude.h: Likewise.
32866 * util/mkisofs/hash.c: Likewise.
32867 * util/mkisofs/iso9660.h: Likewise.
32868 * util/mkisofs/joliet.c: Likewise.
32869 * util/mkisofs/mkisofs.c: Likewise.
32870 * util/mkisofs/mkisofs.h: Likewise.
32871 * util/mkisofs/multi.c: Likewise.
32872 * util/mkisofs/name.c: Likewise.
32873 * util/mkisofs/rock.c: Likewise.
32874 * util/mkisofs/tree.c: Likewise.
32875 * util/mkisofs/write.c: Likewise.
32876 * video/efi_gop.c: Likewise.
32877
009ec743
VS
328782009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32879
32880 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32881 size counting.
32882
0ad46fd7 328832009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32884
32885 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32886 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32887
d3d30ea0
VS
328882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32889
32890 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32891 (GRUB_MOD_INIT(memrw)): Update help line.
32892
a34f5c70
VS
328932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32894
32895 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32896 Use grub_extcmd_t. All users updated.
32897 (options): New variable.
32898 (grub_cmd_read): Restructure for readability. Support "-v" option.
32899 (grub_cmd_write): Restructure for readability.
32900
0ad46fd7 329012009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32902
32903 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32904
0ad46fd7 329052009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32906
32907 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32908 with the actual contents of the correspondending make variable.
32909 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32910 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32911 specifying `*.lst' and `efiemu??.o'
32912
0ad46fd7 329132009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32914
32915 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32916 after function name.
32917 Noticed by Rene Engelhard <rene@debian.org>.
32918
dc77a799
VS
329192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32920
32921 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32922 (options): New variable.
32923 (iospace): Likewise.
32924 (grub_lspci_iter): List IO spaces if "-i" was given.
32925 (grub_cmd_lspci): Parse options.
32926 (GRUB_MOD_INIT(lspci)): Use extcmd.
32927 (GRUB_MOD_FINI(lspci)): Likewise.
32928
0ad46fd7 329292009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32930
32931 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32932 `function' keyword.
32933 Patch by Tony Mancill <tmancill@debian.org>.
32934
b5d5993b
VS
329352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32936
32937 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32938 (grub_uhci_portstatus): Likewise.
32939 (grub_uhci_portstatus): Add necessary delay.
11d18281 32940 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32941
941903f2 329422009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32943
941903f2 32944 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32945 (GRUB_MOD_INIT): Likewise.
32946 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32947 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32948 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32949 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32950 (enable_rom_area): Likewise.
32951 (GRUB_MOD_INIT): Likewise.
32952 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32953 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32954 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32955 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32956 * commands/hexdump.c (options): Likewise.
32957 * commands/i386/cpuid.c (options): Likewise.
32958 (GRUB_MOD_INIT): Likewise.
32959 * commands/i386/pc/drivemap.c (options): Likewise.
32960 (GRUB_MOD_INIT): Likewise.
32961 * commands/i386/pc/halt (options): Likewise.
32962 (GRUB_MOD_INIT): Likewise.
32963 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32964 * commands/i386/pc/pxecmd.c (options): Likewise.
32965 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32966 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32967 * commands/keystatus.c (options): Likewise.
32968 (GRUB_MOD_INIT): Likewise.
32969 * commands/loadenv.c (options): Likewise.
32970 * commands/ls.c (options): Likewise.
32971 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32972 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32973 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32974 * commands/parttool.c (helpmsg): Likewise.
32975 * commands/probe.c (options): Likewise.
32976 * commands/read.c (GRUB_MOD_INIT): Likewise.
32977 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32978 * commands/search.c (options): Likewise.
32979 * commands/sleep.c (options): Likewise.
32980 * commands/test.c (GRUB_MOD_INIT): Likewise.
32981 * commands/true.c (GRUB_MOD_INIT): Likewise.
32982 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32983 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32984 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32985 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32986 `$(XGETTEXT)'.
98a50553 32987 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32988
0ad46fd7 329892009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32990
ef3c2c3a 32991 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32992 instead of specifying them explicit.
32993
7922f68b
RM
329942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32995
32996 * NEWS: Add grub-probe support for GNU/Hurd.
32997
537ce47f
RM
329982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32999
33000 * NEWS: gettext was added after 1.97.
33001
9b214e3a
RM
330022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33003
33004 * util/mkisofs/msdos_partition.h: New file (based on
33005 include/grub/msdos_partition.h).
33006 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33007 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33008 (ld_options, main): Recognize --protective-msdos-label.
33009 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33010 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33011 (padblock_write): If `use_protective_msdos_label' is set, patch a
33012 protective DOS-style label in the output image.
33013
33014 * util/grub-mkrescue.in: Use --protective-msdos-label.
33015
e9309813
RM
330162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33017
33018 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33019 boot.
33020
0ae56929
RM
330212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33022
33023 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33024 variables.
33025 (ld_options, main): Recognize `--embedded-boot'.
33026 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33027 declarations.
33028 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33029 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33030 (padblock_write): Likewise. Rewrite to support embedded boot image.
33031
33032 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33033 for BIOS-based disk boot instead of only ElTorito.
33034
b15937b1
RM
330352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33036
33037 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33038 build (not needed for bootstrap).
33039
52cc3ce0
RM
330402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33041
33042 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33043 from i386-pc build (not needed for bootstrap).
33044 Rewrite a pair of strings.
33045
36f5ff04
RM
330462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33047
33048 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33049
973c6c85 330502009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
33051
33052 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33053
05d21547
AB
330542009-12-21 Andreas Born <futur.andy@googlemail.com>
33055
33056 * kern/env.c (grub_env_context_open): Mark exported variable for
33057 reexport.
33058
0175d51f
AB
330592009-12-21 Andreas Born <futur.andy@googlemail.com>
33060
33061 * kern/env.c (grub_env_export): Create nonexistent variables before
33062 exporting.
33063
7f39d92f 330642009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 33065
7f39d92f 33066 * include/grub/auth.h: Include `<grub/i18n.h>'.
33067 (GRUB_GET_PASSWORD): Gettextizze string.
33068 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33069 menu_text.c.
33070 (grub_utf8_to_ucs4_alloc): Fix indentation.
33071 (grub_print_ucs4): Likewise.
33072 (grub_getstringwidth): Likewise.
33073 (print_message_indented): New declaration.
33074 * normal/auth.c: Include `<grub/i18n.h>'.
33075 (grub_auth_check_authentication): Gettexttize string.
33076 * normal/cmdline.c: Include `<grub/i18n.h>'.
33077 (grub_cmdline_get): Gettextizze.
33078 * normal/color.c: Include `<grub/i18n.h>'.
33079 (grub_parse_color_name_pair): Gettexttize strings.
33080 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33081 string (use `print_message_indented').
33082 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33083 `include/grub/normal.h'.
33084 (print_message_indented): Renamed to ...
33085 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33086 used in normal/main.c).
33087 (print_message): Use `grub_print_message_indented' instead of
33088 `print_message_indented'.
33089 (print_timeout): Likewise.
33090 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33091 (grub_normal_print_device_info): Gettexttize strings.
33092 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33093
3041d898
VS
330942009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33095
33096 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33097 of arguments. Return number of tokens and not arguments. All users
33098 updated.
33099
de15bf8e
VS
331002009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33101
33102 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33103 non-MSDOS paritions.
33104
e0a6ca52
VS
331052009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33106
33107 * include/grub/types.h (UNUSED): Removed since it conflicts with
33108 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33109 Reported by Grégoire Sutre.
33110
b99518d1 331112009-12-19 Carles Pina i Estany <carles@pina.cat>
33112
33113 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33114 (grub_print_ucs4_alloc): Likewise.
33115 (grub_getstringwidth): Likewise.
33116 * normal/main.c (grub_normal_init_page): Gettextize version string.
33117 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33118 (getstringwidth): Renamed to ...
33119 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33120 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33121 (grub_print_ucs4): Remove `static' qualifer (now used in
33122 normal/main.c).
33123 * po/POTFILES: Add normal/main.c.
33124
bfd5e52b 331252009-12-19 Carles Pina i Estany <carles@pina.cat>
33126
33127 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33128 (print_message_indented): Add `margin_left' and `margin_right'
33129 parameters.
33130 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33131 strings.
33132 (print_timeout): Use `print_message_indented' to print the message.
33133 Deletes `second_stage' parameter.
33134 (run_menu): Update `print_timeout' calls.
33135
5a1ad2b9
VS
331362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33137
33138 Fix console palette on OpenFirmware.
33139
33140 * term/ieee1275/ofconsole.c (MAX): Removed.
33141 (colors): Redone based on VGA palette.
33142 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33143 colors are supported.
33144 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33145
b045f00a
VS
331462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33147
33148 Fix potential EfiEmu double prepare.
33149
33150 * efiemu/main.c (prepared): New variable
33151 (grub_efiemu_unload): Set prepare to '0'.
33152 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33153
33154 set_virtual_address_map support.
33155
33156 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33157 prototype.
33158 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33159 prototype.
33160 (grub_efiemu_crc32): Likewise.
33161 (grub_efiemu_crc64): Likewise.
33162 (grub_efiemu_set_virtual_address_map): Likewise.
33163 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33164 New definition.
33165 (grub_autoefi_set_virtual_address_map): Likewise.
33166 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33167 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33168 Restructure flow to accomodate it.
33169 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33170 (grub_efiemu_crc): Recompute CRC32.
33171 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33172 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33173 * efiemu/symbols.c (relocated_handle): New variable.
33174 (grub_efiemu_free_syms): Free relocated_handle.
33175 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33176 (grub_efiemu_write_sym_markers): New function.
33177 (grub_efiemu_set_virtual_address_map): Likewise.
33178
33179 Newer XNU parameters.
33180
33181 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33182 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33183 (grub_xnu_fill_devicetree): New prototype.
33184 (grub_xnu_heap_real_start): New variable.
33185 * loader/xnu.c (get_name_ptr): New function.
33186 (grub_xnu_load_driver): Fill namelen and name.
33187
33188 64-bit xnu support.
33189
33190 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33191 and 'loader/macho64.c'.
33192 * conf/i386-pc.rmk: Likewise.
33193 * conf/x86_64-efi.rmk: Likewise.
33194 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33195 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33196 * include/grub/macho.h (grub_macho_segment64): New structure.
33197 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33198 (grub_macho_size32): ... to this.
33199 (grub_macho32_get_entry_point): Renamed from ...
33200 (grub_macho_get_entry_point32): ... to this.
33201 (grub_macho_contains_macho64): New prototype.
33202 (grub_macho_size64): Likewise.
33203 (grub_macho_get_entry_point64): Likewise.
33204 (grub_macho32_load): Renamed from ...
33205 (grub_macho_load32): ... to this.
33206 (grub_macho32_filesize): Renamed from ...
33207 (grub_macho_filesize32): ... to this.
33208 (grub_macho32_readfile): Renamed from ...
33209 (grub_macho_readfile32): ... to this.
33210 (grub_macho_filesize64): New prototype.
33211 (grub_macho_readfile64): Likewise.
33212 (grub_macho_parse32): Likewise.
33213 (grub_macho_parse64): Likewise.
33214 * loader/macho.c: Split into ...
33215 * loader/machoXX.c: ... and this. Replace 32 with XX.
33216 * loader/macho32.c: New file.
33217 * loader/macho64.c: Likewise.
33218 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33219 (grub_cmd_xnu_kernel): Make 32-bit only.
33220 (grub_cmd_xnu_kernel64): New function.
33221 (grub_xnu_load_driver): Support Mach-O 64.
33222 (grub_cmd_xnu_mkext): Likewise.
33223 * util/grub.d/30_os-prober.in (osx_entry): New function.
33224 Generate entries for 64-bit boot too.
33225
33226 Eliminate ad-hoc tree format in XNU and EfiEmu.
33227
33228 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33229 * efiemu/pnvram.c: Rewritten to use environment variables.
33230 All users updated.
33231
33232 Inline utf16_to_utf8.
33233
33234 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33235 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33236 All users updated.
33237 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33238
33239 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33240 * commands/usbtest.c (grub_usb_get_string): ... move here.
33241 (usb_print_str): Fix error handling.
33242 * include/grub/usb.h (grub_usb_get_string): Remove.
33243
33244 UTF-8 to UTF-16 transformation.
33245
33246 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33247 (charset_mod_SOURCES): New variable.
33248 (charset_mod_CFLAGS): Likewise.
33249 (charset_mod_LDFLAGS): Likewise.
33250 * include/grub/utf.h: New file.
33251 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33252
33253 Support for device properties.
33254
33255 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33256 (grub_xnu_devprop_device_header): Likewise.
33257 (grub_xnu_devprop_device_descriptor): Likewise.
33258 (grub_xnu_devprop_add_device): New prototype.
33259 (grub_xnu_devprop_remove_device): Likewise.
33260 (grub_xnu_devprop_remove_property): Likewise.
33261 (grub_xnu_devprop_add_property_utf8): Likewise.
33262 (grub_xnu_devprop_add_property_utf16): Likewise.
33263 (grub_cpu_xnu_init): Likewise.
33264 (grub_cpu_xnu_fini): Likewise.
33265 (grub_cpu_xnu_unload): Likewise.
33266 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33267 (property_descriptor): Likewise.
33268 (devices): New variable.
33269 (grub_xnu_devprop_remove_property): New function.
33270 (grub_xnu_devprop_add_device): Likewise.
33271 (grub_xnu_devprop_remove_device): Likewise.
33272 (grub_xnu_devprop_add_property): Likewise.
33273 (grub_xnu_devprop_add_property_utf8): Likewise.
33274 (grub_xnu_devprop_add_property_utf16): Likewise.
33275 (hextoval): Likewise.
33276 (grub_cpu_xnu_fill_devprop): Likewise.
33277 (grub_cmd_devprop_load): Likewise.
33278 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33279 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33280 (cmd_devprop_load): New variable.
33281 (grub_cpu_xnu_init): New function.
33282 (grub_cpu_xnu_fini): Likewise.
33283 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33284 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33285 (grub_cmd_xnu_devtree): Likewise.
33286 (hextoval): New function.
33287 (unescape): Likewise.
33288 (grub_xnu_fill_devicetree): Likewise.
33289
33290 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33291 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33292
0945f181
VS
332932009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33294
33295 Workaround for broken ATI VBE.
33296
33297 * video/i386/pc/vbe.c (last_set_mode): New variable.
33298 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33299 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33300 (grub_video_vbe_setup): Don't check for reserved flag.
33301
0ad46fd7 333022009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
33303
33304 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33305 the `find' command.
33306
c179ebe4
VS
333072009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33308
33309 UUID support for HFS.
33310
33311 * fs/hfs.c (grub_hfs_uuid): New function.
33312 (grub_hfs_fs): New value .uuid.
33313 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33314
0ad46fd7 333152009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
33316
33317 Fix a segfault with parsing unknown long options.
33318
33319 * util/grub-mkrelpath.c (options): Zero terminate it.
33320
c4a3e41a
CPE
333212009-12-13 Carles Pina i Estany <carles@pina.cat>
33322
33323 * include/grub/misc.h (grub_puts): New declaration.
33324 (grub_puts_): Likewise.
a22008a6 33325 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
33326 (grub_puts_): Likewise.
33327
2e8a7602
RM
333282009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33329
33330 * util/grub-probe.c (probe): Improve error message.
33331
b50b77b9
RM
333322009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33333
33334 * loader/i386/multiboot_elfxx.c
33335 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33336 initialization.
33337
333382009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33339
33340 Relocator framework
33341
33342 * loader/i386/xnu_helper.S: Removed. All users updated.
33343 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33344 (relocator_mod_SOURCES): New variable.
33345 (relocator_mod_CFLAGS): Likewise.
33346 (relocator_mod_LDFLAGS): Likewise.
33347 (relocator_mod_ASFLAGS): Likewise.
33348 * conf/x86_64.rmk: Likewise.
33349 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33350 (grub_multiboot_payload_entry_offset): Likewise.
33351 (grub_multiboot_forward_relocator): Likewise.
33352 (grub_multiboot_forward_relocator_end): Likewise.
33353 (grub_multiboot_backward_relocator): Likewise.
33354 (grub_multiboot_backward_relocator_end): Likewise.
33355 (grub_multiboot_payload_eip): New variable.
33356 (grub_multiboot_payload_orig): Likewise.
33357 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33358 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33359 * include/grub/i386/memory.h
33360 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33361 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33362 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33363 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33364 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33365 * include/grub/i386/relocator.h: New file.
33366 * include/grub/x86_64/relocator.h: Likewise.
33367 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33368 (XNU_RELOCATOR): New macro.
33369 (grub_xnu_launcher_start): Remove.
33370 (grub_xnu_launcher_end): Likewise.
33371 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33372 (grub_xnu_heap_real_start): Remove.
33373 (grub_xnu_heap_start): Change to void *. All users updated.
33374 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33375 * lib/i386/relocator.c: New file.
33376 * lib/i386/relocator_asm.S: Likewise.
33377 * lib/i386/relocator_backward.S: Likewise.
33378 * lib/mips/relocator.c: Likewise.
33379 * lib/mips/relocator_asm.S: Likewise.
33380 * lib/relocator.c: Likewise.
33381 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33382 (entry): Removed.
33383 (playground): Likewise.
33384 (grub_multiboot_payload_orig): New variable.
33385 (grub_multiboot_payload_dest): Likewise.
33386 (grub_multiboot_payload_size): Likewise.
33387 (grub_multiboot_payload_eip): Likewise.
33388 (grub_multiboot_payload_esp): Likewise.
33389 (grub_multiboot_boot): Use grub_relocator32_boot.
33390 (grub_multiboot_unload): Free relocators.
33391 (grub_multiboot): Setup stack. Use relocators.
33392 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33393 (grub_multiboot_load_elfXX): Use relocators.
33394 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33395 (grub_multiboot_payload_size): Likewise.
33396 (grub_multiboot_payload_dest): Likewise.
33397 (grub_multiboot_payload_entry_offset): Likewise.
33398 (grub_multiboot_forward_relocator): Likewise.
33399 (grub_multiboot_backward_relocator): Likewise.
33400 (grub_multiboot_real_boot): Likewise.
33401 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33402 (grub_xnu_entry_point): Likewise.
33403 (grub_xnu_arg1): Likewise.
33404 (grub_xnu_stack): Likewise.
33405 (grub_xnu_launch): Removed.
33406 (grub_xnu_boot_resume): New function.
33407 (grub_xnu_boot): Use relocators.
33408 * loader/i386/xnu_helper.S: Removed.
33409 * loader/xnu.c (grub_xnu_heap_start): New variable.
33410 (grub_xnu_heap_size): Likewise.
33411 (grub_xnu_heap_malloc): Use relocators.
33412 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33413
29eb90c6
VS
334142009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33415
33416 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33417 anything.
33418
31027430
CPE
334192009-12-13 Carles Pina i Estany <carles@pina.cat>
33420
33421 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33422 GRUB_ERR_NONE before calling grub_env_set.
33423
dc0c71d9
RM
334242009-12-12 Robert Millan <rmh@aybabtu.com>
33425
33426 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33427 * genmk.rb (video): New variable.
33428 (CLEANFILES, VIDEOFILES): Add #{video}.
33429 (#{video}): New target rule.
33430 * genvideolist.sh: New file.
33431 * Makefile.in (pkglib_DATA): Add video.lst.
33432 (video.lst): New target rule.
33433 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33434 `video.lst'.
33435 * util/grub.d/30_os-prober.in: Replace `vbe' with
33436 ${GRUB_VIDEO_BACKEND}.
33437
2a4bfcf0
RM
334382009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33439
33440 * THANKS: Add David Miller.
33441
2a3aa4d5
RM
334422009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33443
33444 libpciaccess support.
33445
33446 * Makefile.in (LIBPCIACCESS): New variable.
33447 (enable_grub_emu_pci): Likewise.
33448 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33449 util/pci.c and commands/lspci.c.
33450 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33451 * configure.ac (grub-emu-pci): New option.
33452 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33453 (grub_pci_device_unmap_range): Likewise.
33454 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33455 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33456 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33457 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33458 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33459 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33460 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33461 * include/grub/pciutils.h: New file.
33462 * util/pci.c: Likewise.
33463
0ad46fd7 334642009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
33465
33466 * util/misc.c: Don't include <errno.h> twice.
33467
0ad46fd7 334682009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
33469
33470 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33471 name in an error message.
33472 (grub_biosdisk_rw): Likewise.
33473
2e59983c
VS
334742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33475
33476 Eliminate NTFS 4Gib barrier.
33477
33478 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33479 (read_run_data): Likewise.
33480 (grub_ntfs_read_run_list): Likewise.
33481 (grub_ntfs_read_block): Likewise.
33482 (grub_ntfs_iterate_dir): Likewise.
33483 (read_mft): Likewise.
33484 (read_data): Likewise.
33485 Use COM_LOG_LEN.
33486 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33487 to avoid 64-bit division
33488 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33489 (grub_ntfs_rlst): Use grub_disk_addr_t.
33490
71ee178a
VS
334912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33492
33493 Eliminate grub-fstest 4Gib barrier.
33494
33495 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33496 (read_file): Fix error reporting.
33497
2520d4b8
VS
334982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33499
33500 Eliminate hexdump 4Gib barrier.
33501
33502 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33503 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33504
e1f27065
VS
335052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33506
33507 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33508 Fixes amarsh bug.
33509
1a0f7f45
RM
335102009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33511
33512 Remove miscellaneous files in distclean target.
33513
33514 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33515
c631d9fb
CW
335162009-12-09 Colin Watson <cjwatson@ubuntu.com>
33517
33518 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33519 if they're already set. This resolves the conflict between my
33520 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33521 fixing the --grub-probe option again.
33522 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33523 change on 2009-10-06, so that we now once again source
33524 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33525
7c7b6106
RM
335262009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33527
33528 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33529 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33530 `util/devicemap.c'.
33531
e3069ec1
CPE
335322009-12-08 Carles Pina i Estany <carles@pina.cat>
33533
33534 * include/grub/misc.h (grub_printf_): New declaration.
33535 * kern/misc.c (grub_printf_): New definition.
33536 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33537 instead of `grub_printf' and `_'.
33538 * normal/menu_entry.c (store_completion): Likewise.
33539 (run): Likewise.
33540 (grub_menu_entry_run): Likewise.
33541 * normal/menu_text.c (grub_wait_after_message): Likewise.
33542 (notify_booting): Likewise.
33543 (notify_fallback): Likewise.
33544 (notify_execution_failure): Likewise.
33545
d6ceebf1
CW
335462009-12-07 Colin Watson <cjwatson@ubuntu.com>
33547
33548 * configure.ac: Check for vasprintf.
33549 * util/misc.c (asprintf): Move allocation from here ...
33550 (vasprintf): ... to here. New function.
33551 (xasprintf): New function.
33552 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33553 prototypes.
33554 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33555 * util/grub-mkfont.c (write_font): Likewise.
33556 * util/grub-probe.c (probe): Likewise.
33557 * util/hostdisk.c (make_device_name): Likewise.
33558
de6daa8b
DM
335592009-12-06 David S. Miller <davem@sunset.davemloft.net>
33560
33561 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33562 anything even prefixed with 'cdrom' as a cdrom.
33563
0ad46fd7 335642009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33565
33566 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33567 mount points.
33568
98d3dc02
CPE
335692009-12-05 Carles Pina i Estany <carles@pina.cat>
33570
33571 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33572 grub_gettext_msg_list.
33573 (grub_gettext_gettranslation_from_position): Return const char *
33574 and not char *.
a2c1332b 33575 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33576 returns from the list if existing there.
33577 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33578 (grub_gettext_delete_list): Delete the list.
33579 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33580 lang environment variable is changed.
33581 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33582
b283f108
VS
335832009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33584
33585 Rename kernel.mod to kernel.img.
33586
33587 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33588 (kernel_mod_EXPORTS): Rename to ...
33589 (kernel_img_EXPORTS): ... this.
33590 (kernel_mod_SOURCES): Rename to ...
33591 (kernel_img_SOURCES): ... this.
33592 (kernel_mod_HEADERS): Rename to ...
33593 (kernel_img_HEADERS): ... this. All users updated.
33594 (kernel_mod_CFLAGS): Rename to ...
33595 (kernel_img_CFLAGS): ... this.
33596 (kernel_mod_ASFLAGS): Rename to ...
33597 (kernel_img_ASFLAGS): ... this.
33598 (kernel_mod_LDFLAGS): Rename to ...
33599 (kernel_img_LDFLAGS): ... this.
33600 * conf/x86_64-efi.rmk: Likewise.
33601 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33602 (read_kernel_image): ... this. All users updated.
33603 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33604
69055f8a
CPE
336052009-12-05 Carles Pina i Estany <carles@pina.cat>
33606
33607 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33608 (print_spaces): New function.
33609 (grub_print_ucs4): New function.
33610 (getstringwidth): New function.
33611 (print_message_indented): New function.
33612 (print_message): Gettexttize strings using print_message_indented.
33613 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33614 width.
33615 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33616 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33617 Gettextize.
33618 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33619 string.
33620 (run): Likewise.
33621 (grub_menu_entry_run): Likewise.
33622 * PO/POTFILES: Add normal/menu_entry.c.
33623
f616f51c
VS
336242009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33625
33626 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33627
57bbe3be
CPE
336282009-12-05 Carles Pina i Estany <carles@pina.cat>
33629
33630 * util/grub-install.in: Install gettext .mo files.
33631 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33632
013d67a1
CPE
336332009-12-05 Carles Pina i Estany <carles@pina.cat>
33634
33635 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33636 grub_dprintf.
33637
fb954db0
RM
336382009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33639
33640 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33641 non-firmware-dependant one in realmode.S takes precedence.
33642
6b8474f8
RM
336432009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33644
33645 * commands/halt.c: Replace misc arch-specific headers with
33646 `<grub/misc.h>'.
33647 * commands/reboot.c: Likewise.
33648 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33649 `<grub/misc.h>'.
33650 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33651 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33652 (kernel_img_SOURCES): ... to here.
33653
33654 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33655 * include/grub/i386/pc/init.h: Likewise.
33656 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33657 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33658
33659 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33660
33661 * include/grub/i386/halt.h: Remove.
33662 * include/grub/i386/reboot.h: Likewise.
33663
33664 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33665
4b2e6ca2
DM
336662009-12-03 David S. Miller <davem@sunset.davemloft.net>
33667
33668 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33669 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33670 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33671 "progname.h"
33672 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33673 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33674 (usage): Add missing comma in printf.
33675
5239348f
RM
336762009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33677
33678 Use the same reboot approach on i386 coreboot and qemu as we do on
33679 BIOS.
33680
33681 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33682 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33683 * kern/i386/reboot.c: Remove.
33684 * include/grub/i386/reboot.h (grub_reboot): Export function.
33685 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33686 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33687 0xf000:0xfff0 instead of 0xffff:0x0000.
33688 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33689 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33690
ef34cbd4
RM
336912009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33692
33693 Fix $srcdir != $objdir build.
33694
33695 * Makefile.in (po/%.po): Rewrite as ...
33696 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33697
dc9837ea
ST
336982009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33699
33700 Fix GNU/Hurd grub-install crash.
33701 * util/grub-probe.c (probe): Try to access `path' only when it is not
33702 NULL.
33703
2f857f98
VS
337042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33705
33706 Correct module naming.
33707
33708 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33709 (GRUB_MOD_INIT(efi_uga)): ... to this
33710 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33711 (GRUB_MOD_FINI(efi_uga)): ... to this
33712 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33713 (GRUB_MOD_INIT(efi_gop)): ... to this
33714 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33715 (GRUB_MOD_FINI(efi_gop)): ... to this
33716
c5448046
RM
337172009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33718
33719 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33720 translatable.
33721 (usage): Translate `arg' strings using gettext().
33722 Thanks to Jordi Mallach for the suggestion.
33723
c85184ad
VS
337242009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33725
33726 GOP support. Based on patch from Bean
33727 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33728
33729 * video/efi_gop.c: New file.
33730 * include/grub/efi/graphics_output.h: Likewise.
33731 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33732 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33733 variables.
33734 * conf/x86_64-efi.rmk: Likewise.
33735
8a4c48d8
VS
337362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33737
33738 Rename efi_fb to efi_uga.
33739
33740 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33741 'efi_uga.mod'.
33742 (efi_fb_mod_SOURCES): Rename this ...
33743 (efi_uga_mod_SOURCES): ... to this.
33744 (efi_fb_mod_CFLAGS): Rename this ...
33745 (efi_uga_mod_CFLAGS): ... to this.
33746 (efi_fb_mod_LDFLAGS): Rename this ...
33747 (efi_uga_mod_LDFLAGS): ... to this.
33748 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33749 'efi_uga.mod'.
33750 (efi_fb_mod_SOURCES): Rename this ...
33751 (efi_uga_mod_SOURCES): ... to this.
33752 (efi_fb_mod_CFLAGS): Rename this ...
33753 (efi_uga_mod_CFLAGS): ... to this.
33754 (efi_fb_mod_LDFLAGS): Rename this ...
33755 (efi_uga_mod_LDFLAGS): ... to this.
33756 * video/efi_fb.c: Move this ...
33757 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33758
fb6c1a7b
RM
337592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33760
33761 * po/README: New file. Explain our PO file workflow.
33762
3bc7896c
RM
337632009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33764
33765 * po/ChangeLog: Remove. Move relevant entries back to ...
33766 * ChangeLog: ... here.
33767 * po/ca.po: Remove (now handled by TLP).
33768 * po/id.po: Likewise.
33769 * po/zh_CN.po: Likewise.
33770 * Makefile.in (LINGUAS): Initialize in a way that supports
33771 empty set.
33772
9ed4841d
RM
337732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33774
33775 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33776 reliing on po/LINGUAS.
33777 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33778 (po/%.po): ... this.
33779
0ad46fd7 337802009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33781
33782 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33783 (main): Use `program_name' instead of nonexistent `progname'.
33784
e30dd392
FZ
337852009-11-26 Felix Zielcke <fzielcke@z-51.de>
33786
33787 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33788 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33789
7656de4f
RM
337902009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33791
33792 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33793 commit.
33794 * conf/i386-efi.rmk: Likewise.
33795 * conf/i386-ieee1275.rmk: Likewise.
33796 * conf/powerpc-ieee1275.rmk: Likewise.
33797 * conf/sparc64-ieee1275.rmk: Likewise.
33798 * conf/x86_64-efi.rmk: Likewise.
33799
db77c4d4
FZ
338002009-11-26 Felix Zielcke <fzielcke@z-51.de>
33801
33802 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33803
a755bb04
FZ
338042009-11-26 Felix Zielcke <fzielcke@z-51.de>
33805
33806 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33807
8a4c07fd
RM
338082009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33809
33810 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33811 (grub_mkdevicemap_SOURCES): New variable.
33812 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33813 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33814 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33815 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33816 (grub_mkdevicemap_SOURCES): Remove.
33817 * conf/i386-efi.rmk: Likewise.
33818 * conf/i386-ieee1275.rmk: Likewise.
33819 * conf/i386-pc.rmk: Likewise.
33820 * conf/powerpc-ieee1275.rmk: Likewise.
33821 * conf/sparc64-ieee1275.rmk: Likewise.
33822 * conf/x86_64-efi.rmk: Likewise.
33823 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33824 (usage): Fix strings to use `program_name'.
33825 (main): Initialize gettext.
33826 * util/grub-editenv.c: Likewise.
33827 * util/grub-emu.c: Likewise.
33828 * util/grub-fstest.c: Likewise.
33829 * util/grub-mkdevicemap.c: Likewise.
33830 * util/grub-mkfont.c: Likewise.
33831 * util/grub-mkrelpath.c: Likewise.
33832 * util/grub-pe2elf.c: Likewise.
33833 * util/grub-probe.c: Likewise.
33834 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33835 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33836 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33837
33838 * util/misc.c: Include `"progname.h"'.
33839 (progname): Remove variable.
33840 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33841
6f61ed55
FZ
338422009-11-25 Felix Zielcke <fzielcke@z-51.de>
33843
33844 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33845 printf and print a newline after the menuentry header line.
33846 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33847
f022876b
FZ
338482009-11-25 Felix Zielcke <fzielcke@z-51.de>
33849
33850 autoconf >= 2.60 support $(localedir).
33851
33852 * INSTALL: Note that autoconf 2.60 is required.
33853 * configure.ac (AC_PREREQ): Bump to 2.60.
33854 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33855 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33856
6717926e
YB
338572009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33858
33859 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33860 aclocal is run.
33861
08806a54
RM
338622009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33863
33864 * normal/main.c (grub_normal_read_line): Fix off-by-one
33865 buffer overflow.
33866
13b33fba
RM
338672009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33868
33869 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33870 "parser.grub" in grub_command_execute() call.
33871
4a8572e9
CPE
338722009-11-24 Carles Pina i Estany <carles@pina.cat>
33873
33874 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33875 * conf/i386-efi.rmk: Likewise.
33876 * conf/i386-ieee1275.rmk: Likewise.
33877 * conf/i386-pc.rmk: Likewise.
33878 * conf/powerpc-ieee1275.rmk: Likewise.
33879 * conf/sparc64-ieee1275.rmk: Likewise.
33880 * conf/x86_64-efi.rmk: Likewise.
33881 * gettext/gettex.c: Include <grub/i18n.h>.
33882 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33883 here ...
33884 * include/grub/i18n.h: ... to here
33885 * include/grub/i18n.h: ... to here.
33886 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33887 (grub_gettext_dummy): Move above user.
4a8572e9 33888
bee48093
FZ
338892009-11-24 Felix Zielcke <fzielcke@z-51.de>
33890
33891 * util/Makefile.in (install-local): Convert a `for' into a normal
33892 shell expansion.
33893
a031e91c
RM
338942009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33895
33896 * autogen.sh: Add automake call.
33897 * config.guess: Remove.
33898 * config.sub: Likewise.
33899 * install-sh: Likewise.
33900
26bec39d
FZ
339012009-11-24 Felix Zielcke <fzielcke@z-51.de>
33902
33903 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33904
8e2532fd
FZ
339052009-11-24 Felix Zielcke <fzielcke@z-51.de>
33906
33907 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33908 function to a normal shell `for'.
33909
fefa1b7d
FZ
339102009-11-24 Felix Zielcke <fzielcke@z-51.de>
33911
33912 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33913
4501250b
FZ
339142009-11-24 Felix Zielcke <fzielcke@z-51.de>
33915
33916 * util/grub-mkrelpath.c: New file.
33917 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33918 (grub_mkrelpath_SOURCES): New variable.
33919 * include/grub/util/misc.h: New function prototype.
33920 * util/misc.c (make_system_path_relative_to_its_root): New function.
33921
33922 * util/grub-mkconfig_lib.in (bindir): New variable.
33923 (grub_mkrelpath): Likewise.
33924 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33925
33926 * util/probe.c (probe): Make the file path relative to its root.
33927 Change a info message to use the GRUB path. Enable again the
33928 check if we can read the file with GRUB facilities.
33929
33930 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33931 to its root.
33932
11d9778b
FZ
339332009-11-24 Felix Zielcke <fzielcke@z-51.de>
33934
33935 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33936 platform.
33937
4465287d
FZ
339382009-11-24 Felix Zielcke <fzielcke@z-51.de>
33939
33940 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33941 strncmp().
33942
62b47f22
FZ
339432009-11-24 Felix Zielcke <fzielcke@z-51.de>
33944
33945 * util/getroot.c (grub_util_is_dmraid): New function.
33946 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33947 devices as normal ones, not as LVM.
33948
1eafb9b9 339492009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33950
33951 * conf/common.rmk: Add grub-gettext_lib target and updates
33952 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33953 LDFLAGS.
33954 * gettext/gettext.c: New file. (Reads mo files).
33955 * include/grub/file.h (grub_file_pread): New prototype.
33956 * include/grub/i18n.h (_): New prototype.
33957 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33958 prototypes.
33959 * kern/misc.c (grub_gettext_dummy): New function.
33960 * normal/menu_text.c: Include <grub/i18n.h>.
33961 * normal/menu_text.c (print_timeout): Gettexttize string.
33962 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33963 * po/POTFILES: Add `normal/menu_text.c'.
33964 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33965 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33966 gettext module and defines locale_dir and lang in grub.cfg.
33967 * NEWS: Add gettext support.
33968
0fdb2568
RM
339692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33970
33971 * util/hostdisk.c: Include `<grub/i18n.h>'.
33972 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33973 (make_device_name): Rewrite using asprintf.
33974 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33975 (find_system_device): If a device is not found, generate one just
33976 by reusing the OS path name.
33977 (read_device_map): Make it permissible for device.map not to exist.
33978
f515aa62
RM
339792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33980
33981 * script/sh/execute.c: Move from here ...
33982 * script/execute.c: ... to here. Update all users.
33983 * script/sh/function.c: Move from here ...
33984 * script/function.c: ... to here. Update all users.
33985 * script/sh/lexer.c: Move from here ...
33986 * script/lexer.c: ... to here. Update all users.
33987 * script/sh/main.c: Move from here ...
33988 * script/main.c: ... to here. Update all users.
33989 * script/sh/parser.y: Move from here ...
33990 * script/parser.y: ... to here. Update all users.
33991 * script/sh/script.c: Move from here ...
33992 * script/script.c: ... to here. Update all users.
33993
f84b481b
RM
339942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33995
33996 * configure.ac: Detect all `emu' platforms. Define
33997 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33998 --enable-grub-emu logic. Disable include/grub/machine
33999 symlink on `emu' platforms.
34000
34001 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34002 * gensymlist.sh.in: Likewise.
34003
34004 * include/grub/i386/coreboot/machine.h: Remove file.
34005 * include/grub/i386/efi/machine.h: Likewise.
34006 * include/grub/i386/ieee1275/machine.h: Likewise.
34007 * include/grub/i386/pc/machine.h: Likewise.
34008 * include/grub/i386/qemu/machine.h: Likewise.
34009 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34010 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34011 * include/grub/x86_64/efi/machine.h: Likewise.
34012
34013 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34014 * commands/halt.c: Likewise.
34015 * commands/reboot.c: Likewise.
34016 * include/grub/autoefi.h: Likewise.
34017 * include/grub/i386/at_keyboard.h: Likewise.
34018 * include/grub/i386/kernel.h: Likewise.
34019 * include/grub/i386/loader.h: Likewise.
34020 * include/grub/i386/pc/memory.h: Likewise.
34021 * kern/dl.c: Likewise.
34022 * kern/i386/coreboot/init.c: Likewise.
34023 * loader/i386/bsd.c: Likewise.
34024 * loader/i386/linux.c: Likewise.
34025 * loader/multiboot_loader.c: Likewise.
34026 * term/i386/pc/serial.c: Likewise.
34027 * term/usb_keyboard.c: Likewise.
34028
34029 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34030 `<grub/machine/machine.h>'
34031 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34032 * util/misc.c: Remove `<grub/machine/machine.h>' and
34033 `<grub/machine/time.h>'.
34034
34035 * Makefile.in (enable_grub_emu): Remove variable.
34036 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34037
34038 * conf/any-emu.rmk: New file.
34039 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34040 (grub_emu_init.c): Move from here ...
34041 * conf/any-emu.rmk: ... to here.
34042
34043 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34044 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34045 * conf/any-emu.rmk: ... to here.
34046
4efeab03
RM
340472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34048
34049 * include/grub/parser.h (grub_parser_register): Document need
34050 of `name' parameter.
34051 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34052 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34053 "sh" to "grub".
34054
ea1dd8bf
RM
340552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34056
34057 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34058 `$(XGETTEXT)'.
34059 * include/grub/i18n.h (N_): New macro.
34060 * util/mkisofs/mkisofs.h: Likewise.
34061 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34062 around N_().
34063 (usage): Use gettext() to translate help strings when printing them.
34064
0c140626
RM
340652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34066
34067 Based on patch from Bean
34068 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34069
34070 * video/efi_fb.c: New file.
34071 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34072 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34073 variables.
34074 * conf/x86_64-efi.rmk: Likewise.
34075
87d58298
RM
340762009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34077
34078 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34079 * util/i386/pc/grub-setup.c: Likewise.
34080
994cc3a3
ST
340812009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34082
34083 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34084 <hurd/fs.h>
34085 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34086 file_get_storage_info to implement grub_guess_root_device.
34087
26a61d6a
FZ
340882009-11-21 Felix Zielcke <fzielcke@z-51.de>
34089
34090 * Makefile.in (target): Use make's builtin $(shell) function
34091 instead of calling directly $(SHELL) to create the locale directories,
34092 inside the $(foreach) function.
34093
74ff1dd5
FZ
340942009-11-21 Felix Zielcke <fzielcke@z-51.de>
34095
34096 * util/grub-mkrescue.in: Print an error and usage if output option
34097 has not been given.
34098
0b787d0e
FZ
340992009-11-21 Felix Zielcke <fzielcke@z-51.de>
34100
34101 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34102 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34103 root and /boot are on different devices.
34104
1164b270
RM
341052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 Fix build for srcdir != objdir.
34108
34109 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34110 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34111 $(srcdir).
34112 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34113 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34114 reference for input.
34115
13774a2f
RM
341162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34117
34118 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34119 or hardlinking it). Remove -J option, Joliet is not compatible with
34120 multiple source directories.
34121
efda854e
RM
341222009-11-21 Carles Pina i Estany <carles@pina.cat>
341232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34124
34125 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34126 (process_input_dir): New function. Process an arbitrary input
34127 directory.
34128 Misc adjustments to support both "override mode" and system-wide mode.
34129
6c09890c
FZ
341302009-11-20 Felix Zielcke <fzielcke@z-51.de>
34131
34132 * configure.ac (UNIFONT_BDF): Rename to ...
34133 (FONT_SOURCE): ... this. Update all users.
34134
a797824f
FZ
341352009-11-20 Felix Zielcke <fzielcke@z-51.de>
34136
34137 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34138 to the list of unifont files to look for.
34139
cd4f42b0
RM
341402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34141
34142 Patch from Joe Auricchio <jauricchio@gmail.com>
34143 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34144 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34145 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34146
393c783d
FZ
341472009-11-19 Felix Zielcke <fzielcke@z-51.de>
34148
34149 * Makefile.in (install-local): Add a missing backslash.
34150
b2f1e327
FZ
341512009-11-19 Felix Zielcke <fzielcke@z-51.de>
34152
34153 * include/grub/x86_64/io.h: New file.
34154
f577f7a0
RM
341552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34156
34157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34158 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34159 Include `"progname.h"'.
34160 (main): Initialize gettext.
34161 * util/i386/pc/grub-setup.c: Gettexttize.
34162 * util/i386/pc/grub-mkimage.c: Likewise.
34163
34164 * Makefile.in (po/*.po): Redefine as ...
34165 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34166
3bc7896c
RM
34167 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34168
c37943b6
RM
341692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34170
34171 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34172 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34173 (program_name): Remove.
34174 (main): Initialize gettext support.
6323f705
RM
34175 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34176 Include `<libintl.h>'.
34177 (_): New macro.
c37943b6
RM
34178
34179 * util/mkisofs/eltorito.c: Gettexttize.
34180 * util/mkisofs/joliet.c: Likewise.
34181 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
34182 * util/mkisofs/multi.c: Likewise.
34183 * util/mkisofs/rock.c: Likewise.
34184 * util/mkisofs/tree.c: Likewise.
34185 * util/mkisofs/write.c: Likewise.
34186
3bc7896c
RM
34187 * po/POTFILES: Update with new files.
34188
5ce77c6e
RM
341892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34190
34191 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34192 * util/mkisofs/iso9660.h: Likewise.
34193 * util/mkisofs/joliet.c: Likewise.
34194 * util/mkisofs/mkisofs.c: Likewise.
34195 * util/mkisofs/mkisofs.h: Likewise.
34196 * util/mkisofs/rock.c: Likewise.
34197 * util/mkisofs/tree.c: Likewise.
34198 * util/mkisofs/write.c: Likewise.
34199
34200 * util/mkisofs/eltorito.c (rcsid): Remove.
34201 * util/mkisofs/hash.c: Likewise.
34202 * util/mkisofs/joliet.c: Likewise.
34203 * util/mkisofs/name.c: Likewise.
34204 * util/mkisofs/rock.c: Likewise.
34205 * util/mkisofs/tree.c: Likewise.
34206 * util/mkisofs/write.c: Likewise.
34207
1dabbc77
RM
342082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34209
34210 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34211 instead of static allocation.
34212 * util/mkisofs/match.h: Likewise.
34213
633877cb
RM
342142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34215
3bc7896c
RM
34216 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34217 and `util/grub.d/10_linux.in'.
633877cb
RM
34218 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34219 translatable Shell files.
34220
af1c0c85
RM
342212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34222
34223 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34224
769ae37b
RM
342252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34226
34227 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 34228 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
34229 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34230 Add gettext initialization.
34231 (kfreebsd_entry): Make menuentry output translatable.
34232
342332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34234
34235 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34236 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34237 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34238 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34239 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 34240 * po/LINGUAS: New file.
769ae37b
RM
34241
342422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34243
34244 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34245 other things).
34246 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34247 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34248 bindtextdomain() calls for gettext initialization.
34249
342502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34251
34252 * gnulib/progname.c: New file (imported from Gnulib).
34253 * gnulib/progname.h: Likewise.
34254 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34255 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34256 (usage): Replace `progname' with `program_name'.
34257 (main): Use set_program_name() for program name initialization.
34258
342592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34260
34261 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34262 from here ...
34263 * Makefile.in (CPPFLAGS): ... to here.
34264
342652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34266
34267 * aclocal.m4: Move from here ...
34268 * acinclude.m4: ... to here.
34269 * autogen.sh: Add call to `aclocal'.
34270 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34271
342722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34273
34274 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34275 (LINGUAS): New variable.
34276 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34277 (install-local): Install MO files.
34278 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34279 * include/grub/i18n.h: New file.
3bc7896c
RM
34280 * po/POTFILES: New file.
34281 * po/ca.po: New file.
769ae37b
RM
34282 * util/grub.d/10_linux.in (bindir): New variable.
34283 Add gettext initialization.
34284 (linux_entry): Make menuentry output translatable.
34285 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34286 (usage): Make --help output translatable.
34287 (main): Initialize gettext.
34288
02c0a6ad
RM
342892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34290
34291 * import_gcry.py: New file (written by Vladimir with minor
34292 adjustments).
34293 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34294 ciphers.
34295 * INSTALL: Document that Python is required for bootstrap.
34296
342972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34298
34299 Import ciphers from libgcrypt 1.4.4.
34300
34301 * lib/libgcrypt/cipher/ChangeLog
34302 * lib/libgcrypt/cipher/ac.c
34303 * lib/libgcrypt/cipher/arcfour.c
34304 * lib/libgcrypt/cipher/bithelp.h
34305 * lib/libgcrypt/cipher/blowfish.c
34306 * lib/libgcrypt/cipher/camellia-glue.c
34307 * lib/libgcrypt/cipher/camellia.c
34308 * lib/libgcrypt/cipher/camellia.h
34309 * lib/libgcrypt/cipher/cast5.c
34310 * lib/libgcrypt/cipher/cipher.c
34311 * lib/libgcrypt/cipher/crc.c
34312 * lib/libgcrypt/cipher/des.c
34313 * lib/libgcrypt/cipher/dsa.c
34314 * lib/libgcrypt/cipher/ecc.c
34315 * lib/libgcrypt/cipher/elgamal.c
34316 * lib/libgcrypt/cipher/hash-common.c
34317 * lib/libgcrypt/cipher/hash-common.h
34318 * lib/libgcrypt/cipher/hmac-tests.c
34319 * lib/libgcrypt/cipher/md.c
34320 * lib/libgcrypt/cipher/md4.c
34321 * lib/libgcrypt/cipher/md5.c
34322 * lib/libgcrypt/cipher/primegen.c
34323 * lib/libgcrypt/cipher/pubkey.c
34324 * lib/libgcrypt/cipher/rfc2268.c
34325 * lib/libgcrypt/cipher/rijndael-tables.h
34326 * lib/libgcrypt/cipher/rijndael.c
34327 * lib/libgcrypt/cipher/rmd.h
34328 * lib/libgcrypt/cipher/rmd160.c
34329 * lib/libgcrypt/cipher/rsa.c
34330 * lib/libgcrypt/cipher/seed.c
34331 * lib/libgcrypt/cipher/serpent.c
34332 * lib/libgcrypt/cipher/sha1.c
34333 * lib/libgcrypt/cipher/sha256.c
34334 * lib/libgcrypt/cipher/sha512.c
34335 * lib/libgcrypt/cipher/tiger.c
34336 * lib/libgcrypt/cipher/twofish.c
34337 * lib/libgcrypt/cipher/whirlpool.c
34338
af2f93ac
RM
343392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34340
34341 Fix build for systems without error().
34342
34343 * gnulib/error.c: New file (imported from Gnulib).
34344 * gnulib/error.h: Likewise.
34345 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34346 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34347 (this variable is now used by error()).
34348
73fb3dd5
FZ
343492009-11-16 Felix Zielcke <fzielcke@z-51.de>
34350
814f5e96
FZ
34351 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34352 instead of relying that char is signed.
73fb3dd5 34353
a691ca33
VS
343542009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34355
34356 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34357 blocksize different from specified.
34358 (grub_pxefs_read): Likewise.
34359
2af8f0f4
FZ
343602009-11-16 Felix Zielcke <fzielcke@z-51.de>
34361
34362 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34363
34364 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34365 (grub_ata_readwrite): Likewise. Update 2 format strings.
34366 (grub_atapi_read): Likewise.
34367
34368 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34369 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34370 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34371 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34372 (ata_mod_LDFLAGS): Move from here ...
34373 * conf/i386.rmk: ... to here ...
34374 * conf/x86_64-efi.rmk: ... and here.
34375 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34376 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34377
83bdecaf
RM
343782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34379
34380 Relicense multiboot.h, with RMS' blessing.
34381
34382 * include/multiboot.h: Change to X11 license.
34383
fd6fd3d7
RM
343842009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34385
34386 Support --version in grub-mkisofs.
34387
34388 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34389 (OPTION_VERSION): New macro.
34390 (ld_options): Recognize --version.
34391 (usage): Move `program_name' from here ...
34392 (program_name): ... to here. Add `static' qualifier.
34393 (main): Recognize `OPTION_VERSION'.
34394
16a88c49
FZ
343952009-11-15 Felix Zielcke <fzielcke@z-51.de>
34396
34397 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34398 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34399
a4158476
RM
344002009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34401
34402 Fix help2man generation for mkisofs.
34403
34404 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34405 (usage): Send output to stdout (rather than stderr).
34406
fc2208b0
RM
344072009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34408
34409 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34410 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34411 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34412 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34413 (bin_SCRIPTS): Add `grub-mkfloppy'.
34414 (grub_mkfloppy_SOURCES): New variable.
34415
34416 * util/grub-mkrescue.in: New file.
34417 * util/i386/pc/grub-mkfloppy.in: New file.
34418
34419 * util/i386/coreboot/grub-mkrescue.in: Remove.
34420 * util/i386/pc/grub-mkrescue.in: Remove.
34421
8d0edf4a
RM
344222009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34423
34424 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34425 from here ...
34426 * include/multiboot.h (struct multiboot_header): ... to here. Update
34427 all users.
34428 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34429 from here ...
34430 * include/multiboot.h (struct multiboot_info): ... to here. Update
34431 all users.
34432 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34433 from here ...
34434 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34435 Update all users.
34436 * include/grub/multiboot.h (struct grub_mod_list): Move
34437 from here ...
34438 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34439 Update all users.
34440
a73f5969
RM
344412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34442
34443 * include/multiboot2.h (multiboot_word): Rename from this ...
34444 (multiboot2_word): ... to this. Update all users.
34445 (multiboot_header): Rename from this ...
34446 (multiboot2_header): ... to this. Update all users.
34447 (multiboot_tag_header): Rename from this ...
34448 (multiboot2_tag_header): ... to this. Update all users.
34449 (multiboot_tag_start): Rename from this ...
34450 (multiboot2_tag_start): ... to this. Update all users.
34451 (multiboot_tag_name): Rename from this ...
34452 (multiboot2_tag_name): ... to this. Update all users.
34453 (multiboot_tag_module): Rename from this ...
34454 (multiboot2_tag_module): ... to this. Update all users.
34455 (multiboot_tag_memory): Rename from this ...
34456 (multiboot2_tag_memory): ... to this. Update all users.
34457 (multiboot_tag_unused): Rename from this ...
34458 (multiboot2_tag_unused): ... to this. Update all users.
34459 (multiboot_tag_end): Rename from this ...
34460 (multiboot2_tag_end): ... to this. Update all users.
34461
1c8927f0
RM
344622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34463
34464 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34465 this platform we should support Multiboot1 first.
34466
34467 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34468 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34469 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34470
6e1e0d89
RM
344712009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34472
34473 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34474 of write calls (converting them to fwrite() if they aren't already).
34475 (get_torito_desc): Likewise.
34476 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34477
7f2b34d8
RM
344782009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34479
34480 * util/i386/pc/grub-install.in: Move from here ...
34481 * util/grub-install.in: ... to here. Update all users.
34482
c0ef3311
CW
344832009-11-11 Colin Watson <cjwatson@ubuntu.com>
34484
34485 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34486
e1f240ff
RM
344872009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34488
34489 Support for El Torito without floppy emulation.
34490
34491 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34492 (init_boot_catalog): Improve error handling.
34493 (get_torito_desc): Don't use floppy emulation unless requested by
34494 user. Patch boot information table when requested via
34495 `-boot-info-table'.
34496 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34497 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34498 (use_boot_info_table): New variables.
34499 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34500 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34501 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34502 `--eltorito-emul-floppy'.
34503 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34504 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34505 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34506 (use_boot_info_table, get_731): New prototypes.
34507 * util/mkisofs/write.c (get_731): New function.
34508
af7d4de5
FZ
345092009-11-11 Felix Zielcke <fzielcke@z-51.de>
34510
34511 Fix the generation of the man page.
34512
34513 * util/pc/i386/grub-install.in: Source
34514 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34515
2c55dbc0
RM
345162009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34517
34518 Large file support for grub-mkisofs.
34519
34520 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34521 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34522 (session_start): Upgrade type to `uint64_t'. Update all users.
34523 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34524 (struct directory_entry): Upgrade type of `starting_block' and
34525 `size' to `uint64_t'. Update all users.
34526 (struct deferred): Remove unused structure.
34527 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34528 Update all users.
34529 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34530 file is larger than `UINT32_MAX'.
34531 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34532 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34533 return value.
34534 (struct deferred_write): Upgrade type of `extent' and `size' to
34535 `uint64_t'. Update all users.
34536 (last_extent_written): Upgrade type to `uint64_t'. Update all
34537 users.
34538 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34539 Update all users. Upgrade type of `remain' to `int64_t' and
34540 `use' to `size_t'. Use error() to handle fread() errors.
34541 (write_files): Rely on write_one_file() rather than calling
34542 xfwrite() directly.
34543
6a9cead5
FZ
345442009-11-09 Felix Zielcke <fzielcke@z-51.de>
34545
34546 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34547
4825d790
RM
345482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34549
34550 * util/mkisofs/fnmatch.c: Remove.
34551 * util/mkisofs/getopt1.c: Likewise.
34552 * util/mkisofs/getopt.c: Likewise.
34553 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34554 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34555 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34556 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34557 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34558
34559 * configure.ac: Detect `mingw32msvc' host_os.
34560 Check for lstat(), getuid() and getgid().
34561
34562 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34563 instances of `u_char' with `uint8_t'.
34564
34565 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34566 [!HAVE_GETUID] (getuid): New function (stub).
34567 [!HAVE_GETGID] (getgid): Likewise.
34568 [!HAVE_LSTAT] (lstat): Likewise.
34569 [!S_IROTH] (S_IROTH): New macro (dummy).
34570 [!S_IRGRP] (S_IRGRP): Likewise.
34571
84b860d8
RM
345722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34573
34574 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34575 conditional expression).
34576
66e9b712
RM
345772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34578
34579 Import from Gnulib.
34580
34581 * gnulib/fnmatch.c: New file.
34582 * gnulib/fnmatch.h: Likewise.
34583 * gnulib/fnmatch_loop.c: Likewise.
34584 * gnulib/getopt.c: Likewise.
34585 * gnulib/getopt.h: Likewise.
34586 * gnulib/getopt1.c: Likewise.
34587 * gnulib/getopt_int.h: Likewise.
34588 * gnulib/gettext.h: Likewise.
34589
34f4a5b0
RM
345902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34591
34592 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34593 * normal/handler.c (read_handler_list): Likewise.
34594
ac451143
RM
345952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34596
34597 Misc cleanup.
34598
34599 * kern/command.c (grub_register_command_prio): Use
34600 grub_zalloc() instead of explicitly zeroing data.
34601 * kern/list.c: Include `<grub/mm.h>'.
34602 (grub_named_list_find): Replace `0' with `NULL'.
34603 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34604 (fs_module_list): Change type to `grub_named_list_t'. Update all
34605 users.
34606 * normal/dyncmd.c (read_command_list): Add space between function
34607 call and parenthesis.
34608 * normal/handler.c (read_handler_list): Likewise.
34609
4089b167
RM
346102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34611
34612 * normal/auth.c (punishment_delay): Moved from here ...
34613 (grub_auth_strcmp): ... to here (inside function).
34614
325f5037
RM
346152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34616
34617 * include/grub/list.h (struct grub_named_list): Remove `const'
34618 qualifier from `name'.
34619 (struct grub_prio_list): Likewise.
34620
7aea29a3
RM
346212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34622
34623 * normal/auth.c: Include `<grub/time.h>'.
34624 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34625
3fd6f044
RM
346262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34627
34628 * normal/auth.c (punishment_delay): New variable.
34629 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34630 (grub_auth_check_authentication): Punish failed login attempts with
34631 an incremental (2^N) delay.
34632
a4cd68e4
RM
346332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34634
34635 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34636 path with $(srcdir).
34637
7ad12f43
VS
346382009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34639
34640 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34641
c1129f03
RM
346422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34643
34644 * util/i386/coreboot/grub-mkrescue.in: New file.
34645 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34646 variables.
34647
34648 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34649 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34650 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34651 requirements.
34652 * util/mkisofs/defaults.h: New file.
34653 * util/mkisofs/eltorito.c: Likewise.
34654 * util/mkisofs/exclude.h: Likewise.
34655 * util/mkisofs/fnmatch.c: Likewise.
34656 * util/mkisofs/getopt.c: Likewise.
34657 * util/mkisofs/getopt1.c: Likewise.
34658 * util/mkisofs/hash.c: Likewise.
34659 * util/mkisofs/include/fctldefs.h: Likewise.
34660 * util/mkisofs/include/mconfig.h: Likewise.
34661 * util/mkisofs/include/prototyp.h: Likewise.
34662 * util/mkisofs/include/statdefs.h: Likewise.
34663 * util/mkisofs/iso9660.h: Likewise.
34664 * util/mkisofs/joliet.c: Likewise.
34665 * util/mkisofs/match.c: Likewise.
34666 * util/mkisofs/match.h: Likewise.
34667 * util/mkisofs/mkisofs.c: Likewise.
34668 * util/mkisofs/mkisofs.h: Likewise.
34669 * util/mkisofs/multi.c: Likewise.
34670 * util/mkisofs/name.c: Likewise.
34671 * util/mkisofs/rock.c: Likewise.
34672 * util/mkisofs/tree.c: Likewise.
34673 * util/mkisofs/write.c: Likewise.
34674
ec8bb77d
VS
346752009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34676
34677 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34678 being insecure.
34679
3716b12c
RM
346802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34681
34682 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34683 `grub-mkimage' (and use $0 when possible).
34684
b97b7b91
RM
346852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34686
34687 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34688 error message for excessively large memory map.
34689
04114812
RM
346902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34691
34692 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34693 executable bit.
34694
e4eb2373
RM
346952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34696
34697 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34698 message for coreboot users.
34699
c926e1d5 347002009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34701
34702 Fix build with GNU gold.
34703
34704 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34705 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34706 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34707 link addresses.
34708 * aclocal.m4: Likewise.
34709
86e5b1db 347102009-11-04 Felix Zielcke <fzielcke@z-51.de>
34711
34712 * configure.ac (AC_PREREQ): Bump to 2.59d.
34713 * INSTALL: Make it more clear when Autoconf and Ruby are
34714 needed and when to run `./autogen.sh'.
34715
246cd78f 347162009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34717
34718 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34719 OSes.
34720
4f9dfb37 347212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34722
34723 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34724
b82bd5e1 347252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34726
34727 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34728 giving it to GNU Mach.
34729
ff1a9bca 347302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34731
34732 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34733 GNU partition number to get internal GRUB partition number.
34734
61697d9c 347352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34736
34737 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34738 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34739
a50569e1 347402009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34741
34742 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34743 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34744 case.
34745
5b153867 347462009-11-01 Felix Zielcke <fzielcke@z-51.de>
34747
34748 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34749
d9e2cd70 347502009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34751
34752 Fix build problem.
34753
34754 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34755 `-isystem=$(srcdir)/include'.
34756
805111a4 347572009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34758
34759 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34760 checked (grub-install doesn't currently rely on it).
34761
fa6e945f 347622009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34763
34764 Revert SVN r2660.
34765
34766 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34767 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34768 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34769 * conf/i386-ieee1275.rmk: Likewise.
34770 * conf/i386-pc.rmk: Likewise.
34771 * conf/powerpc-ieee1275.rmk: Likewise.
34772 * conf/sparc64-ieee1275.rmk: Likewise.
34773 * conf/x86_64-efi.rmk: Likewise.
34774
cee15086 347752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34776
34777 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34778
95b9239e 347792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34780
34781 * include/grub/misc.h: Stop checking for APPLE_CC.
34782
2ed19dfd 347832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34784
34785 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34786 doesn't cause an infinite call loop.
34787
fdcdde19 347882009-10-28 Felix Zielcke <fzielcke@z-51.de>
34789
34790 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34791 strings.
34792
cefabfe1 347932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34794
34795 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34796 variable.
34797 * Makefile.in: Likewise.
34798
ed96ab6d 347992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34800
34801 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34802
0579b753 348032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34804
34805 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34806
478df409 348072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34808
34809 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34810
083d1679 348112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34812
34813 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34814 from here ...
34815 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34816
5947ae32 348172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34818
34819 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34820 in $(MAKEINFO) invocation. This makes it clear in output that
34821 errors are being ignored.
34822
94180ff6 348232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34824
34825 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34826 from here ...
34827 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34828 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34829 * conf/i386-ieee1275.rmk: Likewise.
34830 * conf/i386-pc.rmk: Likewise.
34831 * conf/powerpc-ieee1275.rmk: Likewise.
34832 * conf/sparc64-ieee1275.rmk: Likewise.
34833 * conf/x86_64-efi.rmk: Likewise.
34834
9031b03a 348352009-10-26 Colin Watson <cjwatson@ubuntu.com>
34836
34837 * util/grub-editenv.c (main): If only a command is given, use
34838 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34839 (usage): FILENAME is now optional and has a default.
34840
e4f6809b 348412009-10-26 Colin Watson <cjwatson@ubuntu.com>
34842
34843 Improve grub-mkconfig performance when there are several menu
34844 entries on a single filesystem.
34845
34846 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34847 prepare_grub_to_access_device.
34848 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34849 * util/grub.d/30_os-prober.in: Likewise.
34850
67937d4d 348512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34852
34853 * util/grub.d/10_freebsd.in: Remove.
34854 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34855 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34856
ee3756cc 348572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34858
5c35048e 34859 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34860
4dea1c6f 348612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34862
34863 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34864 grub_util_error() call.
34865
042484d7 348662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34867
34868 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34869 `reserved_first_sector' member.
34870 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34871 `reserved_first_sector' to 1.
34872 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34873 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34874 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34875 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34876 filesystems which begin at first sector.
34877 (options): New option --skip-fs-probe.
34878 (main): Handle --skip-fs-probe and pass it to setup().
34879
d64448a7 348802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34881
34882 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34883 (memset): Fix function prototype.
34884
508d42ec 348852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
348862009-10-25 Vasily Averin <vvs@parallels.com>
34887
34888 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34889 `dirent.direntlen == 0'.
34890
b240e30c 348912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34892
34893 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34894 `cpio'.
34895 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34896
346e7fbe 348972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34898
34899 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34900 `__trampoline_setup' and `__ucmpdi2'.
34901 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34902 that libgcc provides.
34903
cdb308b0 349042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34905
34906 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34907 * include/grub/sparc64/libgcc.h (memset): Likewise.
34908 * include/grub/misc.h (memset, memcmp): New function prototypes.
34909
fb26abc2 349102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34911
34912 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34913 `cpio'.
34914 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34915
f6693890 349162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34917
34918 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34919 * docs/grub.cfg: Compensate for recent change in multiboot
34920 loader (since 2009-08-14 it won't pass filename to payload).
34921 * util/grub.d/10_hurd.in: Likewise.
34922
0933cdc0 349232009-10-21 Felix Zielcke <fzielcke@z-51.de>
34924
34925 * config.guess: Update to latest version from config git
34926 repository.
34927 * config.sub: Likewise.
34928
3b2fe8c2 349292009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34930
34931 Fix build on sparc64.
34932
34933 * configure.ac: Perform checks for libgcc symbols before
34934 adding `-nostdlib' to LDFLAGS.
34935
46695a62 349362009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34937
34938 Let user specify OpenBSD root device.
34939
34940 * loader/i386/bsd.c (openbsd_root): New variable.
34941 (openbsd_opts): New option 'root'.
34942 (OPENBSD_ROOT_ARG): New macro.
34943 (grub_openbsd_boot): Use 'openbsd_root'.
34944 (grub_cmd_openbsd): Fill 'openbsd_root'.
34945
d2b6b7fc 349462009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34947
34948 * NEWS: Misc adjustments.
34949
421bd7ac 349502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34951
34952 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34953
f1d29d87 349542009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34955
34956 * configure.ac: Bump version to 1.97.
34957
6f3cd880 349582009-10-16 Colin Watson <cjwatson@ubuntu.com>
34959
34960 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34961 -mno-3dnow on x86 architectures. Some toolchains enable these
34962 features by default, but they rely on registers that aren't enabled
34963 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34964
035f7122 349652009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34966
34967 Make entry text a bit more readable.
34968
34969 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34970
44998e58 349712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34972
34973 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34974
cd2851b3 349752009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34976
34977 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34978 operations.
34979
c6f3b249 349802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34981
34982 * configure.ac: Add missing dollar.
34983
6b5886ba 349842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34985
34986 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34987
34988 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34989 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34990 exports.
34991 * include/grub/sparc64/libgcc.h: Likewise. Use
34992 preprocessor conditionals.
34993
e9d66f6d 349942009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34995
34996 * conf/common.rmk (grub-dumpbios): Remove rule.
34997 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34998 * util/grub-dumpbios.in: Remove file.
34999
9155bc17 350002009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35001
35002 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35003 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35004
35005 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35006 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35007 users.
35008
35009 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35010 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35011 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35012 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35013 users.
35014
bf7f7a18 350152009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35016
35017 * term/tparm.c: Switch to GPLv3.
35018
86564c26 350192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35020
35021 * include/grub/i386/cpuid.h: Add header protection.
35022
5c936493 350232009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35024
35025 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35026
35027 * include/grub/i386/cpuid.h: New file.
35028 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35029 (has_longmode): Rename to ...
35030 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35031 `static' attribute.
35032 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35033 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35034 on a CPU that doesn't implement AMD64 instruction set.
35035
186e7cf2 350362009-10-06 Colin Watson <cjwatson@ubuntu.com>
35037
35038 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35039 that version.texi is rebuilt on version number changes.
35040
83b65c4a 350412009-10-06 Colin Watson <cjwatson@ubuntu.com>
35042
35043 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35044 Fixes bug #27602.
35045
d244281c 350462009-10-06 Colin Watson <cjwatson@ubuntu.com>
35047
35048 * util/i386/pc/grub-install.in: Source
35049 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35050 that the --grub-probe option will work.
35051 * util/sparc64/ieee1275/grub-install.in: Likewise.
35052
da25306d 350532009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35054
35055 * configure.ac: Bump version to 1.97~beta4.
35056
e8ee83c0 350572009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35058
35059 Resync grub-mkdevicemap in x86_64-efi.
35060
35061 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35062 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35063 `util/devicemap.c'.
35064
50dcabcf 350652009-10-01 Colin Watson <cjwatson@ubuntu.com>
35066
35067 * util/grub-editenv.c (create_envblk_file): Write new block with a
35068 .new suffix and then rename it into place, to ensure atomic
35069 creation.
35070
0e51c3a7 350712009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35072
35073 Do not automatically install headers.
35074
35075 * Makefile.in (include_DATA): Remove. Update all users.
35076
31299a95 350772009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35078
35079 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35080 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35081
35082 * util/osdetect.lua: Remove.
35083 * script/lua/lauxlib.c: Likewise.
35084 * script/lua/ldebug.c: Likewise.
35085 * script/lua/grub_main.c: Likewise.
35086 * script/lua/lauxlib.h: Likewise.
35087 * script/lua/ldebug.h: Likewise.
35088 * script/lua/ltablib.c: Likewise.
35089 * script/lua/liolib.c: Likewise.
35090 * script/lua/lstrlib.c: Likewise.
35091 * script/lua/lualib.h: Likewise.
35092 * script/lua/ldo.c: Likewise.
35093 * script/lua/ldump.c: Likewise.
35094 * script/lua/ldo.h: Likewise.
35095 * script/lua/loslib.c: Likewise.
35096 * script/lua/lundump.c: Likewise.
35097 * script/lua/grub_lib.c: Likewise.
35098 * script/lua/ldblib.c: Likewise.
35099 * script/lua/lundump.h: Likewise.
35100 * script/lua/lmem.c: Likewise.
35101 * script/lua/grub_lib.h: Likewise.
35102 * script/lua/lmathlib.c: Likewise.
35103 * script/lua/lstate.c: Likewise.
35104 * script/lua/ltm.c: Likewise.
35105 * script/lua/lvm.c: Likewise.
35106 * script/lua/lmem.h: Likewise.
35107 * script/lua/lstate.h: Likewise.
35108 * script/lua/ltm.h: Likewise.
35109 * script/lua/ltable.c: Likewise.
35110 * script/lua/lvm.h: Likewise.
35111 * script/lua/llex.c: Likewise.
35112 * script/lua/lgc.c: Likewise.
35113 * script/lua/grub_lua.h: Likewise.
35114 * script/lua/loadlib.c: Likewise.
35115 * script/lua/lfunc.c: Likewise.
35116 * script/lua/lopcodes.c: Likewise.
35117 * script/lua/lparser.c: Likewise.
35118 * script/lua/ltable.h: Likewise.
35119 * script/lua/llex.h: Likewise.
35120 * script/lua/lgc.h: Likewise.
35121 * script/lua/lfunc.h: Likewise.
35122 * script/lua/lbaselib.c: Likewise.
35123 * script/lua/lopcodes.h: Likewise.
35124 * script/lua/lparser.h: Likewise.
35125 * script/lua/lzio.c: Likewise.
35126 * script/lua/linit.c: Likewise.
35127 * script/lua/lobject.c: Likewise.
35128 * script/lua/llimits.h: Likewise.
35129 * script/lua/lstring.c: Likewise.
35130 * script/lua/lzio.h: Likewise.
35131 * script/lua/lapi.c: Likewise.
35132 * script/lua/lcode.c: Likewise.
35133 * script/lua/lua.h: Likewise.
35134 * script/lua/lobject.h: Likewise.
35135 * script/lua/lstring.h: Likewise.
35136 * script/lua/lapi.h: Likewise.
35137 * script/lua/lcode.h: Likewise.
35138 * script/lua/luaconf.h: Likewise.
35139
cb8a2c38 351402009-09-26 Colin Watson <cjwatson@ubuntu.com>
35141
35142 * docs/grub.texi (Command-line and menu entry commands): Document
35143 date and echo commands.
35144
6b9b6276 351452009-09-24 Pavel Roskin <proski@gnu.org>
35146
35147 * include/grub/kernel.h (struct grub_module_header): Remove
35148 `grub_module_header_types'. Make `type' unsigned. Make `size'
35149 32-bit on all platforms.
35150 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35151 8-bit field. Use grub_host_to_target32() for `size'.
35152 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35153 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35154 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35155
4e5a02a7 351562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35157
35158 Fix "lost keypress" bug in at_keyboard.
35159
35160 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35161 Checks for readyness of input buffer (without flushing it).
35162 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35163 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35164
c6dcedf6 351652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35166
35167 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35168 size check within GRUB_MACHINE_PCBIOS section.
35169
74c958b1 351702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35171
35172 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35173 return value.
35174 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35175 KEYBOARD_ISREADY check.
35176 (grub_at_keyboard_checkkey): Rename to ...
35177 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35178 Remove gratuitous cast.
35179
ff420223 351802009-09-23 Colin Watson <cjwatson@ubuntu.com>
35181
35182 * configure.ac: Call AC_PROG_MKDIR_P.
35183 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35184 version.texi in $(builddir) rather than $(srcdir).
35185 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35186 to makeinfo's @include search path.
35187
d96875df 351882009-09-23 Felix Zielcke <fzielcke@z-51.de>
35189
35190 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35191
9b3f8365 351922009-09-23 Felix Zielcke <fzielcke@z-51.de>
35193
35194 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35195 for `*.dpkg-new'.
35196
c44c90db 351972009-09-21 Colin Watson <cjwatson@ubuntu.com>
35198
35199 Build info documentation. Some code borrowed from Automake.
35200
35201 * configure.ac: Check for makeinfo.
35202 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35203 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35204 docs/version.texi.
35205 (MOSTLYCLEANFILES): Add vti.tmp.
35206 (docs/version.texi, docs/stamp-vti): Update automatically.
35207 (docs/grub.info): Build info documentation. Use --force and ignore
35208 errors for now.
35209 (all-local): Add $(INFOS).
35210 (install-local): Install info files.
35211 (uninstall): Uninstall info files.
35212 * docs/version.texi: Remove from revision control. This file is
35213 automatically generated on build now.
35214 * gendistlist.sh: Add `*.info'.
35215
e0b37bb5 352162009-09-21 Felix Zielcke <fzielcke@z-51.de>
35217
35218 * kern/term.c: Fix indentation.
35219
5a78865b 352202009-09-21 Felix Zielcke <fzielcke@z-51.de>
35221
35222 * util/hostdisk.c: Fix a comment.
35223
dace7e8a 352242009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35225
35226 Fix regression introduced in r2539.
35227
35228 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35229 to 0xA1.
35230
a83d079b 352312009-09-19 Colin Watson <cjwatson@ubuntu.com>
35232
35233 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 35234 os-prober. Under normal operation, it does not print anything to
35235 stderr; if it does, we need to debug it, and throwing away stderr
35236 makes that excessively difficult.
a83d079b 35237
be94a509 352382009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35239
35240 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35241
63f745e8 352422009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35243
35244 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35245 AC_LANG_PROGRAM from autoconf.
35246 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35247 prototypes (fixes warning).
35248
35249 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35250 `--disable-werror' was used.
35251
bbb2a70f 352522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35253
35254 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35255 uninitialized `lastaddr'.
35256
77c24f1d 352572009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35258
0f0b8c87 35259 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 35260
07197f23 352612009-09-14 Colin Watson <cjwatson@ubuntu.com>
35262
35263 * commands/test.c (get_fileinfo): Return immediately if
35264 grub_fs_probe fails.
35265
dabf1798 352662009-09-14 José Martínez <xosemp@gmail.com>
35267
35268 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35269
d52109a7 352702009-09-14 Colin Watson <cjwatson@ubuntu.com>
35271
35272 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35273 output.
35274
56532179 352752009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35276
35277 * configure.ac: Remove --enable-grub-pe2elf. Only build
35278 grub-pe2elf when needed by the build system itself.
35279 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35280
8ef070f5 352812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35282
35283 * configure.ac: Bump version to 1.97~beta3.
35284 * docs/version.texi: Likewise.
35285
61229557 352862009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35287
35288 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35289 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35290 from here ...
35291 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35292 (grub_linux_setup_video): ... to here (with some adjustments).
35293
5c9f8d84 352942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35295
35296 Fix memory corruption issue (spotted by Colin Watson).
35297
35298 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35299 causing returned size to be stored in an incorrect memory location.
35300 Fix use of uninitialized value when storing the returned size.
35301
e8f5d6e9 353022009-09-12 Yves Blusseau <blusseau@zetam.org>
35303
35304 Change clean rules to properly remove files
35305
35306 * genmk.rb: add new clean rules
35307 * Makefile.in (clean): add the new targets
35308 (mostlyclean): likewise
35309
cda2a409 353102009-09-11 Colin Watson <cjwatson@ubuntu.com>
35311
35312 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35313 to grub_uint64_t.
35314 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35315 non-resident files.
35316
86695375 353172009-09-11 Colin Watson <cjwatson@ubuntu.com>
35318
35319 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35320 part of bug #27349.
35321
8aa1541a 353222009-09-10 Felix Zielcke <fzielcke@z-51.de>
35323
35324 * util/grub-mkconfig.in: Make the created config mode 400 and
35325 print a warning if it fails.
35326
48d9bb0a 353272009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35328
35329 * util/grub.d/40_custom.in: Ask user to type custom entries below
35330 comment, rather than below 'exec tail' line.
35331
3b0521be 353322009-09-10 Colin Watson <cjwatson@ubuntu.com>
35333
35334 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35335 visible in grub.cfg.
35336
50051d55 353372009-09-10 Colin Watson <cjwatson@ubuntu.com>
35338
35339 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35340 file.
35341
c0d34387 353422009-09-10 Felix Zielcke <fzielcke@z-51.de>
35343
35344 * docs/grub.cfg: Add an example menu entry for memtest86+.
35345
80a608f3 353462009-09-09 Felix Zielcke <fzielcke@z-51.de>
35347
a2094832 35348 * config.guess: Update to latest version from config git.
80a608f3 35349 * config.sub: Likewise.
35350
99423078 353512009-09-08 Colin Watson <cjwatson@ubuntu.com>
35352
35353 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35354 unknown-command case. Fixes bug #27320.
35355
44454e4c 353562009-09-08 Felix Zielcke <fzielcke@z-51.de>
35357
35358 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35359 `help' if the command exists.
35360
e30d87ad 353612009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35362
35363 * INSTALL: Require GCC 4.1.3 or later.
35364
9a86f1ec 353652009-09-06 Yves Blusseau <blusseau@zetam.org>
35366
35367 * Makefile.in (RMKFILES): add i386-qemu.rmk
35368 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35369 $(srcdir)/stamp-h.in
35370
7f26d466 353712009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35372
35373 * util/grub-probe.c (probe): Comment out buggy codepath, which
35374 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35375 should be re-enabled after 1.97.
35376
3a613259 353772009-09-05 Felix Zielcke <fzielcke@z-51.de>
35378
35379 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35380 find searches for.
35381
197f76c7 353822009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35383
35384 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35385 unnecessary calls to grub_error.
35386
70ba68ce 353872009-09-04 Colin Watson <cjwatson@ubuntu.com>
35388
35389 * NEWS: Mention `keystatus' and Unicode fonts.
35390
4ff0d7a4 353912009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35392
35393 * configure.ac: Bump version to 1.97~beta2.
35394 * docs/version.texi: Likewise.
35395
77c55a87 353962009-09-03 Colin Watson <cjwatson@ubuntu.com>
35397
35398 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35399 containing unwind information in some cases where it previously did
35400 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35401 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35402 discussion.
35403
f79572cd 354042009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35405
35406 Embedding loadenv module into grub-emu
35407
35408 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35409 commands/loadenv.c
35410 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35411 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35416
93a81088 354172009-09-03 Magnus Granberg <zorry@ume.nu>
35418
35419 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35420 include -fPIE in the default specs.
35421 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35422 to TARGET_CFLAGS.
35423
160034b2 354242009-09-03 Felix Zielcke <fzielcke@z-51.de>
35425
35426 * INSTALL: Note that GNU Bison 2.3 or later is required.
35427
087c07c4 354282009-09-03 Colin Watson <cjwatson@ubuntu.com>
35429
35430 * kern/i386/pc/startup.S: Fix typo.
35431
cbf978c0 354322009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35433
35434 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35435 according to GCS.
35436
354372009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 35438
35439 * docs/grub.texi (Naming convention): Describe one-based partition
35440 numbering.
35441 (Device syntax): Likewise.
35442 (File name syntax): Likewise.
35443 (Block list syntax): Likewise.
35444 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35445 menu.lst.
35446 (File name syntax): Likewise.
35447 (Command-line and menu entry commands): Document acpi, blocklist,
35448 crc, export, insmod, keystatus, ls, set, and unset commands.
35449
f3e8cdfd 354502009-09-02 Colin Watson <cjwatson@ubuntu.com>
35451
35452 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35453 to avoid implying that only one of --shift, --ctrl, or --alt may be
35454 used.
35455
c0bc232b 354562009-09-02 Colin Watson <cjwatson@ubuntu.com>
35457
35458 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35459 rather than comparing against S_IFREG, which will almost never work.
35460
aa0f752d 354612009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35462
35463 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35464 (write_blocklists): Likewise.
35465
ecb3166a 354662009-09-01 Colin Watson <cjwatson@ubuntu.com>
35467
35468 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35469 argument to grub_printf.
35470
c403a125 354712009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 35472
35473 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 35474 non GNU test.
31aba781 35475
b5e7312c 354762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35477
35478 * kern/file.c (grub_file_read): Spelling fix
35479
fe00f472 354802009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35481
35482 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35483 loading of headers in some cases.
35484
cc55302e 354852009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35486
35487 * configure.ac: Bump version to 1.97~beta1.
35488 * docs/version.texi: Likewise.
35489
5c90cdd2 354902009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 35491
35492 * include/grub/i386/xnu.h: Add license header.
35493 include grub/err.h explicitly.
35494
c90edae4 354952009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35496
35497 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35498 to `ufs' in the vfs.root.mountfrom kernel parameter.
35499
d8888b5c 355002009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35501
35502 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35503
35504 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35505 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35506
35507 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35508 `ARRAY_SIZE' macro.
35509
6f07b921 355102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35511
35512 * kern/file.c (grub_file_read): Check offset.
35513 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35514 * fs/jfs.c (grub_jfs_read_file): Likewise.
35515 * fs/ntfs.c (grub_ntfs_read): Likewise.
35516 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35517 * fs/minix.c (grub_minix_read_file): Correct offset check.
35518 * fs/ufs.c (grub_ufs_read_file): Likewise.
35519
b4f34077 355202009-08-28 Colin Watson <cjwatson@ubuntu.com>
35521
35522 * term/i386/pc/console.c (bios_data_area): Cast
35523 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35524
e7c69859 355252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35526
35527 1-bit optimised blitters.
35528
35529 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35530 prototype.
35531 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35532 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35533 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35534 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35535 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35536 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35537 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35538 function.
35539 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35540 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35541 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35542 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35543 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35544 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35545 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35546 when possible.
35547 * video/video.c (grub_video_get_blit_format): Return
35548 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35549
a57da43f 355502009-08-28 Colin Watson <cjwatson@ubuntu.com>
35551
35552 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35553 the first argument to grub_printf.
35554
4cbe67e5 355552009-08-28 Colin Watson <cjwatson@ubuntu.com>
355562009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35557
35558 Add `getkeystatus' terminal method. Add a new `keystatus' command
35559 to query it.
35560
35561 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35562 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35563 modifier key bitmasks.
35564 (struct grub_term_input): Add `getkeystatus' member.
35565 (grub_getkeystatus): Add prototype.
35566 * kern/term.c (grub_getkeystatus): New function.
35567
35568 * include/grub/i386/pc/memory.h
35569 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35570 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35571 Data Area layout.
35572 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35573 (grub_console_term_input): Set `getkeystatus' member.
35574 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35575 constants.
35576 (grub_usb_keyboard_getreport): Likewise.
35577 (grub_usb_keyboard_checkkey): Likewise.
35578 (grub_usb_keyboard_getkeystatus): New function.
35579 (grub_usb_keyboard_term): Set `getkeystatus' member.
35580
35581 * commands/keystatus.c: New file.
35582 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35583 (keystatus_mod_SOURCES): New variable.
35584 (keystatus_mod_CFLAGS): Likewise.
35585 (keystatus_mod_LDFLAGS): Likewise.
35586 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35587 commands/keystatus.c.
35588 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35589 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35590 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35592 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35593 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 35594
6e2a9085 355952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35596
35597 Split befs.mod and afs.mod into *_be.mod and *.mod
35598
35599 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35600 (grub_fstest_SOURCES): Likewise.
35601 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35602 (afs_be_mod_SOURCES): New variable.
35603 (afs_be_mod_CFLAGS): Likewise.
35604 (afs_be_mod_LDFLAGS): Likewise.
35605 (befs_be_mod_SOURCES): Likewise.
35606 (befs_be_mod_CFLAGS): Likewise.
35607 (befs_be_mod_LDFLAGS): Likewise.
35608 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35609 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35610 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35611 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35612 (grub_emu_SOURCES): Likewise.
35613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35614 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35615 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35616 * fs/afs_be.c: New file.
35617 * fs/befs_be.c: New file.
35618 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35619 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35620 (U16): Replaced with ...
35621 (grub_afs_to_cpu16): ...this. All users updated.
35622 (U32): Replaced with ...
35623 (grub_afs_to_cpu32): ...this. All users updated.
35624 (U64): Replaced with ...
35625 (grub_afs_to_cpu64): ...this. All users updated.
35626 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35627 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35628 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35629 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35630 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35631 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35632 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35633 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35634 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35635 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35636 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35637
32a71655 356382009-08-26 Bean <bean123ch@gmail.com>
35639
35640 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35641 64-bit number.
35642 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35643 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35644 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35645
552bf6c5 356462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35647
35648 NetBSD memory map support.
35649
35650 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35651 (grub_netbsd_btinfo_mmap_header): New structure.
35652 (grub_netbsd_btinfo_mmap_entry): Likewise.
35653 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35654
1ae2078c 356552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35656
35657 Enable bsd.mod on coreboot.
35658
35659 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35660 (bsd_mod_SOURCES): New variable.
35661 (bsd_mod_CFLAGS): Likewise.
35662 (bsd_mod_LDFLAGS): Likewise.
35663 (bsd_mod_ASFLAGS): Likewise.
35664 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35665 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35666
beefc598 356672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35668
35669 Cleanup NetBSD root support.
35670
35671 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35672 grub_bsd_get_device.
35673 Fix typo.
35674
3b76e68b 356752009-08-25 Felix Zielcke <fzielcke@z-51.de>
35676
35677 * util/grub.d/00_header.in: Move check for the video backend of
35678 gfxterm from here ...
35679 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35680 a suitable video backend.
35681
aea664ea 356822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35683
35684 Fix breakage in grub-setup.
35685
35686 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35687 "msdos_partition_map".
35688
ff747d50 356892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35690
35691 Fix breakage in normal/auth.c.
35692
35693 * normal/auth.c (grub_iswordseparator): New function.
35694
e7e1f93f 356952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35696
35697 Authentication support.
35698
35699 * commands/password.c: New file.
35700 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35701 (password_mod_SOURCES): New variable.
35702 (password_mod_CFLAGS): Likewise.
35703 (password_mod_LDFLAGS): Likewise.
35704 (normal_mod_SOURCES): Add normal/auth.c.
35705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35706 normal/auth.c.
35707 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35708 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35709 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35711 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35712 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35713 * include/grub/auth.h: New file.
35714 * include/grub/err.h (grub_err_t): New enum value
35715 GRUB_ERR_ACCESS_DENIED.
35716 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35717 'users'.
35718 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35719 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35720 users updated.
35721 * normal/auth.c: New file.
35722 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35723 (grub_cmdline_run): Don't allow to go to command line without
35724 authentication.
35725 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35726 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35727 menuentry without superuser rights.
35728 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35729 user isn't a superuser.
35730
70f1161d 357312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35732
35733 Save space by inlining misc.c functions.
35734
35735 * kern/misc.c (grub_iswordseparator): Made static.
35736 * kern/misc.c (grub_strcat): Moved from here ...
35737 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35738 * kern/misc.c (grub_strncat): Moved from here ...
35739 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35740 * kern/misc.c (grub_strcasecmp): Moved from here ...
35741 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35742 * kern/misc.c (grub_strncasecmp): Moved from here ...
35743 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35744 * kern/misc.c (grub_isalpha): Moved from here ...
35745 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35746 * kern/misc.c (grub_isdigit): Moved from here ...
35747 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35748 * kern/misc.c (grub_isgraph): Moved from here ...
35749 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35750 * kern/misc.c (grub_tolower): Moved from here ...
35751 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35752
48e40bff 357532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 * script/sh/function.c (grub_script_function_find): Cut error message
35756 not to flood terminal.
35757 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35758 limit.
35759 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35760
c385bfc3 357612009-08-24 Colin Watson <cjwatson@ubuntu.com>
35762
35763 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35764 `report' grub_uint8_t *.
35765 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35766 Use a 50-millisecond timeout rather than just repeating
35767 grub_usb_keyboard_getreport 50 times.
35768 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35769
2d21e3e8 357702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35771
35772 Rename *_partition_map to part_*
35773
35774 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35775 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35776 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35777 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35778 All users updated.
35779 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35780 All users updated.
35781 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35782 * util/grub-probe.c (probe_partmap): Don't transform partition name
35783 to get module name.
35784
dd103c4e 357852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35786
35787 Fix OpenBSD and NetBSD support.
35788
35789 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35790 memory address conflict.
35791 (OPENBSD_MMAP_ACPI): New definition.
35792 (OPENBSD_MMAP_NVS): Likewise.
35793 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35794 and OPENBSD_MMAP_NVS.
35795 Add memory map terminator
35796 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35797 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35798
16c84d74 357992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35800
35801 Let user specify NetBSD root device.
35802
35803 * loader/i386/bsd.c (netbsd_root): New variable.
35804 (netbsd_opts): New option 'root'.
35805 (NETBSD_ROOT_ARG): New macro.
35806 (grub_netbsd_boot): Use 'netbsd_root'.
35807 (grub_bsd_unload): Free 'netbsd_root'.
35808 (grub_cmd_netbsd): Fill 'netbsd_root'.
35809
adb29902 358102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35811
35812 Support for 64-bit NetBSD.
35813
35814 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35815 point when booting non-FreeBSD.
35816
f5ae9f74 358172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35818
35819 Support --no-smp and --no-acpi for NetBSD.
35820
35821 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35822 (NETBSD_AB_NOACPI): Likewise.
35823 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35824 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35825
de74f136 358262009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35827
35828 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35829 errors.
35830 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35831 errors. Call grub_error when needed.
35832
e9a925da 358332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35834
35835 * commands/search.c (search_fs): Try searching without autoload first.
35836 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35837 filesystem module explicitly for faster booting.
35838
5174302b 358392009-08-23 Colin Watson <cjwatson@ubuntu.com>
35840
35841 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35842
c8c80635 358432009-08-23 Colin Watson <cjwatson@ubuntu.com>
35844
35845 * util/grub.d/30_os-prober.in: Disable os-prober if
35846 `GRUB_DISABLE_OS_PROBER' was set to true.
35847
71acf5e5 358482009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35849
35850 * partmap/pc.c: Rename to ...
35851 * partmap/msdos.c: ... this. Update all users.
35852 (grub_pc_partition_map): Rename to ...
35853 (grub_msdos_partition_map): ... this. Update all users.
35854
35855 * parttool/pcpart.c: Rename to ...
35856 * parttool/msdospart.c: ... this. Update all users.
35857
35858 * include/grub/pc_partition.h: Rename to ...
35859 * include/grub/msdos_partition.h: ... this. Update all users.
35860 (grub_pc_partition_bsd_entry): Rename to ...
35861 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35862 (grub_pc_partition_disk_label): Rename to ...
35863 (grub_msdos_partition_disk_label): ... this. Update all users.
35864 (grub_pc_partition_entry): Rename to ...
35865 (grub_msdos_partition_entry): ... this. Update all users.
35866 (grub_pc_partition_mbr): Rename to ...
35867 (grub_msdos_partition_mbr): ... this. Update all users.
35868 (grub_pc_partition): Rename to ...
35869 (grub_msdos_partition): ... this. Update all users.
35870 (grub_pc_partition_is_empty): Rename to ...
35871 (grub_msdos_partition_is_empty): ... this. Update all users.
35872 (grub_pc_partition_is_extended): Rename to ...
35873 (grub_msdos_partition_is_extended): ... this. Update all users.
35874 (grub_pc_partition_is_bsd): Rename to ...
35875 (grub_msdos_partition_is_bsd): ... this. Update all users.
35876
35877 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35878 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35879 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35880 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35881 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35882 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35883 (gpt_mod_LDFLAGS): Rename to ...
35884 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35885 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35886 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35887 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35888 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35889 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35890 (part_gpt_mod_LDFLAGS): ... this.
35891 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35892 `pcpart.mod' to `msdospart.mod'.
35893 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35894 to ...
35895 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35896 (msdospart_mod_LDFLAGS): ... this.
35897
c11fded5 358982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35899
35900 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35901 (openbsd_opts): Likewise.
35902 (netbsd_opts): Likewise.
35903 (freebsd_flags): Added 0 terminator.
35904 (openbsd_flags): Likewise.
35905 (netbsd_flags): Likewise.
35906 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35907 (grub_cmd_freebsd): Transformed into extended command.
35908 (grub_cmd_openbsd): Likewise.
35909 (grub_cmd_netbsd): Likewise.
35910 (cmd_freebsd): Changed type to grub_extcmd_t.
35911 (cmd_openbsd): Likewise.
35912 (cmd_netbsd): Likewise.
35913 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35914 grub_cmd_openbsd as extended commands.
35915 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35916 cmd_netbsd and cmd_openbsd
35917
11d1c769 359182009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35919
35920 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35921
7a9094e5 359222009-08-21 Pavel Roskin <proski@gnu.org>
35923
5496c37e 35924 * Makefile.in (install-local): When checking if a file is in the
35925 build directory, use "test -e" to detect symlinks.
35926
7a9094e5 35927 * Makefile.in (install-local): Remove all files in
35928 $(DESTDIR)$(pkglibdir) before installing new files there.
35929
e53cea11 359302009-08-18 Felix Zielcke <fzielcke@z-51.de>
35931
35932 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35933 grub-mkelfimage.
35934
9aced544 359352009-08-18 Felix Zielcke <fzielcke@z-51.de>
35936
35937 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35938 explicitly specified by the user.
35939
b7da6bab 359402009-08-18 Pavel Roskin <proski@gnu.org>
35941
35942 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35943 grub_uint8_t pointer for data.
35944 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35945 Likewise.
35946 * video/fb/fbutil.c: Remove unnecessary casts.
35947
19f1b335 359482009-08-17 Michal Suchanek <hramrach@centrum.cz>
35949
35950 VBE cleanup.
35951
35952 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35953 (grub_vbe_set_video_mode): Save active mode info
35954 only after setting the mode.
35955 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35956 second argument.
35957
2f467aa9 359582009-08-17 Michal Suchanek <hramrach@centrum.cz>
35959
35960 Rename variables for clarity.
35961
35962 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35963 (active_vbe_mode_info): ... this. All users updated.
35964 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35965 All users updated.
35966 (initial_mode): Rename to ...
35967 (initial_vbe_mode): ... this. All users updated.
35968 (mode_in_use): Rename to ..
35969 (vbe_mode_in_use): ... this. All users updated.
35970 (mode_list): Rename to ..
35971 (vbe_mode_list): ... this. All users updated.
35972 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35973 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35974 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35975 'mode_list_size' to 'vbe_mode_list_size'.
35976 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35977 'best_mode_info' to 'best_vbe_mode_info' and
35978 'best_mode' to 'best_vbe_mode'
35979
6025fcd7 359802009-08-17 Michal Suchanek <hramrach@centrum.cz>
35981
35982 Remove duplicate grub_video_fb_get_video_ptr.
35983
35984 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35985 (grub_video_fb_get_video_ptr): ... this.
35986 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35987 * video/fb/fbutil.c: Add comment about addressing.
35988 (get_data_ptr): Rename to ...
35989 (grub_video_fb_get_video_ptr): ... this. All users updated.
35990 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35991
cc8c6faf 359922009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35993
35994 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35995 grub_dprintf() that was just added.
35996
08aa61f0 359972009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35998
35999 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36000 (DEFAULT_VIDEO_MODE): Remove macros.
36001 (grub_linux_boot): Remove assumption that Linux has FB support,
36002 and use "text" as default video mode.
36003
7cef4f75 360042009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36005
36006 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36007 grub_dprintf.
36008 * fs/fat.c (grub_fat_read_data): Likewise.
36009
e1f39873 360102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36011
36012 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36013 payload.
36014 (grub_module): Likewise.
36015
c166d79e 360162009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36017
36018 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36019 mbi->cmdline but free playground.
36020
c60cee8e 360212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36022
36023 Handle group offset on UFS1.
36024
36025 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36026 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36027
c0d8b5d4 360282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36029
36030 Split ufs.mod into ufs1.mod and ufs2.mod.
36031
36032 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36033 (grub_fstest_SOURCES): Likewise.
36034 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36035 (ufs_mod_SOURCES): Remove.
36036 (ufs_mod_CFLAGS): Likewise.
36037 (ufs_mod_LDFLAGS): Likewise.
36038 (ufs1_mod_SOURCES): New variable.
36039 (ufs1_mod_CFLAGS): Likewise.
36040 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 36041 (ufs2_mod_SOURCES): New variable.
36042 (ufs2_mod_CFLAGS): Likewise.
36043 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 36044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36045 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36046 Likewise.
36047 (grub_emu_SOURCES): Likewise.
36048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36050 (grub_setup_SOURCES): Likewise.
36051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36052 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36053 (grub_setup_SOURCES): Likewise.
36054 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36055 Likewise.
36056 * fs/ufs2.c: New file.
36057 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36058
d3539132 360592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36060
36061 Framebuffer split.
36062
36063 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36064 subsystem at the end.
36065 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36066 (video_fb_mod_SOURCES): New variable.
36067 (video_fb_mod_CFLAGS): Likewise.
36068 (video_fb_mod_LDFLAGS): Likewise.
36069 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36070 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36071 * video/i386/pc/vbeblit.c: Moved from here ...
36072 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36073 * video/i386/pc/vbefill.c: Moved from here ...
36074 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36075 * video/i386/pc/vbeutil.c: Moved from here ...
36076 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36077 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36078 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36079 * include/grub/i386/pc/vbefill.h: Moved from here ...
36080 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36081 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36082 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36083 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36084 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36085 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36086 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36087 (grub_video_adapter): Added 'get_info_and_fini'.
36088 (grub_video_get_info_and_fini): New prototype.
36089 (grub_video_set_mode): make modestring const char *.
36090 * loader/i386/linux.c (grub_linux_setup_video): Use
36091 grub_video_get_info_and_fini.
36092 (grub_linux_boot): Move modesetting just before booting.
36093 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36094 grub_video_get_info_and_fini.
36095 * video/i386/pc/vbe.c: Moved framebuffer part ...
36096 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36097 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36098 grub_video_fbstd_colors and grub_video_fb_set_palette.
36099 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36100 grub_video_fb_init.
36101 (grub_video_vbe_fini): Use grub_video_fb_fini.
36102 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36103 render_target and use grub_video_fb_set_active_render_target and
36104 grub_video_fb_set_palette.
36105 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36106 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36107 (grub_video_vbe_adapter): Use framebuffer.
36108 * video/video.c (grub_video_get_info_and_fini): New function.
36109 (grub_video_set_mode): Make modestring const char *.
36110 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36111 values are already initialised.
36112
d404ee56 361132009-08-14 Pavel Roskin <proski@gnu.org>
36114
36115 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36116 ABS and APPLE_CC.
36117 * boot/i386/pc/diskboot.S: Likewise.
36118 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36119 sectors allow compilation on MacOSX.
36120 * conf/i386-pc.rmk: Enable unconditional compilation of
36121 lnxboot.img.
36122
9a10df16 361232009-08-13 Colin Watson <cjwatson@ubuntu.com>
36124
36125 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36126 * util/grub.d/00_header.in: Enter interruptible sleep if
36127 GRUB_HIDDEN_TIMEOUT is set.
36128
be3c9ca7 361292009-08-13 Yves Blusseau <blusseau@zetam.org>
36130
36131 * include/grub/symbol.h: Add the LOCAL macro.
36132 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36133 starting with "L_".
36134
1f9e557e 361352009-08-13 Pavel Roskin <proski@gnu.org>
36136
9ca62843 36137 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36138 any modern compilers we support.
36139
1f9e557e 36140 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36141 Use local labels starting with "L_" so that Apple assembler
36142 knows they are local.
36143
81623db6 361442009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36145
36146 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36147 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36148 (bsd_kernel_types): ... this enum.
36149
36150 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36151 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36152 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36153
36154 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36155 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36156 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36157 messages.
36158
f5d35e7a 361592009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36160
36161 * util/grub-dumpdevtree: Moved from here ...
36162 * util/i386/efi/grub-dumpdevtree: ... to here.
36163 (hexify): New function. Converts a string to its hex version.
36164 Generate hex versions of "efi" and "device-properties" by calling
36165 hexify() on the ASCII strings rather than by hardcoding numbers.
36166
d1e1d527 361672009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36168
36169 * fs/jfs.c: Update copyright year.
36170
1ebbe064 361712009-08-08 Felix Zielcke <fzielcke@z-51.de>
36172
36173 * util/grub.d/00_header.in: Fix a comment.
36174 * util/grub.d/10_linux.in: Likewise.
36175 * util/grub.d/10_windows.in: Likewise.
36176 * util/grub.d/10_hurd.in: Likewise.
36177
a78c8d24 361782009-08-08 Felix Zielcke <fzielcke@z-51.de>
36179
36180 * util/grub-mkconfig.in: Allow the user to specify the used font
36181 with GRUB_FONT.
36182
29a6b9e8 361832009-08-08 Pavel Roskin <proski@gnu.org>
36184
b5f16cc4 36185 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36186 available, xfs.mod needs it now.
36187
2f5cb827 36188 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36189 the "g" modifier in sed when the intention is to strip something
36190 once. This fixes comparison of kernels with multiple dashes.
36191
29a6b9e8 36192 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36193 on it. Add missing space before closing bracket. Fix
36194 misleading formatting.
36195
892a3d98 361962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36197
36198 * docs/grub.texi: Major overhaul. Remove all sections that are
36199 specific to GRUB Legacy, or mostly composed of Legacy-specific
36200 information.
36201
ed94253f 362022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36203
36204 * docs/version.texi: New file. Provides version information for
36205 grub.texi.
36206
126d6628 362072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36208
36209 * docs/grub.texi: Update CVS information to SVN.
36210 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36211
998b5aa9 362122009-08-07 Felix Zielcke <fzielcke@z-51.de>
36213
36214 * util/grub-mkconfig.in: Remove a wrong `fi'.
36215
818e094a 362162009-08-07 Felix Zielcke <fzielcke@z-51.de>
36217
36218 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36219 (grub_jfs_uuid): New function.
36220 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36221
b969c52f 362222009-08-07 Felix Zielcke <fzielcke@z-51.de>
36223
36224 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36225 of it to ...
36226 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36227 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36228
7a4894cc 362292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36230
36231 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36232 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36233 Update all users.
36234
36235 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36236 not just "vmlinu[zx]".
36237 Moved from here ...
36238 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36239 all users.
36240
36241 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36242 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36243 all users.
36244
4e2171f8 362452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36246
36247 * util/grub.d/10_freebsd.in: Use an absolute device path for
36248 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36249
6dcfcb32 362502009-08-06 Felix Zielcke <fzielcke@z-51.de>
36251
36252 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36253 handling of multiple abstraction modules.
36254
f56a8756 362552009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36256
36257 Fix a bug resulting in black screen when loading Linux using a
36258 packed video mode.
36259
36260 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36261 function.
36262
36263 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36264 (grub_vbe_bios_getset_dac_palette_width): New function.
36265 (grub_vbe_bios_get_dac_palette_width)
36266 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36267 grub_vbe_bios_getset_dac_palette_width()).
36268
36269 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36270 check for return status.
36271 (grub_vbe_get_video_mode_info): When getting information for a packed
36272 mode (<= 8 bpp), obtain DAC palette width using
36273 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36274 {red,green,blue}_mark_size.
36275
222671b2 362762009-08-04 Felix Zielcke <fzielcke@z-51.de>
36277
ecb1a6d9 36278 * commands/search.c (options): Fix help output to match actual code.
222671b2 36279
f84114f5 362802009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36281
36282 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36283 of homegrown code.
36284
bd288a20 362852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 36286
36287 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36288 on XFS or ReiserFS.
36289
8aab5e25 362902009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36291
36292 Support Apple partition map with sector size different from 512 bytes.
36293
36294 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36295 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36296 and 'apart.partmap_size'.
36297
6ad6258a 362982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
362992009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36300
36301 Fix cpuid command.
36302
36303 * commands/i386/cpuid.c (options): New variable.
36304 (grub_cmd_cpuid): Return real error.
36305 (GRUB_MOD_INIT(cpuid)): Declare options.
36306
67459bc6 363072009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36308
36309 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36310 valid.
36311
fbc6ab54 363122009-07-31 Bean <bean123ch@gmail.com>
36313
36314 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36315 log2_inode.
36316 (grub_fshelp_node): Move inode field to the end.
36317 (grub_xfs_data): Remove inode field.
36318 (grub_xfs_inode_block): Calculate inode size using sblock.
36319 (grub_xfs_inode_offset): Likewise.
36320 (grub_xfs_read_inode): Calculate inode size using sblock.
36321 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36322 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36323 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36324 to match inode size.
36325 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36326 not accessible when data is null.
36327 (grub_xfs_open): Likewise.
36328
f45d6cfc 363292009-07-31 Bean <bean123ch@gmail.com>
36330
36331 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36332 Don't change pv->disk if it's already set.
36333
36334 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36335 (grub_raid_register): ... here.
36336 (grub_raid_rescan): Removed.
36337
36338 * include/grub/raid.h (grub_raid_rescan): Removed.
36339
36340 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36341 (fstest): Replace grub_raid_rescan with module fini function followed
36342 by init function.
36343
36344 * util/grub-probe.c: Add include file <grub/raid.h>.
36345 (probe_raid_level): New function.
36346 (probe): Detect abstraction by walking the disk device, support two
36347 level of abstraction (LVM on RAID) when detecting partition map.
36348
24443b5a 363492009-07-31 Pavel Roskin <proski@gnu.org>
36350
36351 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36352 to grub_zalloc(), it was erroneous.
36353 Reported by Bean <bean123ch@gmail.com>
36354
a275d9e7 363552009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36356
36357 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 36358 embedding zone, not only the first one.
a275d9e7 36359
56c5a47f 363602009-07-29 Joe Auricchio <jauricchio@gmail.com>
36361
36362 * term/gfxterm.c (clear_char): New function.
36363 (grub_virtual_screen_setup): Use clear_char.
36364 (scroll_up): Likewise.
36365 (grub_virtual_screen_cls): Likewise.
36366
67bb323a 363672009-07-29 Felix Zielcke <fzielcke@z-51.de>
36368
36369 * util/deviceiter.c (get_acceleraid_disk_name): New static
36370 function.
36371 (grub_util_iterate_devices): Handle Accelraid devices.
36372 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36373
388a7c75 363742009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36375
36376 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36377 separator for the suggested gfxpayload string (';' collides with the
36378 parser and needs escaping).
36379
3bb7abcf 363802009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36381
36382 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36383 Clear direction flag before jumping to OS.
36384 (grub_multiboot2_real_boot): Likewise.
36385
2ddd36d7 363862009-07-28 Felix Zielcke <fzielcke@z-51.de>
36387
36388 * util/i386/pc/grub-install: Fix parsing of --disk-module
36389 option.
36390
c521b62b 363912009-07-28 Felix Zielcke <fzielcke@z-51.de>
36392
36393 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36394 when embedding.
36395
880e0a0c 363962009-07-26 Felix Zielcke <fzielcke@z-51.de>
36397
36398 * util/grub-mkconfig.in (package_version): New variable.
36399 Use it do display the version.
36400
2366e356 364012009-07-25 Felix Zielcke <fzielcke@z-51.de>
36402
36403 * kern/file.c (grub_file_open): Revert to previous check with
36404 grub_errno.
36405
7ad8c80e 364062009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36407
36408 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36409 from help line. It's out of sync with code.
36410
72b9658b 364112009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36412
36413 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36414 entries on failed boot.
36415
77435277 364162009-07-25 Felix Zielcke <fzielcke@z-51.de>
36417
36418 * kern/file.c (grub_file_open): Fix an error check.
36419
fcaa8b21 364202009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36421
35d16c74 36422 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36423 partition map couldn't be identified.
fcaa8b21 36424
48904cd1 364252009-07-23 Pavel Roskin <proski@gnu.org>
36426
ef3c317f 36427 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36428 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36429 case of little endian words becomes just an optimization.
36430 Respect const modifier.
ad8ea1f4 36431 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 36432
48904cd1 36433 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36434 to avoid loss of upper bits if align is unsigned and shorter
36435 than addr.
36436
260c9a89 364372009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36438
36439 UUID support for UFS
36440
36441 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36442 (grub_ufs_uuid): New function.
36443 (grub_ufs_fs): add .uuid
36444
f76ce889 364452009-07-21 Pavel Roskin <proski@gnu.org>
36446
36447 * kern/dl.c (grub_dl_check_header): Make static.
36448
6a6cbcaf 364492009-07-21 Felix Zielcke <fzielcke@z-51.de>
36450
36451 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36452 add drivemap for Vista. It breaks Windows 7.
36453
cffcddb2 364542009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36455
36456 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36457 128 bytes
36458
1ef44b80 364592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36460
36461 Add BFS support
36462
36463 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36464 (grub_fstest_SOURCES): Likewise.
36465 (pkglib_MODULES): Add befs.mod.
36466 (befs_mod_SOURCES): New variable.
36467 (befs_mod_CFLAGS): Likewise.
36468 (befs_mod_LDFLAGS): Likewise.
36469 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36470 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36471 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36472 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36473 (grub_setup_SOURCES): Likewise.
36474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36475 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36476 (grub_setup_SOURCES): Likewise.
36477 * fs/befs.c: New file.
36478 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36479 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36480 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36481 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36482 (B_KEY_INDEX_ALIGN): New declaration.
36483 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36484 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36485 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36486 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36487 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36488 (grub_afs_mount) [MODE_BFS]: Likewise.
36489 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36490 (grub_afs_fs): Use GRUB_AFS_FSNAME
36491 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36492 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36493 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36494 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36495
4f253044 364962009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36497
36498 * util/getroot.c (find_root_device): Add support for MacOSX.
36499 * util/hostdisk.c: Likewise.
36500
57a55913 365012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36502
36503 * font/font.c (find_glyph): Check whether a font is present to avoid
36504 segmentation fault.
75421ca9 36505
365062009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36507
36508 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36509
e98cd0c2 365102009-07-20 Pavel Roskin <proski@gnu.org>
36511
36512 * configure.ac: Trim excessively wordy excuses.
36513
1d2d169a 365142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36515
36516 Add symlink, mtime and label support to AtheFS.
36517
36518 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36519 (grub_afs_iterate_dir): Handle symlinks.
36520 (grub_afs_open): Use grub_afs_read_symlink.
36521 (grub_afs_dir): Likewise.
36522 Pass mtime.
36523 (grub_afs_label): New function.
36524 (grub_afs_fs): Add grub_afs_label.
36525 (grub_afs_read_symlink): New function.
36526
186f3189 365272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 Fix AtheFS support.
36530
36531 * fs/afs.c: Fix comments style.
36532 (grub_afs_blockrun): Declare as packed.
36533 (grub_afs_datastream): Likewise.
36534 (grub_afs_bnode): Likewise.
36535 (grub_afs_btree): Likewise.
36536 (grub_afs_sblock): Likewise.
36537 Declare `name' as char.
36538 (grub_afs_inode): Declare as packed.
36539 Change void *vnode to grub_uint32_t unused.
36540 (grub_afs_iterate_dir): Check that key_size is positive.
36541 (grub_afs_mount): Don't read superblock twice.
75421ca9 36542 (grub_afs_dir): Don't free node in case of error,
186f3189 36543 grub_fshelp_find_file already handles this.
36544 (grub_afs_open): Likewise.
36545
5680109e 365462009-07-19 Pavel Roskin <proski@gnu.org>
36547
36548 * Makefile.in: Remove LIBLZO and enable_lzo.
36549 * conf/i386-pc.rmk: Remove lzo support.
36550 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36551 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36552 support.
36553 * kern/i386/pc/lzo1x.S: Remove.
36554 * kern/i386/pc/startup.S: Remove lzo support.
36555 * util/i386/pc/grub-mkimage.c: Likewise.
36556
ac70fa32 365572009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36558
36559 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36560 * fs/xfs.c (grub_xfs_dir): Likewise.
36561 * fs/afs.c (grub_afs_dir): Likewise.
36562 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36563 (grub_iso9660_open): Likewise.
36564 * fs/jfs.c (grub_jfs_open): Likewise.
36565 * fs/ext2.c (grub_ext2_dir): Likewise.
36566 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36567 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36568
eab58da2 365692009-07-16 Pavel Roskin <proski@gnu.org>
36570
d2838156 36571 * configure.ac: Never add "-c" to CFLAGS.
36572
55c70904 36573 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36574
43e6200c 36575 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36576 grub_cv_cc_efiemu should be used.
36577
ce7a733d 36578 * configure.ac: Typo fixes.
36579
eab58da2 36580 * kern/mm.c (grub_zalloc): New function.
36581 (grub_debug_zalloc): Likewise.
36582 * include/grub/mm.h: Declare grub_zalloc() and
36583 grub_debug_zalloc().
36584 * util/misc.c (grub_zalloc): New function.
36585 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36586 instead of grub_malloc(), remove unneeded initializations.
36587 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36588 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36589 * commands/parttool.c (grub_cmd_parttool): Likewise.
36590 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36591 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36592 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36593 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36594 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36595 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36596 (grub_cmd_efiemu_pnvram): Likewise.
36597 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36598 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36599 (grub_iso9660_iterate_dir): Likewise.
36600 * fs/jfs.c (grub_jfs_opendir): Likewise.
36601 * fs/ntfs.c (list_file): Likewise.
36602 (grub_ntfs_mount): Likewise.
36603 * kern/disk.c (grub_disk_open): Likewise.
36604 * kern/dl.c (grub_dl_load_core): Likewise.
36605 * kern/elf.c (grub_elf_file): Likewise.
36606 * kern/env.c (grub_env_context_open): Likewise.
36607 (grub_env_set): Likewise.
36608 (grub_env_set_data_slot): Likewise.
36609 * kern/file.c (grub_file_open): Likewise.
36610 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36611 * loader/i386/multiboot.c (grub_module): Likewise.
36612 * loader/xnu.c (grub_xnu_create_key): Likewise.
36613 (grub_xnu_create_value): Likewise.
36614 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36615 (read_config_file): Likewise.
36616 * normal/menu_entry.c (make_screen): Likewise.
36617 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36618 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36619 * script/sh/script.c (grub_script_parse): Likewise.
36620 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36621 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36622 * video/readers/png.c (grub_png_output_byte): Likewise.
36623 (grub_video_reader_png): Likewise.
36624
830afef7 366252009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36626
36627 Enable all targets that can be built by default
36628
830afef7 36629 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36630 grub-mkfont and grub-fstest if they can be built
36631
ee293aee 366322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36633
36634 Fix hang and segmentation fault in grub-emu-usb
36635
36636 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36637 * util/usb.c (grub_libusb_devices): likewise
36638 (grub_libusb_init): rename to ...
36639 (GRUB_MOD_INIT (libusb)):...this
36640 (grub_libusb_fini): rename to ..
36641 (GRUB_MOD_FINI (libusb)):...this
36642 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36643 * include/grub/disk.h (grub_raid_init): removed, it's useless
36644 (grub_raid_fini): likewise
36645 (grub_lvm_init): likewise
36646 (grub_lvm_fini): likewise
36647 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36648 by grub_init_all
36649
94414221 366502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36651
36652 Fix libusb
36653
36654 * Makefile.in (LIBUSB): new macro
36655 * genmk.rb (Utility/print_tail): new method
36656 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36657 (top level): call util.print_tail at the end.
36658
59ade63d 366592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36660
36661 Make FreeBSD accept zpool.cache
36662
36663 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36664 type is /boot/zfs/zpool.cache
36665
a58da8c7 366662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36667
36668 Fix 64-bit efiemu
36669
36670 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36671 correct wrong typedef
36672 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36673
20591577 366742009-07-15 Pavel Roskin <proski@gnu.org>
36675
560ca572 36676 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36677 * kern/disk.c (struct grub_disk_cache): Likewise.
36678
e8e8e4fd 36679 * commands/probe.c (options): Typo fix.
36680
fde24e10 36681 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36682 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36683 accordingly.
36684 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36685
379c54c1 36686 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36687 the end of "Error" to make the message more readable.
36688
7bd8f5bf 36689 * boot/i386/pc/boot.S (kernel_segment): Remove.
36690 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36691 for destination.
36692
40b132c5 36693 * boot/i386/pc/boot.S (boot_version): Remove.
36694 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36695 Remove.
36696
20591577 36697 * include/grub/i386/pc/boot.h: Sort all offsets.
36698 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36699 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36700 * boot/i386/pc/boot.S: Assert location of every offset listed in
36701 include/grub/i386/pc/boot.h.
36702
2df32b2c 367032009-07-13 Pavel Roskin <proski@gnu.org>
36704
44b5d879 36705 * include/grub/i386/coreboot/machine.h: Rename
36706 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36707 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36708 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36709
17dc3751 36710 * kern/dl.c: Force native word size to suppress warnings when
36711 compiling grub-emu.
36712
2df32b2c 36713 * kern/device.c (grub_device_iterate): Change struct part_ent to
36714 hold the name, not a pointer to it. Use one grub_malloc() per
36715 partition, not two. Free partition_name if grub_malloc() fails.
36716 Set ents to NULL only before grub_partition_iterate() is called.
36717
75c59f59 367182009-07-11 Bean <bean123ch@gmail.com>
36719
36720 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36721 childname.
36722
0ae1bf88 367232009-07-10 Bean <bean123ch@gmail.com>
367242009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36725
36726 * kern/ieee1275/openfw.c (grub_children_iterate)
36727 (grub_devalias_iterate): Fix size evaluation for property or path
36728 strings, which was broken since r2132.
36729
8279cade 367302009-07-07 Pavel Roskin <proski@gnu.org>
36731
7d8a52d3 36732 * commands/search.c (search_file): Merge into ...
36733 (search_fs): ... this. Accept search type as argument.
36734 (grub_cmd_search): Pass search type to search_fs().
36735
25f9a05a 36736 * include/grub/util/console.h: New file.
36737 * util/console.c: Use it instead of grub/machine/console.h.
36738 * util/grub-emu.c: Likewise.
36739
8279cade 36740 * lib/arg.c (find_long_option): Remove.
36741 (find_long): Add `len' argument, make `s' const char *.
36742 (grub_arg_parse): Parse long options in place, not in a
36743 temporary buffer.
36744
4a11b60f 367452009-07-06 Pavel Roskin <proski@gnu.org>
36746
99f68041 36747 * commands/search.c (search_fs): Fix potential NULL pointer
36748 dereference.
36749
4a11b60f 36750 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36751 function pointer.
36752
e110f4de 367532009-07-06 Daniel Mierswa <impulze@impulze.org>
36754
36755 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36756 comparison.
36757
46eeb6a2 367582009-07-05 Pavel Roskin <proski@gnu.org>
36759
bab74958 36760 * include/grub/i386/linux.h (struct linux_kernel_params):
36761 Restore padding3, it's still needed.
36762
46eeb6a2 36763 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36764 FreeBSD.
36765 * util/osdetect.lua: Likewise.
36766
b4a1dc79 367672009-07-05 Bean <bean123ch@gmail.com>
36768
36769 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36770
36771 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36772 (grub_lua_getenv): Likewise.
36773 (grub_lua_setenv): Likewise.
36774 (save_errno): New function.
36775 (push_result): Likewise.
36776 (grub_lua_enum_device): Likewise.
36777 (grub_lua_enum_file): Likewise.
36778 (grub_lua_file_open): Likewise.
36779 (grub_lua_file_close): Likewise.
36780 (grub_lua_file_seek): Likewise.
36781 (grub_lua_file_read): Likewise.
36782 (grub_lua_file_getline): Likewise.
36783 (grub_lua_file_getsize): Likewise.
36784 (grub_lua_file_getpos): Likewise.
36785 (grub_lua_file_eof): Likewise.
36786 (grub_lua_file_exist): Likewise.
36787 (grub_lua_add_menu): Likewise.
36788
36789 * script/lua/grub_lua.h (isupper): New inline function.
36790 (islower): Likewise.
36791 (ispunct): Likewise.
36792 (isxdigit): Likewise.
36793 (strcspn): Change to normal function.
36794 (strpbkr): New function declaration.
36795 (memchr): Likewise.
36796
36797 * script/lua/grub_main.c (scan_str): New function.
36798 (strcspn): Likewise.
36799 (strpbrk): Likewise.
36800 (memchr): Likewise.
36801
36802 * script/lua/linit.c (lualibs): Enable the string library.
36803
36804 * util/osdetect.lua: New file.
36805
2da92295 368062009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36807
36808 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36809 `capabilities' member.
36810
b2582ec9 368112009-07-02 Pavel Roskin <proski@gnu.org>
36812
36813 * genparttoollist.sh: Add missing newline at the end.
36814
32622956 368152009-07-01 Pavel Roskin <proski@gnu.org>
36816
87a7339e 36817 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36818
d23af54e 36819 * util/hostdisk.c (open_device): Remove `const' from
36820 `sysctl_size', as sysctlbyname() can change it (in this case it
36821 doesn't actually happen).
36822
c94b18a9 36823 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36824 using signed long int constants.
36825
c6cd3ef0 36826 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36827 constant to avoid a warning on FreeBSD.
36828
0df63420 36829 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36830 where it's needed.
36831
999577f1 36832 * Makefile.in: Install include/grub/machine symlink.
36833
6f41557f 36834 * Makefile.in: When installing symlinks, use "cp -fR", which
36835 works on FreeBSD and MacOSX.
36836 From Yves Blusseau <cl7m42e02@sneakemail.com>
36837
c8d22988 36838 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36839 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36840
1b96e952 36841 * util/misc.c: Move grub_reboot() and grub_halt() ...
36842 * util/grub-emu.c: ... here. Make main_env static.
36843 * include/grub/util/misc.h: Remove main_env.
36844
2ef0084d 36845 * kern/mm.c: Use correct format to print size_t.
36846
32622956 36847 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36848 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36849 * kern/powerpc/dl.c: Likewise.
36850 * kern/sparc64/dl.c: Likewise.
36851 * kern/x86_64/dl.c: Likewise.
36852
3f7f0cd0 368532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36854
36855 Fix grub-emu build on sparc64-ieee1275.
36856
75421ca9 36857 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36859
211d06b5 368602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36861
36862 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36863 (grub_reboot, grub_halt): New functions.
36864
36865 * util/i386/pc/misc.c: Delete. Update all users.
36866 * util/sparc64/ieee1275/misc.c: Likewise.
36867 * util/powerpc/ieee1275/misc.c: Likewise.
36868
aaf53e3c 368692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36870
36871 * conf/i386.rmk (setjmp_mod_SOURCES)
36872 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36873 * conf/common.rmk (setjmp_mod_SOURCES)
36874 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36875 to use $(target_cpu).
36876 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36877 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36878 * conf/powerpc-ieee1275.rmk: Likewise.
36879 * conf/sparc64-ieee1275.rmk: Likewise.
36880
36881 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36882 $(target_cpu) for kern/$(target_cpu)/dl.c.
36883 * conf/i386-efi.rmk: Likewise.
36884 * conf/i386-ieee1275.rmk: Likewise.
36885 * conf/x86_64-efi.rmk: Likewise.
36886 * conf/i386-coreboot.rmk: Likewise.
36887 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36888 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36889 kern/$(target_cpu)/cache.S.
36890 * conf/sparc64-ieee1275.rmk: Likewise.
36891
a337130b 368922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36893
36894 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36895 type to `grub_uint8_t', and adjust `padding9' accordingly.
36896
c6fe4d53 368972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36898
b09db61d 36899 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36900
c6fe4d53 36901 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36902 assembly in final jump, using register constraints.
36903
b09db61d 36904 (grub_linux_boot): For text mode, initialize `have_vga' using
36905 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36906
36907 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36908 right before the final jump.
36909
36910 Set `video_mode' to 0x3.
36911
36912 Document initialization of `video_page', `video_mode' and
36913 `video_ega_bx'.
36914
28333ad0 369152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36916
36917 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36918 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36919 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36920
02164e1b 369212009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36922
36923 Fix build on Debian / sparc.
36924
36925 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36926
18b6c557 369272009-06-28 Pavel Roskin <proski@gnu.org>
36928
85f2aab6 36929 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36930 fix a warning.
36931
18b6c557 36932 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36933
ad760f81 369342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36935
36936 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36937 `err'.
36938
87a4623b 369392009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36940
36941 Revert r2338.
36942
36943 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36944 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36945 grub_errno / grub_errmsg appropriately.
87a4623b 36946 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36947
8231fb77 369482009-06-27 Pavel Roskin <proski@gnu.org>
369492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36950
36951 * include/grub/dl.h: Include grub/elf.h.
36952 (struct grub_dl): Add symtab field.
36953 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36954 GRUB_MODULES_MACHINE_READONLY.
36955 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36956 of the header for read-only modules.
36957 (grub_dl_unload): Free mod->symtab for read-only modules.
36958 * kern/i386/dl.c: Use mod->symtab.
36959 * kern/powerpc/dl.c: Likewise.
36960 * kern/sparc64/dl.c: Likewise.
36961 * kern/x86_64/dl.c: Likewise.
36962
36963 * conf/i386-qemu.rmk: New file.
36964 * kern/i386/qemu/startup.S: Likewise.
36965 * kern/i386/qemu/mmap.c: Likewise.
36966 * boot/i386/qemu/boot.S: Likewise.
36967 * include/grub/i386/qemu/time.h: Likewise.
36968 * include/grub/i386/qemu/serial.h: Likewise.
36969 * include/grub/i386/qemu/kernel.h: Likewise.
36970 * include/grub/i386/qemu/console.h: Likewise.
36971 * include/grub/i386/qemu/boot.h: Likewise.
36972 * include/grub/i386/qemu/init.h: Likewise.
36973 * include/grub/i386/qemu/machine.h: Likewise.
36974 * include/grub/i386/qemu/loader.h: Likewise.
36975 * include/grub/i386/qemu/memory.h: Likewise.
36976
36977 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36978 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36979 [qemu] (pkglib_IMAGES): Add `boot.img'.
36980 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36981 [qemu] (boot_img_FORMAT): New variables.
36982 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36983 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36984 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36985 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36986 [qemu] (kernel_img_FORMAT): New variables.
36987
36988 * configure.ac: Recognise `i386-qemu'.
36989
36990 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36991 (for no compression).
36992 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36993 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36994 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36995 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36996 ifdefs).
36997
97fe384e 369982009-06-27 Pavel Roskin <proski@gnu.org>
36999
37000 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37001 read.
37002 * efiemu/prepare32.c: Likewise.
37003 * efiemu/prepare64.c: Likewise.
37004
c402ab17 370052009-06-26 Pavel Roskin <proski@gnu.org>
37006
37007 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37008 * include/grub/elf.h: Define symbols without "32" or "64" based
37009 on GRUB_TARGET_WORDSIZE.
37010 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37011 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37012 ELF definitions.
37013 * efiemu/loadcore64.c: Likewise.
37014 * loader/i386/bsd32.c: Likewise.
37015 * loader/i386/bsd64.c: Likewise.
37016 * kern/dl.c: Remove own ELF definitions.
37017 * util/i386/efi/grub-mkimage.c: Likewise.
37018
9bbdfd4d 370192009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37020
37021 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37022 segment 0x0 unconditionally, because the reference generated by
37023 GAS is an absolute address.
37024
a42ce6e9 370252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37026
37027 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37028 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37029
c952cf92 370302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37031
37032 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37033 indexes. Check for -f explicitly.
cc3752ad 37034 (search_file): Improve error message.
37035 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 37036
132a0a59 370372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37038
37039 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37040 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37041
387a140c 370422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37043
37044 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37045 * conf/i386-ieee1275.rmk: Likewise.
37046 * conf/i386-coreboot.rmk: Likewise.
37047
37048 * kern/i386/pc/startup.S (grub_stop): Remove function.
37049 * kern/i386/ieee1275/startup.S: Likewise.
37050 * kern/i386/coreboot/startup.S: Likewise.
37051 * kern/i386/misc.S (grub_stop): New function.
37052
41da9665 370532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37054
37055 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37056 * kern/i386/realmode.S (real_to_prot): ... to here.
37057
bf337234 370582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37059
37060 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37061 with `kernel.img'.
37062 (kernel_elf_SOURCES): Rename to ...
37063 (kernel_img_SOURCES): ... this.
37064 (kernel_elf_HEADERS): Rename to ...
37065 (kernel_img_HEADERS): ... this. Update all users.
37066 (kernel_elf_ASFLAGS): Rename to ...
37067 (kernel_img_ASFLAGS): ... this.
37068 (kernel_elf_CFLAGS): Rename to ...
37069 (kernel_img_CFLAGS): ... this.
37070 (kernel_elf_LDFLAGS): Rename to ...
37071 (kernel_img_LDFLAGS): ... this.
37072 * conf/i386-coreboot.rmk: Likewise.
37073 * conf/powerpc-ieee1275.rmk: Likewise.
37074
37075 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37076 with "kernel.img".
37077
f52196ff 370782009-06-21 Pavel Roskin <proski@gnu.org>
37079
c3cee413 37080 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37081 to match nested functions.
37082 * loader/sparc64/ieee1275/linux.c: Likewise.
37083
f52196ff 37084 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37085
58750afc 370862009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37087
37088 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37089 all i386 platforms.
37090
15355c7d 370912009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37092
37093 Fix asm file handling on ELF, and remove workarounds.
37094
37095 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 37096 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 37097 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37098 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37099
3f3ec72b 371002009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37101
37102 Load BSD ELF modules
37103
37104 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37105 and loader/i386/bsd64.c
37106 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37107 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37108 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37109 (grub_freebsd_load_elfmodule32): New declaration
37110 (grub_freebsd_load_elfmoduleobj64): Likewise
37111 (grub_freebsd_load_elf_meta32): Likewise
37112 (grub_freebsd_load_elf_meta64): Likewise
37113 (grub_freebsd_add_meta): Likewise
37114 (grub_freebsd_add_meta_module): Likewise
37115 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37116 (grub_freebsd_add_meta_module): Likewise and move module-specific
37117 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37118 (grub_cmd_freebsd): Add elf-kernel specific parts
37119 based on grub_freebsd_add_meta_module
37120 (grub_cmd_freebsd_module): Add type parsing moved from
37121 grub_freebsd_add_meta_module
37122 (grub_cmd_freebsd_module_elf): New function
37123 (cmd_freebsd_module_elf): New variable
37124 (GRUB_MOD_INIT): Register freebsd_module_elf
37125 * loader/i386/bsd32.c: New file
37126 * loader/i386/bsd64.c: Likewise
37127 * loader/i386/bsdXX.c: Likewise
37128 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37129 (grub_elf64_load): Likewise
37130 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37131 All users updated
37132 (grub_elf64_load_hook_t): Likewise
37133
0db15301 371342009-06-21 Colin Watson <cjwatson@ubuntu.com>
37135
37136 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37137 variable.
37138 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37139 don't write a menu entry for recovery mode.
37140
546796c1 371412009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37142
37143 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37144 after it's no longer needed.
37145
cd7310d5 371462009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37147
37148 * include/grub/i386/loader.h (grub_linux_prot_size)
37149 (grub_linux_tmp_addr, grub_linux_real_addr)
37150 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37151 GRUB_MACHINE_PCBIOS.
37152 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37153 common grub_util_info() call to ...
37154 (generate_image): ... here.
37155 Fix use of uninitialized memory, comparison of signed with
37156 unsigned integers and memory leak.
37157 Remove bogus module address message.
37158
ab32d3b5 371592009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37160
37161 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37162 grub_raid_register
37163 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37164
024ef597 371652009-06-19 Pavel Roskin <proski@gnu.org>
37166
37167 * configure.ac: Remove stray AC_MSG_CHECKING.
37168
3ac72b51 371692009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37170
37171 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 37172
e14cd814 371732009-06-18 Pavel Roskin <proski@gnu.org>
37174
37175 * conf/common.rmk: Add fs_file.mod.
37176 * disk/fs_file.c: New file.
37177 * include/grub/disk.h (enum grub_disk_dev_id): Add
37178 GRUB_DISK_DEVICE_FILE_ID.
37179
26586d98 371802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37181
37182 Fix build with Apple's toolchain. Part 2
37183
37184 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37185 a fake start
37186
26de2bcd 371872009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37188
37189 Fix build with Apple's toolchain. Part 1
37190
37191 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37192 for long calls
37193 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 37194 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 37195 Apple's toolchain
37196
09b3490b 371972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37198
37199 Fix warnings
37200
37201 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37202 (decomp_block): initialize ch
37203 use grub_memcpy instead of memcpy
37204
c22a006a 372052009-06-17 Pavel Roskin <proski@gnu.org>
37206
d3638678 37207 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37208 version, use declarations needed to use vga_text as the startup
37209 console.
37210
c22a006a 37211 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37212 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37213 the kernel.
37214 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37215 and grub_at_keyboard_fini(), it's done on module load and
37216 unload.
37217
05b129e0 372182009-06-17 Felix Zielcke <fzielcke@z-51.de>
37219
37220 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37221 file can't be found.
37222 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37223
cf24ed9e 372242009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37225
37226 Fix newline handling
37227
37228 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 37229 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 37230 (grub_script_yylex): don't segfault on unterminated script
37231 newline terminates command and variable
37232
74aa8e4b 372332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37234
37235 avoid double grub_adjust_range call. Bug reported by David Simner
37236
37237 * kern/disk.c (grub_disk_write): change to raw disk access before
37238 calling disk_read
37239
1bd265f3 372402009-06-17 Colin Watson <cjwatson@ubuntu.com>
37241
37242 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37243 spaces, for the benefit of help2man.
37244 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37245
a2d08c06 372462009-06-16 Pavel Roskin <proski@gnu.org>
37247
37248 * kern/i386/halt.c: Include grub/machine/init.h.
37249 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37250
b97bcb19 372512009-06-16 Felix Zielcke <fzielcke@z-51.de>
37252
37253 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37254 drivemap menuentry.
37255
0644f96c 372562009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37257
37258 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37259 `echo' command.
37260
3ef17a2e 372612009-06-16 Pavel Roskin <proski@gnu.org>
37262
37263 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37264 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37265 save %dx, we only need %dl and we never change it.
37266 * boot/i386/pc/cdboot.S: Don't set the root drive.
37267 * boot/i386/pc/pxeboot.S: Likewise.
37268 * include/grub/i386/pc/boot.h: Remove
37269 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37270 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37271 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37272 * kern/i386/pc/init.c (make_install_device): Remove references
37273 to grub_root_drive.
37274 * kern/i386/pc/startup.S: Likewise.
37275 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37276
693fe637 372772009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37278
37279 xnu_uuid command
37280
37281 * commands/xnu_uuid.c: new file
37282 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37283 (xnu_uuid_mod_SOURCES): new variable
37284 (xnu_uuid_mod_CFLAGS): likewise
37285 (xnu_uuid_mod_LDFLAGS): likewise
37286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37287 * conf/i386-ieee1275.rmk: likewise
37288 * conf/i386-pc.rmk: likewise
37289 * conf/powerpc-ieee1275.rmk: likewise
37290 * conf/sparc64-ieee1275.rmk: likewise
37291 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37292
c9da87d0 372932009-06-16 Pavel Roskin <proski@gnu.org>
37294
37295 * configure.ac: Avoid '==' in test command, it's not portable.
37296
9c6f4596 372972009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37298
37299 Probe command
37300
37301 * commands/probe.c: new file
37302 * conf/common.rmk (pkglib_MODULES): add probe.mod
37303 (probe_mod_SOURCES): new variable
37304 (probe_mod_CFLAGS): likewise
37305 (probe_mod_LDFLAGS): likewise
37306 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37307 * conf/i386-ieee1275.rmk: likewise
37308 * conf/i386-pc.rmk: likewise
37309 * conf/powerpc-ieee1275.rmk: likewise
37310 * conf/sparc64-ieee1275.rmk: likewise
37311
70b7f9fd 373122009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37313
37314 Fix handling of string like \"hello\" and "a
37315 b"
37316
37317 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37318 (grub_script_yylex): fix parsing of quoting, escaping and newline
37319
71c79a6b 373202009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37321
dd74360c 37322 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 37323 handling
dd74360c 37324
0644f96c 373252009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 37326
37327 * util/grub-mkconfig.in: Fix parsing of --output option.
37328
e40893c3 373292009-06-12 Pavel Roskin <proski@gnu.org>
37330
37331 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37332 genmk.rb don't need to be generated or installed.
37333
3a1acfe2 373342009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37335
37336 * commands/i386/pc/drivemap_int13h.S: add more comments
37337
3a4575d4 373382009-06-11 Pavel Roskin <proski@gnu.org>
37339
0658e928 37340 * Makefile.in (uninstall): Uninstall manuals.
37341
ca0388f0 37342 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37343 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37344 and update-grub_lib in two places.
37345 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37346
e3b27c39 37347 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37348 a compiler warning.
37349
3a4575d4 37350 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37351 `entry_lo' to fix variable shadowing.
37352
af1f4f55 373532009-06-11 Christian Franke <franke@computer.org>
37354
37355 * kern/misc.c (__enable_execute_stack): Add missing return type
37356 to prevent gcc warning.
37357
5225e649 373582009-06-11 Felix Zielcke <fzielcke@z-51.de>
37359
37360 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37361
7d83bd47 373622009-06-11 Pavel Roskin <proski@gnu.org>
37363
c1cb63ba 37364 * Makefile.in: Don't rely on any scripts being executable.
37365 Always use $(SHELL) to run shell scripts.
37366
7d83bd47 37367 * configure.ac: Always define ___main if using -nostdlib. This
37368 fixes tests on Cygwin.
37369
948f48e7 373702009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37371
37372 UDF fix
37373
7d83bd47 37374 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 37375 is in bytes and not in blocks
7d83bd47 37376
8ada9bc1 373772009-06-11 Pavel Roskin <proski@gnu.org>
37378
37379 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37380 warning.
37381
25ad2323 373822009-06-11 Felix Zielcke <fzielcke@z-51.de>
37383
37384 * util/grub.d/30_os-prober.in: Fix a comment. Source
37385 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37386 to set the root device. Place drivemap command in the generated
37387 chain entry.
37388
e65acb0c 373892009-06-11 Pavel Roskin <proski@gnu.org>
37390
37391 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37392 have long been resolved.
37393
f285fe2d 373942009-06-11 Colin Watson <cjwatson@ubuntu.com>
37395
bd47b0b5 37396 * util/grub.d/10_linux.in: Capitalise "Linux".
37397
f285fe2d 37398 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37399
a0c62e4e 374002009-06-11 Pavel Roskin <proski@gnu.org>
37401
b6783cb2 37402 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37403 fix a gcc warning and ensure that the function won't ever exit.
37404
dde032e8 37405 * kern/i386/ieee1275/init.c: Add missing prototype for
37406 grub_stop_floppy().
37407
22cd079d 37408 * loader/ieee1275/multiboot2.c [__i386__]: Include
37409 grub/cpu/multiboot.h.
37410
a0c62e4e 37411 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37412 casts to short - they are not portable and cause warnings. Fix
37413 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37414
63963d17 374152009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37416
37417 Drivemap fixes
37418
37419 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37420 new function
37421 (grub_get_root_biosnumber_saved): new variable
37422 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37423 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 37424 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 37425 %dx after the call if necessary
37426 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37427 (boot_mod_SOURCES): remove
37428 (boot_mod_CFLAGS): remove
37429 (boot_mod_LDFLAGS): remove
37430 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37431 (boot_mod_SOURCES): new variable
37432 (boot_mod_CFLAGS): likewise
37433 (boot_mod_LDFLAGS): likewise
37434 * conf/i386-efi.rmk: likewise
37435 * conf/i386-ieee1275.rmk: likewise
37436 * conf/i386-pc.rmk: likewise
37437 * conf/powerpc-ieee1275.rmk: likewise
37438 * conf/sparc64-ieee1275.rmk: likewise
37439 * conf/x86_64-efi.rmk: likewise
37440 * include/grub/i386/pc/biosnum.h: new file
37441 * lib/i386/pc/biosnum.c: likewise
37442 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37443 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37444 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 37445
33abf7ae 374462009-06-10 Pavel Roskin <proski@gnu.org>
37447
5ac35b35 37448 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37449 Use separate variables. Read only the file size at the end, but
37450 not the checksum that we don't use.
37451
5c5215d5 37452 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37453 Adjust all callers.
37454
27d5fef7 37455 * kern/ieee1275/openfw.c: Remove libc includes.
37456 * kern/ieee1275/cmain.c: Likewise.
37457 * include/grub/ieee1275/ieee1275.h: Likewise.
37458
33abf7ae 37459 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37460 compiler warnings.
37461
19d50c2b 374622009-06-10 Felix Zielcke <fzielcke@z-51.de>
37463
37464 * Makefile.in: Remove all trailing whitespace.
37465 * conf/i386-pc.rmk: Likewise.
37466 * conf/powerpc-ieee1275.rmk: Likewise.
37467 * conf/sparc64-ieee1275.rmk: Likewise.
37468 * docs/grub.texi: Likewise.
37469 * docs/texinfo.tex: Likewise.
37470 * disk/fs_uuid.c: Likewise.
37471 * disk/lvm.c: Likewise.
37472 * disk/scsi.c: Likewise.
37473 * disk/ata.c: Likewise.
37474 * disk/ieee1275/ofdisk.c: Likewise.
37475 * disk/i386/pc/biosdisk.c: Likewise.
37476 * disk/host.c: Likewise.
37477 * disk/raid.c: Likewise.
37478 * disk/efi/efidisk.c: Likewise.
37479 * disk/usbms.c: Likewise.
37480 * disk/memdisk.c: Likewise.
37481 * disk/loopback.c: Likewise.
37482 * kern/powerpc/dl.c: Likewise.
37483 * kern/device.c: Likewise.
37484 * kern/dl.c: Likewise.
37485 * kern/sparc64/dl.c: Likewise.
37486 * kern/ieee1275/ieee1275.c: Likewise.
37487 * kern/term.c: Likewise.
37488 * kern/fs.c: Likewise.
37489 * kern/i386/dl.c: Likewise.
37490 * kern/i386/pc/startup.S: Likewise.
37491 * kern/i386/pc/init.c: Likewise.
37492 * kern/i386/pc/mmap.c: Likewise.
37493 * kern/i386/pc/lzo1x.S: Likewise.
37494 * kern/i386/ieee1275/init.c: Likewise.
37495 * kern/i386/realmode.S: Likewise.
37496 * kern/i386/tsc.c: Likewise.
37497 * kern/partition.c: Likewise.
37498 * kern/corecmd.c: Likewise.
37499 * kern/file.c: Likewise.
37500 * kern/efi/efi.c: Likewise.
37501 * kern/efi/init.c: Likewise.
37502 * kern/efi/mm.c: Likewise.
37503 * kern/main.c: Likewise.
37504 * kern/err.c: Likewise.
37505 * kern/env.c: Likewise.
37506 * kern/disk.c: Likewise.
37507 * kern/generic/millisleep.c: Likewise.
37508 * kern/generic/rtc_get_time_ms.c: Likewise.
37509 * kern/misc.c: Likewise.
37510 * kern/parser.c: Likewise.
37511 * genmk.rb: Likewise.
37512 * configure.ac: Likewise.
37513 * boot/i386/pc/diskboot.S: Likewise.
37514 * boot/i386/pc/pxeboot.S: Likewise.
37515 * boot/i386/pc/boot.S: Likewise.
37516 * boot/i386/pc/lnxboot.S: Likewise.
37517 * boot/i386/pc/cdboot.S: Likewise.
37518 * parttool/pcpart.c: Likewise.
37519 * video/readers/tga.c: Likewise.
37520 * video/video.c: Likewise.
37521 * video/bitmap.c: Likewise.
37522 * lib/envblk.c: Likewise.
37523 * lib/i386/setjmp.S: Likewise.
37524 * fs/xfs.c: Likewise.
37525 * fs/afs.c: Likewise.
37526 * fs/fat.c: Likewise.
37527 * fs/ntfs.c: Likewise.
37528 * fs/udf.c: Likewise.
37529 * fs/affs.c: Likewise.
37530 * fs/iso9660.c: Likewise.
37531 * fs/hfs.c: Likewise.
37532 * fs/fshelp.c: Likewise.
37533 * fs/ext2.c: Likewise.
37534 * fs/jfs.c: Likewise.
37535 * fs/reiserfs.c: Likewise.
37536 * fs/hfsplus.c: Likewise.
37537 * fs/minix.c: Likewise.
37538 * fs/cpio.c: Likewise.
37539 * fs/sfs.c: Likewise.
37540 * fs/ufs.c: Likewise.
37541 * efiemu/prepare.c: Likewise.
37542 * efiemu/loadcore_common.c: Likewise.
37543 * efiemu/runtime/efiemu.sh: Likewise.
37544 * efiemu/runtime/efiemu.S: Likewise.
37545 * efiemu/runtime/efiemu.c: Likewise.
37546 * efiemu/pnvram.c: Likewise.
37547 * efiemu/main.c: Likewise.
37548 * efiemu/i386/pc/cfgtables.c: Likewise.
37549 * efiemu/i386/loadcore64.c: Likewise.
37550 * efiemu/i386/loadcore32.c: Likewise.
37551 * efiemu/loadcore.c: Likewise.
37552 * efiemu/symbols.c: Likewise.
37553 * efiemu/mm.c: Likewise.
37554 * include/grub/autoefi.h: Likewise.
37555 * include/grub/datetime.h: Likewise.
37556 * include/grub/term.h: Likewise.
37557 * include/grub/hfs.h: Likewise.
37558 * include/grub/lvm.h: Likewise.
37559 * include/grub/i386/tsc.h: Likewise.
37560 * include/grub/i386/linux.h: Likewise.
37561 * include/grub/i386/xnu.h: Likewise.
37562 * include/grub/i386/efiemu.h: Likewise.
37563 * include/grub/i386/pc/biosdisk.h: Likewise.
37564 * include/grub/i386/pc/memory.h: Likewise.
37565 * include/grub/i386/pc/vbe.h: Likewise.
37566 * include/grub/parttool.h: Likewise.
37567 * include/grub/video.h: Likewise.
37568 * include/grub/memory.h: Likewise.
37569 * include/grub/fs.h: Likewise.
37570 * include/grub/partition.h: Likewise.
37571 * include/grub/xnu.h: Likewise.
37572 * include/grub/efi/api.h: Likewise.
37573 * include/grub/efi/pe32.h: Likewise.
37574 * include/grub/efi/memory.h: Likewise.
37575 * include/grub/multiboot.h: Likewise.
37576 * include/grub/usbdesc.h: Likewise.
37577 * include/grub/multiboot2.h: Likewise.
37578 * include/grub/acpi.h: Likewise.
37579 * include/grub/efiemu/efiemu.h: Likewise.
37580 * include/grub/disk.h: Likewise.
37581 * include/grub/ieee1275/ieee1275.h: Likewise.
37582 * include/grub/net.h: Likewise.
37583 * include/grub/machoload.h: Likewise.
37584 * include/grub/macho.h: Likewise.
37585 * include/multiboot.h: Likewise.
37586 * genmoddep.awk: Likewise.
37587 * normal/main.c: Likewise.
37588 * normal/menu_entry.c: Likewise.
37589 * normal/menu_viewer.c: Likewise.
37590 * normal/completion.c: Likewise.
37591 * normal/cmdline.c: Likewise.
37592 * normal/misc.c: Likewise.
37593 * normal/datetime.c: Likewise.
37594 * bus/usb/usbtrans.c: Likewise.
37595 * bus/usb/ohci.c: Likewise.
37596 * bus/usb/uhci.c: Likewise.
37597 * bus/usb/usb.c: Likewise.
37598 * mmap/efi/mmap.c: Likewise.
37599 * mmap/i386/pc/mmap_helper.S: Likewise.
37600 * mmap/i386/pc/mmap.c: Likewise.
37601 * mmap/i386/mmap.c: Likewise.
37602 * mmap/i386/uppermem.c: Likewise.
37603 * mmap/mmap.c: Likewise.
37604 * commands/acpi.c: Likewise.
37605 * commands/echo.c: Likewise.
37606 * commands/blocklist.c: Likewise.
37607 * commands/loadenv.c: Likewise.
37608 * commands/usbtest.c: Likewise.
37609 * commands/boot.c: Likewise.
37610 * commands/parttool.c: Likewise.
37611 * commands/search.c: Likewise.
37612 * commands/cat.c: Likewise.
37613 * commands/i386/pc/play.c: Likewise.
37614 * commands/i386/pc/drivemap.c: Likewise.
37615 * commands/i386/pc/vbeinfo.c: Likewise.
37616 * commands/i386/pc/acpi.c: Likewise.
37617 * commands/i386/pc/vbetest.c: Likewise.
37618 * commands/ls.c: Likewise.
37619 * commands/cmp.c: Likewise.
37620 * commands/test.c: Likewise.
37621 * commands/efi/acpi.c: Likewise.
37622 * commands/gptsync.c: Likewise.
37623 * commands/help.c: Likewise.
37624 * partmap/amiga.c: Likewise.
37625 * partmap/apple.c: Likewise.
37626 * partmap/acorn.c: Likewise.
37627 * partmap/pc.c: Likewise.
37628 * partmap/sun.c: Likewise.
37629 * partmap/gpt.c: Likewise.
37630 * script/sh/lexer.c: Likewise.
37631 * script/sh/function.c: Likewise.
37632 * font/font.c: Likewise.
37633 * font/font_cmd.c: Likewise.
37634 * loader/powerpc/ieee1275/linux.c: Likewise.
37635 * loader/efi/chainloader.c: Likewise.
37636 * loader/multiboot_loader.c: Likewise.
37637 * loader/macho.c: Likewise.
37638 * loader/i386/multiboot.c: Likewise.
37639 * loader/i386/linux.c: Likewise.
37640 * loader/i386/pc/linux.c: Likewise.
37641 * loader/i386/pc/multiboot2.c: Likewise.
37642 * loader/i386/pc/chainloader.c: Likewise.
37643 * loader/i386/pc/xnu.c: Likewise.
37644 * loader/i386/bsd_trampoline.S: Likewise.
37645 * loader/i386/efi/linux.c: Likewise.
37646 * loader/i386/multiboot_elfxx.c: Likewise.
37647 * loader/i386/bsd_helper.S: Likewise.
37648 * loader/i386/bsd.c: Likewise.
37649 * loader/i386/linux_trampoline.S: Likewise.
37650 * loader/i386/xnu_helper.S: Likewise.
37651 * loader/i386/xnu.c: Likewise.
37652 * loader/i386/bsd_pagetable.c: Likewise.
37653 * loader/i386/multiboot_helper.S: Likewise.
37654 * loader/xnu.c: Likewise.
37655 * loader/xnu_resume.c: Likewise.
37656 * io/gzio.c: Likewise.
37657 * term/efi/console.c: Likewise.
37658 * term/terminfo.c: Likewise.
37659 * term/ieee1275/ofconsole.c: Likewise.
37660 * term/i386/pc/serial.c: Likewise.
37661 * term/i386/pc/vesafb.c: Likewise.
37662 * term/i386/pc/vga.c: Likewise.
37663 * term/usb_keyboard.c: Likewise.
37664 * term/gfxterm.c: Likewise.
37665 * aclocal.m4: Likewise.
37666 * util/lvm.c: Likewise.
37667 * util/grub.d/30_os-prober.in: Likewise.
37668 * util/grub.d/10_hurd.in: Likewise.
37669 * util/console.c: Likewise.
37670 * util/grub-macho2img.c: Likewise.
37671 * util/grub-probe.c: Likewise.
37672 * util/hostfs.c: Likewise.
37673 * util/i386/pc/grub-mkimage.c: Likewise.
37674 * util/i386/pc/grub-setup.c: Likewise.
37675 * util/i386/efi/grub-mkimage.c: Likewise.
37676 * util/grub-mkconfig.in: Likewise.
37677 * util/raid.c: Likewise.
37678 * util/resolve.c: Likewise.
37679 * util/grub-mkdevicemap.c: Likewise.
37680 * util/grub-emu.c: Likewise.
37681 * util/getroot.c: Likewise.
37682 * util/hostdisk.c: Likewise.
37683 * util/usb.c: Likewise.
37684 * util/grub-editenv.c: Likewise.
37685 * util/misc.c: Likewise.
37686
d2d49665 376872009-06-10 Felix Zielcke <fzielcke@z-51.de>
37688
37689 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37690 `genparttoollist.sh'.
37691 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37692 Add `*.sh' to the list find searches for and change `mdate.sh'
37693 to `mdate-sh'.
37694
fe052e37 376952009-06-10 Pavel Roskin <proski@gnu.org>
37696
2763ac18 37697 * include/grub/multiboot2.h: Provide compatibility defines for
37698 multiboot2.h.
37699 * include/multiboot2.h: Include stdint.h only if needed, using
37700 angle brackets.
37701 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37702 grub/multiboot2.h.
37703 * loader/ieee1275/multiboot2.c: Likewise.
37704 * loader/multiboot2.c: Likewise.
37705 * loader/multiboot_loader.c: Likewise.
37706
437e6adc 37707 * configure.ac: Use -nostdlib when probing for the target. It
37708 should not be required to have libc for the target.
37709
06a6836c 37710 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37711 they fail without libc headers for the target.
37712 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37713 exports.
37714 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37715 preprocessor conditionals.
37716
fe052e37 37717 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37718 build system doesn't need to be aware of the tar.c internals.
37719
afd22553 377202009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37721
afd22553 37722 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37723
6b787c4f 377242009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37725
37726 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37727 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37728
377292009-06-09 Felix Zielcke <fzielcke@z-51.de>
37730
37731 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37732 aren't available if ata.mod gets used.
6b787c4f 37733
473d1e45 377342009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37735
473d1e45 37736 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37737 initialising controller.
473d1e45 37738 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37739
255a27d4 377402009-06-08 Felix Zielcke <fzielcke@z-51.de>
37741
37742 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37743 to choose between ata and biosdisk module on i386-pc.
37744
473d1e45 377452009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37746
d55842d8 37747 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37748 Subclass and Programming Interface fields in terms of the 3 byte
37749 Class Code register.
37750 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37751
fa5db0b1 37752 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37753 interface is OHCI. Add grub_dprintf for symmetry with
37754 bus/usb/uhci.c.
37755 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37756 interface is UHCI. Add interf variable for programming
37757 interface. Print interface with class/subclass.
37758
c0947beb 37759 * bus/usb/ohci.c: Set interf with correct field.
37760
69da8877 37761 * bus/usb/uhci.c: Remove unneeded doubled lines.
37762 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37763 Remove whitespace inside comment.
37764
9e172e30 377652009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37766
37767 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37768 as fallback an equivalent option without depth.
37769
de65ee2b 377702009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37771
37772 Not fail if unable to retrieve C/H/S on LBA disks
37773
473d1e45 37774 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37775 if unable to retrieve C/H/S on LBA disks
37776
b57ea2c9 377772009-06-08 Pavel Roskin <proski@gnu.org>
37778
37779 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37780 about aliasing.
37781
af361263 377822009-06-08 Felix Zielcke <fzielcke@z-51.de>
37783
37784 * Makefile.in (uninstall): Remove all $lib_DATA files.
37785
4c9ec6b3 377862009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37787
37788 Bugfix: install on partitionless device
37789
37790 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37791 is a whole disk
37792
e76fc924 377932009-06-08 Felix Zielcke <fzielcke@z-51.de>
37794
37795 * Makefile.in (uninstall): Remove all $include_DATA files.
37796
ba5a0d05 377972009-06-08 Felix Zielcke <fzielcke@z-51.de>
37798
37799 * commands/true.c: New file. Implement the true and false commands.
37800 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37801 (true_mod_SOURCES): New variable.
37802 (true_mod_CFLAGS): Likewise.
37803 (true_mod_LDFLAGS): Likewise.
37804
c8048e32 378052009-06-05 Colin D Bennett <colin@gibibit.com>
37806
37807 Optimized font character lookup using binary search instead of linear
37808 search. Fonts now are required to have the character index ordered by
37809 code point.
37810
37811 * font/font.c (load_font_index): Verify that fonts have ordered
37812 character indices.
37813 (find_glyph): Use binary search instead of linear search to find a
37814 character in a font.
37815
408305be 378162009-06-05 Michael Scherer <misc@mandriva.org>
37817
37818 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37819 uses case sensitive btree.
37820 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37821 only for case insensitive filesystems.
37822
8ee1e0d9 378232009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37824
37825 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37826 * conf/common.rmk (search_mod_CFLAGS): likewise
37827
a9966eb1 378282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37829
473d1e45 37830 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37831 compensate a compiler bug
37832
9e7100fb 378332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37834
473d1e45 37835 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37836 instead of '\b'
473d1e45 37837
ede21d71 378382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37839
37840 Definitions for creating asm symbols with Apple's CC
37841
37842 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37843 [APPLE_CC] (VARIABLE): likewise
37844
9dbf7653 378452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37846
37847 Disable lnxboot.img when compiled
37848 with Apple's CC
37849
37850 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37851 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37852 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37853 [! APPLE_CC] (CODE_LENG): skip
37854 [! APPLE_CC] (setup_sects): likewise
37855 [! APPLE_CC]: skip filling
473d1e45 37856
e93cdc3d 378572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37858
37859 Address in trampolines based on 32-bit registers when compiled
37860 with Apple's CC
37861
473d1e45 37862 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37863 for addresses
37864 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37865
6c688477 378662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37867
37868 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37869
37870 * kern/misc.c [APPLE_CC] (memcpy): new function
37871 [APPLE_CC] (memmove): likewise
37872 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37873 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37874 (memset): likewise
37875 (abort): likewise
37876 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37877 APPLE_CC are defined
37878 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37879 (grub_assert_fail): make prototype conditional
37880
e37ffc5c 378812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37882
37883 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37884
473d1e45 37885 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37886 grub-macho2img
e37ffc5c 37887 (CLEANFILES): add grub-macho2img
37888 (grub_macho2img_SOURCES): new variable
37889 * kern/i386/pc/startup.S (bss_start): new variable
37890 (bss_end): likewise
37891 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37892 * util/grub-macho2img.c: new file
37893
cf00df31 378942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37895
37896 Use objconv when compiling with Apple's CC
37897
37898 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37899 (efiemu64.o): likewise
37900 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37901 when compiling with Apple's CC
37902 (efiemu64_s.o): likewise
37903 * configure.ac: check for objconv when compiling with Apple's CC
37904 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37905
d119a20c 379062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37907
37908 Define segment as well as section when compiling with
37909 Apple's CC
37910
37911 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37912 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37913 (efiemu_convert_pointer): likewise
37914 (efiemu_set_virtual_address_map): likewise
37915 (efiemu_convert_pointer): likewise
37916 (efiemu_getcrc32): likewise
37917 (init_crc32_table): likewise
37918 (reflect): likewise
37919 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37920 (GRUB_MOD_DEP): likewise
473d1e45 37921
c8600122 379222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37923
37924 Allow a compilation without -mcmodel=large
37925
37926 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37927 when compiled without -mcmodel=large
473d1e45 37928 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37929 without -mcmodel=large
473d1e45 37930 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37931 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37932
e8df1d4e 379332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37934
37935 Remove nested functions in efiemu core
37936
37937 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37938
cc6c3ac1 379392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37940
37941 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37942
37943 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37944 temporary storage
473d1e45 37945 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37946 using Apple's CC
cc6c3ac1 37947 (grub_cpu_is_tsc_supported): likewise
37948 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37949
3e325901 379502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37951
37952 Absolute addressing through constant with Apple's cc
37953
37954 * kern/i386/pc/startup.S: Define necessary constants
37955 and address through it when using ABS with Apple's CC
37956 * boot/i386/pc/diskboot.S: likewise
37957 * boot/i386/pc/boot.S: likewise
37958 * boot/i386/pc/lnxboot.S: likewise
37959 * boot/i386/pc/cdboot.S: likewise
37960 * mmap/i386/pc/mmap_helper.S: likewise
37961 * commands/i386/pc/drivemap_int13h.S: likewise
37962
2b167a72 379632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37964
37965 Check if compiler is apple cc
37966
37967 * Makefile.in (ASFLAGS): new variable
37968 (TARGET_ASFLAGS): likewise
37969 (TARGET_MODULE_FORMAT): likewise
37970 (TARGET_APPLE_CC): likewise
37971 (OBJCONV): likewise
37972 (TARGET_IMG_CFLAGS): likewise
37973 (TARGET_CPPFLAGS): add includedir
37974 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37975 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37976 Check for linker script only if compiler isn't Apple's CC
37977 (TARGET_MODULE_FORMAT): set
37978 (TARGET_APPLE_CC): likewise
37979 (TARGET_ASFLAGS): likewise
37980 (ASFLAGS): likewise
37981 Check for objcopy only if compiler isn't Apple's CC
37982 Check for BSS symbol only if compiler isn't Apple's CC
37983 * genmk.rb: adapt nm options if we use Apple's utils
37984 * aclocal.m4 (grub_apple_cc): new test
37985 (grub_apple_target_cc): likewise
473d1e45 37986
fb14123e 379872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37988
37989 Simplify sed expressions and improve awk
37990
37991 * Makefile.in (install-local): simplify sed expression
37992 * gencmdlist.sh: likewise
37993 * genmoddep.awk: avoid adding module as a dependency of itself
37994
5b889789 379952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37996
37997 Add missing start symbols
37998
37999 * boot/i386/pc/boot.S: add start
fb14123e 38000 * boot/i386/pc/pxeboot.S: likewise
473d1e45 38001
fd2bf2e3 380022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38003
38004 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 38005
38006 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 38007 (relocate_addresses): consider both r_addend and value at offset
38008 (make_mods_section): zerofill modinfo and header
38009 (convert_elf): write prefix here
473d1e45 38010
5389763d 380112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38012
38013 Use .asciz instead of .string
38014
38015 * i386/pc/diskboot.S: use .asciz instead of .string
38016 * i386/pc/boot.S: likewise
38017 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38018 (GRUB_MOD_NAME): likewise
473d1e45 38019
3eb5ed4e 380202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38021
38022 gfxpayload support
38023
38024 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38025 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38026 (grub_video_setup): remove
38027 (grub_video_set_mode): new prototype
38028 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38029 (vid_mode): remove
38030 (linux_vesafb_res): compile only on PCBIOS
38031 (grub_linux_boot): support gfxpayload
38032 * loader/i386/pc/xnu.c (video_hook): new function
38033 (grub_xnu_set_video): support gfxpayload
38034 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38035 (DEFAULT_VIDEO_HEIGHT): likewise
38036 (DEFAULT_VIDEO_FLAGS): likewise
38037 (DEFAULT_VIDEO_MODE): new definition
38038 (video_hook): new function
38039 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 38040 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 38041 loading xnu
38042 * video/video.c (grub_video_setup): removed
473d1e45 38043 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 38044 grub_video_setup
38045
4b0e1143 380462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38047
38048 Avoid calling biosdisk in drivemap
38049
38050 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38051 (revparse_biosdisk): likewise
38052 (list_mappings): derive name from id directly
38053 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 38054
fda6cb98 380552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38056
38057 Script fixes
38058
38059 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38060 (grub_lexer_param): add tokenonhold
38061 (grub_script_create_cmdline): remove cmdline. All callers updated
38062 (grub_script_function_create): make functionname
38063 grub_script_arg. All callers updated
38064 (grub_script_execute_argument_to_string): new prototype
38065 * kern/parser.c (state_transitions): reorder
38066 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 38067 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 38068 make global
38069 (grub_script_execute_cmdline): use new format
38070 * script/sh/function.c (grub_script_function_create): make functionname
38071 grub_script_arg. All callers updated
473d1e45 38072 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 38073 (grub_script_yylex): remove
38074 (grub_script_yylex2): renamed to ...
38075 (grub_script_yylex): ...renamed
38076 parse the expressions like a${b}c
38077 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38078 (GRUB_PARSER_TOKEN_VAR): remove
38079 (GRUB_PARSER_TOKEN_NAME): likewise
38080 ("if"): declare as typeless
38081 ("while"): likewise
38082 ("function"): likewise
38083 ("else"): likewise
38084 ("then"): likewise
38085 ("fi"): likewise
38086 (text): remove
38087 (argument): likewise
38088 (script): accept empty scripts and make exit on error
38089 (arguments): use GRUB_PARSER_TOKEN_ARG
38090 (function): likewise
38091 (command): move error handling to script
38092 (menuentry): move grub_script_lexer_ref before
473d1e45 38093 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 38094 argument. All callers updated
38095
f4448a07 380962009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38097
38098 Prevent GRUB from probing floppies during boot.
38099
38100 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38101 * commands/search.c (options): Add --no-floppy.
38102 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38104 --no-floppy when searching for UUIDs.
38105
2bf5885a 381062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38107
38108 Simplify the code duplication in commands/search.c.
38109
38110 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38111 (search_fs): ... this. Update all users.
38112
f6fd460a 381132009-06-03 Felix Zielcke <fzielcke@z-51.de>
38114
38115 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38116
cbb3c83e 381172009-05-28 Pavel Roskin <proski@gnu.org>
38118
57788cfd 38119 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38120 Remove the original symlink explicitly.
38121
cbb3c83e 38122 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38123 just one slash. That's how grub_fshelp_find_file() does it.
38124
cd0d5e30 381252009-05-26 Pavel Roskin <proski@gnu.org>
38126
f0f8bbe2 38127 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38128 to `str'.
38129
cd0d5e30 38130 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38131 possibly unused.
38132
8c2cab51 381332009-05-25 Christian Franke <franke@computer.org>
38134
38135 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38136 register.
38137 (grub_atapi_identify): Add wait after drive select.
38138 (grub_ata_identify): Do more strict status register check before
38139 calling grub_atapi_identify (). Suppress error message if status
38140 register is 0x00 after command failure. Add status register
38141 check after PIO read to avoid bogus identify due to stuck DRQ.
38142 Thanks to Pavel Roskin for testing.
38143 (grub_device_initialize): Remove unsafe status register check.
38144 Thanks to 'phcoder' for problem report and patch.
38145 Prevent sign extension in debug message.
38146
230c0ad6 381472009-05-23 Colin D Bennett <colin@gibibit.com>
38148
38149 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38150 definition file, and functions defined in `normal/menu.c' have had
38151 their prototypes moved to `include/grub/menu.h' for consistency.
38152
38153 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38154 from normal.h.
38155 (grub_menu_get_entry): Likewise.
38156 (grub_menu_get_timeout): Likewise.
38157 (grub_menu_set_timeout): Likewise.
38158 (grub_menu_execute_entry): Likewise.
38159 (grub_menu_execute_with_fallback): Likewise.
38160 (grub_menu_entry_run): Likewise.
38161
38162 * include/grub/normal.h: Re-ordered and grouped function
38163 prototypes by file that the function is defined in.
38164 (grub_menu_execute_callback): Removed; moved to menu.h.
38165 (grub_menu_get_entry): Likewise.
38166 (grub_menu_get_timeout): Likewise.
38167 (grub_menu_set_timeout): Likewise.
38168 (grub_menu_execute_entry): Likewise.
38169 (grub_menu_execute_with_fallback): Likewise.
38170 (grub_menu_entry_run): Likewise.
38171 (grub_menu_addentry): Renamed from this ...
38172 (grub_normal_add_menu_entry): ... to this.
38173
38174 * normal/main.c (grub_menu_addentry): Renamed from this ...
38175 (grub_normal_add_menu_entry): ... to this.
38176
38177 * script/sh/execute.c (grub_script_execute_menuentry): Update
38178 reference to renamed grub_menu_addentry function.
38179
861f03a5 381802009-05-23 Felix Zielcke <fzielcke@z-51.de>
38181
38182 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38183
96b1619a 381842009-05-22 Pavel Roskin <proski@gnu.org>
38185
bf6a5fb2 38186 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38187 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38188 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38189 compiling for the i386 targets, but not for the utilities.
38190
96b1619a 38191 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38192 to grub_uint8_t.
38193 (grub_root_drive): Likewise.
38194 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38195 remove alignment.
38196 (grub_root_drive): Change size to byte.
38197 (grub_start_addr): Remove.
38198 (grub_end_addr): Likewise.
38199 (grub_apm_bios_info): Likewise.
38200
b729776b 382012009-05-21 Felix Zielcke <fzielcke@z-51.de>
38202
38203 * normal/i386: Remove.
38204 * normal/powerpc: Likewise.
38205 * normal/sparc64: Likewise.
38206 * normal/x86_64: Likewise.
38207
0a15ce80 382082009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38209
38210 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 38211 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 38212 * loader/i386/xnu_helper.S: Likewise
d6da58e6 38213
33db9015 382142009-05-18 Colin D Bennett <colin@gibibit.com>
38215
d6da58e6 38216 Display error messages when parsing a Lua statement fails.
38217 Previously, executing a syntactically invalid statement like
38218 ")foo" or "bar;" would silently fail.
33db9015 38219
38220 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 38221 (grub_lua_parse_line): Improved reporting of Lua parser and
38222 execution errors.
33db9015 38223
46422c89 382242009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38225
38226 Remove -Werror which causes build to fail on some systems
38227
38228 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38229 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38230 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 38231
22f53a96 382322009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38233
38234 trampoline for linux on 64-bit platform
38235
18f547ad 38236 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38237 loader/i386/efi/linux_trampoline.S
38238 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 38239 declaration
d6da58e6 38240 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38241 here
22f53a96 38242 * loader/i386/linux_trampoline.S: moved here
d6da58e6 38243 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38244 trampoline
22f53a96 38245 (jumpvector): removed
38246 (grub_linux_trampoline_start): new declaration
38247 (grub_linux_trampoline_end): likewise
38248 (grub_linux_boot): use trampoline when on 64-bit platform
38249 * loader/i386/linux.c: likewise
38250
cb5a0f40 382512009-05-16 Pavel Roskin <proski@gnu.org>
38252
38253 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38254 const to avoid a warning.
38255 (grub_lua_setenv): Likewise.
38256 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38257 lmsg to fix a warning.
38258
334f2c28 382592009-05-16 Felix Zielcke <fzielcke@z-51.de>
38260
38261 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 38262 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38263 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38264 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38265 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38266 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38267 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38268 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 38269
59e5d3ec 382702009-05-16 Felix Zielcke <fzielcke@z-51.de>
38271
38272 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38273
9d87a1ba 382742009-05-16 Bean <bean123ch@gmail.com>
38275
38276 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38277 (lua_mod_SOURCES): New variable.
38278 (lua_mod_CFLAGS): Likewise.
38279 (lua_mod_LDFLAGS): Likewise.
38280
38281 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38282 (setjmp_mod_SOURCES): New variable.
38283 (setjmp_mod_CFLAGS): Likewise.
38284 (setjmp_LDFLAGS): Likewise.
38285
38286 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38287 (setjmp_mod_SOURCES): New variable.
38288 (setjmp_mod_CFLAGS): Likewise.
38289 (setjmp_LDFLAGS): Likewise.
38290
38291 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38292 (setjmp_mod_SOURCES): New variable.
38293 (setjmp_mod_CFLAGS): Likewise.
38294 (setjmp_LDFLAGS): Likewise.
38295
38296 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38297 (setjmp_mod_SOURCES): New variable.
38298 (setjmp_mod_CFLAGS): Likewise.
38299 (setjmp_LDFLAGS): Likewise.
38300
38301 * normal/i386/setjmp.S: Moved from here ...
38302 * lib/i386/setjmp.S: ... Moved here
38303 * normal/x86_64/setjmp.S: Moved from here ...
38304 * lib/x86_64/setjmp.S: ... Moved here
38305 * normal/powerpc/setjmp.S: Moved from here ...
38306 * lib/powerpc/setjmp.S: ... Moved here
38307 * normal/sparc64/setjmp.S: Moved from here ...
38308 * lib/sparc64/setjmp.S: ... Moved here
38309
38310 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38311 returns_twice in mingw.
38312
38313 * script/lua/grub_lib.c: New file.
38314 * script/lua/grub_lib.h: Likewise.
38315 * script/lua/grub_lua.h: Likewise.
38316 * script/lua/grub_main.c: Likewise.
38317 * script/lua/lapi.c: Likewise.
38318 * script/lua/lapi.h: Likewise.
38319 * script/lua/lauxlib.c: Likewise.
38320 * script/lua/lauxlib.h: Likewise.
38321 * script/lua/lbaselib.c: Likewise.
38322 * script/lua/lcode.c: Likewise.
38323 * script/lua/lcode.h: Likewise.
38324 * script/lua/ldblib.c: Likewise.
38325 * script/lua/ldebug.c: Likewise.
38326 * script/lua/ldebug.h: Likewise.
38327 * script/lua/ldo.c: Likewise.
38328 * script/lua/ldo.h: Likewise.
38329 * script/lua/ldump.c: Likewise.
38330 * script/lua/lfunc.c: Likewise.
38331 * script/lua/lfunc.h: Likewise.
38332 * script/lua/lgc.c: Likewise.
38333 * script/lua/lgc.h: Likewise.
38334 * script/lua/linit.c: Likewise.
38335 * script/lua/liolib.c: Likewise.
38336 * script/lua/llex.c: Likewise.
38337 * script/lua/llex.h: Likewise.
38338 * script/lua/llimits.h: Likewise.
38339 * script/lua/lmathlib.c: Likewise.
38340 * script/lua/lmem.c: Likewise.
38341 * script/lua/lmem.h: Likewise.
38342 * script/lua/loadlib.c: Likewise.
38343 * script/lua/lobject.c: Likewise.
38344 * script/lua/lobject.h: Likewise.
38345 * script/lua/lopcodes.c: Likewise.
38346 * script/lua/lopcodes.h: Likewise.
38347 * script/lua/loslib.c: Likewise.
38348 * script/lua/lparser.c: Likewise.
38349 * script/lua/lparser.h: Likewise.
38350 * script/lua/lstate.c: Likewise.
38351 * script/lua/lstate.h: Likewise.
38352 * script/lua/lstring.c: Likewise.
38353 * script/lua/lstring.h: Likewise.
38354 * script/lua/lstrlib.c: Likewise.
38355 * script/lua/ltable.c: Likewise.
38356 * script/lua/ltable.h: Likewise.
38357 * script/lua/ltablib.c: Likewise.
38358 * script/lua/ltm.c: Likewise.
38359 * script/lua/ltm.h: Likewise.
38360 * script/lua/lua.h: Likewise.
38361 * script/lua/luaconf.h: Likewise.
38362 * script/lua/lualib.h: Likewise.
38363 * script/lua/lundump.c: Likewise.
38364 * script/lua/lundump.h: Likewise.
38365 * script/lua/lvm.c: Likewise.
38366 * script/lua/lvm.h: Likewise.
38367 * script/lua/lzio.c: Likewise.
38368 * script/lua/lzio.h: Likewise.
38369
5e898c9d 383702009-05-16 Bean <bean123ch@gmail.com>
38371
38372 * include/grub/kernel.h (grub_module_header_types): Add type
38373 OBJ_TYPE_CONFIG.
38374
38375 * kern/main.c (grub_load_config): New function.
38376 (grub_main): Call grub_load_config to read boot config.
38377
38378 * grub-mkimage (generate_image): New parameter config_path.
38379 (options): New option --config.
38380 (main): Parse --config option, and pass it to generate_image.
38381
cf353a47 383822009-05-14 Christian Franke <franke@computer.org>
38383
38384 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38385 This fixes build on Cygwin.
38386
3834887f 383872009-05-14 Pavel Roskin <proski@gnu.org>
38388
38389 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38390 jump. This saves two bytes, so the typical case of 2 swapped
38391 drives would fit 32 bytes.
38392
8090fc01 383932009-05-13 Pavel Roskin <proski@gnu.org>
38394
ac963883 38395 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38396 grub_uint32_t to avoid a warning.
38397
8090fc01 38398 * loader/i386/linux.c (allocate_pages): When assigning
38399 real_mode_mem, cast through grub_size_t to fix a warning. The
38400 code already makes sure that the value would fit a pointer.
38401 (grub_linux_setup_video): Cast render_target->data to
38402 grub_size_t to fix a warning.
38403
18f547ad 384042009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 38405
38406 * commands/i386/pc/drivemap.c: New file - implement drivemap
38407 command.
38408 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38409 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38410
6f6a8b28 384112009-05-13 Pavel Roskin <proski@gnu.org>
38412
38413 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38414 embedding_area_exists.
38415
15fbf4c4 384162009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38417
38418 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38419 it easier to understand / work with.
59978c8a 38420 Improve warning messages for cases where there's no embedding area,
38421 or when it is too small (or core.img too large).
15fbf4c4 38422
238e871f 384232009-05-13 Pavel Roskin <proski@gnu.org>
38424
0ab3a9a4 38425 * loader/i386/pc/multiboot2.c: Add necessary includes for
38426 grub_multiboot2_real_boot().
38427
a2c8c5f8 38428 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38429 PX record is always little-endian. We only need the lower 2
38430 bytes of the mode.
38431
faec96af 38432 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38433 facilitate code reuse.
38434 (grub_cpio_mount): Use "struct head", not a char buffer. This
38435 fixes a warning reported by gcc 4.4.
38436
238e871f 38437 * kernel/disk.c (grub_disk_read): Use void pointer for the
38438 buffer.
38439 (grub_disk_write): Use const void pointer for the buffer.
38440 Adjust all callers. Remove unnecessary casts.
38441
901d2f0c 384422009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38443
38444 * util/i386/pc/grub-install.in: Update copyright year.
38445
18f547ad 384462009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 38447
38448 gptsync
38449
38450 * commands/gptsync.c: new file
38451 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38452 (gptsync_mod_SOURCES): new variable
38453 (gptsync_mod_CFLAGS): likewise
38454 (gptsync_mod_LDFLAGS): likewise
18f547ad 38455 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 38456 new definition
38457 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38458 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38459 * conf/i386-ieee1275.rmk: likewise
38460 * conf/i386-pc.rmk: likewise
38461 * conf/powerpc-ieee1275.rmk: likewise
38462
b4ba690a 384632009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38464
38465 Fixed grub-emu
38466
38467 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38468 (grub_dl_ref): likewise
38469
317e1a44 384702009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38471
38472 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38473 split in two functions (one for msdos and one for gpt).
38474
041b8094 384752009-05-08 Pavel Roskin <proski@gnu.org>
38476
752473c2 38477 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38478 not modified.
38479
041b8094 38480 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38481 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38482 Initialize them with -1. Add sanity check for bad1. Eliminate
38483 nerr variable.
38484
172800ce 384852009-05-08 David S. Miller <davem@davemloft.net>
38486
38487 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38488
29aa5e81 384892009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38490
38491 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 38492 existence.
29aa5e81 38493
96613b62 384942009-05-05 Felix Zielcke <fzielcke@z-51.de>
38495
38496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38497 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38498
eef73c8a 384992009-05-05 David S. Miller <davem@davemloft.net>
38500
38501 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38502
119494b5 385032009-05-05 Pavel Roskin <proski@gnu.org>
38504
38505 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38506 of grub_dl_ref() and grub_dl_unref().
38507 * commands/parttool.c: Remove preprocessor conditionals around
38508 grub_dl_ref() and grub_dl_unref().
38509 * fs/affs.c: Likewise.
38510 * fs/afs.c: Likewise.
38511 * fs/cpio.c: Likewise.
38512 * fs/ext2.c: Likewise.
38513 * fs/fat.c: Likewise.
38514 * fs/hfs.c: Likewise.
38515 * fs/hfsplus.c: Likewise.
38516 * fs/iso9660.c: Likewise.
38517 * fs/jfs.c: Likewise.
38518 * fs/minix.c: Likewise.
38519 * fs/ntfs.c: Likewise.
38520 * fs/reiserfs.c: Likewise.
38521 * fs/sfs.c: Likewise.
38522 * fs/udf.c: Likewise.
38523 * fs/ufs.c: Likewise.
38524 * fs/xfs.c: Likewise.
38525 * include/grub/dl.h: Likewise.
38526 * loader/xnu.c: Likewise.
38527
de5fd76e 385282009-05-04 Pavel Roskin <proski@gnu.org>
38529
38530 * commands/acpi.c: Remove unused variable my_mod.
38531 * partmap/amiga.c: Likewise.
38532 * partmap/apple.c: Likewise.
38533 * partmap/gpt.c: Likewise.
38534 * partmap/pc.c: Likewise.
38535 * partmap/sun.c: Likewise.
38536 * term/gfxterm.c: Likewise.
38537 * term/i386/pc/vesafb.c: Likewise.
38538 * term/i386/pc/vga.c: Likewise.
38539
983598ad 385402009-05-04 David S. Miller <davem@davemloft.net>
38541
38542 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38543 pointer args to grub_ieee1275_get_property().
38544
8aadec43 38545 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38546
9554b15e 38547 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38548 devices, and do not traverse down under controller nodes.
38549
67e23c90 38550 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38551 (grub_ofdisk_open): Use it to un-escape "," characters.
38552 * kern/disk.c (find_part_sep): New.
38553 (grub_disk_open): Use it to find the first non-escaped ','
38554 character in the disk name.
38555 * util/ieee1275/devicemap.c (escape_of_path): New.
38556 (grub_util_emit_devicemap_entry): Use it.
38557 * util/sparc64/ieee1275/grub-install.in: Update script to
38558 strip partition specifiers properly by not triggering on
38559 '\' escaped ',' characters.
38560
74bfdd2f 385612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38562
38563 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38564 to 0x300.
38565 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38566 resolutions.
38567 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38568 on documentation from Wikipedia).
38569
4241d2b1 385702009-05-04 Pavel Roskin <proski@gnu.org>
38571
38572 * disk/ata.c: Spelling fixes.
38573 * disk/raid.c: Likewise.
38574 * disk/usbms.c: Likewise.
38575 * disk/dmraid_nvidia.c: Likewise.
38576 * kern/ieee1275/openfw.c: Likewise.
38577 * kern/ieee1275/init.c: Likewise.
38578 * kern/ieee1275/cmain.c: Likewise.
38579 * boot/i386/pc/cdboot.S: Likewise.
38580 * video/readers/png.c: Likewise.
38581 * video/i386/pc/vbe.c: Likewise.
38582 * fs/udf.c: Likewise.
38583 * fs/hfs.c: Likewise.
38584 * fs/reiserfs.c: Likewise.
38585 * efiemu/runtime/efiemu.c: Likewise.
38586 * efiemu/main.c: Likewise.
38587 * efiemu/mm.c: Likewise.
38588 * include/grub/elf.h: Likewise.
38589 * include/grub/xnu.h: Likewise.
38590 * include/grub/usbdesc.h: Likewise.
38591 * include/grub/usb.h: Likewise.
38592 * include/grub/script_sh.h: Likewise.
38593 * include/grub/lib/LzmaEnc.h: Likewise.
38594 * include/grub/efiemu/efiemu.h: Likewise.
38595 * include/grub/command.h: Likewise.
38596 * normal/menu.c: Likewise.
38597 * normal/main.c: Likewise.
38598 * normal/datetime.c: Likewise.
38599 * bus/usb/uhci.c: Likewise.
38600 * mmap/i386/uppermem.c: Likewise.
38601 * mmap/mmap.c: Likewise.
38602 * commands/acpi.c: Likewise.
38603 * commands/test.c: Likewise.
38604 * partmap/apple.c: Likewise.
38605 * font/font.c: Likewise.
38606 * loader/sparc64/ieee1275/linux.c: Likewise.
38607 * loader/macho.c: Likewise.
38608 * loader/i386/bsd_trampoline.S: Likewise.
38609 * loader/i386/bsd.c: Likewise.
38610 * loader/xnu.c: Likewise.
38611 * term/i386/pc/vesafb.c: Likewise.
38612 * term/usb_keyboard.c: Likewise.
38613 * util/resolve.c: Likewise.
38614 * util/getroot.c: Likewise.
38615
0cfc0083 386162009-05-04 Felix Zielcke <fzielcke@z-51.de>
38617
38618 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38619
7c1d00cd 386202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38621
38622 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38623 build error.
38624
b01f0548 386252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38626
38627 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38628 parameter only available on BIOS.
38629
ecc3eb22 386302009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38631
38632 Removed wrong semicolon in declaration
38633
38634 * grub/misc.h (grub_dprintf): remove semicolon
38635
112972a9 386362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38637
38638 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38639 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38640 is done by grub_cmd_linux() now).
38641 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38642 restore video to text mode.
38643 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38644 indicates lack of "vga=" parameter. "vga=0" is mapped to
38645 `GRUB_LINUX_VID_MODE_NORMAL'.
38646
afd5c115 386472009-05-04 Felix Zielcke <fzielcke@z-51.de>
38648
38649 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38650 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38651 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38652 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38653 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38654 `grub_script.tab.c'.
38655
38656 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38657 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38660 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38661
faa517ce 38662 * Makefile.in: Remove duplicated 2008 in Copyright line.
38663
ae0c0bdc 386642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38665
473d1e45 38666 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38667 unconditionally.
38668 * include/grub/util/misc.h (grub_util_warn): New declaration.
38669
38670 * util/i386/pc/grub-install.in: Understand --force and pass it down
38671 to grub-setup.
38672
38673 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38674 down to setup().
38675 (setup): Improve error messages and add warnings when requested to
38676 install in odd layouts. Refuse to install using blocklists unless
38677 --force was set.
38678
18f547ad 386792009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38680
38681 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38682
6d260daa 386832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38684
38685 Updated copyright year
38686
38687 * fs/hfsplus.c: updated copyright year
18f547ad 38688
69f853f8 386892009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38690
38691 HFS+ UUID
38692
18f547ad 38693 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38694 in the space previously used by unused3
38695 (grub_hfsplus_uuid): new function
38696 (grub_hfsplus_fs): added uuid field
38697
4c402e73 386982009-05-03 Pavel Roskin <proski@gnu.org>
38699
38700 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38701 suppress warnings. It's no longer needed.
38702 * disk/host.c: Likewise.
38703 * disk/ata_pthru.c: Likewise.
38704 * disk/loopback.c: Likewise.
38705 * hook/datehook.c: Likewise.
38706 * parttool/pcpart.c: Likewise.
38707 * fs/i386/pc/pxe.c: Likewise.
38708 * fs/ntfscomp.c: Likewise.
38709 * efiemu/main.c: Likewise.
38710 * mmap/mmap.c: Likewise.
38711 * commands/crc.c: Likewise.
38712 * commands/hexdump.c: Likewise.
38713 * commands/hdparm.c: Likewise.
38714 * commands/acpi.c: Likewise.
38715 * commands/echo.c: Likewise.
38716 * commands/minicmd.c: Likewise.
38717 * commands/blocklist.c: Likewise.
38718 * commands/memrw.c: Likewise.
38719 * commands/loadenv.c: Likewise.
38720 * commands/usbtest.c: Likewise.
38721 * commands/lsmmap.c: Likewise.
38722 * commands/boot.c: Likewise.
38723 * commands/parttool.c: Likewise.
38724 * commands/configfile.c: Likewise.
38725 * commands/search.c: Likewise.
38726 * commands/ieee1275/suspend.c: Likewise.
38727 * commands/cat.c: Likewise.
38728 * commands/i386/pc/pxecmd.c: Likewise.
38729 * commands/i386/pc/play.c: Likewise.
38730 * commands/i386/pc/halt.c: Likewise.
38731 * commands/i386/pc/vbeinfo.c: Likewise.
38732 * commands/i386/pc/vbetest.c: Likewise.
38733 * commands/lspci.c: Likewise.
38734 * commands/date.c: Likewise.
38735 * commands/handler.c: Likewise.
38736 * commands/ls.c: Likewise.
38737 * commands/test.c: Likewise.
38738 * commands/cmp.c: Likewise.
38739 * commands/efi/loadbios.c: Likewise.
38740 * commands/efi/fixvideo.c: Likewise.
38741 * commands/halt.c: Likewise.
38742 * commands/help.c: Likewise.
38743 * commands/reboot.c: Likewise.
38744 * hello/hello.c: Likewise.
38745 * script/sh/main.c: Likewise.
38746 * loader/xnu.c: Likewise.
38747 * term/terminfo.c: Likewise.
38748 * term/i386/pc/serial.c: Likewise.
38749 * term/usb_keyboard.c: Likewise.
38750
515b5079 387512009-05-03 David S. Miller <davem@davemloft.net>
38752
38753 * normal/menu.c: Include grub/parser.h
38754
dfc31a22 387552009-05-03 Pavel Roskin <proski@gnu.org>
38756
2fee74f1 38757 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38758 not char*.
38759 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38760 Suggested by Javier Martín <lordhabbit@gmail.com>
38761
dfc31a22 38762 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38763 efiemu??.o doesn't exist.
38764 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38765 copying.
38766
18f547ad 387672009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38768
38769 FreeBSD 64-bit support
38770
18f547ad 38771 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38772 and loader/i386/bsd_trampoline.S
38773 (bsd_mod_ASFLAGS): new variable
38774 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38775 (FREEBSD_MODTYPE_KERNEL64): likewise
38776 (grub_bsd64_trampoline_start): likewise
38777 (grub_bsd64_trampoline_end): likewise
38778 (grub_bsd64_trampoline_selfjump): likewise
38779 (grub_bsd64_trampoline_gdt): likewise
38780 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38781 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38782 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38783 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38784 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38785 of "attrib" member
38786 * loader/i386/bsd_pagetable.c: new file
38787 * loader/i386/bsd_trampoline.S: likewise
38788 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38789 (ALIGN_VAR): likewise
38790 (entry_hi): new variable
38791 (kern_end_mdofs): likewise
38792 (is_64bit): likewise
38793 (grub_freebsd_add_meta): use ALIGN_VAR
38794 (grub_e820_mmap): new declaration
38795 (grub_freebsd_add_mmap): new function
38796 (grub_freebsd_add_meta_module): support 64 bit kernels
38797 (grub_freebsd_list_modules): use ALIGN_VAR
38798 (gdt_descriptor): new declaration
38799 (grub_freebsd_boot): support 64 bit kernels
38800 (grub_bsd_elf64_hook): new function
38801 (grub_bsd_load_elf): support elf64
38802
038c5720 388032009-05-03 Bean <bean123ch@gmail.com>
38804
38805 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38806 after we get the result of if statement.
38807
fc45fb58 388082009-05-03 Bean <bean123ch@gmail.com>
38809
38810 * Makefile.in (enable_efiemu): New variable.
38811
38812 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38813 set.
38814 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38815 path.
38816 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38817 path, add -mno-red-zone option.
38818 (efiemu64_s.o): Likewise.
38819 (efiemu64.o): Use macro $^ for source file.
38820
38821 * configure.ac (--enable-efiemu): New option.
38822
bbee0f2b 388232009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38824
38825 xnu support
38826
38827 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38828 (pkglib_MODULES): add xnu.mod
38829 (xnu_mod_SOURCES): new variable
38830 (xnu_mod_CFLAGS): likewise
38831 (xnu_mod_LDFLAGS): likewise
38832 (xnu_mod_ASFLAGS): likewise
38833 * conf/i386-pc.rmk: likewise
38834 * conf/x86_64-efi.rmk: likewise
7dd4a573 38835 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38836 new declaration
38837 * include/grub/i386/macho.h: new file
38838 * include/grub/i386/xnu.h: likewise
38839 * include/grub/macho.h: likewise
38840 * include/grub/machoload.h: likewise
38841 * include/grub/x86_64/macho.h: likewise
38842 * include/grub/x86_64/xnu.h: likewise
38843 * include/grub/xnu.h: likewise
38844 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38845 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38846 * loader/i386/efi/xnu.c: new file
38847 * loader/i386/pc/xnu.c: likewise
38848 * loader/i386/xnu.c: likewise
38849 * loader/i386/xnu_helper.S: likewise
38850 * loader/macho.c: likewise
38851 * loader/xnu.c: likewise
38852 * loader/xnu_resume.c: likewise
38853 * util/grub-dumpdevtree: likewise
38854 * include/grub/i386/pit.h: include grub/err.h
38855 (grub_pit_wait): export
38856 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38857
5caf964d 388582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38859
38860 Efiemu
7dd4a573 38861
5caf964d 38862 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38863 _linux_efi, linux_efi.
38864 new files in grub-emu
5caf964d 38865 new targets efiemu32.o and efiemu64.o
38866 * loader/linux_normal_efiemu.c: likewise
38867 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38868 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38869 files to copy
38870 * include/grub/autoefi.h: new file
7dd4a573 38871 * include/grub/i386/efiemu.h: likewise
5caf964d 38872 * include/grub/i386/pc/efiemu.h: likewise
38873 * include/grub/efi/api.h: add LL suffix when necessary
38874 new definitions relating to tables
38875 * include/grub/efiemu/efiemu.h: new file
38876 * include/grub/efiemu/runtime.h: likewise
38877 * efiemu/prepare.c: likewise
38878 * efiemu/loadcore_common.c: likewise
38879 * efiemu/loadcore64.c: likewise
38880 * efiemu/runtime/efiemu.sh: likewise
38881 * efiemu/runtime/efiemu.S: likewise
38882 * efiemu/runtime/efiemu.c: likewise
38883 * efiemu/runtime/config.h: likewise
38884 * efiemu/prepare32.c: likewise
38885 * efiemu/main.c: likewise
38886 * efiemu/modules/pnvram.c: likewise
38887 * efiemu/modules/i386: likewise
38888 * efiemu/modules/i386/pc: likewise
38889 * efiemu/modules/acpi.c: likewise
38890 * efiemu/i386/pc/cfgtables.c: likewise
38891 * efiemu/i386/loadcore64.c: likewise
38892 * efiemu/i386/loadcore32.c: likewise
38893 * efiemu/prepare64.c: likewise
38894 * efiemu/loadcore.c: likewise
38895 * efiemu/symbols.c: likewise
38896 * efiemu/mm.c: likewise
38897 * efiemu/loadcore32.c: likewise
7dd4a573 38898
388992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38900
38901 ACPI spoofing
38902
38903 * commands/acpi.c: new file
38904 * commands/i386/pc/acpi.c: likewise
38905 * commands/efi/acpi.c: likewise
38906 * include/grub/acpi.h: likewise
38907 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38908 (acpi_mod_SOURCES): new variable
38909 (acpi_mod_CFLAGS): likewise
38910 (acpi_mod_LDFLAGS): likewise
38911 * conf/i386-efi.rmk: likewise
38912 * conf/x86_64-efi.rmk: likewise
38913
7dd4a573 389142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38915
38916 Missing part from mmap patch
38917
38918 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38919 (grub_mmap_unregister)
38920 (grub_mmap_free_and_unregister): use grub_mmap_register
38921
7dd4a573 389222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38923
38924 Mmap services
38925
38926 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38927 * loader/i386/linux.c (find_mmap_size): likewise
38928 (allocate_pages): likewise
38929 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38930 (grub_fill_multiboot_mmap): likewise
38931 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38932 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38933 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38934 (OPENBSD_MMAP_RESERVED): likewise
38935 * include/grub/i386/pc/memory.h: include grub/memory.h
38936 (grub_lower_mem): removed
38937 (grub_upper_mem): likewise
38938 (GRUB_MACHINE_MEMORY_ACPI): new definition
38939 (GRUB_MACHINE_MEMORY_NVS): likewise
38940 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38941 (GRUB_MACHINE_MEMORY_HOLE): likewise
38942 (grub_machine_mmap_register): likewise
38943 (grub_machine_mmap_unregister): likewise
38944 (grub_machine_get_upper): likewise
38945 (grub_machine_get_lower): likewise
38946 (grub_machine_get_post64): likewise
38947 * include/grub/i386/efi/memory.h: new file
38948 * include/grub/x86_64/efi/memory.h: likewise
38949 * include/grub/efi/memory.h: likewise
38950 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38951 (mmap_mod_SOURCES): new variable
38952 (mmap_mod_LDFLAGS): likewise
38953 (mmap_mod_ASFLAGS): likewise
38954 * conf/i386-coreboot.rmk: likewise
38955 * conf/i386-ieee1275.rmk: likewise
38956 * conf/i386-efi.rmk: likewise
38957 * conf/x86_64-efi.rmk: likewise
38958 * include/grub/types.h (UINT_TO_PTR): new macro
38959 (PTR_TO_UINT32): likewise
38960 (PTR_TO_UINT64): likewise
38961 * include/grub/memory.h: new file
38962 * mmap/i386/pc/mmap.c: likewise
38963 * mmap/i386/pc/mmap_helper.S: likewise
38964 * mmap/i386/uppermem.c: likewise
38965 * mmap/mmap.c: likewise
38966 * mmap/efi/mmap.c: likewise
7dd4a573 38967 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38968 grub_upper_mem
38969 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38970 (grub_upper_mem): likewise
38971 (grub_machine_init): don't use grub_upper_mem,
38972 make grub_lower_mem local
38973 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38974 grub_mmap_iterate and grub_mmap_get_upper
38975 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38976
d558e6b5 389772009-05-02 Bean <bean123ch@gmail.com>
38978
38979 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38980 script/sh/parser.y.
38981 (pkglib_MODULES): Add normal.mod and sh.mod.
38982 (normal_SOURCES): New variable.
38983 (normal_mod_CFLAGS): Likewise.
38984 (normal_mod_LDFLAGS): Likewise.
38985 (sh_mod_SOURCES): Likewise.
38986 (sh_mod_CFLAGS): Likewise.
38987 (sh_mod_LDFLAGS): Likewise.
38988
38989 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38990 script/sh/lexer.c_DEPENDENCIES.
38991 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38992 kern/rescue_reader.c and kern/rescue_parser.c.
38993 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38994 (grub_emu_SOURCES): Change source files.
38995 (pkglib_MODULES): Remove normal.mod.
38996 (normal_SOURCES): Removed.
38997 (normal_mod_CFLAGS): Likewise.
38998 (normal_mod_LDFLAGS): Likewise.
38999 * conf/i386-coreboot.rmk: Likewise.
39000 * conf/i386-efi.rmk: Likewise.
39001 * conf/i386-ieee1276.rmk: Likewise.
39002 * conf/powerpc-ieee1275.rmk: Likewise.
39003 * conf/sparc64-ieee1275.rmk: Likewise.
39004 * conf/x86_64-efi.rmk: Likewise.
39005
39006 * include/grub/command.h (grub_command_execute): New inline function.
39007
39008 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39009
39010 * include/grub/normal.h: Remove <grub/setjmp.h>.
39011 (grub_fs_module_list): Moved to normal/autofs.c.
39012 (grub_exit_env): Removed.
39013 (grub_command_execute): Likewise.
39014 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39015 parameter script.
39016 (read_command_list): New function declaration.
39017 (read_fs_list): Likewise.
39018
39019 * include/parser.h: Include <grub/reader.h>.
39020 (grub_parser_split_cmdline): Change type of getline parameter.
39021 (grub_parser): New structure.
39022 (grub_parser_class): New variable.
39023 (grub_parser_execute): New function declaration.
39024 (grub_register_rescue_parser): Likewise.
39025 (grub_parser_register): New inline function.
39026 (grub_parser_unregister): Likewise.
39027 (grub_parser_get_current): Likewise.
39028 (grub_parser_set_current): Likewise.
39029
39030 * include/grub/reader.h: New file.
39031 * kern/reader.c: Likewise.
39032 * kern/rescue_parser.c: Likewise.
39033 * kern/rescue_reader.c: Likewise.
39034 * normal/autofs.c: Likewise.
39035 * normal/dyncmd.c: Likewise.
39036
39037 * include/grub/rescue.h: Removed.
39038 * normal/command.h: Likewise.
39039
39040 * include/grub/script.h: Moved to ...
39041 * include/grub/script_sh.h: ... Moved here.
39042 * normal/execute.c: Moved to ...
39043 * script/sh/execute.c: ... Moved here.
39044 * normal/function.c: Moved to ...
39045 * script/sh/function.c: ... Moved here.
39046 * normal/lexer.c: Moved to ...
39047 * script/sh/lexer.c: ... Moved here.
39048 * normal/parser.y: Moved to ...
39049 * script/sh/parser.y: ... Moved here.
39050 * normal/script.c: Moved to ...
39051 * script/sh/script.c: ... Moved here.
39052
39053 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39054 <grub/reader.h>.
39055 (grub_exit_env): Removed.
39056 (fs_module_list): Moved to normal/autofs.c.
39057 (grub_file_getline): Don't handle comment here.
39058 (free_menu): Skip removed field entry->commands.
39059 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39060 script parameter.
39061 (read_config_file): Removed nested parameter, change getline function.
39062 (grub_enter_normal_mode): Removed.
39063 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39064 (read_command_list): Likewise.
39065 (autoload_fs_module): Moved to normal/autofs.c.
39066 (read_fs_list): Likewise.
39067 (reader_nested): New variable.
39068 (grub_normal_execute): Run parser.sh to switch to sh parser.
39069 (grub_cmd_rescue): Removed.
39070 (cmd_normal): Removed.
39071 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39072 rescue command.
39073 (grub_cmdline_run): New function.
39074 (grub_normal_reader_init): Likewise.
39075 (grub_normal_read_line): Likewise.
39076 (grub_env_write_pager): Likewise.
39077 (cmdline): New variable.
39078 (grub_normal_reader): Likewise.
39079 (GRUB_MOD_INIT): Register normal reader and set as current, register
39080 pager hook, register normal command with grub_register_command_prio,
39081 so that it won't show up in command.lst.
39082 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39083 grub_fs_autoload_hook.
39084
39085 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39086 (grub_menu_execute_entry): Replace grub_script_execute with
39087 grub_parser_execute, change parameter to grub_command_execute.
39088
39089 * normal/menu_text.c: Remove <grub/script.h>.
39090
39091 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39092 and <grub/parser.h>.
39093 (run): Change editor_getline to use new parser interface. Change
39094 parameter to grub_command_execute.
39095
39096 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39097 <grub/reader.h> and <grub/parser.h>.
39098 (grub_load_normal_mode): Execute normal command.
39099 (grub_main): Call grub_register_core_commands,
39100 grub_register_rescue_parser and grub_register_rescue_reader, use
39101 grub_reader_loop to enter input loop.
39102
7dd4a573 39103 * kern/parser.c (grub_parser_split_cmdline): Change type of
39104 getline parameter.
d558e6b5 39105 (grub_parser_class): New variable.
39106 (grub_parser_execute): New function.
39107
39108 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39109 * loader/multiboot2.c: Likewise.
39110 * loader/sparc64/ieee1275/linux.c: Likewise.
39111
39112 * util/grub-emu.c (read_command_list): New dummy function.
39113
18db813d 391142009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39115
39116 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39117 count to 16 for CCISS and IDA.
39118
6c67de15 391192009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39120
39121 * normal/menu_text.c (grub_wait_after_message): Print a newline
39122 after waiting for user input.
39123
39124 * loader/i386/linux.c: Include `<grub/normal.h>'.
39125 (grub_cmd_linux): Improve the error message about `ask' mode, by
39126 waiting for user input so it's not missed (we can do this, since
39127 user requested interaction).
39128
d9dc87b0 391292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39130
39131 Added missing lst to grub-mkrescue
39132
39133 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39134 and ${input_dir}/parttool.lst
39135
ac8a2baa 391362009-04-30 David S. Miller <davem@davemloft.net>
39137
ad22a610 39138 * util/hostdisk.c (device_is_wholedisk): New function.
39139 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39140 zero only if device_is_wholedisk() returns true.
39141
6966215d 39142 * util/hostdisk.c (convert_system_partition_to_system_disk):
39143 Handle virtual disk devices named /dev/vdiskX as found on sparc
39144 and powerpc.
39145
ac8a2baa 39146 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39147 lettered partition specifier is found, convert to numbered.
39148
979b4fb4 391492009-04-29 David S. Miller <davem@davemloft.net>
39150
e2bf39b2 39151 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39152 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39153
3c64e104 39154 * normal/command.c: Add missing newline at end of file.
39155
979b4fb4 39156 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39157 warnings.
39158 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39159 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39160 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39161 ihandles have a 32-bit type but need to be stored in a "void *".
39162
136d9f82 391632009-04-28 Pavel Roskin <proski@gnu.org>
39164
9459c306 39165 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39166 not disk. Adjust all dependencies.
2e08a26a 39167 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 39168 grub_disk_close().
39169
136d9f82 39170 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39171 parent's partition, don't copy it by reference, as it gets freed
39172 on close.
39173
7dd4a573 391742009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 39175
39176 Preboot hooks support
39177
39178 * commands/boot.c (struct grub_preboot_t): new declaration
39179 (preboots_head): new variable
39180 (preboots_tail): likewise
39181 (grub_loader_register_preboot_hook): new function
39182 (grub_loader_unregister_preboot_hook): likewise
39183 (grub_loader_set): launch preboot hooks
39184 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39185 (grub_loader_register_preboot_hook): new declaration
39186 (grub_loader_unregister_preboot_hook): likewise
39187
5af922b5 391882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39189
39190 Warning fix
39191
7dd4a573 39192 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 39193 calling grub_dprintf
39194
a5562c30 391952009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39196
39197 Bug and warning fixes
39198
7dd4a573 39199 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 39200 declaration
39201 * commands/test.c (test_parse): fixed bug with file tests and corrected
39202 declaration of find_file
39203
4006f85c 392042009-04-26 Pavel Roskin <proski@gnu.org>
39205
39206 * Makefile.in: Don't install empty manual pages if help2man is
39207 missing. Use help2man option for output, not shell redirection.
39208
5c77c3de 392092009-04-26 David S. Miller <davem@davemloft.net>
39210
39211 * util/grub-mkdevicemap.c (make_device_map): Add missing
39212 NESTED_FUNC_ATTR to process_device().
39213
033b10a8 392142009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39215
39216 Test command
39217
39218 * commands/test.c: rewritten to use bash-like test
39219
e4343593 392202009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39221
39222 Parttool autoloading and improvements
39223
7dd4a573 39224 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 39225 (parttool.lst): new target
39226 * genmk.rb: generate parttool-*
39227 (CLEANFILES): add #{parttool}
39228 (PARTTOOLFILES): new variable
39229 * genparttoollist.sh: new file
7dd4a573 39230 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 39231 (grub_pcpart_type): likewise
39232 * commands/parttool.c (helpmsg): new variable
39233 (grub_cmd_parttool): output help if not enough arguments are supplied
39234 autoload modules
39235 (GRUB_MOD_INIT(parttool)): use helpmsg
39236
0d312500 392372009-04-24 David S. Miller <davem@davemloft.net>
39238
7dd4a573 39239 Avoiding opening same device multiple times in device iterator.
0d312500 39240
39241 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 39242 and use it to build a list of partitions in iterate_disk() and
0d312500 39243 iterate_partition().
39244
ac20caff 39245 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39246 on disk->data.
39247
0dcf7495 39248 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39249 grub_devalias_iterate() result instead of unconditional 0.
39250 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39251 Also, capture hook return value, either directly or via
39252 grub_children_iterate(), and propagate to caller.
39253 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39254 grub_children_iterate): Return value is now 'int' instead of
39255 'grub_err_t'.
39256 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39257 like a proper iterator, stopping when hooks return non-zero.
39258 (grub_devalias_iterate): Likewise.
39259
c8c08833 392602009-04-23 David S. Miller <davem@davemloft.net>
39261
39262 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39263
f01005a8 392642009-04-22 David S. Miller <davem@davemloft.net>
39265
39266 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39267 is larger than address_cells, use that value for address_cells too.
39268
4e8269da 39269 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39270 IEEE1275_MAX_PATH_LEN): Define.
39271 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39272 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39273 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39274 'devtype'. Explicitly NULL terminate devalias expansion.
39275
a1447506 39276 * util/sparc64/ieee1275/misc.c: New file.
39277 * util/sparc64/ieee1275/grub-setup.c: New file.
39278 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39279 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39280 * util/sparc64/ieee1275/grub-install.in: New file.
39281 * util/ieee1275/ofpath.c: New file.
39282 * util/ieee1275/devicemap.c: New file.
39283 * util/devicemap.c: New file.
39284 * util/deviceiter.c: New file.
39285 * kern/sparc64/ieee1275/init.c: New file.
39286 * include/grub/util/ofpath.h: New file.
39287 * include/grub/util/deviceiter.h: New file.
39288 * util/grub-mkdevicemap.c: Include deviceiter.h.
39289 Implement using grub_util_emit_devicemap_entry and
39290 grub_util_iterate_devices.
39291 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39292 util/devicemap.c into grub-mkdevicemap
39293 * conf/i386-efi.rmk: Likewise.
39294 * conf/i386-ieee1275.rmk: Likewise.
39295 * conf/i386-pc.rmk: Likewise.
39296 * conf/powerpc-ieee1275.rmk: Likewise.
39297 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39298 images and installation utilities. Build kernel as image
39299 instead of as elf binary. Use common rules as much as possible.
39300
7dd4a573 393012009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 39302
39303 Correct GPT definition
39304
7dd4a573 39305 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 39306 of "attrib" member
39307
c6c5219f 393082009-04-19 Felix Zielcke <fzielcke@z-51.de>
39309
39310 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39311
0552ff9f 393122009-04-19 David S. Miller <davem@davemloft.net>
39313
39314 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39315 (grub_rescue_cmd_linux): Rename to...
39316 (grub_cmd_linux): and fix prototype.
39317 (grub_rescue_cmd_initrd): Rename to...
39318 (grub_cmd_initrd): and fix prototype.
39319 (cmd_linux, cmd_initrd): New.
39320 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39321 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39322
d1a282fc 393232009-04-17 Pavel Roskin <proski@gnu.org>
39324
07c5039f 39325 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39326 format.
39327 (grub_ohci_transfer): Likewise.
39328
b012002d 39329 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39330
1bc09c35 39331 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39332 return without a value. Fix inconsistent indentation.
39333
e0ff9126 39334 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39335 match struct grub_fs.
39336
d1a282fc 39337 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39338 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39339 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39340 * commands/lspci.c (grub_lspci_iter): Likewise.
39341
a96df3f2 393422009-04-16 Bean <bean123ch@gmail.com>
39343
39344 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39345 value.
39346
41bb0fe9 393472009-04-15 Pavel Roskin <proski@gnu.org>
39348
39349 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39350 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39351 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39352 definitions.
39353
596c6970 393542009-04-15 Felix Zielcke <fzielcke@z-51.de>
39355
39356 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 39357 that no multiple data or metadata areas are supported and `Unknown
596c6970 39358 metadata header'.
39359
7dd4a573 393602009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 39361
39362 Move loader out of the kernel
39363
39364 * kern/loader.c: moved to ...
39365 * commands/boot.c: ... moved here
39366 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39367 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39368 * include/grub/kernel.h (grub_machine_fini): export
39369 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39370 (grub_loader_set): likewise
39371 (grub_loader_unset): likewise
39372 (grub_loader_boot): likewise
39373 * conf/common.rmk: new module boot.mod
39374 (pkglib_MODULES): add boot.mod
39375 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39376 (grub_emu_SOURCES): likewise
39377 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39378 (grub_emu_SOURCES): likewise
39379 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39380 (grub_emu_SOURCES): likewise
39381 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39382 (grub_emu_SOURCES): likewise
39383 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39384 (grub_emu_SOURCES): likewise
7dd4a573 39385 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39386 (grub_emu_SOURCES): likewise
0d5d5653 39387 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 39388 (grub_emu_SOURCES): likewise
0d5d5653 39389
7dd4a573 393902009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 39391
39392 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 39393
5999d619 39394 * kern/misc.c (grub_itoa): Removed function
39395 (grub_ltoa): likewise
39396 (grub_vsprintf): use grub_lltoa
39397
7dd4a573 393982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 39399
39400 Restore grub-emu
39401
39402 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39403 * conf/i386-coreboot.rmk: likewise
39404 * conf/i386-ieee1275.rmk: likewise
39405 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39406
20318222 394072009-04-15 Felix Zielcke <fzielcke@z-51.de>
39408
39409 * INSTALL: Add that `./autogen.sh' needs to be run before
39410 `./configure.'.
39411
d05f0df3 394122009-04-14 Bean <bean123ch@gmail.com>
39413
39414 * Makefile.in (pkglib_DATA): Add handler.lst.
39415 (handler.lst): New rule.
39416
39417 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39418 * conf/i386-coreboot.rmk: Likewise.
39419 * conf/i386-ieee1275.rmk: Likewise.
39420 * conf/i386-efi.rmk: Likewise.
39421 * conf/x86_64-efi.rmk: Likewise.
39422 * conf/powerpc-ieee1275.rmk: Likewise.
39423 * conf/sparc64-ieee1275.rmk: Likewise.
39424
39425 * genhandlerlist.sh: New file.
39426
39427 * genmk.rb: Add rules to generate handler.lst.
39428
39429 * include/grub/normal.h (grub_file_getline): New function definition.
39430 (read_handler_list): Likewise.
39431 (free_handler_list): Likewise.
39432
39433 * include/grub/term.h (grub_term_register_input): Add name parameter
39434 for auto generation of handler.lst.
39435 (grub_term_register_output): Likewise.
39436
39437 * normal/handler.c: New file.
39438
39439 * normal/main.c (get_line): Renamed to grub_file_getline.
39440 (read_config_file): Use the newly renamed grub_file_getline.
39441 (read_command_list): Likewise.
39442 (read_fs_list): Likewise.
39443 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39444 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39445
39446 * term/efi/console.c (grub_console_init): Add name parameter for auto
39447 generation of handler.lst.
39448 * term/gfxterm.c: Likewise.
39449 * term/i386/pc/at_keyboard.c: Likewise.
39450 * term/i386/pc/console.c: Likewise.
39451 * term/i386/pc/serial.c: Likewise.
39452 * term/i386/pc/vesafb.c: Likewise.
39453 * term/i386/pc/vga.c: Likewise.
39454 * term/i386/pc/vga_text.c: Likewise.
39455 * term/ieee1275/ofconsole.c: Likewise.
39456 * term/usb_keyboard.c: Likewise.
39457
33c846be 394582009-04-14 Bean <bean123ch@gmail.com>
39459
39460 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39461 properly with null character.
39462
4484e01e 394632009-04-14 Felix Zielcke <fzielcke@z-51.de>
39464
39465 * configure: Remove.
39466 * config.h.in: Likewise.
f93d668e 39467 * stamp-h.in: Likewise.
4484e01e 39468 * DISTLIST: Likewise.
39469 * conf/common.mk: Likewise.
39470 * conf/i386-coreboot.mk: Likewise.
39471 * conf/i386-efi.mk: Likewise.
39472 * conf/i386-ieee1275.mk: Likewise.
39473 * conf/i386.mk: Likewise.
39474 * conf/i386-pc.mk: Likewise.
39475 * conf/powerpc-ieee1275.mk: Likewise.
39476 * conf/sparc64-ieee1275.mk: Likewise.
39477 * conf/x86_64-efi.mk: Likewise.
39478
39479 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39480 develop on GRUB.
39481
7dd4a573 394822009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 39483 David S. Miller <davem@davemloft.net>
39484
39485 * util/hostdisk.c (make_device_name): Fix buffer length
39486 calculations.
39487
e25b5a8c 394882009-04-14 Felix Zielcke <fzielcke@z-51.de>
39489
39490 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39491 <sys/param.h> and <sys/sysctl.h>.
39492 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39493 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39494 opening the device and reset them afterwards.
39495
1f1f580c 394962009-04-13 Pavel Roskin <proski@gnu.org>
39497
39498 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39499 Reported by John Stanley <jpsinthemix@verizon.net>
39500
7ebc2d6b 395012009-04-13 Robert Millan <rmh@aybabtu.com>
39502
39503 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39504 that name for menuentries when appropriate.
7ebc2d6b 39505
d8ba3667 395062009-04-13 Felix Zielcke <fzielcke@z-51.de>
39507
39508 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39509
cba416eb 395102009-04-13 Robert Millan <rmh@aybabtu.com>
39511
39512 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39513 to Linux, simply abort telling the user it's no longer supported.
39514
a547a745 395152009-04-13 Felix Zielcke <fzielcke@z-51.de>
39516
39517 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39518 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39519 `freebsd_loadenv' only when devices.hints exist.
39520
232a769c 395212009-04-13 Pavel Roskin <proski@gnu.org>
39522
39523 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39524
c3012039 395252009-04-13 Felix Zielcke <fzielcke@z-51.de>
39526
39527 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39528 partition number.
39529 (grub_drive): Likewise.
39530
234022fe 395312009-04-13 David S. Miller <davem@davemloft.net>
39532
39533 * kern/sparc64/ieee1275/ieee1275.c: New file.
39534 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39535 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39536 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39537 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39538 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39539 grub_ieee1275_alloc_physmem): Declare new exported functions.
39540
d8e1836c 39541 * include/grub/sparc64/ieee1275/loader.h: New file.
39542 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39543 * include/grub/sparc64/kernel.h: Likewise.
39544 * loader/sparc64/ieee1275/linux.c: Likewise.
39545
96bd81ec 39546 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39547 (grub_fstest_SOURCES): Likewise.
39548
6a4737e5 39549 * util/hostdisk.c (make_device_name): Do not make any assumptions
39550 about the length of drive names.
39551
1d7a72fd 39552 * kern/dl.c (grub_dl_load_file): Close file immediately when
39553 we are done using it.
39554
56bc2471 395552009-04-12 David S. Miller <davem@davemloft.net>
39556
39557 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39558 values. Noticed by Pavel Roskin.
39559
df38d0bb 39560 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39561 target compiler.
7dd4a573 39562
e382e93a 39563 * genmk.rb: Add more flexible image type specification, also
39564 pass --strip-unneeded to objcopy.
39565 * conf/i386-pc.rmk: Use *_FORMAT.
39566 * conf/i386-pc.mk: Rebuilt.
39567
f5dbbca9 39568 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39569 (OFDISK_HASH_SZ): Define.
39570 (ofdisk_hash): New hash table.
39571 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39572 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39573 instead of device phandle which is not unique.
39574
91c88b12 39575 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39576 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39577 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39578 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39579 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39580 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39581 GRUB_KERNEL_MACHINE_DATA_END): Define.
39582 (grub_kernel_image_size, grub_total_module_size): Declare.
39583
5b5d4aa5 395842009-04-12 Pavel Roskin <proski@gnu.org>
39585
7dd4a573 39586 * configure.ac: Change the logic when we check for target tools.
39587 Do it when the target is specified and it's different from the
39588 specified value of the host.
5b5d4aa5 39589
c91e1793 395902009-04-11 Felix Zielcke <fzielcke@z-51.de>
39591
39592 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39593 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39594 GNU/kFreeBSD. Check if a device is a character device. Use
39595 DIOCGMEDIASIZE to get the size.
39596 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39597 support for GNU/kFreeBSD.
39598 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39599 is a character device instead of a block device. Add support for
39600 FreeBSD device names.
39601
39602 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39603 is a character device instead of a block device.
39604
39605 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39606 is a character device instead of a block device.
39607
b1ac8644 396082009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39609
39610 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39611 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39612 FreeBSD. Check if a device is a character device. Use
39613 DIOCGMEDIASIZE to get the size.
39614 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39615 support for FreeBSD.
39616 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39617 is a character device instead of a block device. Add support for
39618 FreeBSD device names.
39619
39620 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39621 a character device instead of a block device.
39622 (grub_util_check_char_device): New function.
39623
39624 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39625 a character device instead of a block device.
39626
39627 * include/grub/util/getroot.h (grub_util_check_char_device): New
39628 prototype.
39629
a3f7515a 396302009-04-11 David S. Miller <davem@davemloft.net>
39631
39632 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39633 static libgcc.
39634 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39635 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39636 function, if present.
39637 (__bswapdi2): Likewise.
39638
0d44993d 39639 * include/grub/sparc64/ieee1275/boot.h: New file.
39640 * boot/sparc64/ieee1275/boot.S: Likewise.
39641 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39642
ed3d2bc2 39643 * kern/misc.c (grub_ltoa): New function.
39644 (grub_vsprintf): Use it to format 'long' integers.
39645
d3bfb59c 396462009-04-10 David S. Miller <davem@davemloft.net>
39647
39648 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39649 slots are of type grub_ieee1275_cell_t.
39650 (grub_nand_read): Likewise.
39651 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39652 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39653 macros are used to compare values in arg/ret block of the call.
39654 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39655 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39656 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39657 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39658 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39659 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39660 grub_ieee1275_close, grub_ieee1275_set_property,
39661 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39662 grub_ieee1275_cell_t.
39663 * kern/ieee1275/openfw.c (grub_map): Likewise.
39664 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39665 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39666
450e2238 39667 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39668 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39669 (grub_devalias_iterate): Likewise.
39670
7dd4a573 396712009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39672
39673 UFS improvements
39674
39675 * fs/ufs.c (INODE_NBLOCKS): new definition
39676 (struct grub_ufs_dirent): added fields for non-BSD dirents
39677 (grub_ufs_get_file_block): fixed double indirect handling
39678 (grub_ufs_lookup_symlink): use more robust way to determine whether
39679 symlink is inline
39680 (grub_ufs_find_file): support for non-BSD dirents
39681 (grub_ufs_dir): support for non-BSD dirents
39682
e7e6862a 396832009-04-10 Bean <bean123ch@gnail.com>
39684
39685 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39686 attribute, otherwise the size would be wrong for i386 platform.
39687
39688 * include/grub/pci.h (grub_pci_read_word): New inline function.
39689 (grub_pci_read_byte): Likewise.
39690 (grub_pci_write): Likewise.
39691 (grub_pci_write_word): Likewise.
39692 (grub_pci_write_byte): Likewise.
39693
39694 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39695
39696 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39697 (find_framebuf): Scan pci to locate the frame buffer address.
39698
39699 * commands/efi/fixvideo.c: New file.
39700
39701 * commands/efi/loadbios.c: Likewise.
39702
39703 * commands/memrw.c: Likewise.
39704
39705 * util/grub-dumpbios.in: Likewise.
39706
39707 * conf/common.rmk (grub-dumpbios): New utility.
39708 (pkglib_MODULES): New module memrw.mod.
39709 (memrw_mod_SOURCE): New macro.
39710 (memrw_mod_CFLAGS): Likewise.
39711 (memrw_mod_LDFLAGS): Likewise.
39712
7dd4a573 39713 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39714 fixvideo.mod.
39715 (loadbios_mod_SOURCE): New macro.
39716 (loadbios_mod_CFLAGS): Likewise.
39717 (loadbios_mod_LDFLAGS): Likewise.
39718 (fixvideo_mod_SOURCE): Likewise.
39719 (fixvideo_mod_CFLAGS): Likewise.
39720 (fixvideo_mod_LDFLAGS): Likewise.
39721
7dd4a573 39722 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39723 fixvideo.mod.
39724 (loadbios_mod_SOURCE): New macro.
39725 (loadbios_mod_CFLAGS): Likewise.
39726 (loadbios_mod_LDFLAGS): Likewise.
39727 (fixvideo_mod_SOURCE): Likewise.
39728 (fixvideo_mod_CFLAGS): Likewise.
39729 (fixvideo_mod_LDFLAGS): Likewise.
39730
af63ada2 397312009-04-08 Felix Zielcke <fzielcke@z-51.de>
39732
39733 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39734
c2cdde70 397352009-04-07 David S. Miller <davem@davemloft.net>
39736
39737 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39738 support for R_SPARC_OLO10 relocations. Fix compile warning for
39739 R_SPARC_WDISP30 case.
ea3f72cf 39740 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39741
761319cf 397422009-04-06 Pavel Roskin <proski@gnu.org>
39743
1007d1f5 39744 * include/grub/misc.h (ARRAY_SIZE): New macro.
39745 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39746 New macro.
39747 * loader/i386/linux.c (allocate_pages): Use free_pages().
39748 (grub_linux_unload): Don't use free_pages().
39749 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39750 wrong index. Treat all other modes as text modes.
39751 (grub_cmd_linux): Initialize vid_mode unconditionally to
39752 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39753
761319cf 39754 * commands/help.c (print_command_help): Use cmd->prio, not
39755 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39756
ea761d40 397572009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39758
ea761d40 39759 Parttool
39760
39761 * parttool/pcpart.c: new file
39762 * commands/parttool.c: likewise
39763 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39764 (parttool_mod_SOURCES): new variable
39765 (parttool_mod_CFLAGS): likewise
39766 (parttool_mod_LDFLAGS): likewise
39767 (pcpart_mod_SOURCES): likewise
39768 (pcpart_mod_CFLAGS): likewise
39769 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39771 and parttool/pcpart.c
39772 * conf/i386-efi.rmk: likewise
39773 * conf/i386-ieee1275.rmk: likewise
39774 * conf/i386-pc.rmk: likewise
39775 * conf/powerpc-ieee1275.rmk: likewise
39776 * conf/sparc64-ieee1275.rmk: likewise
39777 * conf/x86_64-ieee1275.rmk: likewise
39778
05aaebfb 397792009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39780
39781 Support for mtime and further expandability of dir command
39782
39783 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39784 * include/grub/datetime.h: ... moved here and added
05aaebfb 39785 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39786 * include/grub/fs.h: new syntax for dir and mtime functions in
39787 struct grub_fs
05aaebfb 39788 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39789 and GRUB_FSHELP_FLAGS_MASK
39790 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39791 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39792 (grub_ext2_mtime): new function
39793 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39794 (grub_hfsplus_mtime): new function
39795 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39796 (GRUB_UFS_ATTR_FILE): likewise
39797 (GRUB_UFS_ATTR_LNK): likewise
39798 (struct grub_ufs_sblock): new fields mtime
39799 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39800 all users updated
39801 (grub_ufs_dir): mtime support
39802 (grub_ufs_mtime): new function
39803 * fs/affs.c (grub_affs_dir): use new dir syntax
39804 * fs/afs.c (grub_afs_dir): likewise
39805 * fs/cpio.c (grub_cpio_dir): likewise
39806 * fs/fat.c (grub_fat_find_dir): likewise
39807 * fs/hfs.c (grub_hfs_dir): likewise
39808 * fs/iso9660.c (grub_iso9660_dir): likewise
39809 * fs/jfs.c (grub_jfs_dir): likewise
39810 * fs/minix.c (grub_minix_dir): likewise
39811 * fs/ntfs.c (grub_ntfs_dir): likewise
39812 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39813 * fs/sfs.c (grub_sfs_dir): likewise
39814 * fs/xfs.c (grub_xfs_dir): likewise
39815 * util/hostfs.c (grub_hostfs_dir): likewise
39816 * lib/datetime.c: moved to ...
39817 * normal/datetime.c: ... moved here
39818 (grub_unixtime2datetime): new function
39819 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39820 * normal/completion.c (iterate_dir): use new dir syntax
39821 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39822 last modification time of a volume
7dd4a573 39823 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39824 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39825 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39826 (normal_mod_SOURCES): likewise
39827 (datetime_mod_SOURCES): Removed lib/datetime.c
39828 * conf/i386-efi.rmk: likewise
7dd4a573 39829 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39830 * conf/i386-pc.rmk: likewise
39831 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39832 * conf/sparc64-ieee1275.rmk: likewise
39833 * conf/x86_64-efi.rmk: likewise
05aaebfb 39834
8a7e1a14 398352009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39836
39837 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39838
39839 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39840 on grub_fat_find_dir
39841 (grub_fat_find_dir): use grub_fat_iterate_dir
39842 (grub_fat_label): likewise
39843
04186a9c 398442009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39845
7dd4a573 39846 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39847 and command.h
39848 remove extraneous kernel_elf_HEADERS
39849
da4c0bb6 398502009-04-04 Bean <bean123ch@gnail.com>
39851
39852 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39853
39854 * util/misc.c: Likewise.
39855
54ad9555 398562009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39857
39858 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39859 instead of grub_printf.
39860
7a6bf9f2 398612009-04-03 Robert Millan <rmh@aybabtu.com>
39862
39863 * loader/i386/linux.c (grub_linux_setup_video): Fill
39864 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39865 values from `mode info' structure instead of hardcoded
39866 values.
39867
3fcc2083 398682009-04-01 Pavel Roskin <proski@gnu.org>
39869
39870 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39871 unused now.
39872 * genmk.rb: Likewise.
39873 * configure.ac: Likewise.
39874
5ec9740b 398752009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39876
39877 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39878 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39879
5270cec8 398802009-04-01 David S. Miller <davem@davemloft.net>
39881
39882 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39883 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39884 (grub_setjmp): Mark with 'returns_twice' attribute.
39885 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39886 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39887 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39888
9c3dd854 398892009-04-01 Robert Millan <rmh@aybabtu.com>
39890
39891 Reapply fix from 2008-07-28 which was accidentally reverted; also
39892 perform the same fix to a similar check in same function.
39893
39894 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39895 with the same number are found, just use issue a warning with
39896 grub_dprintf(), as this error has been reported to be non-fatal.
39897
0d818b7e 398982009-03-31 Pavel Roskin <proski@gnu.org>
39899
39900 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39901 for cross-compilation.
39902
95646d92 399032009-03-30 Robert Millan <rmh@aybabtu.com>
39904
39905 Fix i386-ieee1275 build.
39906
39907 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39908 Remove declaration.
39909
6a003ed1 399102009-03-30 Pavel Roskin <proski@gnu.org>
39911
39912 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39913 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39914 zero-terminated, rely only on the strlen value. Fix comparison
39915 of strings differing in length.
39916
92f33540 399172009-03-30 Robert Millan <rmh@aybabtu.com>
39918
39919 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39920 checking for abi version. Improve error messages on BIOS to notify
39921 user about `linux16' command.
39922
a8c48fd5 399232009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39924
f968172e 39925 Leak fixes
a8c48fd5 39926
f968172e 39927 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39928 in case of collision
39929 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39930
9c323f09 399312009-03-29 Robert Millan <rmh@aybabtu.com>
39932
39933 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39934 set `vid_mode' accordingly.
39935 (grub_linux_boot): Process `vid_mode' and set video mode.
39936
ae68f423 399372009-03-29 Robert Millan <rmh@aybabtu.com>
39938
39939 * util/grub.d/10_linux.in (linux_entry): New function.
39940 Factorize generation of Linux boot entries.
39941
5709cfc4 399422009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39943
39944 Make the format of Environment Block plain text. The boot loader
39945 part is not tested well yet.
7dd4a573 39946
5709cfc4 39947 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39948 (buffer): Removed.
39949 (envblk): Likewise.
39950 (usage): Remove "info" and "clear". Add "unset". Update the
39951 description of "set", as this does not delete variables any
39952 longer.
39953 (create_envblk_file): Complete rewrite.
39954 (open_envblk_file): Likewise.
39955 (cmd_info): Removed.
39956 (cmd_list): Likewise.
39957 (cmd_set): Likewise.
39958 (cmd_clear): Likewise.
39959 (list_variables): New function.
39960 (write_envblk): Likewise.
39961 (set_variables): Likewise.
39962 (unset_variables): Likewise.
39963 (main): Complete rewrite.
39964
39965 * commands/loadenv.c (buffer): Removed.
39966 (envblk): Likewise.
39967 (open_envblk_file): New function.
39968 (read_envblk_file): Complete rewrite.
39969 (grub_cmd_load_env): Likewise.
39970 (grub_cmd_list_env): Likewise.
39971 (struct blocklist): New struct.
39972 (free_blocklists): New function.
39973 (check_blocklists): Likewise.
39974 (write_blocklists): Likewise.
39975 (grub_cmd_save_env): Complete rewrite.
39976
39977 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39978 a plain text signature.
39979 (GRUB_ENVBLK_MAXLEN): Removed.
39980 (struct grub_envblk): Complete rewrite.
39981 (grub_envblk_find): Removed.
39982 (grub_envblk_insert): Likewise.
39983 (grub_envblk_open): New prototype.
39984 (grub_envblk_set): Likewise.
39985 (grub_envblk_delete): Put const to VALUE.
39986 (grub_envblk_iterate): Put const to NAME and VALUE.
39987 (grub_envblk_close): New prototype.
39988 (grub_envblk_buffer): New inline function.
39989 (grub_envblk_size): Likewise.
39990
39991 * lib/envblk.c: Include grub/mm.h.
39992 (grub_env_find): Removed.
39993 (grub_envblk_open): New function.
39994 (grub_envblk_close): Likewise.
39995 (escaped_value_len): Likewise.
39996 (find_next_line): Likewise.
39997 (grub_envblk_insert): Removed.
39998 (grub_envblk_set): New function.
39999 (grub_envblk_delete): Complete rewrite.
40000 (grub_envblk_iterate): Likewise.
40001
a9368fd3 400022009-03-28 Robert Millan <rmh@aybabtu.com>
40003
40004 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40005 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40006 variables. Use 16-bit loader.
40007 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40008 loader.
40009 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40010 (grub_linux16_boot): ... this. Update all users.
40011 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40012 (grub_linux_boot): ... this. Update all users.
40013
40014 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40015 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40016 commands to `linux16' and `initrd16'.
40017 (GRUB_MOD_FINI(linux)): Rename to ...
40018 (GRUB_MOD_FINI(linux16)): ... this.
40019
e4dd5a7e 400202009-03-24 Pavel Roskin <proski@gnu.org>
40021
40022 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40023 not just for compilation.
40024
c04d6e05 400252009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40026
40027 Move multiboot helper out of kernel
40028
40029 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40030 `loader/i386/multiboot_helper.S'.
40031 * conf/i386-coreboot.rmk: Likewise
40032 * conf/i386-ieee1275.rmk: Likewise
40033
40034 * kern/i386/loader.S: Move multiboot helpers from here...
40035 * loader/i386/multiboot_helper.S: ...moved here
40036 * include/grub/i386/loader.h: Move declarations of multiboot
40037 helpers from here...
40038 * include/grub/i386/multiboot.h: ...moved here
40039 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40040
42a5b3fc 400412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40042
40043 * kern/env.c (grub_env_context_open): Added an argument to specify
40044 whether a new context inherits exported variables from current
40045 one. This is useful when making a sandbox to interpret a config
40046 file.
40047 All callers updated.
40048
40049 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40050
b28bbc4e 400512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40052
40053 * kern/env.c (grub_env_context_close): Fix memory leaks.
40054
f04f02e4 400552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40056
40057 * normal/main.c (grub_normal_execute): Added an argument
40058 BATCH to specify if an interactive interface should be provided
40059 after reading a config file.
40060 All callers updated.
40061 (read_command_list): Prevent being executed twice.
40062 (read_fs_list): Likewise.
40063
42a5b3fc 40064 * include/grub/normal.h (grub_normal_execute): Updated the
40065 prototype.
f04f02e4 40066
41473ac2 400672009-03-22 Pavel Roskin <proski@gno.org>
40068
fbc00b0c 40069 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40070 _start.
40071 * kern/i386/pc/startup.S: Likewise.
40072 * kern/i386/efi/startup.S: Likewise.
40073 * kern/i386/ieee1275/startup.S: Likewise.
40074 * kern/i386/coreboot/startup.S: Likewise.
40075 * kern/x86_64/efi/startup.S: Likewise.
40076
41473ac2 40077 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40078 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40079 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40080
2274cc8f 400812009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40082
40083 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40084
40085 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40086 limit detection.
40087 Use vaddr of correct segment for entry_point.
40088
b1b797cb 400892009-03-21 Bean <bean123ch@gmail.com>
40090
40091 * commands/blocklist.c: Add include file <grub/command.h>, remove
40092 <grub/normal.h> and <grub/arg.h>.
40093 (grub_cmd_blocklist): Use the new command interface.
40094 (GRUB_MOD_INIT): Likewise.
40095 (GRUB_MOD_FINI): Likewise.
40096 * commands/boot.c: Likewise.
40097 * commands/cat.c: Likewise.
40098 * commands/cmp.c: Likewise.
40099 * commands/configfile.c: Likewise.
40100 * commands/crc.c: Likewise.
40101 * commands/echo.c: Likewise.
40102 * commands/halt.c: Likewise.
40103 * commands/handler.c: Likewise.
40104 * commands/hdparm.c: Likewise.
40105 * commands/help.c: Likewise.
40106 * commands/hexdump.c: Likewise.
40107 * commands/loadenv.c: Likewise.
40108 * commands/ls.c: Likewise.
40109 * commands/lsmmap.c: Likewise.
40110 * commands/lspci.c: Likewise.
40111 * commands/loadenv.c: Likewise.
40112 * commands/read.c: Likewise.
40113 * commands/reboot.c: Likewise.
40114 * commands/search.c: Likewise.
40115 * commands/sleep.c: Likewise.
40116 * commands/test.c: Likewise.
40117 * commands/usbtest.c: Likewise.
40118 * commands/videotest.c: Likewise.
40119 * commands/i386/cpuid.c: Likewise.
40120 * commands/i386/pc/halt.c: Likewise.
40121 * commands/i386/pc/play.c: Likewise.
40122 * commands/i386/pc/pxecmd.c: Likewise.
40123 * commands/i386/pc/vbeinfo.c: Likewise.
40124 * commands/i386/pc/vbetest.c: Likewise.
40125 * commands/ieee1275/suspend.c: Likewise.
40126 * disk/loopback.c: Likewise.
40127 * font/font_cmd.c: Likewise.
40128 * hello/hello.c: Likewise.
40129 * loader/efi/appleloader.c: Likewise.
40130 * loader/efi/chainloader.c: Likewise.
40131 * loader/i386/bsd.c: Likewise.
40132 * loader/i386/efi/linux.c: Likewise.
40133 * loader/i386/ieee1275/linux.c: Likewise.
40134 * loader/i386/linux.c: Likewise.
40135 * loader/i386/pc/chainloader.c: Likewise.
40136 * loader/i386/pc/linux.c: Likewise.
40137 * loader/powerpc/ieee1275/linux.c: Likewise.
40138 * loader/multiboot_loader.c: Likewise.
40139 * term/gfxterm.c: Likewise.
40140 * term/i386/pc/serial.c: Likewise.
40141 * term/terminfo.c: Likewise.
40142
40143 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40144 * term/i386/pc/vga.c: Likewise.
40145 * video/readers/jpeg.c: Likewise.
40146 * video/readers/png.c: Likewise.
40147 * video/readers/tga.c: Likewise.
40148
40149 * util/grub-fstest (cmd_loopback): Removed.
40150 (cmd_blocklist): Likewise.
40151 (cmd_ls): Likewise.
40152 (grub_register_command): Likewise.
40153 (grub_unregister_command): Likewise.
40154 (execute_command): Use grub_command_find to locate command and execute
40155 it.
40156
40157 * include/grub/efi/chainloader.h: Removed.
40158 * loader/efi/chainloader_normal.c: Likewise.
40159 * loader/i386/bsd_normal.c: Likewise.
40160 * loader/i386/pc/chainloader_normal.c: Likewise.
40161 * loader/i386/pc/multiboot_normal.c: Likewise.
40162 * loader/linux_normal.c: Likewise.
40163 * loader/multiboot_loader_normal.c: Likewise.
40164 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40165
40166 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40167 and grub_register_command_p1.
40168
40169 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40170 kern/command.c, lib/arg.c and commands/extcmd.c.
40171 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40172 (minicmd_mod_SOURCES): New variable.
40173 (minicmd_mod_CFLAGS): Likewise.
40174 (minicmd_mod_LDFLAGS): Likewise.
40175 (extcmd_mod_SOURCES): Likewise.
40176 (extcmd_mod_CFLAGS): Likewise.
40177 (extcmd_mod_LDFLAGS): Likewise.
40178 (boot_mod_SOURCES): Removed.
40179 (boot_mod_CFLAGS): Likewise.
40180 (boot_mod_LDFLAGS): Likewise.
40181
40182 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40183 kern/corecmd.c.
40184 (kernel_img_HEADERS): Add command.h.
40185 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40186 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40187 and lib/arg.c.
40188 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40189 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40190 remove the corresponding normal mode command.
40191 (normal_mod_SOURCES): Remove normal/arg.c.
40192 * conf/i386-coreboot.rmk: Likewise.
40193 * conf/i386-efi.rmk: Likewise.
40194 * conf/i386-ieee1275.rmk: Likewise.
40195 * conf/powerpc-ieee1275.rmk: Likewise.
40196 * conf/x86_64-efi.rmk: Likewise.
40197
40198 * include/grub/arg.h: Move from here ...
40199 * include/grub/lib/arg.h: ... to here.
40200
40201 * normal/arg.c: Move from here ...
40202 * lib/arg.c: ... to here.
40203
40204 * commands/extcmd.c: New file.
40205 * commands/minicmd.c: Likewise.
40206 * include/grub/command.h: Likewise.
40207 * include/grub/extcmd.h: Likewise.
40208 * kern/command.c: Likewise.
40209 * kern/corecmd.c: Likewise.
40210
40211 * kern/list.c (grub_list_iterate): Return int instead of void.
40212 (grub_list_insert): New function.
40213 (grub_prio_list_insert): Likewise.
40214
40215 * kern/rescue.c (grub_rescue_command): Removed.
40216 (grub_rescue_command_list): Likewise.
40217 (grub_rescue_register_command): Likewise.
40218 (grub_rescue_unregister_command): Likewise.
40219 (grub_rescue_cmd_boot): Move to minicmd.c
40220 (grub_rescue_cmd_help): Likewise.
40221 (grub_rescue_cmd_info): Likewise.
40222 (grub_rescue_cmd_boot): Likewise.
40223 (grub_rescue_cmd_testload): Likewise.
40224 (grub_rescue_cmd_dump): Likewise.
40225 (grub_rescue_cmd_rmmod): Likewise.
40226 (grub_rescue_cmd_lsmod): Likewise.
40227 (grub_rescue_cmd_exit): Likewise.
40228 (grub_rescue_print_devices): Moved to corecmd.c.
40229 (grub_rescue_print_files): Likewise.
40230 (grub_rescue_cmd_ls): Likewise.
40231 (grub_rescue_cmd_insmod): Likewise.
40232 (grub_rescue_cmd_set): Likewise.
40233 (grub_rescue_cmd_unset): Likewise.
7d074e3c 40234 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 40235 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 40236 commands, remove grub_rescue_register_command calls.
b1b797cb 40237
7d074e3c 40238 * normal/command.c (grub_register_command): Removed.
b1b797cb 40239 (grub_unregister_command): Likewise.
40240 (grub_command_find): Likewise.
40241 (grub_iterate_commands): Likewise.
40242 (rescue_command): Likewise.
40243 (export_command): Moved to corecmd.c.
40244 (set_command): Removed.
40245 (unset_command): Likewise.
40246 (insmod_command): Likewise.
40247 (rmmod_command): Likewise.
40248 (lsmod_command): Likewise.
40249 (grub_command_init): Likewise.
40250
40251 * normal/completion.c (iterate_command): Use cmd->prio to check for
40252 active command.
40253 (complete_arguments): Use grub_extcmd_t structure to find options.
40254 (grub_normal_do_completion): Change function grub_iterate_commands to
40255 grub_command_iterate.
40256
40257 * normal/execute.c (grub_script_execute_cmd): No need to parse
40258 argument here.
40259
40260 * normal/main.c (grub_dyncmd_dispatcher): New function.
40261 (read_command_list): Register unload commands as dyncmd.
40262 (grub_cmd_normal): Use new command interface, register rescue,
40263 unregister normal at entry, register normal, unregister rescue at exit.
40264
40265 * include/grub/list.h (grub_list_test_t): New type.
40266 (grub_list_iterate): Return int instead of void.
40267 (grub_list_insert): New function.
40268 (GRUB_AS_NAMED_LIST_P): New macro.
40269 (GRUB_AS_PRIO_LIST): Likewise.
40270 (GRUB_AS_PRIO_LIST_P): Likewise.
40271 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40272 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40273 (grub_prio_list): New structure.
40274 (grub_prio_list_insert): New function.
40275 (grub_prio_list_remove): New inline function.
40276
40277 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40278 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40279 (GRUB_COMMAND_FLAG_MENU): Likewise.
40280 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40281 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40282 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40283 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40284 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40285 (grub_command): Likewise.
40286 (grub_register_command): Likewise.
40287 (grub_command_find): Likewise.
40288 (grub_iterate_commands): Likewise.
40289 (grub_command_init): Likewise.
40290 (grub_arg_parse): Likewise.
40291 (grub_arg_show_help): Likewise.
40292
40293 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40294 (grub_rescue_unregister_command): Likewise.
40295
40296 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40297 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40298 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40299
40300 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40301 grub_rescue_cmd_initrd.
40302 * include/grub/i386/loader.h: Likewise.
40303 * include/grub/x86_64/loader.h: Likewise.
40304
40305 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40306
1f4147aa 403072009-03-21 Bean <bean123ch@gmail.com>
40308
40309 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40310 instead of stat in mingw environment.
40311
40312 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40313
40314 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40315
40316 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40317 AC_CONFIG_LINKS.
40318
2156d5ba 403192009-03-21 Bean <bean123ch@gmail.com>
40320
40321 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40322 out of range error.
40323
177b82ca 403242009-03-18 Michel Dänzer <michel@daenzer.net>
40325
40326 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40327 checking inode flags for EXT4_EXTENTS_FLAG.
40328
14aad807 403292009-03-18 Robert Millan <rmh@aybabtu.com>
40330
40331 * loader/i386/linux.c: Include `<grub/video.h>' and
40332 `<grub/i386/pc/vbe.h>'..
40333 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40334 (grub_linux32_boot): Attempt to configure video settings with
40335 grub_linux_setup_video().
40336 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40337 to avoid grub_console_fini() which would step out of graphical mode
40338 unconditionally.
40339
8cf83a27 403402009-03-14 Robert Millan <rmh@aybabtu.com>
40341
40342 Fix build on powerpc.
40343 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40344
40164e75 403452009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40346
40347 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40348 background image command.
40349
c58bc32a 403502009-03-12 Colin D Bennett <colin@gibibit.com>
40351
40352 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40353 (grub_gfxterm_putchar): Extract pairs of identical calls to
40354 draw_cursor out of conditional blocks.
40355
5415144a 403562009-03-11 Pavel Roskin <proski@gnu.org>
40357
40358 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40359 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40360
6394042e 403612009-03-11 Robert Millan <rmh@aybabtu.com>
40362
40363 * loader/i386/multiboot_elfxx.c
40364 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40365
b7b50e5f 403662009-03-11 Felix Zielcke <fzielcke@z-51.de>
40367
40368 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40369 `kern/handler.c'.
40370
1ca7fc96 403712009-03-11 Robert Millan <rmh@aybabtu.com>
40372
40373 * loader/i386/multiboot.c (code_size): New variable.
40374 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 40375 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 40376 4-byte alignment to MBI and others by increasing
7d074e3c 40377 `boot_loader_name_length' appropriately.
1ca7fc96 40378
40379 * loader/i386/multiboot_elfxx.c
40380 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40381
a83ea1d2 403822009-03-09 Felix Zielcke <fzielcke@z-51.de>
40383
40384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40385 `fs/ext2.c'.
40386
aa9f3bff 403872009-03-08 Robert Millan <rmh@aybabtu.com>
40388
40389 Make loader/i386/linux.c usable on i386-pc again.
40390
40391 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40392 memory to heap.
40393 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40394 `#error' stanza.
40395
d8b3b60e 403962009-03-07 Bean <bean123ch@gmail.com>
40397
40398 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40399 allocation.
40400
b362c9e9 404012009-03-06 Robert Millan <rmh@aybabtu.com>
40402
40403 Fix display issue on terminals with screen size other than 80x25
40404 (e.g. gfxterm with resolution higher than 640x480).
40405
40406 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 40407 position relative to the center of the terminal instead of relying
b362c9e9 40408 on a hardcoded offset.
40409
9304eef1 404102009-03-04 Robert Millan <rmh@aybabtu.com>
40411
40412 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40413 installed.
40414
40415 * Makefile.in (host_kernel): New variable.
40416 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40417 scripts instead of just the windows one.
40418 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40419
eabc95fb 404202009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 40421
40422 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40423 `kern/handler.c'.
40424 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40425 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40426 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40428 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40430
ceb1223c 404312009-03-04 Felix Zielcke <fzielcke@z-51.de>
40432
40433 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40434 or if there's no space for the disk label and print the partition number on a
40435 invalid magic.
40436
4910684a 404372009-03-04 Felix Zielcke <fzielcke@z-51.de>
40438
40439 * util/misc.c: Include <time.h>.
40440 (grub_millisleep): New function.
40441
7e9ca17a 404422009-03-04 Bean <bean123ch@gmail.com>
40443
40444 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40445 another option -mno-red-zone.
40446
40447 * commands/handler.c: Change module description.
40448
40449 * kern/handler.c: Add missing space at the end of description line.
40450
40451 * kern/list.c: Likewise.
40452
f501677c 404532009-03-03 Robert Millan <rmh@aybabtu.com>
40454
40455 Move more components to the relocation area, and fix mbi pointer
40456 handling to use the destination rather than the origin (thanks to
40457 Vladimir Serbinenko for spotting).
40458
40459 * loader/i386/multiboot.c (mbi_dest): New variable.
40460 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40461 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40462 relocation area.
40463
9902d047 404642009-03-01 Bean <bean123ch@gmail.com>
40465
50fb7002 40466 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 40467 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40468 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40469 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40470
40471 * loader/i386/efi/linux.c (acpi_guid): New variable.
40472 (acpi_guid): Likewise.
40473 (EBDA_SEG_ADDR): New constant.
40474 (LOW_MEM_ADDR): Likewise.
40475 (FAKE_EBDA_SEG): Likewise.
40476 (fake_bios_data): New function.
40477 (grub_linux_boot): Call fake_bios_data.
40478
71b9f361 404792009-03-01 Bean <bean123ch@gmail.com>
40480
40481 * commands/terminal.c: Removed.
40482
40483 * commands/handler.c: New file.
40484
40485 * include/grub/list.h: Likewise.
40486
40487 * include/grub/handler.h: Likewise.
40488
40489 * kern/list.c: Likewise.
40490
40491 * kern/handler.c: Likewise.
40492
40493 * kern/term.h: Include header file <grub/handler.h>.
40494 (grub_term_input): Move next field to the beginning.
40495 (grub_term_output): Likewise.
40496 (grub_term_input_class): New variable.
40497 (grub_term_output_class): Likewise.
40498 (grub_term_register_input): Changed to inline function.
40499 (grub_term_register_output): Likewise.
40500 (grub_term_unregister_input): Likewise.
40501 (grub_term_unregister_output): Likewise.
40502 (grub_term_set_current_input): Likewise.
40503 (grub_term_set_current_output): Likewise.
40504 (grub_term_get_current_input): Likewise.
40505 (grub_term_get_current_output): Likewise.
40506 (grub_term_iterate_input): Removed.
40507 (grub_term_iterate_output): Likewise.
40508
40509 * kern/term.c (grub_term_list_input): Removed.
40510 (grub_term_list_output): Likewise.
40511 (grub_term_input_class): New variable.
40512 (grub_term_output_class): Likewise.
50fb7002 40513 (grub_cur_term_input): Change variable as macro.
71b9f361 40514 (grub_cur_term_output): Likewise.
40515 (grub_term_register_input): Removed.
40516 (grub_term_register_output): Likewise.
40517 (grub_term_unregister_input): Likewise.
40518 (grub_term_unregister_output): Likewise.
40519 (grub_term_set_current_input): Likewise.
40520 (grub_term_set_current_output): Likewise.
40521 (grub_term_iterate_input): Likewise.
40522 (grub_term_iterate_output): Likewise.
40523 (grub_term_get_current_input): Likewise.
40524 (grub_term_get_current_output): Likewise.
40525
40526 * util/grub-editenv.c: Include header file <grub/handler.h>.
40527 (grub_term_get_current_input): Removed.
40528 (grub_term_get_current_output): Likewise.
40529 (grub_term_input_class): New variable.
50fb7002 40530 (grub_term_output_class): Likewise.
71b9f361 40531
40532 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40533 (grub_term_get_current_output): Likewise.
40534 (grub_term_input_class): New variable.
50fb7002 40535 (grub_term_output_class): Likewise.
71b9f361 40536
40537 * util/grub-probe.c (grub_term_get_current_input): Removed.
40538 (grub_term_get_current_output): Likewise.
40539 (grub_term_input_class): New variable.
50fb7002 40540 (grub_term_output_class): Likewise.
71b9f361 40541
40542 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40543 (grub_term_get_current_output): Likewise.
40544 (grub_term_input_class): New variable.
50fb7002 40545 (grub_term_output_class): Likewise.
71b9f361 40546
40547 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40548 (terminal_mod_SOURCES): Likewise.
40549 (terminal_mod_CFLAGS): Likewise.
40550 (terminal_mod_LDFLAGS): Likewise.
40551
40552 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40553 handler.c.
40554 (kernel_img_SOURCES): Add list.c and handler.c.
40555 (kernel_img_HEADERS): Add list.h and handler.h.
40556
40557 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40558 handler.c.
40559 (kernel_mod_SOURCES): Add list.c and handler.c.
40560 (kernel_mod_HEADERS): Add list.h and handler.h.
40561
40562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40563 handler.c.
40564 (kernel_elf_SOURCES): Add list.c and handler.c.
40565 (kernel_elf_HEADERS): Add list.h and handler.h.
40566
40567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40568 handler.c.
40569 (kernel_elf_SOURCES): Add list.c and handler.c.
40570 (kernel_elf_HEADERS): Add list.h and handler.h.
40571
40572 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40573 handler.c.
40574 (kernel_mod_SOURCES): Add list.c and handler.c.
40575 (kernel_mod_HEADERS): Add list.h and handler.h.
40576
40577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40578 handler.c.
40579 (kernel_elf_SOURCES): Add list.c and handler.c.
40580 (kernel_elf_HEADERS): Add list.h and handler.h.
40581
8a31787f 405822009-02-27 Robert Millan <rmh@aybabtu.com>
40583
40584 Factorize elf32 / elf64 code in Multiboot loader. This will
40585 prevent it from getting out of sync again.
40586
40587 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40588 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40589 grub_multiboot_load_elf64): Move from here ...
40590 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40591 grub_multiboot_load_elf): ... to here (new file).
40592
51cd3dfc 405932009-02-27 Robert Millan <rmh@aybabtu.com>
40594
40595 * util/grub.d/10_linux.in: Rename "single-user mode" to
40596 "recovery mode".
40597
6e8c9c3a 405982009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40599
40600 Don't leak in SCSI code.
40601 * disk/scsi.c (grub_scsi_close): free `scsi'.
40602
4b6bf4f9 406032009-02-27 Robert Millan <rmh@aybabtu.com>
40604
40605 * loader/i386/pc/multiboot.c: Move from here ...
40606 * loader/i386/multiboot.c: ... to here. Update all users.
40607
b9413424 406082009-02-27 Robert Millan <rmh@aybabtu.com>
40609
40610 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40611 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40612
50fb7002 406132009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40614
40615 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40616 b-tree.
40617
8cc50345 406182009-02-27 Robert Millan <rmh@aybabtu.com>
40619
40620 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40621 `0x' qualifier as 0 when base is specified as parameter).
40622
6e09b8b7 406232009-02-24 Bean <bean123ch@gmail.com>
40624
40625 * configure.ac: Check for -mcmodel=large in x86_64 target.
40626
40627 * include/grub/efi/api.h (efi_call_10): New macro.
40628 (efi_wrap_10): New function.
40629
40630 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40631 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40632 (GRUB_PE32_REL_BASED_LOW): Likewise.
40633 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40634 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40635 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40636 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40637 (GRUB_PE32_REL_BASED_REL): Likewise.
40638 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40639 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40640 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40641
40642 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40643 issue.
40644
40645 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40646 (efi_wrap_10): New function.
40647
40648 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40649
40650 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40651 MB/MBP model (NV chipset).
40652 (devdata_devs): Add devpath_5 to the list.
40653
40654 * load/i386/efi/linux.c (video_base): Remove variable.
40655 (RGB_MASK): New macro.
40656 (RGB_MAGIC): Likewise.
40657 (LINE_MIN): Likewise.
40658 (LINE_MAX): Likewise.
40659 (FBTEST_STEP): Likewise.
40660 (FBTEST_COUNT): Likewise.
40661 (fb_list): New variable.
40662 (grub_find_video_card): Remove function.
40663 (find_framebuf): New function.
40664 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40665 line length.
40666
40667 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40668 problem for x86_64.
40669
74b21bee 406702009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40671
40672 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40673
40674 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40675 coding tool name.
40676
a455f472 406772009-02-22 Robert Millan <rmh@aybabtu.com>
40678
40679 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40680 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40681 in our relocation, instead of using it directly from heap. Also
40682 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40683
6374daf3 406842009-02-21 Robert Millan <rmh@aybabtu.com>
40685
40686 Implement USB keyboard support (based on patch by Marco Gerards)
40687
40688 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40689 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40690 (usb_keyboard_mod_LDFLAGS): New variables.
40691
40692 * term/usb_keyboard.c: New file.
40693
8fa4ea70 406942009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40695
40696 Corrected wrong declaration
40697
40698 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40699
353976ac 407002009-02-14 Christian Franke <franke@computer.org>
40701
40702 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40703 (grub_lspci_iter): Print class code and programming interface byte.
40704
6aa1169b 407052009-02-14 Christian Franke <franke@computer.org>
40706
40707 * gendistlist.sh: Ignore `.svn' directories.
40708
265372ca 407092009-02-14 Felix Zielcke <fzielcke@z-51.de>
40710
40711 * fs/fat.c: Add 2009 to Copyright line.
40712
9ff516f3 407132009-02-14 Christian Franke <franke@computer.org>
40714
40715 * commands/hdparm.c: New file. Provides `hdparm' command
40716 which sends ATA commands via grub_disk_ata_pass_through ().
40717
40718 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40719
40720 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40721 and <grub/cpu/io.h> to include/grub/ata.h.
40722 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40723 (GRUB_CDROM_SECTOR_SIZE): Remove.
40724 (GRUB_ATA_*): Move to include/grub/ata.h.
40725 (GRUB_ATAPI_*): Likewise.
40726 (enum grub_ata_commands): Likewise.
40727 (enum grub_ata_timeout_milliseconds): Likewise.
40728 (struct grub_ata_device): Likewise.
40729 (grub_ata_regset): Likewise.
40730 (grub_ata_regget): Likewise.
40731 (grub_ata_regset2): Likewise.
40732 (grub_ata_regget2): Likewise.
40733 (grub_ata_check_ready): Likewise.
40734 (grub_ata_wait_not_busy): Remove static, exported in
40735 include/grub/ata.h.
40736 (grub_ata_wait_drq): Likewise.
40737 (grub_ata_pio_read): Likewise.
40738
40739 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40740 function for hdparm.mod.
40741
40742 * include/grub/ata.h: New file, contains declarations from
40743 disk/ata.c.
40744 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40745
40746 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40747 (grub_disk_ata_pass_through): New exported variable.
40748
40749 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40750
772e23da 407512009-02-13 Colin D Bennett <colin@gibibit.com>
40752
40753 Support multiple fallback entries, and provide an API to support
40754 executing default+fallback menu entries. Renamed the `terminal' menu
40755 viewer to `text'.
40756
40757 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40758 variable declaration.
40759 (grub_menu_execute_callback): New structure declaration.
40760 (grub_menu_execute_callback_t): New typedef.
40761 (grub_menu_execute_with_fallback): New function declaration.
40762 (grub_menu_get_entry): Likewise.
40763 (grub_menu_get_timeout): Likewise.
40764 (grub_menu_set_timeout): Likewise.
40765
40766 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40767
40768 * normal/menu.c (grub_wait_after_message): Moved to
40769 `normal/menu_text.c'.
40770 (draw_border): Likewise.
40771 (print_message): Likewise.
40772 (print_entry): Likewise.
40773 (print_entries): Likewise.
40774 (grub_menu_init_page): Likewise.
40775 (get_entry_number): Likewise.
40776 (print_timeout): Likewise.
40777 (run_menu): Likewise.
40778 (grub_menu_execute_entry): Likewise.
40779 (show_text_menu): Likewise.
40780 (get_and_remove_first_entry_number): New function.
40781 (grub_menu_execute_with_fallback): Likewise.
40782 (get_entry): Renamed to ...
40783 (grub_menu_get_entry): .. this and made it global.
40784 (get_timeout): Renamed to ...
40785 (grub_menu_get_timeout): ... this and made it global.
40786 (set_timeout): Renamed to ...
40787 (grub_menu_set_timeout): ... this and made it global.
40788 (grub_normal_terminal_menu_viewer): Renamed to ...
40789 (grub_normal_text_menu_viewer): ... this.
40790
40791 * normal/menu_text.c: New file. Extracted text-menu-specific code
40792 from normal/menu.c.
40793
40794 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40795 (normal_mod_SOURCES): Likewise.
40796
40797 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40798 (normal_mod_SOURCES): Likewise.
40799
40800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40801 (normal_mod_SOURCES): Likewise.
40802
40803 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40804 (normal_mod_SOURCES): Likewise.
40805
40806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40807 (normal_mod_SOURCES): Likewise.
40808
40809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40810 (normal_mod_SOURCES): Likewise.
40811
40812 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40813 (normal_mod_SOURCES): Likewise.
40814
16ac430e 408152009-02-11 Robert Millan <rmh@aybabtu.com>
40816
40817 * util/grub.d/00_header.in: Update old reference to `font' command.
40818
06ff20fc 408192009-02-10 Felix Zielcke <fzielcke@z-51.de>
40820
40821 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40822
40823 Based on patch from Javier Martín.
40824
96da9407 408252009-02-09 Felix Zielcke <fzielcke@z-51.de>
40826
40827 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40828 to avoid false positives with FAT.
96da9407 40829 (grub_fstest_SOURCES): Likewise.
40830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40831 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40836
6dca6fe4 408372009-02-09 Felix Zielcke <fzielcke@z-51.de>
40838
06ff20fc 40839 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40840 bpb.version_specific.fat12_or_fat16.fstype and
40841 bpb.version_specific.fat32.fstype.
40842
2550c62f 408432009-02-08 Robert Millan <rmh@aybabtu.com>
40844
be110b30 40845 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40846
56978920 408472009-02-08 Robert Millan <rmh@aybabtu.com>
40848
40849 * Makefile.in (host_os, host_cpu): New variables.
40850 (target_os): Remove. Update all users.
40851
d64399b5 408522009-02-08 Marco Gerards <marco@gnu.org>
40853
40854 * Makefile.in (enable_grub_emu_usb): New variable.
40855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40856 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40857 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40858 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40859 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40860 `usbtest.mod' and `usbms.mod'.
40861 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40862 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40863 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40864 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40865 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40866 variables.
40867
40868 * disk/usbms.c: New file.
40869
40870 * include/grub/usb.h: Likewise.
40871
40872 * include/grub/usbtrans.h: Likewise.
40873
40874 * include/grub/usbdesc.h: Likewise.
40875
40876 * bus/usb/usbtrans.c: Likewise.
40877
40878 * bus/usb/ohci.c: Likewise.
40879
40880 * bus/usb/uhci.c: Likewise.
40881
40882 * bus/usb/usbhub.c: Likewise.
40883
40884 * bus/usb/usb.c: Likewise.
40885
40886 * commands/usbtest.c: Likewise.
40887
40888 * util/usb.c: Likewise.
50fb7002 40889
d64399b5 40890 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40891
40892 * configure.ac: Test for libusb presence.
50fb7002 40893
d64399b5 40894 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40895
2b40d6bb 408962009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40897
40898 * kern/mm.c: Add more comments.
40899
73a4ce81 409002009-02-08 Robert Millan <rmh@aybabtu.com>
40901
40902 Patch from Javier Martín.
40903 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40904 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40905
f821ce59 409062009-02-08 Robert Millan <rmh@aybabtu.com>
40907
40908 * fs/cpio.c: Split tar functionality to ...
40909 * fs/tar.c: ... here (new file). Update all users.
40910
aebfc4b0 409112009-02-07 Robert Millan <rmh@aybabtu.com>
40912
40913 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40914 backward-incompatible features.
40915
40916 Based on patch from Javier Martín, with some adjustments.
40917
50fb7002 409182009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40919
40920 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40921
0bb5115e 409222009-02-07 Robert Millan <rmh@aybabtu.com>
40923
40924 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40925 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40926 after the RAID stuff.
40927
38a0f8e7 409282009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40929
50fb7002 40930 Fixes problem when running vbetest command as reported by
38a0f8e7 40931 Vladimir Serbinenko <phcoder@gmail.com>.
40932
40933 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40934
3143cc1c 409352009-02-04 Felix Zielcke <fzielcke@z-51.de>
40936
40937 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40938 /dev/md/NpN style mdraid devices.
40939
9cba6fce 409402009-02-03 Felix Zielcke <fzielcke@z-51.de>
40941
40942 * util/unifont2pff.rb: Remove.
40943
e507a2c1 409442009-02-03 Felix Zielcke <fzielcke@z-51.de>
40945
40946 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40947 `#'.
40948
d2c2b4cd 409492009-02-03 Felix Zielcke <fzielcke@z-51.de>
40950
40951 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40953 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40954 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40958
b4315fb0 409592009-02-02 Christian Franke <franke@computer.org>
40960
40961 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40962
de3aa260 409632009-02-01 Felix Zielcke <fzielcke@z-51.de>
40964
7c3ff286 40965 * INSTALL: Note that we now require at least autoconf 2.59 and
40966 that LZO is optional.
de3aa260 40967
825a182b 409682009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40969
40970 Base on patch on bug #24154 created by Tomas Tintera
40971 <trosos@seznam.cz>.
40972
40973 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40974
a69ef770 409752009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40976
7c3ff286 40977 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40978 <bero@arklinux.org>.
40979
40980 * normal/parser.y (script_init): Add missing semicolon.
40981
6fa42fa6 409822009-01-31 Colin D Bennett <colin@gibibit.com>
40983
7c3ff286 40984 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40985 (free_menu_entry_classes): Added.
40986 (grub_normal_menu_addentry): Added class property handling.
40987 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40988 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40989
40990 * normal/menu_viewer.c: New file.
40991
40992 * normal/menu.c (run_menu_entry): Renamed to ...
40993 (grub_menu_execute_entry): ... this and made it as global.
40994 (grub_menu_run): Renamed to ...
40995 (show_text_menu): ... this and made it local.
40996 (show_text_menu): Adapt to new function names.
40997 (grub_normal_terminal_menu_viewer): New global variable.
40998
40999 * include/grub/menu.h: New file.
41000
41001 * include/grub/menu_viewer.h: New file.
41002
41003 * include/grub/normal.h: Added include to grub/menu.h.
41004 (grub_menu_entry): Moved to include/grub/menu.h.
41005 (grub_menu_entry_t): Likewise.
41006 (grub_menu): Likewise.
41007 (grub_menu_t): Likewise.
41008 (grub_normal_terminal_menu_viewer): Added.
41009 (grub_menu_execute_entry): Likewise.
41010 (grub_menu_run): Removed.
41011
41012 * DISTLIST: Added include/grub/menu.h.
41013 Added include/grub/menu_viewer.h.
41014 Added normal/menu_viewer.c.
41015
410162009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41017
41018 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41019 arglist for menutitle arguments.
41020
41021 * normal/main.c (grub_normal_menu_addentry): Likewise.
41022
41023 * normal/parser.y (menuentry): Likewise.
41024
41025 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41026
41027 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41028 (grub_script_create_cmdmenu): Likewise.
41029
41030 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41031
41032 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41033 changes.
41034
41035 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41036
41037 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41038
41039 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41040
41041 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41042
41043 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41044
41045 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41046
56192c23 410472009-01-30 Christian Franke <franke@computer.org>
41048
41049 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41050 in option help text.
41051
d72521b3 410522009-01-27 Pavel Roskin <proski@gnu.org>
41053
41054 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41055
994b5e84 410562009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41057
41058 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41059
41060 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41061
41062 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41063 unregister function.
41064
6a7eab2c 410652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41066
41067 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41068
41069 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41070
41071 * util/grub-mkfont.c (usage): Fix typo.
41072
41073 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41074
1806b56e 410752009-01-26 Daniel Mierswa <impulze@impulze.org>
41076
3fb18f09 41077 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41078
336e1fb9 41079 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41080
1806b56e 41081 * kern/misc.c (grub_strcasecmp): New function.
41082 (grub_strcasecmp): Use grub_size_t instead of int for length.
41083 Fix return value.
41084 * include/grub/misc.h: Update function prototypes.
41085
580b2a0f 410862009-01-26 Robert Millan <rmh@aybabtu.com>
41087
41088 * configure.ac: Fix cross-compilation check.
ef257b36 41089
d31c24f1 410902009-01-22 Christian Franke <franke@computer.org>
41091
41092 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41093 (precision) digit string. Allow `.format2' without `format1' (width).
41094 Limit input chars for `%s' output to `format2' if specified. This is
41095 compatible with standard printf ().
41096
3138b44c 410972009-01-22 Christian Franke <franke@computer.org>
41098
41099 * disk/ata.c (grub_ata_wait_status): Replace by ...
41100 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41101 other status bits may be invalid while BSY is asserted.
41102 (grub_ata_check_ready): New function.
41103 (grub_ata_cmd): Removed.
41104 (grub_ata_wait_drq): New function.
41105 (grub_ata_strncpy): Remove inline.
41106 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41107 and error check now done by grub_ata_wait_drq ().
41108 (grub_ata_pio_write): Likewise.
41109 (grub_atapi_identify): Set DEV before check for !BSY. Use
41110 grub_ata_wait_drq () to wait for data.
41111 (grub_ata_device_initialize): Add status register check to
41112 detect missing SATA slave devices. Add debug messages.
41113 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41114 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41115 transfer loop by grub_ata_pio_write ().
41116 (grub_ata_identify): Set DEV before check for !BSY. Use
41117 grub_ata_wait_drq () to wait for data.
ef257b36 41118 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 41119 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41120 read/write in one loop. Fix invalid command on write. Fix incomplete
41121 command on (size % batch) == 0. Add missing error check after write of
41122 last block. Add debug messages.
41123 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41124
59a64ef6 411252009-01-19 Christian Franke <franke@computer.org>
41126
41127 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41128 (GRUB_ATAPI_IREASON_*): Likewise.
41129 (grub_ata_pio_write): Fix timeout error return.
41130 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41131 (grub_atapi_wait_drq): New function.
41132 (grub_atapi_packet): New parameter `size'.
41133 Use grub_atapi_wait_drq () and direct write instead of
41134 grub_ata_pio_write ().
41135 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41136 reads the number of bytes requested by the device for each DRQ
41137 assertion.
41138 (grub_atapi_write): Remove old implementation, return not
41139 implemented instead.
41140
1cfe20b3 411412009-01-19 Christian Franke <franke@computer.org>
41142
41143 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41144 of 512 to calculate data size.
41145 (grub_scsi_read12): Likewise.
41146 (grub_scsi_write10): Likewise.
41147 (grub_scsi_write12): Likewise.
41148 (grub_scsi_read): Adjust size according to blocksize.
41149 Add checks for invalid blocksize and unaligned transfer.
41150
bee5fe5d 411512009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41152
41153 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41154
ef257b36 41155 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 41156 width glyphs.
41157
3e643f8c 411582009-01-19 Robert Millan <rmh@aybabtu.com>
41159
41160 * config.guess: Update to latest version from config git.
41161 * config.sub: Likewise.
41162
4fa80998 411632009-01-17 Felix Zielcke <fzielcke@z-51.de>
41164
41165 * Makefile.in: Change font compilation to use new grub-mkfont instead
41166 of java version.
41167
41168 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41169 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41170 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41171 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41172 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41173 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41174 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41175 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41176 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41177
7086085b 411782009-01-16 Christian Franke <franke@computer.org>
41179
41180 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41181 (enum grub_ata_timeout_milliseconds): New enum.
41182 (grub_ata_wait_status): Add parameter milliseconds.
41183 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41184 recovery from timed-out commands.
41185 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41186 return grub_errno instead of REG_ERROR.
41187 (grub_ata_pio_write): Add parameter milliseconds.
41188 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41189 Pass milliseconds to grub_ata_wait_status () and
41190 grub_ata_pio_read ().
41191 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41192 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41193 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41194 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41195 It is not suitable for device detection, because DEV bit is ignored,
41196 the command may run too long, and not all devices set the signature
41197 properly.
41198 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41199 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41200 Fix device selection, DEV bit must be set first to address the registers
41201 of the correct device.
41202 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41203 grub_ata_pio_read/write ().
41204 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41205 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41206
4a412913 412072009-01-13 Carles Pina i Estany <carles@pina.cat>
41208
41209 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41210
7795c55e 412112009-01-13 Bean <bean123ch@gmail.com>
d913988c 41212
41213 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41214
7795c55e 412152009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 41216
41217 * Makefile.in: (enable_grub_mkfont): New variable.
41218 (freetype_cflags): Likewise.
41219 (freetype_libs): Likewise.
41220
41221 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41222 (grub_mkfont_SOURCES): New variable.
41223 (grub_mkfont_CFLAGS): Likewise.
41224 (grub_mkfont_LDFLAGS): Likewise.
41225
41226 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41227 library if `--enable-grub-mkfont' is requested.
41228 (enable_grub_mkfont): New variable.
41229 (freetype_cflags): Likewise.
41230 (freetype_libs): Likewise.
41231
41232 * util/grub-mkfont.c: New file.
41233
093af1fe 412342009-01-12 Christian Franke <franke@computer.org>
41235
41236 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41237 mode check. Fix setting of compat_use[].
41238
f36cc108 412392009-01-10 Robert Millan <rmh@aybabtu.com>
41240
41241 Update a few copyright years which we forgot to do in 2008 (only for
41242 files whose changes made in 2008 were copyright-significant)
41243
41244 * Makefile.in: Add 2008 to Copyright line.
41245 * disk/ieee1275/ofdisk.c: Likewise.
41246 * disk/efi/efidisk.c: Likewise.
41247 * kern/dl.c: Likewise.
41248 * kern/sparc64/ieee1275/init.c: Likewise.
41249 * kern/mm.c: Likewise.
41250 * kern/efi/mm.c: Likewise.
41251 * boot/i386/pc/boot.S: Likewise.
41252 * genfslist.sh: Likewise.
41253 * fs/iso9660.c: Likewise.
41254 * fs/hfs.c: Likewise.
41255 * fs/jfs.c: Likewise.
41256 * fs/minix.c: Likewise.
41257 * fs/ufs.c: Likewise.
41258 * gensymlist.sh.in: Likewise.
41259 * genkernsyms.sh.in: Likewise.
41260 * include/grub/misc.h: Likewise.
41261 * include/grub/types.h: Likewise.
41262 * include/grub/symbol.h: Likewise.
41263 * include/grub/elf.h: Likewise.
41264 * include/grub/kernel.h: Likewise.
41265 * include/grub/disk.h: Likewise.
41266 * include/grub/dl.h: Likewise.
41267 * include/grub/i386/linux.h: Likewise.
41268 * include/grub/i386/pc/biosdisk.h: Likewise.
41269 * include/grub/efi/api.h: Likewise.
41270 * include/grub/efi/pe32.h: Likewise.
41271 * include/grub/util/misc.h: Likewise.
41272 * normal/execute.c: Likewise.
41273 * normal/arg.c: Likewise.
41274 * normal/completion.c: Likewise.
41275 * normal/lexer.c: Likewise.
41276 * normal/parser.y: Likewise.
41277 * normal/misc.c: Likewise.
41278 * commands/i386/pc/vbeinfo.c: Likewise.
41279 * commands/hexdump.c: Likewise.
41280 * commands/terminal.c: Likewise.
41281 * commands/ls.c: Likewise.
41282 * commands/help.c: Likewise.
41283 * partmap/pc.c: Likewise.
41284 * loader/efi/chainloader.c: Likewise.
41285 * loader/multiboot_loader.c: Likewise.
41286 * loader/i386/pc/multiboot2.c: Likewise.
41287 * term/efi/console.c: Likewise.
41288 * term/i386/pc/serial.c: Likewise.
41289 * util/lvm.c: Likewise.
41290 * util/console.c: Likewise.
41291 * util/i386/efi/grub-mkimage.c: Likewise.
41292 * util/raid.c: Likewise.
41293
7f02114b 412942009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41295
41296 * commands/videotest.c: Removed include to grub/machine/memory.h.
41297
41298 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41299 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41300 (video_mod_SOURCES): Removed.
41301 (video_mod_CFLAGS): Likewise.
41302 (video_mod_LDFLAGS): Likewise.
41303 (gfxterm_mod_SOURCES): Likewise.
41304 (gfxterm_mod_CFLAGS): Likewise.
41305 (gfxterm_mod_LDFLAGS): Likewise.
41306 (videotest_mod_SOURCES): Likewise.
41307 (videotest_mod_CFLAGS): Likewise.
41308 (videotest_mod_LDFLAGS): Likewise.
41309 (bitmap_mod_SOURCES): Likewise.
41310 (bitmap_mod_CFLAGS): Likewise.
41311 (bitmap_mod_LDFLAGS): Likewise.
41312 (tga_mod_SOURCES): Likewise.
41313 (tga_mod_CFLAGS): Likewise.
41314 (tga_mod_LDFLAGS): Likewise.
41315 (jpeg_mod_SOURCES): Likewise.
41316 (jpeg_mod_CFLAGS): Likewise.
41317 (jpeg_mod_LDFLAGS): Likewise.
41318 (png_mod_SOURCES): Likewise.
41319 (png_mod_CFLAGS): Likewise.
41320 (png_mod_LDFLAGS): Likewise.
41321
41322 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41323 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41324 (video_mod_SOURCES): Added.
41325 (video_mod_CFLAGS): Likewise.
41326 (video_mod_LDFLAGS): Likewise.
41327 (videotest_mod_SOURCES): Likewise.
41328 (videotest_mod_CFLAGS): Likewise.
41329 (videotest_mod_LDFLAGS): Likewise.
41330 (bitmap_mod_SOURCES): Likewise.
41331 (bitmap_mod_CFLAGS): Likewise.
41332 (bitmap_mod_LDFLAGS): Likewise.
41333 (tga_mod_SOURCES): Likewise.
41334 (tga_mod_CFLAGS): Likewise.
41335 (tga_mod_LDFLAGS): Likewise.
41336 (jpeg_mod_SOURCES): Likewise.
41337 (jpeg_mod_CFLAGS): Likewise.
41338 (jpeg_mod_LDFLAGS): Likewise.
41339 (png_mod_SOURCES): Likewise.
41340 (png_mod_CFLAGS): Likewise.
41341 (png_mod_LDFLAGS): Likewise.
41342 (gfxterm_mod_SOURCES): Likewise.
41343 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 41344 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 41345
41346 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41347 grub/machine/console.h.
41348
644fff97 413492009-01-04 Jerone Young <jerone@gmail.com>
41350
41351 Make on screen instructions clearer
41352
41353 Based on patch created by Jidanni <jidanni@jidanni.org>
41354
41355 * normal/menu.c: print clearer instructions on the screen
41356
1e901a75 413572009-01-02 Colin D Bennett <colin@gibibit.com>
41358
41359 New font engine.
34c44600 41360
1e901a75 41361 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41362 build system and fixed gfxterm.c to work with different sized fonts.
41363
41364 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 41365
1e901a75 41366 * configure: Re-generated.
34c44600 41367
1e901a75 41368 * DISTLIST: Removed font/manager.c.
41369 Added font/font.c.
41370 Added font/font_cmd.c.
34c44600 41371
1e901a75 41372 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41373 compilation.
34c44600 41374
1e901a75 41375 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 41376
41377 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 41378
41379 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 41380
1e901a75 41381 * normal/menu.c: Likewise.
34c44600 41382
1e901a75 41383 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41384 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 41385
1e901a75 41386 * include/grub/font.h: Replaced with new file.
34c44600 41387
1e901a75 41388 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41389 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41390 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41391 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41392 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 41393 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 41394 fg_red, fg_green, fg_blue, fg_alpha.
41395 (grub_video_adapter): Removed blit_glyph.
34c44600 41396 (grub_video_blit_glyph): Removed.
41397
1e901a75 41398 * font/manager.c: Removed file.
34c44600 41399
41400 * font/font.c: New file.
41401
1e901a75 41402 * font/font_cmd.c: Likewise.
34c44600 41403
1e901a75 41404 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 41405
1e901a75 41406 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41407 (grub_video_vbe_map_rgba): Likewise.
41408 (grub_video_vbe_unmap_color_int): Likewise.
41409 (grub_video_vbe_blit_glyph): Removed.
41410 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 41411
1e901a75 41412 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41413 (get_pixel): Likewise.
34c44600 41414 (set_pixel): Likewise.
41415
1e901a75 41416 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 41417
1e901a75 41418 * term/gfxterm.c: Adapted to new font engine.
34c44600 41419
1e901a75 41420 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 41421
1e901a75 41422 * term/i386/pc/vga.c: Likewise.
34c44600 41423
1e901a75 41424 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 41425
1e901a75 41426 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 41427
1e901a75 41428 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41429
1e901a75 41430 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41431
1e901a75 41432 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 41433
1e901a75 41434 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 41435
1e901a75 41436 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 41437
1e901a75 41438 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 41439
1e901a75 41440 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41441
41442 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 41443
1e901a75 41444 * util/grub-mkconfig_lib.in: Changed font extension.
41445
278922e8 414462008-12-28 Felix Zielcke <fzielcke@z-51.de>
41447
41448 * util/getroot.c (grub_util_get_grub_dev): Add support for
41449 /dev/md/dNNpNN style partitionable mdraid devices.
41450
3ced05cf 414512008-12-12 Alex Smith <alex@alex-smith.me.uk>
41452
41453 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41454 at a time limit of the PXE TFTP API correctly.
41455 (grub_pxefs_close): Likewise.
41456
7fd0ee30 414572008-11-29 Robert Millan <rmh@aybabtu.com>
41458
34c44600 41459 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 41460 grub_ata_device_initialize() calls.
41461
34c44600 414622008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 41463
41464 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41465 iteration failed.
41466 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41467
89313780 414682008-11-28 Robert Millan <rmh@aybabtu.com>
41469
41470 Fix build on powerpc-ieee1275. Based on patch created by
41471 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41472 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41473 `kern/ieee1275/mmap.c'.
41474 * include/grub/powerpc/ieee1275/memory.h: New file.
41475
15257703 41476 Provide grub-install on coreboot.
41477 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41478 (grub_install_SOURCES): New variable.
41479 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41480 usable on coreboot.
41481
9fc5388a 414822008-11-25 Felix Zielcke <fzielcke@z-51.de>
41483
41484 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41485 to `grub_term_input_t'.
41486 (grub_term_get_current_output): Change return type to
41487 `grub_term_output_t'.
41488
bc3a2f31 414892008-11-22 Robert Millan <rmh@aybabtu.com>
41490
34c44600 41491 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 41492 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41493 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41494 grub_vga_text_cls().
41495
80fc88f2 41496 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41497 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41498
cbf36fd3 41499 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41500 to 0x200000 (avoids trouble with some OFW implementations, and matches
41501 with the one in Yaboot).
41502 Reported by Manoel Abranches
41503
73e8e268 415042008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41505
41506 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41507 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41508
73e8e268 41509 * util/grub-mkconfig_lib.in (grub_warn): New function.
41510 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41511 warnings, to obtain consistent formatting.
41512 * util/grub.d/00_header.in: Likewise.
41513 * util/update-grub_lib.in: Likewise.
41514
e94045a1 41515 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41516 Move comment text to `#error' stanza.
e94045a1 41517
79d29fd7 41518 Harmonize ieee1275's grub_available_iterate() with the generic
41519 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41520 build problem on i386-ieee1275):
41521 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41522 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41523 parameter `type'. Update all users of this function.
41524 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41525 `kern/ieee1275/mmap.c'.
41526 * kern/ieee1275/init.c
41527 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41528 with ...
41529 (grub_machine_mmap_iterate): ... this.
41530 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41531 return type to `grub_err_t'. Update all implementations of this
41532 function prototype.
41533 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41534 Likewise.
41535
60d6b16e 41536 Add `lsmmap' command (lists firmware-provided memory map):
41537 * commands/lsmmap.c: New file.
41538 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41539 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41540 variables.
41541 * conf/powerpc-ieee1275.rmk: Likewise.
41542 * conf/i386-coreboot.rmk: Likewise.
41543 * conf/i386-ieee1275.rmk: Likewise.
41544
ebaaf49b 415452008-11-19 Robert Millan <rmh@aybabtu.com>
41546
41547 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41548 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41549 constraints to initrd allocation (based on code from
41550 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41551 for Linux to find it.
ebaaf49b 41552
dfab719f 415532008-11-14 Robert Millan <rmh@aybabtu.com>
41554
41555 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41556 order to cope with duplicate slashes.
41557
10fc3eb9 415582008-11-14 Robert Millan <rmh@aybabtu.com>
41559
41560 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41561 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41562 don't want to mess with lower memory, because it is used in the Linux
41563 loader.
41564
41565 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41566 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41567 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41568 is in our heap (probably as a result of it being corrupted during
2f2a3442 41569 decompression). Add #error instance with comment to explain why this
41570 loader isn't currently usable on PC/BIOS.
10fc3eb9 41571
e2e07847 415722008-11-14 Robert Millan <rmh@aybabtu.com>
41573
41574 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41575 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41576
fe8e8d69 415772008-11-12 Robert Millan <rmh@aybabtu.com>
41578
41579 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41580
41581 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41582 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41583 from here ...
41584 * include/grub/i386/pc/memory.h: ... to here.
41585
976b07d0 415862008-11-12 Robert Millan <rmh@aybabtu.com>
41587
41588 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41589 split).
41590
41591 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41592 (grub_console_cur_color, grub_console_real_putchar)
41593 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41594 (grub_console_setcolorstate, grub_console_setcolor)
41595 (grub_console_getcolor): Move from here ...
41596 * include/grub/i386/vga_common.h: ... to here (new file).
41597
41598 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41599 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41600 `<grub/i386/io.h>'.
41601 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41602 `<grub/i386/vga_common.h>'.
41603
76679cd3 416042008-11-12 Robert Millan <rmh@aybabtu.com>
41605
41606 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41607 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41608 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41609 variables.
41610 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41611 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41612
41613 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41614 grub_console_init() with call to grub_vga_text_init().
41615 (grub_machine_fini): Replace call to
41616 grub_console_fini() with call to grub_vga_text_fini() and
41617 grub_at_keyboard_fini().
41618
41619 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41620 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41621 (grub_console_setcolorstate, grub_console_setcolor)
41622 (grub_console_getcolor): New function prototypes.
41623
41624 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41625 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41626 (grub_vga_text_setcursor): Static-ize.
41627 (grub_vga_text_term): New structure.
41628 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41629
41630 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41631 (grub_console_cur_color, grub_console_standard_color)
41632 (grub_console_normal_color, grub_console_highlight_color)
41633 (map_char, grub_console_putchar, grub_console_getcharwidth)
41634 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41635 (grub_console_getcolor): Move from here ...
41636 * term/i386/vga_common.c: ... to here (same function names).
41637
95b841d3 416382008-11-12 Robert Millan <rmh@aybabtu.com>
41639
41640 Use newly-added Multiboot support in coreboot.
41641
41642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41643 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41644
41645 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41646 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41647 (codestart): Store the MBI in `startup_multiboot_info' when we're
41648 being loaded using Multiboot.
41649
41650 * kern/i386/coreboot/init.c (grub_machine_init): Move
41651 grub_at_keyboard_init() call to beginning of function (useful for
41652 debugging). Call grub_machine_mmap_init() before attempting to use
41653 grub_machine_mmap_iterate().
41654 (grub_lower_mem, grub_upper_mem): Move from here ...
41655 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41656 here (new file).
41657
41658 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41659 function prototype.
41660
761ca975 416612008-11-12 Robert Millan <rmh@aybabtu.com>
41662
41663 Fix a regression introduced by the at_keyboard.mod split. Because
41664 some terminals are default on some platforms and non-default on
41665 others, the first terminal being registered determines which is
41666 going to be default.
41667
41668 * kern/term.c (grub_term_register_input): If this is the first
41669 terminal being registered, set it as the current one.
41670 (grub_term_register_output): Likewise.
41671
41672 * term/efi/console.c (grub_console_init): Do not call
41673 grub_term_set_current_output() or grub_term_set_current_input().
41674 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41675 * term/i386/pc/console.c (grub_console_init): Likewise.
41676 (grub_console_fini): Do not call grub_term_set_current_input()
41677 (but leave grub_term_set_current_output() to restore text mode).
41678
6c529df7 416792008-11-10 Robert Millan <rmh@aybabtu.com>
41680
41681 * util/grub.d/00_header.in: Add backward compatibility check for
41682 versions of terminal.mod that don't understand `terminal_input' or
41683 `terminal_output'.
41684
132e4113 416852008-11-09 Robert Millan <rmh@aybabtu.com>
41686
41687 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41688 `terminal_input' / `terminal_output', not `terminal'.
41689
ac293d50 416902008-11-08 Robert Millan <rmh@aybabtu.com>
41691
41692 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41693 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41694
0025933a 416952008-11-08 Robert Millan <rmh@aybabtu.com>
41696
41697 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41698 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41699 members. Update all users.
41700 * util/console.c (grub_ncurses_term): Split in ...
41701 (grub_ncurses_term_input): ... this, and ...
41702 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41703 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41704
37c86336 417052008-11-08 Robert Millan <rmh@aybabtu.com>
41706
41707 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41708 (PKGDATA): Add $(pkgdata_SRCDIR).
41709 (pkglib_BUILDDIR): New variable.
41710 (pkgdata_SRCDIR): New variable.
41711 (build_env.mk): New target.
41712 (include_DATA): New variable.
41713 (install-local): Install $(include_DATA) files in $(includedir).
41714
b6c15a2d 417152008-11-07 Pavel Roskin <proski@gnu.org>
41716
d99d46f1 41717 * gendistlist.sh: Use C locale for sorting to ensure consistent
41718 output on all systems.
41719
b6c15a2d 41720 * util/grub.d/00_header.in: Remove incorrect space before
41721 "serial".
41722
c32ee8c9 417232008-11-07 Robert Millan <rmh@aybabtu.com>
41724
41725 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41726 per specification.
41727 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41728 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41729 (based on find_multi_boot1_header).
41730 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41731 using find_multi_boot2_header(), and abort if neither Multiboot or
41732 Multiboot headers were found.
41733
651c29b7 417342008-11-07 Robert Millan <rmh@aybabtu.com>
41735
41736 Modularize at_keyboard.mod:
41737
41738 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41739 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41740 (at_keyboard_mod_LDFLAGS): New variables.
41741
41742 Actual terminal split:
41743
41744 * include/grub/term.h (struct grub_term): Split in ...
41745 (struct grub_term_input): ... this, and ...
41746 (struct grub_term_output): ... this. Update all users.
41747 (grub_term_set_current): Split in ...
41748 (grub_term_set_current_input): ... this, and ...
41749 (grub_term_set_current_output): ... this.
41750 (grub_term_get_current): Split in ...
41751 (grub_term_get_current_input): ... this, and ...
41752 (grub_term_get_current_output): ... this.
41753 (grub_term_register): Split in ...
41754 (grub_term_register_input): ... this, and ...
41755 (grub_term_register_output): ... this.
41756 (grub_term_unregister): Split in ...
41757 (grub_term_unregister_input): ... this, and ...
41758 (grub_term_unregister_output): ... this.
41759 (grub_term_iterate): Split in ...
41760 (grub_term_iterate_input): ... this, and ...
41761 (grub_term_iterate_output): ... this.
41762
41763 * kern/term.c (grub_term_list): Split in ...
41764 (grub_term_list_input): ... this, and ...
41765 (grub_term_list_output): ... this. Update all users.
41766 (grub_cur_term): Split in ...
41767 (grub_cur_term_input): ... this, and ...
41768 (grub_cur_term_output): ... this. Update all users.
41769 (grub_term_set_current): Split in ...
41770 (grub_term_set_current_input): ... this, and ...
41771 (grub_term_set_current_output): ... this.
41772 (grub_term_get_current): Split in ...
41773 (grub_term_get_current_input): ... this, and ...
41774 (grub_term_get_current_output): ... this.
41775 (grub_term_register): Split in ...
41776 (grub_term_register_input): ... this, and ...
41777 (grub_term_register_output): ... this.
41778 (grub_term_unregister): Split in ...
41779 (grub_term_unregister_input): ... this, and ...
41780 (grub_term_unregister_output): ... this.
41781 (grub_term_iterate): Split in ...
41782 (grub_term_iterate_input): ... this, and ...
41783 (grub_term_iterate_output): ... this.
41784
41785 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41786 a check for input and one for output (and only attempt to get keys
41787 from user when input works).
41788
41789 * util/grub-probe.c (grub_term_get_current): Split in ...
41790 (grub_term_get_current_input): ... this, and ...
41791 (grub_term_get_current_output): ... this.
41792 * util/grub-fstest.c: Likewise.
41793 * util/i386/pc/grub-setup.c: Likewise.
41794 * util/grub-editenv.c: Likewise.
41795
41796 Portability adjustments:
41797
41798 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41799 `term/i386/pc/at_keyboard.c'.
41800 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41801 grub_keyboard_controller_init() (now handled by terminal .init).
41802 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41803 grub_at_keyboard_init().
41804 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41805 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41806 at_keyboard.mod via input terminal interface).
41807 * include/grub/i386/coreboot/console.h: Convert into a stub for
41808 `<grub/i386/pc/console.h>'.
41809
41810 Migrate full terminals to new API:
41811
41812 * term/efi/console.c (grub_console_term): Split into ...
41813 (grub_console_term_input): ... this, and ...
41814 (grub_console_term_output): ... this. Update all users.
41815 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41816 (grub_ofconsole_init): Split into ...
41817 (grub_ofconsole_init_input): ... this, and ...
41818 (grub_ofconsole_init_output): ... this.
41819 (grub_ofconsole_term): Split into ...
41820 (grub_ofconsole_term_input): ... this, and ...
41821 (grub_ofconsole_term_output): ... this. Update all users.
41822 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41823 (grub_serial_term_input): ... this, and ...
41824 (grub_serial_term_output): ... this. Update all users.
41825 * term/i386/pc/console.c (grub_console_term): Split into ...
41826 (grub_console_term_input): ... this, and ...
41827 (grub_console_term_output): ... this. Update all users.
41828 (grub_console_term_input): Only enable it on PC/BIOS platform.
41829 (grub_console_init): Remove grub_keyboard_controller_init() call.
41830
41831 Migrate input terminals to new API:
41832
41833 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41834 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41835 i386-specific anyway).
41836 (grub_console_checkkey): Rename to ...
41837 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41838 users.
41839 (grub_keyboard_controller_orig): New variable.
41840 (grub_console_getkey): Rename to ...
41841 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41842 users.
41843 (grub_keyboard_controller_init): Static-ize. Save original
41844 controller value so that it can be restored ...
41845 (grub_keyboard_controller_fini): ... here (new function).
41846 (grub_at_keyboard_term): New structure.
41847 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41848 functions.
41849
41850 Migrate output terminals to new API:
41851
41852 * term/i386/pc/vga.c (grub_vga_term): Change type to
41853 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41854 members. Update all users.
41855 * term/gfxterm.c (grub_video_term): Change type to
41856 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41857 members. Update all users.
41858 * include/grub/i386/pc/console.h (grub_console_checkkey)
41859 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41860 etc).
41861
41862 Migrate `terminal' command and userland tools to new API:
41863
41864 * commands/terminal.c (grub_cmd_terminal): Split into ...
41865 (grub_cmd_terminal_input): ... this, and ...
41866 (grub_cmd_terminal_output): ... this.
41867 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41868 `terminal_input' and `terminal_output'.
41869 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41870 `terminal_input' / `terminal_output' API.
41871 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41872 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41873 provided ${GRUB_TERMINAL}, convert it).
41874
96e5d876 418752008-11-04 Robert Millan <rmh@aybabtu.com>
41876
41877 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41878 for FreeBSD.
41879 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41880
556f3775 418812008-11-03 Bean <bean123ch@gmail.com>
41882
41883 * kern/elf.c (grub_elf32_load): Revert to previous code.
41884 (grub_elf64_load): Likewise.
41885
41886 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41887
926b9823 418882008-11-01 Robert Millan <rmh@aybabtu.com>
41889
41890 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41891 (TARGET_CPPFLAGS): Likewise.
41892 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41893
1432e958 418942008-11-01 Carles Pina i Estany <carles@pina.cat>
41895
41896 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41897
dba3f844 418982008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41899
41900 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41901 addition of objects until the code is not going to be able to fail.
41902
dba3f844 419032008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41904
41905 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41906 (add a missing NULL check, and correct them by moving the pointer
41907 operations after the actual check).
41908
7ab28c21 419092008-10-29 Robert Millan <rmh@aybabtu.com>
41910
41911 * util/i386/pc/grub-install.in: Handle empty string as output from
41912 make_system_path_relative_to_its_root().
41913
1b7748eb 419142008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41915
41916 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41917 circular metadata worst case scenario. If the metadata is circular
41918 then copy the wrap in place.
41919 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41920 project lib/format_text/layout.h
41921 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41922
c9618ab2 419232008-10-03 Felix Zielcke <fzielcke@z-51.de>
41924
7a36edca 41925 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41926
bf981c62 419272008-10-03 Felix Zielcke <fzielcke@z-51.de>
41928
41929 * util/update-grub_lib.in: Mention filename in warning message.
41930
6d994591 419312008-09-29 Felix Zielcke <fzielcke@z-51.de>
41932
41933 * NEWS: Update for rename of update-grub to grub-mkconfig.
41934
18ade780 419352008-09-29 Felix Zielcke <fzielcke@z-51.de>
41936
41937 * util/update-grub_lib.in: Copy to ...
41938 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41939 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41940 * util/update-grub.in: Rename to ...
41941 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41942 option. Add `--output' option to allow users to specify the generated
41943 configuration file. Default to stdout.
41944 (update_grub_dir): Rename to ...
41945 (grub_mkconfig_dir): ... this.
41946 (grub_cfg): Default to an empty string.
41947 * conf/common.rmk (update-grub): Rename to ...
41948 (grub-mkconfig): ... this.
41949 (update-grub_lib): Copy to ...
41950 (grub-mkconfig_lib): ... this.
41951 (update-grub_SCRIPTS): Copy to ...
41952 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41953 (update-grub_DATA): Rename to ...
41954 (grub-mkconfig_DATA): ... this.
41955
556ce6ac 419562008-09-28 Robert Millan <rmh@aybabtu.com>
41957
41958 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41959 to `modified'. Add the real `created' field.
41960 (grub_iso9660_uuid): Use `modified' rather than `created' for
41961 constructing the UUID.
41962
419632008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41964
41965 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41966 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41967
92274e85 419682008-09-28 Bean <bean123ch@gmail.com>
41969
41970 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41971 Thanks to Christian Franke for finding this bug.
41972
add6f17a 419732008-09-25 Robert Millan <rmh@aybabtu.com>
41974
41975 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41976 instances of grub_util_get_disk_name() (see previous commit).
41977
d2a367b8 419782008-09-25 Robert Millan <rmh@aybabtu.com>
41979
41980 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41981 `util/i386/get_disk_name.c'.
41982 * conf/i386-efi.rmk: Likewise.
41983 * conf/x86_64-efi.rmk: Likewise.
41984 * conf/i386-coreboot.rmk: Likewise.
41985 * conf/i386-ieee1275.rmk: Likewise.
41986 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41987 `util/ieee1275/get_disk_name.c'.
41988 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41989 * util/ieee1275/get_disk_name.c: Remove file.
41990 * util/i386/get_disk_name.c: Remove file.
41991 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41992 "hd%d" for device.map entries, rather than using
41993 grub_util_get_disk_name().
41994
81a06771 419952008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41996
41997 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41998 warning.
41999 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42000
5a004279 420012008-09-24 Carles Pina i Estany <carles@pina.cat>
42002
42003 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42004 Changed to 0x5100.
42005 (GRUB_TERM_PPAGE): Changed to 0x4900.
42006
397093d3 420072008-09-24 Robert Millan <rmh@aybabtu.com>
42008
42009 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42010 macros (they were i386-pc specific).
42011 * include/grub/sparc64/ieee1275/console.h: Likewise.
42012 * include/grub/efi/console.h: Likewise.
42013
a91b6c7c 420142008-09-22 Bean <bean123ch@gmail.com>
42015
42016 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42017 resident and in attribute list.
42018
42019 * include/grub/ntfs.h (BMP_LEN): Removed.
42020
c40fd116 420212008-09-22 Bean <bean123ch@gmail.com>
42022
81a06771 42023 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 42024 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42025
42026 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42027 error occurs, as grub_disk_open will call grub_disk_close, which will
42028 call p->close (scsi).
42029
81a06771 420302008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 42031
42032 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42033 (AC_PREREQ): Bumped to 2.59.
42034 (AC_TRY_COMPILE): Replace obsolete macro with ...
42035 (AC_COMPILE_IFELSE): ... this.
42036 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42037 (AC_LINK_IFELSE): ... this.
42038
5dc43410 420392008-09-21 Felix Zielcke <fzielcke@z-51.de>
42040
42041 * autogen.sh: Add a call to `gendistlist.sh'.
42042
9035dce4 420432008-09-19 Christian Franke <franke@computer.org>
42044
42045 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42046 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42047 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42048 Export __enable_execute_stack() to modules.
42049 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42050 New function.
42051
7fd75377 420522008-09-09 Felix Zielcke <fzielcke@z-51.de>
42053
040030b3 42054 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42055 Sort the list.
42056
420572008-09-09 Felix Zielcke <fzielcke@z-51.de>
42058
42059 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 42060 #include <grub/util/hostdisk.h>.
42061
89d5ffcf 420622008-09-08 Robert Millan <rmh@aybabtu.com>
42063
42064 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42065 segments when their filesz is zero (grub_file_read() interprets
81a06771 42066 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 42067 Use `lowest_segment' rather than 0 for calculating the current
42068 segment load address.
42069
40da438f 420702008-09-08 Robert Millan <rmh@aybabtu.com>
42071
42072 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42073 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42074 clobbered useful information.
42075
ddbf5556 420762008-09-08 Robert Millan <rmh@aybabtu.com>
42077
42078 * include/grub/util/biosdisk.h: Move to ...
42079 * include/grub/util/hostdisk.h: ... here. Update all users.
42080 * util/biosdisk.c: Move to ...
42081 * util/hostdisk.c: ... here. Update all users.
42082
783d0f48 420832008-09-07 Robert Millan <rmh@aybabtu.com>
42084
42085 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42086 variables.
42087 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42088 and length can be stored directly in the `mbi->mmap_addr' and
42089 `mbi->mmap_length' struct fields.
42090
548e2ea5 420912008-09-07 Robert Millan <rmh@aybabtu.com>
42092
42093 * conf/i386.rmk: New file. Provides declaration for building
42094 `cpuid.mod'.
42095 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42096 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42097 variables.
42098 Include `conf/i386.mk'.
42099 * conf/i386-efi.rmk: Likewise.
42100 * conf/x86_64-efi.rmk: Likewise.
42101 * conf/i386-coreboot.rmk: Likewise.
42102 * conf/i386-ieee1275.rmk: Likewise.
42103
0ea85a37 421042008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42105
42106 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42107 Adds optimization support for BGR based modes.
42108
42109 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42110 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42111 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42112 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42113 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42114 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42115 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42116 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42117 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42118 (grub_video_i386_vbeblit_index_index): Likewise.
42119 (grub_video_i386_vbeblit_replace_directN): Added.
42120 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42121 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42122 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42123 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42124 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42125 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 42126 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 42127 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42128 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42129 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42130 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42131 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42132 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42133
42134 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42135 (grub_video_i386_vbefill_R8G8B8): Likewise.
42136 (grub_video_i386_vbefill_index): Likewise.
42137 (grub_video_i386_vbefill_direct32): Added.
42138 (grub_video_i386_vbefill_direct24): Likewise.
42139 (grub_video_i386_vbefill_direct16): Likewise.
42140 (grub_video_i386_vbefill_direct8): Likewise.
42141
81a06771 42142 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 42143 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42144 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42145 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42146 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42147 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 42148
0ea85a37 42149 * video/video.c (grub_video_get_blit_format): Updated to use new
42150 blit formats. Added handling for 16 bit color modes.
81a06771 42151
42152 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 42153 fillers.
42154 (common_blitter): Updated to use new blitters.
42155
42156 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42157 Removed.
42158 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42159 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42160 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42161 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42162 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42163 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42164 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42165 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42166 (grub_video_i386_vbeblit_index_index): Likewise.
42167 (grub_video_i386_vbeblit_replace_directN): Added.
42168 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42169 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42170 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42171 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42172 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42173 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42174 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42175 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42176 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42177 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42178 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42179 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42180 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 42181
0ea85a37 42182 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42183 (grub_video_i386_vbefill_R8G8B8): Likewise.
42184 (grub_video_i386_vbefill_index): Likewise.
42185 (grub_video_i386_vbefill_direct32): Added.
42186 (grub_video_i386_vbefill_direct24): Likewise.
42187 (grub_video_i386_vbefill_direct16): Likewise.
42188 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 42189
0ea85a37 42190 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42191 types.
81a06771 42192
0ea85a37 42193 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42194 types.
81a06771 42195
0ea85a37 42196 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42197 blitter types.
81a06771 42198
0ea85a37 42199 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42200 types.
42201
e8a83df6 422022008-09-06 Felix Zielcke <fzielcke@z-51.de>
42203
42204 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42205 RAID level 1.
42206
6bcd8ee5 422072008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 42208
6bcd8ee5 42209 * fs/iso9660.c (grub_iso9660_date): New structure.
42210 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42211 (grub_iso9660_uuid): New function.
c375ae58 42212
59261157 422132008-09-05 Bean <bean123ch@gmail.com>
42214
42215 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42216
42217 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42218 insensitive bit for names in Win32 and Win32 & DOS namespace.
42219
42220 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42221
42222 * include/grub/types.h (LONG_MAX): Likewise.
42223
58b6645a 422242008-09-04 Felix Zielcke <fzielcke@z-51.de>
42225
4ee55921 42226 * util/getroot.c: Include <config.h>.
42227 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42228 add support for /dev/md/N devices and handle LVM double dash escaping.
42229
422302008-09-04 Felix Zielcke <fzielcke@z-51.de>
42231
42232 * config.guess: Update to latest version from config git.
42233 * config.sub: Likewise.
58b6645a 42234
9124f65d 422352008-09-03 Robert Millan <rmh@aybabtu.com>
42236
42237 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42238 `disk->total_sectors'.
42239
81a06771 422402008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 42241
42242 * include/grub/normal.h: Fixed incorrect comment for
42243 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42244
81a06771 422452008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 42246
42247 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42248 values with defines.
42249
42250 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42251 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42252 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42253 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42254 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42255 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42256 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42257 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42258 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42259 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42260 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42261 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42262 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42263 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42264 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42265 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42266 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42267 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42268 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42269
93d5cbf8 422702008-08-31 Robert Millan <rmh@aybabtu.com>
42271
42272 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42273 declaration.
42274 (grub_multiboot): Fix a few warnings.
42275
21751d50 422762008-08-31 Robert Millan <rmh@aybabtu.com>
42277
42278 * loader/i386/pc/multiboot.c: Update comment not to say that
42279 boot_device support is unimplemented.
42280
e27a75c5 422812008-08-31 Robert Millan <rmh@aybabtu.com>
42282
42283 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42284 or memory map support are unimplemented.
42285
81a06771 422862008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 42287
42288 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42289
81a06771 422902008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 42291
42292 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42293 total video memory in 'vbeinfo' output; show color format details for
42294 each video mode.
42295
7c5d8d95 422962008-08-30 Pavel Roskin <proski@gnu.org>
42297
42298 * util/genmoddep.c: Remove for real this time.
42299 * DISTLIST: Remove util/genmoddep.c.
42300
4cebd25a 423012008-08-30 Robert Millan <rmh@aybabtu.com>
42302
42303 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42304 as required by Multiboot spec (it was already 4-byte aligned, but
42305 only by chance).
42306
b497a269 423072008-08-29 Pavel Roskin <proski@gnu.org>
42308
e3925185 42309 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42310 * kern/powerpc/ieee1275/startup.S: ... this.
42311 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42312 * DISTLIST: Likewise.
42313
b497a269 42314 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42315 grub/cpu/kernel.h. Add start label for consistency with other
42316 platforms. Add grub_prefix immediately after start. Add jump
42317 to the code after grub_prefix.
42318 * include/grub/powerpc/kernel.h: Provide valid values for
42319 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42320
6e5a42fe 423212008-08-29 Bean <bean123ch@gmail.com>
42322
42323 * configure.ac: Change host_os to cygwin for mingw.
42324 (asprintf): New check for function.
42325
42326 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42327 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42328
42329 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 42330 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 42331 sync, sleep and grub_util_get_disk_size for mingw.
42332
42333 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42334 to get size in mingw.
42335 (open_device): Use flag O_BINARY if it's defined.
42336 (find_root_device): Add dummy code for mingw.
42337
42338 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42339 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42340 (get_scsi_disk_name): Return 0 for mingw.
42341
42342 * util/hostfs.c: #include <grub/util/misc.h>.
42343 (grub_hostfs_open): Use "rb" flag to open file, use
42344 grub_util_get_disk_size to get disk size for mingw.
42345
42346 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42347 (asprintf): New function if HAVE_ASPRINTF is not set.
42348 (sync): New function for mingw.
42349 (sleep): Likewise.
42350 (grub_util_get_disk_size): Likewise.
42351
ab3f2673 423522008-08-28 Pavel Roskin <proski@gnu.org>
42353
42354 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42355 kern/time.c.
42356
1c282483 423572008-08-28 Robert Millan <rmh@aybabtu.com>
42358
42359 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42360
678e849c 423612008-08-28 Robert Millan <rmh@aybabtu.com>
42362
42363 Change find_grub_drive() syntax so it doesn't prevent it from
42364 detecting NULL names as errors.
42365
42366 * util/biosdisk.c (find_grub_drive): Move free slot search code
42367 from here ...
42368 (find_free_slot): ... to here.
42369 (read_device_map): Use find_free_slot() to search for free slots.
42370
965c75ca 423712008-08-27 Marco Gerards <marco@gnu.org>
42372
42373 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42374 (scsi_mod_SOURCES): New variable.
42375 (scsi_mod_CFLAGS): Likewise
42376 (scsi_mod_LDFLAGS): Likewise.
42377
42378 * disk/scsi.c: New file.
42379
42380 * include/grub/scsi.h: Likewise.
42381
42382 * include/grub/scsicmd.h: Likewise.
42383
42384 * disk/ata.c: Include <grub/scsi.h>.
42385 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42386 instead.
42387 (grub_ata_iterate): Skip ATAPI devices.
42388 (grub_ata_open): Only handle ATAPI devices.
42389 (struct grub_atapi_read): Removed.
42390 (grub_atapi_readsector): Likewise.
42391 (grub_ata_read): No longer handle ATAPI devices.
42392 (grub_ata_write): Likewise.
42393 (grub_atapi_iterate): New function.
42394 (grub_atapi_read): Likewise.
42395 (grub_atapi_write): Likewise.
42396 (grub_atapi_open): Likewise.
42397 (grub_atapi_close): Likewise.
42398 (grub_atapi_dev): New variable.
42399 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42400 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42401
42402 * include/grub/disk.h (enum grub_disk_dev_id): Add
42403 `GRUB_DISK_DEVICE_SCSI_ID'.
42404
c07ae501 424052008-08-26 Robert Millan <rmh@aybabtu.com>
42406
42407 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42408 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42409 descriptive.
42410
5ed20adc 424112008-08-23 Bean <bean123ch@gmail.com>
42412
42413 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42414 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42415 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42416 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42417 dm_nv.mod.
42418 (raid5rec_mod_SOURCES): New macro.
42419 (raid5rec_mod_CFLAGS): Likewise.
42420 (raid5rec_mod_LDFLAGS): Likewise.
42421 (raid6rec_mod_SOURCES): Likewise.
42422 (raid6rec_mod_CFLAGS): Likewise.
42423 (raid6rec_mod_LDFLAGS): Likewise.
42424 (mdraid_mod_SOURCES): Likewise.
42425 (mdraid_mod_CFLAGS): Likewise.
42426 (mdraid_mod_LDFLAGS): Likewise.
42427 (dm_nv_mod_SOURCES): Likewise.
42428 (dm_nv_mod_CFLAGS): Likewise.
42429 (dm_nv_mod_LDFLAGS): Likewise.
42430
42431 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42432 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42433 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42434
42435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42436 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42437
42438 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42439
42440 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42441
42442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42443
42444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42445
42446 * disk/raid5_recover.c: New file.
42447
42448 * disk/raid6_recover.c: Likewise.
42449
42450 * disk/mdraid_linux.c: Likewise.
42451
42452 * disk/dmraid_nvidia.c: Likewise.
42453
42454 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42455 ULONG_MAX.
42456
42457 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42458 calculate the size of raid device.
42459 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42460 different layout of raid5.
42461 (grub_raid_scan_device): Remove code specific to mdraid.
42462 (grub_raid_list): New variable.
42463 (free_array): New function.
42464 (grub_raid_register): Likewise.
42465 (grub_raid_unregister): Likewise.
42466 (grub_raid_rescan): Likewise.
42467 (GRUB_MOD_INIT): Don't iterate device here.
42468 (GRUB_MOD_FINI): Use free_array to release resource.
42469
42470 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42471 (grub_raid5_recover_func_t): New function variable type.
42472 (grub_raid6_recover_func_t): Likewise.
42473 (grub_raid5_recover_func): New variable.
42474 (grub_raid6_recover_func): Likewise.
42475 (grub_raid_register): New function.
42476 (grub_raid_unregister): Likewise.
42477 (grub_raid_rescan): Likewise.
42478 (grub_raid_block_xor): Likewise.
42479
42480 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42481 (CMD_CRC): New macro.
42482 (part): Removed.
42483 (read_file): Handle device as well as file.
42484 (cmd_crc): New function.
42485 (fstest): Handle multiple disks.
42486 (options): Remove part, raw and long, add root and diskcount.
42487 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 42488 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 42489 add handling for the new options, support multiple disks.
42490
42491 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42492
29c18915 424932008-08-23 Bean <bean123ch@gmail.com>
42494
42495 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42496
42497 * genfslist.sh: Ignore kernel.mod.
42498
42499 * genpartmaplist.sh: Likewise.
42500
8415f261 425012008-08-23 Robert Millan <rmh@aybabtu.com>
42502
42503 * util/getroot.c (find_root_device): Skip anything that starts with
42504 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42505
d5a7dc5b 425062008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42507
d5a7dc5b 42508 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42509 * util/grub.d/00_header.in: Allow the administrator to change default
42510 gfxmode via ${GRUB_GFXMODE}.
42511
380cfbb4 425122008-08-21 Felix Zielcke <fzielcke@z-51.de>
42513
42514 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42515
c9baafe7 425162008-08-21 Robert Millan <rmh@aybabtu.com>
42517
42518 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42519 loader.
42520 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42521 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42522
e290bef2 425232008-08-20 Carles Pina i Estany <carles@pina.cat>
42524
42525 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42526 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42527
f9dbfc96 425282008-08-19 Robert Millan <rmh@aybabtu.com>
42529
42530 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42531 (struct grub_virtual_screen): Remove `cursor_color'.
42532 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42533 initialization.
42534 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42535
dd6bd6ab 425362008-08-18 Robert Millan <rmh@aybabtu.com>
42537
42538 Unify (identical) linux_normal.c files.
42539 * loader/i386/efi/linux_normal.c: Move from here ...
42540 * loader/linux_normal.c: ... to here. Update all users.
42541 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42542 * loader/i386/ieee1275/linux_normal.c: Likewise.
42543
7f42f83e 425442008-08-18 Robert Millan <rmh@aybabtu.com>
42545
42546 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42547 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42548 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42549 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42550 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42551 New macros.
42552 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42553 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42554 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42555 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42556 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42557 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42558 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42559 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42560 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42561 portably using grub_getxy().
42562 Replace `-EFI' with `-bzImage' in boot message.
42563
38487ddb 425642008-08-17 Robert Millan <rmh@aybabtu.com>
42565
42566 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42567
deceb3ec 425682008-08-17 Robert Millan <rmh@aybabtu.com>
42569
42570 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42571
42572 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42573 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42574 (grub_machine_mmap_iterate): New function declaration.
42575 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42576 structure.
42577 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42578 macros.
42579
42580 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42581 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42582 Move e820 parsing from here ...
42583 * kern/i386/pc/mmap.c: New file.
42584 (grub_machine_mmap_iterate): ... to here.
42585
42586 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42587 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42588 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42589 (grub_available_iterate): Redeclare to return `void', and redeclare
42590 its hook to use grub_uint64_t as addr and size parameters, and rename
42591 to ...
42592 (grub_machine_mmap_iterate): ... this. Update all users.
42593
42594 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42595 to make it more readable. Rename to ...
42596 (grub_machine_mmap_iterate): ... this.
42597
42598 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42599 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42600 (grub_multiboot): Allocate an extra region after the payload, and fill
42601 it with a Multiboot memory map. Adjust a.out loader to calculate size
42602 with the extra space.
42603 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42604 with the extra space.
42605
f8aa0f43 426062008-08-17 Carles Pina i Estany <carles@pina.cat>
42607
9807deb9 42608 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42609
605f5bb6 426102008-08-17 Felix Zielcke <fzielcke@z-51.de>
42611
42612 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42613 mdate-sh to the list `find' searches for.
42614 * DISTLIST: Regenerated.
42615
210db6c6 426162008-08-16 Felix Zielcke <fzielcke@z-51.de>
42617
42618 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42619 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42620 genmoddep.awk, gensymlist.sh.in.
42621 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42622 * DISTLIST: Regenerated.
48cdbfd4 42623 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42624
1082b929 426252008-08-16 Robert Millan <rmh@aybabtu.com>
42626
42627 * disk/raid.c (grub_raid_init): Handle/report errors set by
42628 grub_device_iterate().
42629 * disk/lvm.c (grub_lvm_init): Likewise.
42630
42ce5170 426312008-08-15 Bean <bean123ch@gmail.com>
42632
42633 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42634 and datehook.mod.
42635 (datetime_mod_SOURCES): New macro.
42636 (datetime_mod_CFLAGS): Likewise.
42637 (datetime_mod_LDFLAGS): Likewise.
42638 (date_mod_SOURCES): Likewise.
42639 (date_mod_CFLAGS): Likewise.
42640 (date_mod_LDFLAGS): Likewise.
42641 (datehook_mod_SOURCES): Likewise.
42642 (datehook_mod_CFLAGS): Likewise.
42643 (datehook_mod_LDFLAGS): Likewise.
42644
42645 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42646 and datehook.mod.
42647 (datetime_mod_SOURCES): New macro.
42648 (datetime_mod_CFLAGS): Likewise.
42649 (datetime_mod_LDFLAGS): Likewise.
42650 (date_mod_SOURCES): Likewise.
42651 (date_mod_CFLAGS): Likewise.
42652 (date_mod_LDFLAGS): Likewise.
42653 (datehook_mod_SOURCES): Likewise.
42654 (datehook_mod_CFLAGS): Likewise.
42655 (datehook_mod_LDFLAGS): Likewise.
42656
42657 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42658 and datehook.mod.
42659 (datetime_mod_SOURCES): New macro.
42660 (datetime_mod_CFLAGS): Likewise.
42661 (datetime_mod_LDFLAGS): Likewise.
42662 (date_mod_SOURCES): Likewise.
42663 (date_mod_CFLAGS): Likewise.
42664 (date_mod_LDFLAGS): Likewise.
42665 (datehook_mod_SOURCES): Likewise.
42666 (datehook_mod_CFLAGS): Likewise.
42667 (datehook_mod_LDFLAGS): Likewise.
42668
42669 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42670 and datehook.mod.
42671 (datetime_mod_SOURCES): New macro.
42672 (datetime_mod_CFLAGS): Likewise.
42673 (datetime_mod_LDFLAGS): Likewise.
42674 (date_mod_SOURCES): Likewise.
42675 (date_mod_CFLAGS): Likewise.
42676 (date_mod_LDFLAGS): Likewise.
42677 (datehook_mod_SOURCES): Likewise.
42678 (datehook_mod_CFLAGS): Likewise.
42679 (datehook_mod_LDFLAGS): Likewise.
42680
42681 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42682 and datehook.mod.
42683 (datetime_mod_SOURCES): New macro.
42684 (datetime_mod_CFLAGS): Likewise.
42685 (datetime_mod_LDFLAGS): Likewise.
42686 (date_mod_SOURCES): Likewise.
42687 (date_mod_CFLAGS): Likewise.
42688 (date_mod_LDFLAGS): Likewise.
42689 (datehook_mod_SOURCES): Likewise.
42690 (datehook_mod_CFLAGS): Likewise.
42691 (datehook_mod_LDFLAGS): Likewise.
42692
42693 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42694
42695 * commands/date.c: New file.
42696
42697 * hook/datehook.c: Likewise.
42698
42699 * include/grub/lib/datetime.h: Likewise.
42700
42701 * include/grub/i386/cmos.h: Likewise.
42702
42703 * lib/datetime.c: Likewise.
42704
42705 * lib/i386/datetime.c: Likewise.
42706
42707 * lib/efi/datetime.c: Likewise.
42708
0e9242da 427092008-08-14 Robert Millan <rmh@aybabtu.com>
42710
42711 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42712 (grub_mkelfimage_SOURCES): New variable.
42713 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42714
42715 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42716 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42717 * conf/powerpc-ieee1275.rmk: Likewise.
42718 * conf/i386-ieee1275.rmk: Likewise.
42719
42720 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42721 * kern/i386/coreboot/init.c: Likewise.
42722
42723 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42724 with `<grub/cpu/kernel.h>'.
42725 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42726 to ...
42727 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42728 * kern/i386/coreboot/startup.S: Likewise.
42729
42730 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42731 (GRUB_MOD_GAP): Remove.
42732 * include/grub/powerpc/kernel.h: New file.
42733 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42734 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42735 * include/grub/i386/kernel.h: New file.
42736 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42737 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42738 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42739
42740 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42741 `grub-mkelfimage'.
42742 Use --directory when invoking grub_mkimage.
42743
42744 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42745 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42746 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42747 and GRUB_KERNEL_CPU_PREFIX.
42748
b86408f8 427492008-08-14 Felix Zielcke <fzielcke@z-51.de>
42750
d5e619ca 42751 * include/grub/err.h (grub_err_printf): New function prototype.
42752 * util/misc.c (grub_err_printf): New function.
42753 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42754 grub_printf.
42755 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42756
7161f0e0 427572008-08-13 Robert Millan <rmh@aybabtu.com>
42758
42759 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42760
a1967522 427612008-08-13 Robert Millan <rmh@aybabtu.com>
42762
42763 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42764 boot entry.
42765
371458b5 427662008-08-12 Robert Millan <rmh@aybabtu.com>
42767
42768 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42769 of the relocation code from here ...
42770 (grub_multiboot): ... to here.
42771 (forward_relocator, backward_relocator): Move from here ...
42772 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42773 (grub_multiboot_backward_relocator): ... to here.
42774 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42775 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42776 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42777 (grub_multiboot_forward_relocator_end)
42778 (grub_multiboot_backward_relocator)
42779 (grub_multiboot_backward_relocator_end): New variables.
42780
05f9452b 427812008-08-12 Bean <bean123ch@gmail.com>
42782
42783 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42784
20024ab0 427852008-08-11 Robert Millan <rmh@aybabtu.com>
42786
42787 * kern/i386/linuxbios/startup.S: Move from here ...
42788 * kern/i386/coreboot/startup.S: ... to here.
42789
42790 * kern/i386/linuxbios/init.c: Move from here ...
42791 * kern/i386/coreboot/init.c: ... to here.
42792
42793 * kern/i386/linuxbios/table.c: Move from here ...
42794 * kern/i386/coreboot/mmap.c: ... to here.
42795
42796 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42797
e352e9cd 427982008-08-11 Robert Millan <rmh@aybabtu.com>
42799
42800 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42801 errors. Leave it to the upper layer to handle them.
42802
2d05bc6a 428032008-08-09 Christian Franke <franke@computer.org>
42804
42805 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42806 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42807 Install `grub.d/10_windows' only on Cygwin.
42808 * configure.ac: Add subst of `target_os'.
42809 Check `target_os' also before setting TARGET_OBJ2ELF.
42810 Add `--enable-grub-pe2elf'.
42811
042bd419 428122008-08-08 Robert Millan <rmh@aybabtu.com>
42813
42814 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42815 (grub_last_time): Change type to grub_uint64_t.
42816 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42817 (grub_disk_close): Likewise.
42818
42819 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42820 (run_menu): Migrate code from to using grub_get_time_ms().
42821
42822 * util/misc.c (grub_get_time_ms): New function.
42823
7f280db5 428242008-08-08 Marco Gerards <marco@gnu.org>
42825
42826 * disk/ata.c (grub_ata_regget): Change return type to
42827 `grub_uint8_t'.
42828 (grub_ata_regget2): Likewise.
42829 (grub_ata_wait_status): New function.
42830 (grub_ata_wait_busy): Removed function, updated all users to use
42831 `grub_ata_wait_status'.
42832 (grub_ata_wait_drq): Likewise.
42833 (grub_ata_cmd): New function.
42834 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42835 error handling.
42836 (grub_ata_pio_write): Add error handling.
42837 (grub_atapi_identify): Likewise.
42838 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42839 handling.
42840 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42841 handling. Actually use the detected registers. Reorder the
42842 detection logic such that it is easier to read.
42843 (grub_ata_pciinit): Do not assign the same ID to each controller.
42844 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42845 handling.
42846 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42847
42848 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42849
1fbc5e66 428502008-08-08 Marco Gerards <marco@gnu.org>
42851
42852 * NEWS: Update.
42853
819ce6c0 428542008-08-07 Bean <bean123ch@gmail.com>
42855
42856 * include/grub/x86_64/pci.h: New file.
42857
5c41d44d 428582008-08-07 Christian Franke <franke@computer.org>
42859
42860 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42861 (TIMER2_GATE): Likewise.
42862 (grub_pit_wait): Add enable/disable of the timer2 gate
42863 bit of port 0x61. This fixes a possible infinite loop.
42864
5ebc275d 428652008-08-07 Bean <bean123ch@gmail.com>
42866
42867 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42868 kern/i386/tsc.c and kern/i386/pit.c.
42869
42870 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42871 x86_64 platform.
42872
42873 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42874 <grub/i386/tsc.h>.
42875
42876 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42877
e383b3d0 428782008-08-07 Bean <bean123ch@gmail.com>
42879
42880 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42881
42882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42883
42884 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42885 multiple inclusion. Add #include <grub/types.h>.
42886
1cbb58ac 428872008-08-06 Christian Franke <franke@computer.org>
42888
42889 * conf/common.rmk: Build and install `10_windows'.
42890 * util/grub.d/10_windows.in: New script.
42891
337f5a1e 428922008-08-06 Pavel Roskin <proski@gnu.org>
42893
42894 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42895
057bc4ac 428962008-08-06 Robert Millan <rmh@aybabtu.com>
42897
42898 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42899 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42900
2b99f123 429012008-08-06 Bean <bean123ch@gmail.com>
42902
42903 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42904 (grub_pxefs_fs_int): Remove dummy definition.
42905 (grub_pxefs_open): Use data->block_size to store the current block
42906 size setting.
42907 (grub_pxefs_read): Use block size stored in data->block_size. As the
42908 value of grub_pxe_blksize can be changed after the file is opened.
42909
9f0234cb 429102008-08-06 Bean <bean123ch@gmail.com>
42911
42912 * fs/i386/pc/pxe.c (curr_file): new variable.
42913 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42914 require the dummy internal file system anymore.
42915 (grub_pxefs_read): Removed.
42916 (grub_pxefs_close): Likewise.
42917 (grub_pxefs_fs_int): Likewise.
42918 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42919 connection when we switch file.
42920 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42921
a55d42e0 429222008-08-06 Robert Millan <rmh@aybabtu.com>
42923
42924 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42925 `halt.mod'.
42926 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42927 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42928
42929 * kern/i386/halt.c: New file.
42930 * kern/i386/reboot.c: Likewise.
42931 * include/grub/i386/reboot.h: Likewise.
42932 * include/grub/i386/halt.h: Likewise.
42933
42934 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42935 Include `<grub/cpu/halt.h>'.
42936 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42937 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42938
42939 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42940 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42941 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42942 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42943 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42944 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42945 from here ...
42946 * include/grub/i386/at_keyboard.h: ... to here.
42947
24371d26 429482008-08-05 Robert Millan <rmh@aybabtu.com>
42949
42950 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42951 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42952 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42953 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42954 `kern/generic/millisleep.c'.
42955
42956 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42957 instead of grub_get_rtc().
42958 (grub_tsc_init): Initialize `tsc_boot_time'.
42959
42960 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42961 (grub_machine_init): Use grub_tsc_init() rather than
42962 installing an RTC-based handler via grub_install_get_time_ms().
42963
42964 * kern/i386/pit.c: New file.
42965 * include/grub/i386/pit.h: Likewise.
42966
9e7007b3 429672008-08-05 Bean <bean123ch@gmail.com>
42968
42969 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42970
42971 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42972 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42973 (pxe_mod_SOURCES): New macro.
42974 (pxe_mod_CFLAGS): Likewise.
42975 (pxe_mod_LDFLAGS): Likewise.
42976 (pxecmd_mod_SOURCES): Likewise.
42977 (pxecmd_mod_CFLAGS): Likewise.
42978 (pxecmd_mod_LDFLAGS): Likewise.
42979
42980 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42981 (grub_pxe_call): Likewise.
42982
42983 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42984
42985 * commands/i386/pc/pxecmd.c: New file.
42986
9f0234cb 42987 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42988
42989 * include/grub/i386/pc/pxe.h: Likewise.
42990
6977d49f 429912008-08-05 Bean <bean123ch@gmail.com>
42992
42993 * util/console.c (grub_console_cur_color): New variable.
42994 (grub_console_standard_color): Likewise.
42995 (grub_console_normal_color): Likewise.
42996 (grub_console_highlight_color): Likewise.
42997 (color_map): Likewise.
42998 (use_color): Likewise.
42999 (NUM_COLORS): New macro.
43000 (grub_ncurses_setcolorstate): Handle color properly.
43001 (grub_ncurses_setcolor): Don't change color here, just remember the
43002 settings, color will be set in grub_ncurses_setcolorstate.
43003 (grub_ncurses_getcolor): New function.
43004 (grub_ncurses_init): Initialize color pairs.
43005 (grub_ncurses_term): New member grub_ncurses_getcolor.
43006
9c2ff3ee 430072008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 43008
9c2ff3ee 43009 High resolution timer support. Implemented for x86 CPUs using TSC.
43010 Extracted generic grub_millisleep() so it's linked in only as needed.
43011 This requires a Pentium compatible CPU; if the RDTSC instruction is
43012 not supported, then it falls back on the generic grub_get_time_ms()
43013 implementation that uses the machine's RTC.
43014
43015 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43016 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43017 `kern/generic/millisleep.c'.
43018
43019 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43020 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43021
43022 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43023 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43024
43025 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43026
43027 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43028 `kern/generic/millisleep.c'.
43029
43030 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43031
43032 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43033
43034 * kern/generic/rtc_get_time_ms.c: New file.
43035
43036 * kern/generic/millisleep.c: New file.
337f5a1e 43037
9c2ff3ee 43038 * kern/misc.c: Don't include
43039 <kern/time.h> anymore.
43040 (grub_millisleep_generic): Removed.
43041
43042 * commands/sleep.c (grub_interruptible_millisleep): Uses
43043 grub_get_time_ms() instead of grub_get_rtc().
43044
43045 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43046 function.
43047 (grub_cpu_is_cpuid_supported): New inline function.
43048 (grub_cpu_is_tsc_supported): New inline function.
43049 (grub_tsc_init): New function prototype.
43050 (grub_tsc_get_time_ms): New function prototype.
43051
43052 * kern/i386/tsc.c (grub_get_time_ms): New file.
43053
43054 * include/grub/time.h: Include <grub/types.h.
43055 (grub_millisleep_generic): Removed.
43056 (grub_get_time_ms): New prototype.
43057 (grub_install_get_time_ms): New prototype.
43058 (grub_rtc_get_time_ms): New prototype.
43059
43060 * kern/time.c (grub_get_time_ms): New function.
43061 (grub_install_get_time_ms): New function.
43062
43063 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43064 <grub/time.h> anymore.
43065 (grub_millisleep): Removed.
43066 (grub_machine_init): Call grub_tsc_init.
43067
43068 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43069 get_time_ms() implementation.
43070
43071 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43072 (ieee1275_get_time_ms): New function.
43073 (grub_machine_init): Install get_time_ms() implementation.
43074
43075 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43076 (grub_machine_init): Call grub_tsc_init().
43077 (grub_millisleep): Removed.
bf06a93f 43078
9c2ff3ee 43079 * kern/ieee1275/init.c (grub_millisleep): Removed.
43080 (grub_machine_init): Install ieee1275_get_time_ms()
43081 implementation.
43082 (ieee1275_get_time_ms): New function.
43083 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43084 real work.
43085
9ec92aaf 430862008-08-05 Marco Gerards <marco@gnu.org>
43087
43088 * disk/ata.c: Include <grub/pci.h>.
43089 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43090 (grub_ata_initialize): Rewritten.
43091 (grub_ata_device_initialize): New function.
43092
8d23f507 430932008-08-04 Pavel Roskin <proski@gnu.org>
43094
43095 * kern/main.c: Include grub/mm.h.
43096
5e15ee3d 430972008-08-04 Robert Millan <rmh@aybabtu.com>
43098
43099 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43100 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43101 corruption problem).
43102
a9053f8f 431032008-08-04 Robert Millan <rmh@aybabtu.com>
43104
43105 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43106 warnings introduced in my last commit.
43107
dd19c7d7 431082008-08-03 Robert Millan <rmh@aybabtu.com>
43109
43110 Make PCI available on all i386 architectures.
43111
43112 * include/grub/i386/pc/pci.h: Move from here ...
43113 * include/grub/i386/pci.h: ... to here.
43114
43115 * include/grub/i386/pc/pci.h: Remove.
43116 * include/grub/i386/efi/pci.h: Remove.
43117 * include/grub/x86_64/efi/pci.h: Remove.
43118
43119 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43120 `<grub/cpu/pci.h>'.
43121
43122 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43123 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43124 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43125
43126 * conf/i386-ieee1275.rmk: Likewise.
43127
e14a6184 431282008-08-03 Robert Millan <rmh@aybabtu.com>
43129
43130 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43131 (grub_console_setcursor): Make it possible to set cursor off.
43132
52768e37 431332008-08-03 Robert Millan <rmh@aybabtu.com>
43134
43135 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43136 of modules instead of assuming which platform provides what.
43137 * util/update-grub.in: Likewise.
43138
2d52f57f 431392008-08-03 Robert Millan <rmh@aybabtu.com>
43140
43141 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43142 instead of `grub_install_dos_part' to determine whether a drive needs
43143 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 43144 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 43145
2a5cd121 431462008-08-02 Robert Millan <rmh@aybabtu.com>
43147
43148 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43149
93808428 431502008-08-02 Robert Millan <rmh@aybabtu.com>
43151
43152 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43153 of informational grub_dprintf() calls.
43154
3bd0a12a 431552008-08-02 Robert Millan <rmh@aybabtu.com>
43156
43157 * disk/memdisk.c (memdisk_size): Don't initialize.
43158 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43159
43160 * include/grub/i386/pc/kernel.h
43161 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43162 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43163 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43164 (grub_arch_memdisk_size): Remove.
43165
43166 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43167 field (was only used to transfer a constant). Add `type' field to
43168 support multiple module types.
43169 (grub_module_iterate): New function.
43170
43171 * kern/device.c (grub_device_open): Do not hide error messages
43172 when grub_disk_open() fails. Use grub_print_error() instead.
43173
43174 * kern/i386/pc/init.c (grub_arch_modules_addr)
43175 (grub_arch_memdisk_size): Remove functions.
43176 (grub_arch_modules_addr): Return the module address in high memory
43177 (now that it isn't copied anymore).
43178
43179 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43180 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43181 decompression routine (grub_total_module_size already includes that
43182 now). Don't copy modules back to low memory.
43183
43184 * kern/main.c: Include `<grub/mm.h>'.
43185 (grub_load_modules): Split out (and use) ...
43186 (grub_module_iterate): ... this function, which iterates through
43187 module objects and runs a hook.
43188 Comment out grub_mm_init_region() call, as it would cause non-ELF
43189 modules to be overwritten.
43190
43191 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43192 the memdisk image in its own region, make it part of the module list.
43193 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43194 (main): Parse --memdisk|-m option, and pass user-provided path as
43195 parameter to generate_image().
43196 (add_segments): Pass `memdisk_path' down to load_modules().
43197 (load_modules): Embed memdisk image in module section when requested.
43198 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43199 `header.type' instead of `header.offset'.
43200
43201 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43202 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43203 (memdisk_mod_LDFLAGS): New variables.
43204 * conf/i386-coreboot.rmk: Likewise.
43205 * conf/i386-ieee1275.rmk: Likewise.
43206
a927cc73 432072008-08-02 Robert Millan <rmh@aybabtu.com>
43208
43209 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43210 (backward_relocator): New variables. Used to allocate and relocate
43211 the payload, respectively.
43212 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 43213 address, install the appropriate relocator code in each bound of
a927cc73 43214 the payload, and set the entry point such that
43215 grub_multiboot_real_boot() will jump to one of them.
43216
43217 * kern/i386/loader.S (grub_multiboot_payload_size)
43218 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43219 (grub_multiboot_payload_entry_offset): New variables.
43220 (grub_multiboot_real_boot): Set cpu context to what the relocator
43221 expects, and jump to the relocator instead of the payload.
43222
43223 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43224 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43225 (grub_multiboot_payload_entry_offset): Export.
43226
b15d8a0c 432272008-08-01 Bean <bean123ch@gmail.com>
43228
43229 * normal/menu_entry.c (editor_getline): Don't return the original
43230 string as result, as it will be released by lexer once it has done
43231 using it.
43232
cdfb3d22 432332008-08-01 Robert Millan <rmh@aybabtu.com>
43234
43235 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43236 within menuentries, not before them.
43237 util/grub.d/10_hurd.in: Likewise.
43238
9175e93d 432392008-08-01 Bean <bean123ch@gmail.com>
43240
43241 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43242 (bufio_mod_SOURCES): New macro.
43243 (bufio_mod_CFLAGS): Likewise.
43244 (bufio_mod_LDFLAGS): Likewise.
43245
43246 * include/grub/bufio.h: New file.
43247
43248 * io/bufio.c: Likewise.
43249
43250 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43251 (grub_video_reader_png): Use grub_buffile_open to open file.
43252
43253 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43254 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43255
43256 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43257 (grub_video_reader_tga): Use grub_buffile_open to open file.
43258
43259 * font/manager.c: Include <grub/bufio.h>.
43260 (add_font): Use grub_buffile_open to open file.
43261
3d8383e7 432622008-07-31 Robert Millan <rmh@aybabtu.com>
43263
43264 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43265 ELF segments, use a macro for arbitrarily accessing any of them instead
43266 of preparing a pointer that allows access to one at a time.
43267 (grub_multiboot_load_elf64): Likewise.
43268
16e641b6 432692008-07-31 Bean <bean123ch@gmail.com>
43270
43271 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43272 GRUB_KERNEL_MACHINE_DATA_END.
43273
59198b72 432742008-07-30 Robert Millan <rmh@aybabtu.com>
43275
43276 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43277 Increase from 0x50 to 0x60.
43278 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43279 use UUIDs to identify the root drive for them. If that's not
43280 possible, abort.
43281 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43282 check, for cross-disk installs.
43283
ae88bca3 432842008-07-30 Robert Millan <rmh@aybabtu.com>
43285
43286 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43287 is non-empty, use it to set the `prefix' environment variable instead
43288 of the usual approach.
43289 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43290 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43291 environment variable instead of dummy make_install_device().
43292
43293 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43294 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 43295 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 43296
43297 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43298 New variable reference.
43299 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43300 New macro. Defines offset of `grub_prefix' within startup.S (relative
43301 to `start').
43302 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43303 section within startup.S (relative to `start').
43304 * include/grub/i386/coreboot/kernel.h: Likewise.
43305
43306 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43307 Overwrite grub_prefix with its contents, at the beginning of the
43308 first segment.
43309 (main): Understand -p|--prefix.
43310
14f41dd1 433112008-07-30 Robert Millan <rmh@aybabtu.com>
43312
43313 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43314
4ca049a3 433152008-07-30 Robert Millan <rmh@aybabtu.com>
43316
43317 * term/i386/pc/vga_text.c (grub_console_cls): Use
43318 grub_console_gotoxy() to go back to beginning of the screen.
43319 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43320
2921d337 433212008-07-29 Christian Franke <franke@computer.org>
43322
43323 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43324 Add conversion of emulated mount points on Cygwin.
43325
b609876d 433262008-07-29 Christian Franke <franke@computer.org>
43327
43328 * util/update-grub.in: Add a check for admin
43329 group on Cygwin.
43330 Remove old `grub.cfg.new' before creation.
43331 Add `-f' to `mv' to handle the different filesystem
43332 semantics of Windows.
43333
e93e4679 433342008-07-29 Bean <bean123ch@gmail.com>
43335
43336 * normal/main.c (get_line): Fix buffer overflow bug.
43337
41694fd0 433382008-07-28 Robert Millan <rmh@aybabtu.com>
43339
43340 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43341 (struct grub_apple_header): New struct. Describes the layout of
43342 the partmap header.
43343 (apple_partition_map_iterate): Check the header magic as well as the
43344 partition magic (which was already being checked).
43345
cfd0b4e6 433462008-07-28 Pavel Roskin <proski@gnu.org>
43347
43348 * genmk.rb: Add a warning to the beginning of the output that
43349 it's a generated file and should not be edited.
43350
93cce016 433512008-07-28 Robert Millan <rmh@aybabtu.com>
43352
43353 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43354 with the same number are found, just use issue a warning with
43355 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 43356
cd1df915 433572008-07-27 Robert Millan <rmh@aybabtu.com>
43358
43359 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43360 information.
43361
b70a8427 433622008-07-27 Bean <bean123ch@gmail.com>
43363
43364 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43365 (grub_fat_find_dir): Ignore case when comparing filename.
43366
8f5e379f 433672008-07-27 Bean <bean123ch@gmail.com>
43368
43369 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43370 smallino, as it's more descriptive, and i8count can be confused with
43371 the other field count.
43372 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43373 inode type.
43374
a85cd5a0 433752008-07-27 Bean <bean123ch@gmail.com>
43376
43377 * commands/crc.c: New file.
43378
43379 * lib/crc.c: Likewise.
43380
43381 * include/grub/lib/crc.h: Likewise.
43382
43383 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43384
43385 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43386 (hexdump): Move this function to ...
43387
43388 * lib/hexdump.c: ... here.
43389
43390 * include/grub/hexdump.h: Renamed to ...
43391
43392 * include/grub/lib/hexdump.h: ... this.
43393
43394 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43395
43396 * util/grub-editenv.c: Likewise.
43397
43398 * include/envblk.h: Renamed to ...
43399
43400 * include/lib/envblk.h: ... this.
43401
43402 * util/envblk.c: Renamed to ...
43403
43404 * lib/envblk.c: ... this.
43405
43406 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43407 lib/hexdump.c.
43408 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43409 (pkglib_MODULES): Add crc.mod.
43410 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43411 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43412 (crc_mod_SOURCES): New macro.
43413 (crc_mod_CFLAGS): Likewise.
43414 (crc_mod_LDFLAGS): Likewise.
43415
43416 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43417
43418 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43419
43420 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43421
43422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43423
43424 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43425
c298def0 434262008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 43427
43428 * commands/help.c: Include <grub/term.h>.
43429 (TERM_WIDTH): Removed. Updated all users.
43430
cc349fb3 434312008-07-27 Pavel Roskin <proski@gnu.org>
43432
43433 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43434 spurious warnings about a comment within a comment.
43435
9051607e 434362008-07-25 Robert Millan <rmh@aybabtu.com>
43437
43438 * util/getroot.c (find_root_device): Skip devices that match
43439 /dev/dm-[0-9]. This lets the real device be found for any type of
43440 abstraction (LVM, EVMS, RAID..).
43441 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43442 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43443 device is found first, find_root_device() will now skip it.
43444
01453bfc 434452008-07-24 Pavel Roskin <proski@gnu.org>
43446
43447 * include/grub/types.h: Use __builtin_bswap32() and
43448 __builtin_bswap64() with gcc 4.3 and newer.
43449
6af9849f 434502008-07-24 Christian Franke <franke@computer.org>
43451
3a0fa256 43452 * util/i386/pc/grub-install.in: If `--debug' is specified,
43453 pass `--verbose' to grub-setup.
43454 Abort script if make_system_path_relative_to_its_root() fails.
43455
7810e747 434562008-07-24 Bean <bean123ch@gmail.com>
43457
43458 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43459 variable `target_platform' should be `platform'.
43460
42290e17 434612008-07-24 Bean <bean123ch@gmail.com>
43462
51cc5193 43463 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 43464 (grub_png_init_fixed_block): New function.
43465 (grub_png_decode_image_data): Handle fixed huffman code compression.
43466
2a8a80e4 434672008-07-24 Bean <bean123ch@gmail.com>
43468
43469 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43470 (grub_pe2elf_SOURCES): New macro.
43471 (CLEANFILES): Add grub-pe2elf.
43472
43473 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43474 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43475 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43476 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43477 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43478 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43479 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43480 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43481 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43482 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43483 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43484 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43485 (GRUB_PE32_DT_FUNCTION): Likewise.
43486 (GRUB_PE32_REL_I386_DIR32): Likewise.
43487 (GRUB_PE32_REL_I386_REL32): Likewise.
43488 (grub_pe32_symbol): New structure.
43489 (grub_pe32_reloc): Likewise.
43490
43491 * util/grub-pe2elf.c: New file.
43492
43493 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43494 start symbol in non pc platform.
43495
43496 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43497
43498 The following patches are from Christian Franke.
43499
43500 * include/grub/dl.h: Remove .previous, gas supports this only
43501 for ELF format.
43502
43503 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43504 Remove .type, gas supports this only for ELF format.
43505
43506 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43507 nullbytes in symbol table. This fixes an infinite loop if table is
43508 zero filled.
43509
43510 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43511 TARGET_IMG_LDFLAGS and EXEEXT.
43512
43513 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43514 TARGET_IMG_LDFLAGS_AC.
43515 (grub_CHECK_STACK_ARG_PROBE): New function.
43516
43517 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43518
43519 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43520
43521 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43522 to set TARGET_IMG_LD* accordingly.
43523 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43524 Add call to grub_CHECK_STACK_ARG_PROBE.
43525 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43526
43527 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43528
43529 * genmk.rb: Add EXEEXT to CLEANFILES.
43530
12ccdb75 435312008-07-23 Robert Millan <rmh@aybabtu.com>
43532
43533 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43534 define the codes for arrows and lines used for the menu).
43535 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43536 as well.
43537
43538 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43539 fonts, because the latter are too slow.
43540
18eeaf04 435412008-07-21 Bean <bean123ch@gmail.com>
43542
43543 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43544 a20. Run keyboard test last, as it will cause macbook to halt.
43545
b095e2ad 435462008-07-18 Pavel Roskin <proski@gnu.org>
43547
43548 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43549 load foreign architecture modules correctly anyway. Keep
43550 support for loading host architecture modules, whether we
43551 compile them or not.
43552
737feb35 435532008-07-17 Pavel Roskin <proski@gnu.org>
43554
3f4ce737 43555 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43556 change target_cpu. The compiler default can mismatch target_cpu
43557 in any case.
43558
4ad2d049 43559 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43560 * kern/efi/efi.c: Likewise.
43561
f6130a12 43562 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43563 target compiler is functional.
43564 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43565 are set up.
43566
58393a2d 43567 * configure.ac: Default to efi platform for x86_64-apple. Allow
43568 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43569 adjustments from the rest, only do them if target is not
43570 explicitly given. Merge other adjustments with the final sanity
43571 check. Remove an extraneous check for supported CPU. Be
43572 specific which CPU and which platform is not supported.
43573
737feb35 43574 * configure.ac: Default to pc platform for x86_64.
43575
546f966a 435762008-07-17 Robert Millan <rmh@aybabtu.com>
43577
43578 Partial LinuxBIOS -> Coreboot rename.
43579
43580 * conf/i386-linuxbios.rmk: Renamed to ...
43581 * conf/i386-coreboot.rmk: ... this.
43582 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43583 * configure.ac: Accept "coreboot" as input platform (but maintain
43584 compatibility with "linuxbios").
43585 * include/grub/i386/linuxbios: Renamed to ...
43586 * include/grub/i386/coreboot: ... this.
43587
20011694 435882008-07-17 Bean <bean123ch@gmail.com>
43589
43590 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43591 (appleldr_mod_SOURCE): New variable.
20011694 43592 (appleldr_mod_CFLAGS): Likewise.
43593 (appleldr_mod_LDFLAGS): Likewise.
43594 (pci_mod_SOURCES): Likewise.
43595 (pci_mod_CFLAGS): Likewise.
43596 (pci_mod_LDFLAGS): Likewise.
43597 (lspci_mod_SOURCES): Likewise.
43598 (lspci_mod_CFLAGS): Likewise.
43599 (lspci_mod_LDFLAGS): Likewise.
43600
43601 * conf/x86_64-efi.rmk: New file.
43602
43603 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43604 macro.
43605 (grub_efidisk_write): Likewise.
43606
43607 * include/efi/api.h (efi_call_0): New macro.
43608 (efi_call_1): Likewise.
43609 (efi_call_2): Likewise.
43610 (efi_call_3): Likewise.
43611 (efi_call_4): Likewise.
43612 (efi_call_5): Likewise.
43613 (efi_call_6): Likewise.
43614
43615 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43616 grub_rescue_cmd_chainloader.
43617
43618 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43619 (grub_pe32_optional_header): Change some fields based on i386 or
43620 x86_64 platform.
43621 (GRUB_PE32_PE32_MAGIC): Likewise.
43622
43623 * include/grub/efi/uga_draw.h: New file.
43624
43625 * include/grub/elf.h (STN_ABS): New constant.
43626 (R_X86_64_NONE): Relocation constant for x86_64.
43627 (R_X86_64_64): Likewise.
43628 (R_X86_64_PC32): Likewise.
43629 (R_X86_64_GOT32): Likewise.
43630 (R_X86_64_PLT32): Likewise.
43631 (R_X86_64_COPY): Likewise.
43632 (R_X86_64_GLOB_DAT): Likewise.
43633 (R_X86_64_JUMP_SLOT): Likewise.
43634 (R_X86_64_RELATIVE): Likewise.
43635 (R_X86_64_GOTPCREL): Likewise.
43636 (R_X86_64_32): Likewise.
43637 (R_X86_64_32S): Likewise.
43638 (R_X86_64_16): Likewise.
43639 (R_X86_64_PC16): Likewise.
43640 (R_X86_64_8): Likewise.
43641 (R_X86_64_PC8): Likewise.
43642
43643 * include/grub/i386/efi/pci.h: New file.
43644
43645 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43646 Change it value based on platform.
43647 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43648 (GRUB_E820_RAM): Likewise.
43649 (GRUB_E820_RESERVED): Likewise.
43650 (GRUB_E820_ACPI): Likewise.
43651 (GRUB_E820_NVS): Likewise.
43652 (GRUB_E820_EXEC_CODE): Likewise.
43653 (GRUB_E820_MAX_ENTRY): Likewise.
43654 (grub_e820_mmap): New structure.
43655 (linux_kernel_header): Change the efi field according to different
43656 kernel version, also field from linux_kernel_header.
43657
43658 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43659
43660 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43661 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43662 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43663 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43664 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43665 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43666 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43667 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43668 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43669 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43670
43671 * include/grub/x86_64/efi/kernel.h: New file.
43672
43673 * include/grub/x86_64/efi/loader.h: Likewise.
43674
43675 * include/grub/x86_64/efi/machine.h: Likewise.
43676
43677 * include/grub/x86_64/efi/pci.h: Likewise.
43678
43679 * include/grub/x86_64/efi/time.h: Likewise.
43680
43681 * include/grub/x86_64/linux.h: Likewise.
43682
43683 * include/grub/x86_64/setjmp.h: Likewise.
43684
43685 * include/grub/x86_64/time.h: Likewise.
43686
43687 * include/grub/x86_64/types.h: Likewise.
43688
43689 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43690 GRUB_TARGET_SIZEOF_VOID_P.
43691
43692 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43693 (grub_efi_locate_handle): Likewise.
43694 (grub_efi_open_protocol): Likewise.
43695 (grub_efi_set_text_mode): Likewise.
43696 (grub_efi_stall): Likewise.
43697 (grub_exit): Likewise.
43698 (grub_reboot): Likewise.
43699 (grub_halt): Likewise.
43700 (grub_efi_exit_boot_services): Likewise.
43701 (grub_get_rtc): Likewise.
43702
43703 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43704 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43705 (grub_efi_allocate_pages): Wrap efi calls.
43706 (grub_efi_free_pages): Wrap efi calls.
43707 (grub_efi_get_memory_map): Wrap efi calls.
43708
43709 * kern/x86_64/dl.c: New file.
43710
43711 * kern/x86_64/efi/callwrap.S: Likewise.
43712
43713 * kern/x86_64/efi/startup.S: Likewise.
43714
43715 * loader/efi/appleloader.c: Likewise.
43716
43717 * loader/efi/chainloader.c (cmdline): New variable.
43718 (grub_chainloader_unload): Wrap efi calls.
43719 (grub_chainloader_boot): Likewise.
43720 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43721 command line.
43722
43723 * loader/efi/chainloader_normal.c (chainloader_command):
43724 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43725 command line.
43726
43727 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43728 method.
43729 (grub_e820_add_region): New function.
43730 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43731 booting.
43732 (grub_find_video_card): New function.
43733 (grub_linux_setup_video): New function.
43734 (grub_rescue_cmd_linux): Probe for video information.
43735
43736 * normal/x86_64/setjmp.S: New file.
43737
43738 * term/efi/console.c (map_char): New function.
43739 (grub_console_putchar): Map unicode char.
43740 (grub_console_checkkey): Wrap efi calls.
43741 (grub_console_getkey): Likewise.
43742 (grub_console_getwh): Likewise.
43743 (grub_console_gotoxy): Likewise.
43744 (grub_console_cls): Likewise.
43745 (grub_console_setcolorstate): Likewise.
43746 (grub_console_setcursor): Likewise.
43747
43748 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43749
59652a20 437502008-07-16 Pavel Roskin <proski@gnu.org>
43751
ef294055 43752 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43753 format strings.
43754
59652a20 43755 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43756 pointer, not an integer. This fixes a warning and prevents
43757 precision loss on 64-bit systems.
43758 (relocate_addresses): Remove unneeded cast.
43759
afc3b5d7 437602008-07-15 Pavel Roskin <proski@gnu.org>
43761
506b2b3e 43762 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43763
62ead89c 43764 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43765
c4cd51d7 43766 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43767 Fix comparison between signed and unsigned.
43768
0d3d8f28 43769 * include/grub/i386/ieee1275/console.h: Declare
43770 grub_console_init() and grub_console_fini().
43771
8804b286 43772 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43773 It's empty and unused.
43774
ee01cf35 43775 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43776 beginning to avoid warnings with some compilers.
43777
afc3b5d7 43778 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43779 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43780
e4e8eaa5 437812008-07-14 Pavel Roskin <proski@gnu.org>
43782
407aceb4 43783 * kern/env.c (grub_register_variable_hook): Don't copy empty
43784 string, it leaks memory. Pass "" to grub_env_set(), it should
43785 handle constant strings.
43786
e4e8eaa5 43787 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43788 * commands/cmp.c (grub_cmd_cmp): Likewise.
43789 * kern/dl.c (grub_dl_flush_cache): Likewise.
43790 (grub_dl_load_core): Likewise.
43791 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43792 (grub_elf64_load_phdrs): Likewise.
43793
d4e2dad3 437942008-07-13 Pavel Roskin <proski@gnu.org>
43795
43796 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43797 between signed and unsigned.
43798 (LzmaEnc_Finish): Fix warning about an unused parameter.
43799
aa24b516 438002008-07-13 Bean <bean123ch@gmail.com>
43801
43802 * Makefile.in (enable_lzo): New rule.
43803
43804 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43805
43806 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43807
43808 * boot/i386/pc/lnxboot.S: #include <config.h>.
43809
43810 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43811 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43812
43813 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43814 compression algorithm according to configure macro.
43815
43816 * kern/i386/pc/startup.S (codestart): Likewise.
43817
43818 * kern/i386/pc/lzma_decode.S: New file.
43819
43820 * include/grub/lib/LzFind.h: Likewise.
43821
43822 * include/grub/lib/LzHash.h: Likewise.
43823
43824 * include/grub/lib/LzmaDec.h: Likewise.
43825
43826 * include/grub/lib/LzmaEnc.h: Likewise.
43827
43828 * include/grub/lib/LzmaTypes.h: Likewise.
43829
43830 * lib/LzFind.c: Likewise.
43831
43832 * lib/LzmaDec.c: Likewise.
43833
43834 * lib/LzmaEnc.c: Likewise.
43835
4ae821ac 438362008-07-13 Bean <bean123ch@gmail.com>
43837
43838 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43839 (grub_ext4_extent_header): New structure.
43840 (grub_ext4_extent): Likewise.
43841 (grub_ext4_extent_idx): Likewise.
43842 (grub_ext4_find_leaf): New function.
43843 (grub_ext2_read_block): Handle extents.
43844
9a745147 438452008-07-12 Robert Millan <rmh@aybabtu.com>
43846
43847 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43848
d49a4cf6 438492008-07-11 Robert Millan <rmh@aybabtu.com>
43850
43851 * util/grub.d/40_custom.in: New file. Example on how to add custom
43852 entries to /etc/grub.d.
43853 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43854 40_custom (implicitly, by merging all the grub.d rules).
43855
947414b4 438562008-07-11 Pavel Roskin <proski@gnu.org>
43857
0059cf6f 43858 * commands/read.c (grub_getline): Fix invalid memory access.
43859 Don't add newline to the variable value.
43860
947414b4 43861 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43862 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43863 (serial_hw_get_port): Check validity of the port number.
43864 (grub_cmd_serial): Check return value of serial_hw_get_port().
43865
62a02d00 438662008-07-07 Pavel Roskin <proski@gnu.org>
43867
43868 * boot/i386/pc/diskboot.S (notification_string): Replace
43869 "Loading kernel" with just "loading". This is shorter, less
43870 confusing and saves a few bytes for possible future changes.
43871
3e5581b0 438722008-07-05 Pavel Roskin <proski@gnu.org>
43873
ea387a48 43874 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43875 size for ATAPI devices, they are undefined. Output sector
43876 number in decimal form.
43877
3e5581b0 43878 * disk/ata.c: Use named constants for status bits.
43879
fdecb8fd 438802008-07-04 Pavel Roskin <proski@gnu.org>
43881
bcd35b90 43882 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43883 grub_addr_t before casting it to the void pointer to fix a
43884 warning. Non-addressable regions are discarded earlier.
43885 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43886 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43887 (check_signature): Don't shadow table_header.
43888 (grub_linuxbios_table_iterate): Cast numeric constants to
43889 grub_linuxbios_table_header_t.
43890 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43891 grub_stop().
43892
af58ab3d 43893 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43894 prevent warnings.
43895
1759aa57 43896 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43897 pointer, which can cause warnings. Support 64-bit addresses.
43898
fdecb8fd 43899 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43900 of sizeof(long). This fixes PowerPC image generation on x86_64.
43901
8516d2a8 439022008-07-04 Robert Millan <rmh@aybabtu.com>
43903
43904 This fixes a performance issue when pc & gpt partmap iterators
43905 didn't abort iteration even after our hook found what it was
fe987087 43906 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43907
43908 Some callers relied on previous buggy behaviour, since they would
34c44600 43909 raise an error when their own hooks caused early abortion of its
8516d2a8 43910 iteration.
43911
43912 * kern/device.c (grub_device_open): Improve error message.
43913 * disk/lvm.c (grub_lvm_open): Likewise.
43914 * disk/raid.c (grub_raid_open): Likewise.
43915
43916 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43917 when hook requests it, independently of grub_errno.
43918 (pc_partition_map_probe): Do not fail when find_func() caused
43919 early abortion of pc_partition_map_iterate().
43920
43921 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43922 when hook requests it, independently of grub_errno.
43923 (gpt_partition_map_probe): Do not fail when find_func() caused
43924 early abortion of gpt_partition_map_iterate().
43925
43926 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43927 when hook requests it, independently of grub_errno. Do not fail when
43928 part_map_iterate_hook() caused early abortion of p->iterate().
43929
43930 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43931 when grub_partition_iterate() returned with non-zero.
43932
277d0de9 439332008-07-03 Pavel Roskin <proski@gnu.org>
43934
43935 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43936 like we do in grub_ata_pio_read().
43937 (grub_ata_readwrite): Always write individual sectors. Fix the
43938 sector count for the remainder.
43939 (grub_ata_write): Enable writing to ATA devices. Correctly
43940 report error for ATAPI devices.
43941
d4c9b428 439422008-07-02 Pavel Roskin <proski@gnu.org>
43943
e43fc690 43944 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43945 warning.
43946
f707af42 43947 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43948 for every read sector, we already increment it for the whole
43949 batch. This fixes reading more than 256 sectors at once.
43950
11e16b15 43951 * util/grub-editenv.c (cmd_info): Cast argument to long
43952 explicitly. ptrdiff_t reduces to int on i386.
43953
cbabfdd4 43954 * util/grub-editenv.c (main): Be specific which parameter is
43955 missing.
43956
b8fbce0a 43957 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43958 (memdisk): Make memdisk_orig_addr a pointer.
43959
c9c8e606 43960 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43961 for file offsets, use grub_off_t instead. Fix printf format
43962 warnings.
43963
ca62e598 43964 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43965 there. Real unexpected warnings should not drown in the noise
43966 about known problems.
43967
ce8d1766 43968 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43969 grub_disk_addr_t for memory addresses.
43970
00c7a56a 43971 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43972 explicitly to fix a warning.
43973
08d3ef09 43974 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43975
cb71ba20 43976 * Makefile.in (MODULE_LDFLAGS): New variable.
43977 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43978 the linker accepts --build-id=none.
43979 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43980 MODULE_LDFLAGS.
43981 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43982
d4c9b428 43983 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43984 those in Linux XFS code. Provide a way to access 64-bit parent
43985 inode.
43986 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43987 the end of struct grub_xfs_dir_header.
43988
d4156eee 439892008-07-02 Bean <bean123ch@gmail.com>
43990
43991 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43992 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43993 and GRUB_IEEE1275_FLAG_NO_ANSI.
43994
43995 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43996 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43997 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43998
43999 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44000 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44001
44002 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44003 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44004
44005 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44006 esc sequence on non ANSI terminal.
44007 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44008
44009 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44010 beginning of file.
44011
2270f77b 440122008-07-02 Bean <bean123ch@gmail.com>
44013
44014 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44015 (grub_editenv_SOURCES): New variable.
44016 (pkglib_MODULES): Add loadenv.mod.
44017 (loadenv_mod_SOURCES): New variable.
44018 (loadenv_mod_CFLAGS): Likewise.
44019 (loadenv_mod_LDFLAGS): Likewise.
44020
44021 * include/grub/envblk.h: New file.
44022
44023 * util/envblk.c: New file.
44024
44025 * util/grub-editenv.c: New file.
44026
44027 * commands/loadenv.c: New file.
44028
0e9e51ec 440292008-07-01 Pavel Roskin <proski@gnu.org>
44030
d89b7634 44031 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44032 not unsigned char. This fixes warnings and is consistent with
44033 other tags.
44034
bf1835b1 44035 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44036
8222a04b 44037 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44038
6a42d99d 44039 * term/tparm.c (analyze): Always set *popcount.
44040
10b159d1 44041 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44042 cast to fix a warning.
44043
b8789f6c 44044 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44045 cast to suppress a warning.
44046
29d7e38a 44047 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44048 grub_fshelp_read_file() expects.
44049
f341f669 44050 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44051 write uuid as a 32-bit value in CPU byte order, so declare and
44052 use it as such.
44053
0e9e51ec 44054 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44055 long if the format specifier expects it.
44056 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44057 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44058 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44059 long to fix a warning.
44060 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44061 grub_dprintf() arguments to fix warnings.
44062
3aefa857 440632008-06-30 Pavel Roskin <proski@gnu.org>
44064
56c7668b 44065 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44066 install_bsd_part immediately before core.img is embedded or
44067 modified on disk. This fixes core.img verification if core.img
44068 cannot be embedded.
44069
3aefa857 44070 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44071 core_path to calculate the blocklist.
44072 Patch from Javier Martín <lordhabbit@gmail.com>
44073
5444088d 440742008-06-29 Robert Millan <rmh@aybabtu.com>
44075
44076 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44077 block to disk block.
44078 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44079 Patch from Niels Böhm <bitbucket@arcor.de>
44080
674835c8 440812008-06-29 Robert Millan <rmh@aybabtu.com>
44082
44083 * util/update-grub_lib.in (font_path): Search for fonts in
44084 /boot/grub first, which is more likely to be readable (we aren't
44085 deciding where fonts live, just looking for them).
44086
f527dbc8 440872008-06-26 Pavel Roskin <proski@gnu.org>
44088
6c2d8df6 44089 * util/biosdisk.c (read_device_map): Don't leave dead map
44090 entries for devices failing stat() check.
44091
f527dbc8 44092 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44093 core_path_dev for the core.img path on the target device.
44094
aebe3d13 440952008-06-26 Robert Millan <rmh@aybabtu.com>
44096
44097 * disk/fs_uuid.c: New file.
44098 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44099 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44100 (fs_uuid_mod_LDFLAGS): New variables.
44101 * include/grub/disk.h (grub_disk_dev_id): Add
44102 `GRUB_DISK_DEVICE_UUID_ID'.
44103 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44104 implement iterate().
44105
37aaf354 441062008-06-26 Robert Millan <rmh@aybabtu.com>
44107
44108 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44109 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44110 Linux image includes no initrd.
44111
25ff262a 441122008-06-21 Javier Martín <lordhabbit@gmail.com>
44113
44114 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44115 call to resolve the core image location that effectively appended the
44116 name twice.
44117
76a2bd44 441182008-06-21 Robert Millan <rmh@aybabtu.com>
44119
44120 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44121 call from here ...
44122
44123 * util/grub.d/10_hurd.in: ... to here ...
44124 * util/grub.d/10_linux.in: ... and here.
44125
650e1c79 441262008-06-19 Robert Millan <rmh@aybabtu.com>
44127
fe987087 44128 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 44129 after it has been set by grub_machine_set_prefix().
44130
6ce63911 441312008-06-19 Robert Millan <rmh@aybabtu.com>
44132
44133 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44134 search result when not saving to variable, not the other way around.
44135 When saving to variable, abort iteration as soon as a match is found.
44136
73940cec 441372008-06-19 Robert Millan <rmh@aybabtu.com>
44138
44139 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44140 check for partition that provides /boot/grub. Its logic is flawed,
44141 as it prevents prepare_grub_to_access_device() from being called
44142 multiple times.
44143
3c62a39d 441442008-06-19 Robert Millan <rmh@aybabtu.com>
44145
44146 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44147 "insmod" command directly when abstraction modules are needed,
fe987087 44148 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 44149 since it had already been processed).
44150
47395a42 441512008-06-19 Pavel Roskin <proski@gnu.org>
44152
44153 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44154 changed. This is needed in case GRUB_LIBDIR changes.
44155 * conf/i386-ieee1275.rmk: Likewise.
44156 * conf/i386-linuxbios.rmk: Likewise.
44157 * conf/i386-pc.rmk: Likewise.
44158 * conf/powerpc-ieee1275.rmk: Likewise.
44159
a145ac2d 441602008-06-18 Pavel Roskin <proski@gnu.org>
44161
44162 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44163 kernel_elf_symlist.c to symlist.c for consistency with other
44164 architectures. Update all users.
44165 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44166
7847c51e 441672008-06-18 Robert Millan <rmh@aybabtu.com>
44168
44169 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44170 it in prefix.
44171
44172 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44173 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44174 a RAID device, run setup() for all members independently on whether
44175 LVM abstraction is being used.
44176 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44177 If grub-mkimage has set `*install_dos_part == -2', don't override this
44178 value.
44179 Perform *install_dos_part adjustments independently on whether
44180 we're embedding or not.
44181 Clarify error message when image is too big for embedding.
44182 Remove duplicate *install_dos_part stanza.
44183
b23e5644 441842008-06-17 Robert Millan <rmh@aybabtu.com>
44185
44186 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44187 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44188 variables.
44189 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44190 values in grub_ofconsole_normal_color and
44191 grub_ofconsole_highlight_color (they're not directly related to
44192 background and foreground).
44193 (grub_ofconsole_setcolorstate): Extract background and foreground
44194 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44195
0aac2f79 441962008-06-17 Robert Millan <rmh@aybabtu.com>
44197
44198 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44199 /boot/grub for the check in last commit, not /boot (they could be
44200 different partitions).
44201
3cca7ef3 442022008-06-16 Robert Millan <rmh@aybabtu.com>
44203
44204 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44205 asked to setup access for the same partition that provides /boot,
44206 don't bother using UUIDs since our root already has the value we
44207 want.
44208
347396d8 442092008-06-16 Robert Millan <rmh@aybabtu.com>
44210
44211 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44212 I2O devices.
44213 Patch from Sven Mueller <sven@debian.org>.
44214
991477f8 442152008-06-16 Robert Millan <rmh@aybabtu.com>
44216
44217 * util/update-grub.in: Check for $EUID instead of $UID.
44218 Reported by Vincent Zweije.
44219
d31a32a1 442202008-06-16 Bean <bean123ch@gmail.com>
44221
fe987087 44222 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 44223 (grub_ext2_read_block): Likewise.
44224 (grub_ext2_read_inode): Likewise.
44225 (grub_ext2_mount): Likewise.
44226 (grub_ext2_close): Likewise.
44227 (grub_ext3_get_journal): Removed.
44228
fe987087 44229 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 44230 (grub_reiserfs_read_symlink): Likewise.
44231 (grub_reiserfs_mount): Likewise.
44232 (grub_reiserfs_open): Likewise.
44233 (grub_reiserfs_read): Likewise.
44234 (grub_reiserfs_close): Likewise.
44235 (grub_reiserfs_get_journal): Removed.
44236
44237 * fs/fshelp.c (grub_fshelp_read): Removed.
44238 (grub_fshelp_map_block): Likewise.
44239
44240 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44241 (grub_fshelp_journal): Likewise.
44242 (grub_fshelp_read): Likewise.
44243 (grub_fshelp_map_block): Likewise.
44244
3540a760 442452008-06-16 Pavel Roskin <proski@gnu.org>
44246
44247 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44248 floating point anymore.
44249 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44250
95614c84 442512008-06-15 Pavel Roskin <proski@gnu.org>
44252
44253 * commands/ls.c (grub_ls_list_files): Use integer calculations
44254 for human readable format, avoid floating point use.
44255 * kern/misc.c (grub_ftoa): Remove.
44256 (grub_vsprintf): Remove floating point support.
44257
50465dd6 442582008-06-15 Robert Millan <rmh@aybabtu.com>
44259
fe6b695a 44260 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 44261 devices.
44262 Reported by Max Vozeler.
44263
a9207284 442642008-06-15 Robert Millan <rmh@aybabtu.com>
44265
44266 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44267 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44268 skipped later.
44269 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44270 the beginning of the prefix.
44271
44272 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44273 It is assumed that if we have a memdisk, grub-mkimage has set
44274 grub_prefix to include the "(memdisk)" drive in it.
44275
a7cbd45a 442762008-06-15 Robert Millan <rmh@aybabtu.com>
44277
44278 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44279 Initialize keyboard controller after registering the terminal, so that
44280 grub_printf() can be called from grub_keyboard_controller_init().
44281
21cf716a 442822008-06-15 Robert Millan <rmh@aybabtu.com>
44283
44284 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44285 extent-btree which is written as big endian on disk.
44286 Reported by Alain Greppin <al@chilibi.org>.
44287
23a64d8e 442882008-06-14 Robert Millan <rmh@aybabtu.com>
44289
44290 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44291 * util/i386/pc/grub-install.in (modules): Likewise.
44292
d687651c 442932008-06-13 Pavel Roskin <proski@gnu.org>
44294
44295 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44296
dfe9ddd4 442972008-06-13 Bean <bean123ch@gmail.com>
44298
44299 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44300
44301 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44302
44303 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44304 to indicate sparse block.
44305
16ae7781 443062008-06-12 Pavel Roskin <proski@gnu.org>
44307
e6d1a308 44308 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44309 number, grub_fshelp_read() does it for us.
44310
16ae7781 44311 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44312 linear disk read with journal translation.
44313 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44314 * include/grub/fshelp.h: Declare grub_fshelp_read().
44315
40fd3a2b 443162008-06-09 Pavel Roskin <proski@gnu.org>
44317
44318 * fs/minix.c (grub_minix_mount): Handle error reading
44319 superblock.
44320
f5679726 443212008-06-08 Robert Millan <rmh@aybabtu.com>
44322
44323 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44324 don't append the RAID prefix afterwards.
44325 Reported by Clint Adams.
44326
ce525529 443272008-06-08 Robert Millan <rmh@aybabtu.com>
44328
44329 Based on description from Pavel:
44330 * kern/disk.c (grub_disk_check_range): Rename to ...
44331 (grub_disk_adjust_range): ... this. Add a comment explaining the
44332 tasks performed by this function.
44333
ad4936a0 443342008-06-08 Robert Millan <rmh@aybabtu.com>
44335
44336 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44337 `num_serial' (for consistency with other variables).
44338 (struct grub_ntfs_data): Add `uuid' member.
44339 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44340 (grub_ntfs_uuid): New function.
44341 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44342
dc20b0f9 443432008-06-07 Pavel Roskin <proski@gnu.org>
44344
44345 * util/biosdisk.c (open_device): Revert last change to the
44346 function, it broke installation. The sector needs to be
44347 different dependent on which device is opened.
44348
c5e3cfba 443492008-06-06 Robert Millan <rmh@aybabtu.com>
44350
44351 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44352 rest of GRUB, and breakage doesn't happen if its value were modified.
44353
44354 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44355 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44356 a constant (same value).
44357 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44358 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44359
26a1f8c4 443602008-06-06 Robert Millan <rmh@aybabtu.com>
44361
44362 * util/biosdisk.c (open_device): Do not modify sector offset when
44363 accessing a partition. kern/disk.c already handles this for us.
44364
25d6b327 443652008-06-06 Robert Millan <rmh@aybabtu.com>
44366
44367 * util/grub-emu.c (grub_machine_init): Move code in this function from
44368 here ...
44369 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44370 segfault in case grub_printf() is called).
44371
44372 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44373 grub_probe. Update all users not to explicitly add it again.
44374 (grub_device): New variable; contains corresponding device for grubdir.
44375 (fs_module, partmap_module, devabstraction_module): Pass
44376 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44377 every time.
44378
9ece62fb 443792008-06-05 Robert Millan <rmh@aybabtu.com>
44380
44381 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44382 is found, print it (same layout as with labels).
44383
1ad36d37 443842008-06-04 Robert Millan <rmh@aybabtu.com>
44385
44386 * util/biosdisk.c (get_drive): Rename to ...
44387 (find_grub_drive): ... this. Update all users.
44388
44389 (get_os_disk): Rename to ...
44390 (convert_system_partition_to_system_disk): ... this. Update all users.
44391
44392 (find_drive): Rename to ...
44393 (find_system_device): ... this. Update all users.
44394
e6a30859 443952008-06-04 Robert Millan <rmh@aybabtu.com>
44396
44397 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44398 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44399 (make_device_map): Likewise.
44400
00c108a4 444012008-06-01 Robert Millan <rmh@aybabtu.com>
44402
44403 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44404 before dereferencing it.
44405
44406 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44407 union with fat12/fat16-specific ones. Add some new fields, including
44408 `num_serial' for both versions.
44409 (struct grub_fat_data): Add `uuid' member.
44410 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44411 names. Initialize `data->uuid' using `num_serial'.
44412 (grub_fat_uuid): New function.
44413 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44414
44415 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44416 (grub_reiserfs_uuid): New function.
44417 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44418 member.
44419
44420 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44421 (grub_xfs_uuid): New function.
44422 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44423
1385c5bb 444242008-06-01 Robert Millan <rmh@aybabtu.com>
44425
44426 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44427 code that is backward compatible with pre-uuid search command.
44428
c682dfd7 444292008-05-31 Robert Millan <rmh@aybabtu.com>
44430
44431 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44432 floppies after everything else, to ensure floppy drive isn't accessed
44433 unnecessarily (patch from Bean).
44434
b7db5d47 444352008-05-31 Robert Millan <rmh@aybabtu.com>
44436
44437 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44438 not print device names when we were asked to set a variable.
44439
6e037aa9 444402008-05-31 Robert Millan <rmh@aybabtu.com>
44441
44442 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44443 using "cursor-on" and "cursor-off" commands (understood at least by
44444 the Open Firmware flavour on OLPC).
44445
41305bc8 444462008-05-31 Michael Gorven <michael@gorven.za.net>
44447
44448 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44449 on and off sequences.
44450
69ba137e 444512008-05-31 Robert Millan <rmh@aybabtu.com>
44452
44453 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44454 * util/update-grub.in: Likewise.
44455
520ae21b 444562008-05-30 Pavel Roskin <proski@gnu.org>
44457
44458 * util/biosdisk.c (linux_find_partition): Simplify logic and
44459 make the code more universal. Keep special processing for
44460 devfs, but use a simple rule for all other devices. If the
44461 device ends with a number, append 'p' and the partition number.
44462 Otherwise, append only the partition number.
44463
5786569b 444642008-05-30 Robert Millan <rmh@aybabtu.com>
44465
44466 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44467 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44468 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44469 the `root' parameter to Linux.
44470
51500452 444712008-05-30 Robert Millan <rmh@aybabtu.com>
44472
44473 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44474 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44475 --fs_uuid with --fs-uuid.
44476 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44477 all filesystems support them).
44478
811d3878 444792008-05-30 Robert Millan <rmh@aybabtu.com>
44480
44481 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 44482 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 44483
cab63c95 444842008-05-30 Robert Millan <rmh@aybabtu.com>
44485
44486 * util/grub.d/00_header.in: Remove obsolete comment referencing
44487 convert_system_path_to_grub_path().
44488 * util/update-grub.in: Likewise.
44489 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44490 (convert_system_path_to_grub_path): Add a warning message explaining
44491 that this function is deprecated. Rely on is_path_readable_by_grub()
44492 for the readability checks.
44493 (font_path): Use is_path_readable_by_grub() for the readability
44494 check rather than convert_system_path_to_grub_path().
44495
972e2f7a 444962008-05-30 Robert Millan <rmh@aybabtu.com>
44497
44498 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44499 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44500 converting it first.
44501 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44502 grub.cfg for access to font file, and afterwards call it again to set
44503 the root device.
44504
62191274 445052008-05-30 Robert Millan <rmh@aybabtu.com>
44506
44507 * commands/search.c (options): Add --fs_uuid option.
44508 (search_fs_uuid): New function.
44509 (grub_cmd_search): Fix --set argument passing.
44510 Use search_fs_uuid() when requested via --fs_uuid.
44511 (grub_search_init): Update help message.
44512 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44513 and redeclare it as an array of 16-bit words.
44514 (grub_ext2_uuid): New function.
44515 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44516 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44517 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44518 (GRUB_DEVICE_BOOT_UUID): New variables.
44519 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44520 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44521 whenever possible.
44522 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44523 just assume `root' variable has the right value.
44524 * util/grub.d/10_linux.in: Likewise.
44525 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44526 via PRINT_FS_UUID.
44527 (main): Recognise `-t fs_uuid' argument.
44528
01b73ec8 445292008-05-30 Robert Millan <rmh@aybabtu.com>
44530
44531 * util/biosdisk.c (map): Redefine structure to hold information
44532 about GRUB drive name.
fe6b695a 44533 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44534 drive names.
44535 (call_hook): Remove.
44536 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44537 member. Assume drive has partitions.
44538 (grub_util_biosdisk_open): Access device names via `.device' struct
44539 member.
44540 (open_device): Likewise.
44541 (find_drive): Likewise.
44542 (read_device_map): Adjust map[] usage to match the new struct
44543 definition. Don't check for duplicates (still possible, but not cheap
44544 anymore).
44545 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44546 (make_device_name): Remove assumption of BIOS-like drive names.
44547
22f16596 445482008-05-30 Pavel Roskin <proski@gnu.org>
44549
44550 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44551 compiling execute.c doesn't need grub_script.tab.h anymore.
44552 (normal/command.c_DEPENDENCIES): Likewise.
44553 (normal/function.c_DEPENDENCIES): Likewise.
44554 * conf/i386-ieee1275.rmk: Likewise.
44555 * conf/i386-linuxbios.rmk: Likewise.
44556 * conf/i386-pc.rmk: Likewise.
44557 * conf/powerpc-ieee1275.rmk: Likewise.
44558 * conf/sparc64-ieee1275.rmk: Likewise.
44559
528ad8f2 445602008-05-29 Pavel Roskin <proski@gnu.org>
44561
d1dff95d 44562 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44563 when scanning metadata for volume group name.
44564
528ad8f2 44565 * include/grub/script.h: Don't include grub_script.tab.h. It's
44566 a generated file, which may only be included from the files with
44567 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44568 use union YYSTYPE, as the later allows forward declaration.
44569 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44570
47248e08 445712008-05-29 Robert Millan <rmh@aybabtu.com>
44572
44573 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44574 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44575 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44576 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44577 scan codes.
44578
ee632529 445792008-05-29 Robert Millan <rmh@aybabtu.com>
44580
44581 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44582 control key combinations.
44583
eee96e08 445842008-05-29 Robert Millan <rmh@aybabtu.com>
44585
44586 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44587 * util/ieee1275/grub-install.in: ... to here.
44588 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44589 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44590 (grub_install_SOURCES): Likewise.
44591
da9a6a94 445922008-05-29 Robert Millan <rmh@aybabtu.com>
44593
44594 * fs/affs.c: Update copyright year.
44595 * fs/ext2.c: Likewise.
44596 * fs/fshelp.c: Likewise.
44597 * fs/hfsplus.c: Likewise.
44598 * fs/ntfs.c: Likewise.
44599 * fs/xfs.c: Likewise.
44600 * include/grub/fshelp.h: Likewise.
44601 * util/grub-mkdevicemap.c: Likewise.
44602
12e65f3a 446032008-05-28 Robert Millan <rmh@aybabtu.com>
44604
44605 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44606 might need to be fatfs to support some firmware implementations
44607 (e.g. OFW or EFI).
44608
23023641 446092008-05-28 Robert Millan <rmh@aybabtu.com>
44610
44611 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44612 devices.
44613 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44614 (make_device_map): Likewise.
44615
887d2619 446162008-05-20 Bean <bean123ch@gmail.com>
44617
44618 * fs/fshelp.c (grub_fshelp_map_block): New function.
44619 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44620 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44621
44622 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44623 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44624 (grub_fshelp_journal): New structure.
44625 (grub_fshelp_map_block): New function prototype.
44626 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44627 (grub_fshelp_map_block): Likewise.
44628
44629 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44630 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44631 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44632 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44633 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44634 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44635 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44636 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44637 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44638 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44639 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44640 (grub_ext2_sblock): New members for journal support.
44641 (grub_ext3_journal_header): New structure.
44642 (grub_ext3_journal_revoke_header): Likewise.
44643 (grub_ext3_journal_block_tag): Likewise.
44644 (grub_ext3_journal_sblock): Likewise.
44645 (grub_fshelp_node): New members logfile and journal.
44646 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44647 grub_fshelp_map_block to get real block number.
44648 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44649 number.
44650 (grub_ext2_read_inode): Likewise.
44651 (grub_ext3_get_journal): New function.
44652 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44653 (grub_ext2_close): Release memory used by journal.
44654
44655 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44656 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44657 (grub_reiserfs_transaction_header): Renamed to
44658 grub_reiserfs_description_block, replace field data with real_blocks.
44659 (grub_reiserfs_commit_block): New structure.
44660 (grub_reiserfs_data): New member journal.
44661 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44662 number.
44663 (grub_reiserfs_read_symlink): Likewise.
44664 (grub_reiserfs_iterate_dir): Likewise.
44665 (grub_reiserfs_open): Likewise.
44666 (grub_reiserfs_read): Likewise.
44667 (grub_reiserfs_get_journal): New function.
44668 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44669 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44670 using grub_reiserfs_get_journal.
44671 (grub_reiserfs_close): Release memory used by journal.
44672
44673 * fs/affs.c (grub_affs_read_block): Change block type to
44674 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44675
44676 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44677
44678 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44679
44680 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44681
44682 * fs/udf.c (grub_udf_read_block): Change block type to
44683 grub_disk_addr_t. Use type cast to avoid warning.
44684
44685 * fs/xfs.c (grub_xfs_read_block): Likewise.
44686
b7c6bed5 446872008-05-16 Christian Franke <franke@computer.org>
44688
44689 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44690 to ensure that break with ESC will always work.
44691 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44692 Remove ESC from keyboard queue.
44693
eedf167f 446942008-05-16 Christian Franke <franke@computer.org>
44695
44696 * util/biosdisk.c: [__CYGWIN__] Add includes.
44697 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44698 (get_os_disk): Move variable declarations to OS specific
44699 parts to avoid warning.
44700 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44701 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44702 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44703 Cygwin.
44704 * util/getroot.c: [__CYGWIN__] Add includes.
44705 (strip_extra_slashes): Fix "/" case.
44706 [__CYGWIN__] (get_win32_path): New function.
44707 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44708 [__CYGWIN__] (find_root_device): Disable.
44709 [__CYGWIN__] (get_bootsec_serial): New function.
44710 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44711 [__linux__] (grub_guess_root_device): Add early returns to simplify
44712 structure.
44713 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44714 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44715 check for Linux only.
44716
a079699e 447172008-05-15 Bean <bean123ch@gmail.com>
44718
44719 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44720 keyboard hang problem in apple's intel mac.
44721
1cf4059a 447222008-05-09 Robert Millan <rmh@aybabtu.com>
44723
44724 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44725 devices.
44726 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44727 (make_device_map): Likewise.
44728 Reported by Aurelien Jarno <aurel32@debian.org>
44729
ed759390 447302008-05-07 Ian Campbell <ijc@hellion.org.uk>
44731
44732 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44733 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44734 (make_device_map): Output entries for xvd type disks.
44735
b56c4eaa 447362008-05-07 Robert Millan <rmh@aybabtu.com>
44737
44738 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44739 devices.
44740 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44741 (make_device_map): Likewise.
44742 Reported by Roland Dreier <rdreier@cisco.com>
44743
7f8866ed 447442008-05-07 Robert Millan <rmh@aybabtu.com>
44745
44746 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44747 grub_strstr() call. Correct a few mistakes in failure path handling.
44748
b0346e0f 447492008-05-06 Robert Millan <rmh@aybabtu.com>
44750
44751 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44752 Do not print a trailing slash (therefore, the root directory is an
44753 empty string).
44754 (convert_system_path_to_grub_path): Do not remove trailing slash
44755 from make_system_path_relative_to_its_root() output.
44756
44757 * util/i386/pc/grub-install.in: Add trailing slash to output from
44758 make_system_path_relative_to_its_root().
44759
6cf12cbd 447602008-05-06 Robert Millan <rmh@aybabtu.com>
44761
44762 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44763 ensures that output lines aren't intermangled with those sent to
44764 stderr (via grub_util_info()).
44765 * util/grub-probe.c (grub_refresh): Likewise.
44766 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44767
0fbb3117 447682008-05-05 Christian Franke <franke@computer.org>
44769
44770 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44771 Add Cygwin device names.
44772 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44773 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44774 (check_device): Return error instead of success on empty name.
44775 (make_device_map): Move label inside linux specific code to
44776 prevent compiler warning.
44777
8124cdb7 447782008-04-30 Robert Millan <rmh@aybabtu.com>
44779
44780 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44781 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44782 first boot option.
44783 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44784
094c01d0 447852008-04-29 Robert Millan <rmh@aybabtu.com>
44786
44787 * docs/grub.cfg: New file (example GRUB configuration).
44788
f4b1fc02 447892008-04-26 Robert Millan <rmh@aybabtu.com>
44790
329ce2a5 44791 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44792 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44793 and `disk/ieee1275/nand.c'.
f4b1fc02 44794
25f16ec1 447952008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44796
25f16ec1 44797 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44798 i386-linuxbios.
44799
44800 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44801 change the buffer size to 4096 for cdrom device.
44802
44803 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44804 and nand.mod.
44805 (_linux_mod_SOURCES): New variable.
44806 (_linux_mod_CFLAGS): Likewise.
44807 (_linux_mod_LDFLAGS): Likewise.
44808 (linux_mod_SOURCES): Likewise.
44809 (linux_mod_CFLAGS): Likewise.
44810 (linux_mod_LDFLAGS): Likewise.
44811 (nand_mod_SOURCES): Likewise.
44812 (nand_mod_CFLAGS): Likewise.
44813 (nand_mod_LDFLAGS): Likewise.
44814
44815 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44816 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44817 type property. (nand device in olpc don't have this property)
44818
44819 * include/grub/disk.h (grub_disk_dev_id): New macro
44820 GRUB_DISK_DEVICE_NAND_ID.
44821
44822 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44823 function prototype.
44824 (grub_rescue_cmd_initrd): Likewise.
44825
44826 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44827 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44828 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44829
25f16ec1 44830 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44831 GRUB_MACHINE_IEEE1275 is defined.
44832
44833 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44834 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44835
44836 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44837 on nested function heap_init.
44838 (grub_upper_mem): New variable for i386-ieee1275.
44839 (grub_get_extended_memory): New function for i386-ieee1275.
44840 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44841
44842 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44843 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44844 property.
f19dbdb7 44845
25f16ec1 44846 * loader/i386/ieee1275/linux.c: New file.
44847
44848 * loader/i386/ieee1275/linux_normal.c: New file.
44849
44850 * disk/ieee1275/nand.c: New file.
44851
e89d61e9 448522008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44853
44854 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44855 value.
44856 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44857
602566f6 448582008-04-18 Robert Millan <rmh@aybabtu.com>
44859
44860 Restructures early code path on ieee1275 to unify grub_main() as
44861 the first C function that is executed in every platform.
44862
44863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44864 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44865 cmain().
44866 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44867 * kern/ieee1275/cmain.c (cmain): Rename to ...
44868 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44869 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44870 at the beginning.
44871
57490c2b 448722008-04-18 Robert Millan <rmh@aybabtu.com>
44873
44874 * util/update-grub.in: Fix syntax error when setting
44875 `GRUB_PRELOAD_MODULES'.
44876 Reported by Stephane Chazelas <stephane@artesyncp.com>
44877
1977517d 448782008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44879
44880 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44881 section into account, newer toolchains generate unique build ids
44882 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44883 we want build ids to be preserved
1977517d 44884 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44885 far from other sections don't cause the raw binary images grow
44886 size
44887
bfb1f1a2 448882008-04-15 Robert Millan <rmh@aybabtu.com>
44889
44890 * disk/lvm.c: Update copyright year.
44891 * kern/misc.c: Likewise.
44892
01979850 448932008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44894
44895 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44896 there is no memory left for physical volume name.
01979850 44897
0a1150e2 448982008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44899
44900 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44901 volume name mapping to support bigger than 9 character names properly.
44902
82ead3fe 449032008-04-13 Robert Millan <rmh@aybabtu.com>
44904
44905 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44906 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44907
e54a72f5 449082008-04-13 Christian Franke <franke@computer.org>
44909
44910 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44911 to create a floppy emulation boot CD when non emulation mode
44912 does not work.
44913 Enable Joliet CD filesystem extension.
44914
9fe86034 449152008-04-13 Robert Millan <rmh@aybabtu.com>
44916
44917 * kern/misc.c (grub_strncat): Fix off-by-one error.
44918 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44919
44920 * kern/env.c (grub_env_context_close): Clear current context, not
44921 previous one.
44922 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44923
44924 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44925
7ceeee39 449262008-04-13 Robert Millan <rmh@aybabtu.com>
44927
44928 Improve robustness when handling LVM.
44929
44930 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44931 (and leave `*p' unmodified).
7ceeee39 44932 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44933 through it.
44934 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44935 iterating through it.
44936 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44937 through it.
fe6b695a 44938 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44939 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44940 Don't assume `vg->pvs != NULL' when iterating through it.
44941
58cd3d85 449422008-04-13 Robert Millan <rmh@aybabtu.com>
44943
44944 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44945 * genmk.rb (partmap): New variable.
44946 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44947 (#{partmap}): New target rule.
44948 * genpartmaplist.sh: New file.
44949 * Makefile.in (pkglib_DATA): Add partmap.lst.
44950 (partmap.lst): New target rule.
44951 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44952 modules (including all partition maps), instead of preloading them.
44953
78b51059 449542007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44955
44956 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44957 `linux-boot-prober' (if installed) to detect other operating
44958 systems which are installed on the computer and add them to
44959 the boot menu.
44960 * conf/common.rmk: Build and install 30_os-prober.
44961
a91627b4 449622008-04-12 Robert Millan <rmh@aybabtu.com>
44963
44964 * kern/powerpc/ieee1275/init.c: Move from here ...
44965 * kern/ieee1275/init.c: ... to here. Update all users.
44966
44967 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44968 * kern/ieee1275/cmain.c: ... to here. Update all users.
44969
44970 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44971 * kern/ieee1275/openfw.c: ... to here. Update all users.
44972
44973 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44974 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44975
322562ea 449762008-04-10 Pavel Roskin <proski@gnu.org>
44977
44978 * configure.ac: Always use "_cv_" in cache variables for
44979 compatibility with Autoconf 2.62.
44980
a02a73c5 449812008-04-07 Robert Millan <rmh@aybabtu.com>
44982
44983 Revert grub/machine/init.h addition by Pavel (since it breaks on
44984 i386-ieee1275 and others):
44985 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44986 * util/powerpc/ieee1275/misc.c: Likewise.
44987
25c024b1 449882008-04-07 Robert Millan <rmh@aybabtu.com>
44989
44990 * util/grub-probe.c (probe): Improve error message.
44991
3cbd2f98 449922008-04-07 Robert Millan <rmh@aybabtu.com>
44993
44994 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44995 (this prevents the presence of a bogus entry from ruining the whole
44996 thing).
44997
87a297bf 449982008-04-06 Pavel Roskin <proski@gnu.org>
44999
36747a62 45000 * util/biosdisk.c: Include grub/util/biosdisk.h.
45001 * util/grub-fstest.c (execute_command): Make static.
45002 * util/grub-mkdevicemap.c (check_device): Likewise.
45003 * util/i386/pc/misc.c: Include grub/machine/init.h.
45004 * util/powerpc/ieee1275/misc.c: Likewise.
45005 * util/lvm.c: Include grub/util/lvm.h.
45006 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45007 grub/cache.h.
45008 * util/raid.c: Include grub/util/raid.h.
45009 (grub_util_getdiskname): Make static.
45010
87a297bf 45011 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45012 grub_hostfs_fini(), as they are called from grub_init_all() and
45013 grub_fini_all() respectively. This fixes an infinite loop in
45014 grub-fstest due to double registration of hostfs.
45015 Reported by Christian Franke <Christian.Franke@t-online.de>
45016
f6ce7629 450172008-04-05 Pavel Roskin <proski@gnu.org>
45018
45019 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45020 all 8 functions. Otherwise, probe function 0 only.
45021
070e49e4 450222008-04-04 Pavel Roskin <proski@gnu.org>
45023
8b088a4c 45024 * commands/lspci.c (grub_lspci_iter): Print the bus number
45025 correctly.
45026
4f657021 45027 * commands/lspci.c (grub_pci_classes): Fix typos.
45028 (grub_lspci_iter): Don't print func twice. Print vendor ID
45029 before device ID, as it's normally done.
45030
070e49e4 45031 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45032 Fix signedness warnings.
45033 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45034 Likewise.
45035 * util/ieee1275/get_disk_name.c: Include config.h so that
45036 _GNU_SOURCE is defined and getline() is declared. Mark an
45037 unused argument as such. Fix a signedness warning.
45038
ba7328dc 450392008-04-02 Pavel Roskin <proski@gnu.org>
45040
26887f22 45041 * genkernsyms.sh.in: Use more robust assignments for CC and
45042 srcdir. Quote srcdir.
45043 * gensymlist.sh.in: Likewise. Assert at the compile time that
45044 the symbol table is not empty.
45045
ba7328dc 45046 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45047 * fs/cpio.c (grub_cpio_read): Likewise.
45048
0f582c6b 450492008-04-01 Pavel Roskin <proski@gnu.org>
45050
4b6e1995 45051 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45052 * disk/host.c (grub_host_open): Likewise.
45053 * disk/loopback.c (grub_loopback_open): Likewise.
45054 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45055 disk->id as in disk/host.c, not a multi-character constant.
45056
828a2768 45057 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45058 later is obsolete, potentially dangerous and sets a bad example.
45059 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45060 * util/misc.c (grub_util_get_image_size): Likewise.
45061
2bb4fb47 45062 * disk/loopback.c (options): Improve help for "--partitions".
45063
0f582c6b 45064 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45065 options to align them with the short options, e.g. "echo -e".
45066
a33224e0 450672008-03-31 Bean <bean123ch@gmail.com>
45068
45069 * video/reader/png.c (grub_png_data): New member is_16bit and
45070 image_data.
45071 (grub_png_decode_image_header): Detect 16 bit png image.
45072 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45073 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45074 (grub_video_reader_png): Release memory occupied by image_data.
45075
45076 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45077 4096 bytes.
45078 (grub_nfs_mount): Skip the test for sector per cluster.
45079
45080 * include/grub/ntfs.h (MAX_SPC): Removed.
45081
86cb4f54 450822008-03-31 Bean <bean123ch@gmail.com>
45083
45084 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45085 (grub_probe_SOURCES): Add fs/afs.c.
45086 (grub_fstest_SOURCES): Likewise.
45087 (afs_mod_SOURCES): New variable.
45088 (afs_mod_CFLAGS): Likewise.
45089 (afs_mod_LDFLAGS): Likewise.
45090
45091 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45092 (grub_emu_SOURCES): Likewise.
45093
45094 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45095
45096 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45097
45098 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45099
45100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45101
45102 * fs/afs.c: New file.
45103
17c74c21 451042008-03-30 Pavel Roskin <proski@gnu.org>
45105
4cb68e89 45106 * disk/host.c: Include grub/misc.h to fix a warning.
45107 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45108 warnings about implicit declarations.
45109
8790bb04 45110 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45111 variable.
45112 * include/grub/i386/loader.h: Change declaration of
45113 grub_linux_boot() to match what grub_loader_set() expects.
45114 * util/getroot.c (grub_guess_root_device): Return const char* to
45115 fix a warning.
45116 * util/grub-probe.c (probe): Fix a warning about uninitialized
45117 abstraction_name variable.
45118 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45119 second argument as unused to fix a warning.
45120
9a3f3296 45121 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45122 missing grub_error() call.
45123
0ecef90d 45124 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45125 2.60 and newer uses it to define datadir.
45126
0bf6d401 45127 * commands/sleep.c: Fix warning about implicit declaration.
45128 * disk/memdisk.c: Likewise.
45129 * loader/aout.c: Likewise.
45130 * loader/i386/bsd_normal.c: Likewise.
45131 * util/grub-probe.c: Likewise.
45132
7cdacf97 45133 * commands/i386/cpuid.c (has_longmode): Make static.
45134 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45135 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45136
17c74c21 45137 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45138 GDT. This is more robust, as %ds can change.
45139 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45140 calling real_to_prot().
45141 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45142
80a3e68b 451432008-03-28 Pavel Roskin <proski@gnu.org>
45144
45145 * kern/i386/pc/startup.S: Assert that uncompressed functions
45146 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45147 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45148 code, as they push parts of the code (error handlers) beyond
45149 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45150 code as correctness and size.
45151
77bcd272 451522008-03-28 Pavel Roskin <proski@gnu.org>
45153
45154 * kern/i386/pc/startup.S
45155 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45156 data block address to the real mode, keep offset minimal. This
45157 works around a bug in AWARD BIOS on old Athlon systems, which
45158 makes CD detection hang.
45159
c5dfd43b 451602008-03-26 Pavel Roskin <proski@gnu.org>
45161
45162 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45163 const.
45164 * include/grub/normal.h: Add grub_parse_color_name_pair()
45165 declaration.
45166
bf962df2 451672008-03-24 Bean <bean123ch@gmail.com>
45168
45169 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45170 (cd_count): Removed.
45171 (cd_drive): New variable.
45172 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45173 (grub_biosdisk_call_hook): Likewise.
45174 (grub_biosdisk_iterate): Change cdrom detection method.
45175 (grub_biosdisk_open): Replace cd_start with cd_drive.
45176 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45177 detect cdrom device.
45178
45179 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45180 Removed.
45181 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45182 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45183 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45184 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45185 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45186 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45187 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45188 (grub_biosdisk_cdrp): New structure.
45189 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45190
45191 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45192
45193 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45194 device.
45195
45196 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45197 New function.
45198
68e7fc7a 451992008-03-20 Robert Millan <rmh@aybabtu.com>
45200
45201 Remove 2 TiB limit in ata.mod.
45202 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45203 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45204 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45205 grub_uint64_t instead of grub_uint32_t.
45206
38ad2cf5 452072008-03-05 Bean <bean123ch@gmail.com>
45208
45209 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45210 (grub_multiboot): Set boot device.
45211
45212 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45213
2b89344e 452142008-03-02 Bean <bean123ch@gmail.com>
45215
45216 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45217 symlink_buffer.
45218
87a95d1f 452192008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45220
45221 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45222 texinfo.tex.
45223
45224 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45225 modified.
45226
45227 * docs/fdl.texi: New file.
f19dbdb7 45228
87a95d1f 45229 * docs/mdate-sh: New file. Copied from gnulib.
45230 * docs/texinfo.tex: Likewise.
45231
45232 * config.guess: Updated from gnulib.
45233 * install-sh: Likewise.
45234
7dc15d8e 452352008-02-28 Robert Millan <rmh@aybabtu.com>
45236
45237 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45238 (aout_mod_SOURCES): New variable.
45239 (aout_mod_CFLAGS): Likewise.
45240 (aout_mod_LDFLAGS): Likewise.
45241
45242 * conf/i386-ieee1275.rmk: Likewise.
45243
b00ab696 452442008-02-28 Robert Millan <rmh@aybabtu.com>
45245
45246 * util/update-grub.in: Reorganise terminal validity check. Accept
45247 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45248 Based on suggestion by Franklin PIAT.
45249
79ca2d78 452502008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45251
45252 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45253 function.
45254 * util/getroot.c (grub_util_check_block_device): New function that
45255 returns the given argument if it is a block device and returns NULL else.
45256 * util/grub-probe.c (argument_is_device): New variable.
45257 (probe): Promote device_name from a variable to an argument. Receive
45258 device_name from grub_util_check_block_device() if path is NULL and from
45259 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 45260 (options): Introduce new parameter '-d, --device'.
79ca2d78 45261 (main): Add description of the new parameter to the help screen.
45262 Rename path variable to argument. Set argument_is_device if the '-d'
45263 option is given. Pass argument to probe() depending on
45264 argument_is_device.
45265
0d16e571 452662008-02-24 Bean <bean123ch@gmail.com>
45267
45268 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45269 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45270 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45271 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45272 (GRUB_ISO9660_VOLDESC_END): Likewise.
45273 (grub_iso9660_primary_voldesc): New member escape.
45274 (grub_iso9660_data): New member joliet.
45275 (grub_iso9660_convert_string): New function.
45276 (grub_iso9660_mount): Detect joliet extension.
45277 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45278 (grub_iso9660_iso9660_label): Likewise.
45279
45280 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45281 (grub_setup_SOURCES): Add fs/udf.c.
45282 (grub_fstest_SOURCES): Likewise.
45283 (udf_mod_SOURCES): New variable.
45284 (udf_mod_CFLAGS): Likewise.
45285 (udf_mod_LDFLAGS): Likewise.
45286
45287 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45288 (grub_emu_SOURCES): Likewise.
45289
45290 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45291
45292 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45293
45294 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45295
45296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45297
45298 * fs/udf.c: New file.
45299
8a594a17 453002008-02-24 Robert Millan <rmh@aybabtu.com>
45301
45302 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45303 (normal/lexer.c_DEPENDENCIES): New variables.
45304 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45305 (normal/lexer.c_DEPENDENCIES): Likewise.
45306 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45307 (normal/lexer.c_DEPENDENCIES): Likewise.
45308 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45309 (normal/lexer.c_DEPENDENCIES): Likewise.
45310 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45311 (normal/lexer.c_DEPENDENCIES): Likewise.
45312 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45313 (normal/lexer.c_DEPENDENCIES): Likewise.
45314
2dc33c03 453152008-02-23 Robert Millan <rmh@aybabtu.com>
45316
45317 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45318 since they were intended to be in hex. This didn't break previously
45319 because of a bug in gpt_partition_map_iterate() (see below).
45320
45321 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45322 when checking the validity of GPT header.
45323 Remove `partno', since it always provides the same information as `i'.
45324
f6f4cfb0 453252008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45326
45327 * include/grub/efi/time.h: Fix a wrong comment.
45328
79ff665f 453292008-02-19 Pavel Roskin <proski@gnu.org>
45330
45331 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45332 message.
45333
d38e24c2 453342008-02-19 Bean <bean123ch@gmail.com>
45335
45336 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45337 (aout_mod_SOURCES): New variable.
45338 (aout_mod_CFLAGS): Likewise.
45339 (aout_mod_LDFLAGS): Likewise.
45340 (_bsd_mod_SOURCES): New variable.
45341 (_bsd_mod_CFLAGS): Likewise.
45342 (_bsd_mod_LDFLAGS): Likewise.
45343 (bsd_mod_SOURCES): New variable.
45344 (bsd_mod_CFLAGS): Likewise.
45345 (bsd_mod_LDFLAGS): Likewise.
45346
45347 * include/grub/aout.h: New file.
45348
45349 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45350
45351 * include/grub/i386/bsd.h: New file.
45352
45353 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45354 to make it public.
45355
45356 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45357 function is called, so that it's possible to change it inside the hook.
45358 (grub_elf64_load): Likewise.
45359 (grub_elf_file): Don't close the file if elf header is not found.
45360 (grub_elf_close): Close the file if grub_elf_file fails (The new
45361 grub_elf_file won't close it).
45362 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45363 (grub_elf64_size): Likewise.
45364
45365 * kern/i386/loader.S (grub_unix_real_boot): New function.
45366
45367 * loader/aout.c: New file.
45368
45369 * loader/i386/bsd.c: New file.
45370
45371 * loader/i386/bsd_normal.c: New file.
45372
45373 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45374
45375 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 45376 can test other formats.
d38e24c2 45377
b93bdb0f 453782008-02-19 Robert Millan <rmh@aybabtu.com>
45379
45380 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45381 (grub_gpt_partition_type_empty): Redefine with macro from
45382 `<grub/gpt_partition.h>'.
45383 (gpt_partition_map_iterate): Adjust partition type comparison.
45384
45385 Export `entry' as partmap-specific `part.data' struct.
45386 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45387
45388 * include/grub/gpt_partition.h (grub_gpt_header)
45389 (grub_gpt_partentry): ... to here (new file).
45390
45391 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45392
45393 (grub_gpt_partition_type_bios_boot): New const variable, defined
45394 with macro from `<grub/gpt_partition.h>'.
45395
45396 (setup): Replace `first_start' with `embed_region', which keeps
45397 track of the embed region (and is partmap-agnostic).
45398
45399 Replace find_first_partition_start() with find_usable_region(),
45400 which finds a usable region for embedding using partmap-specific
45401 knowledge (supports PC/MSDOS and GPT).
45402
45403 Fix all assumptions that the embed region start at sector 1, using
45404 `embed_region.start' from now on. Similarly, use `embed_region.end'
45405 rather than `first_start' to calculate available size.
45406
45407 In grub_util_info() message, replace "into after the MBR" with an
45408 indication of the specific sector our embed region starts at.
45409
66cb40f6 454102008-02-19 Robert Millan <rmh@aybabtu.com>
45411
45412 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45413 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45414 `commands/reboot.c'.
45415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45416 (halt_mod_SOURCES): Likewise.
45417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45418 (halt_mod_SOURCES): Likewise.
45419
b7202015 454202008-02-17 Christian Franke <franke@computer.org>
45421
45422 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45423
32b0fc49 454242008-02-17 Robert Millan <rmh@aybabtu.com>
45425
45426 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45427 set `first_start' to 0 for non-PC/MSDOS partition maps.
45428
aca63502 454292008-02-16 Robert Millan <rmh@aybabtu.com>
45430
45431 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45432 do not assume partition map is PC/MSDOS before performing checks that
45433 are specific to that layout.
45434
0de8be86 454352008-02-13 Robert Millan <rmh@aybabtu.com>
45436
45437 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45438 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45439 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45440
c3db8364 454412008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45442
45443 * configure.ac: Only a cosmetic change on the handling of
45444 -fno-stack-protector.
45445
f714229e 454462008-02-12 Alexandre Boeglin <alex@boeglin.org>
45447
c3db8364 45448 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45449 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45450 reboot.c.
f714229e 45451 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45452 (halt_mod_SOURCES): New variable.
45453 (halt_mod_CFLAGS): Likewise.
45454 (halt_mod_LDFLAGS): Likewise.
45455 (reboot_mod_SOURCES): Likewise.
45456 (reboot_mod_CFLAGS): Likewise.
45457 (reboot_mod_LDFLAGS): Likewise.
45458
c3db8364 45459 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45460 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45461 reboot.c.
f714229e 45462 (halt_mod_SOURCES): Likewise.
45463 (reboot_mod_SOURCES): Likewise.
45464
c3db8364 45465 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45466 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 45467 (reboot_mod_SOURCES): Likewise.
45468
45469 * commands/i386/pc/reboot.c: merge this file ...
45470
45471 * commands/ieee1275/reboot.c: ... and this file ...
45472
45473 * commands/reboot.c: ... to this file.
c3db8364 45474 Add some precompiler directive to include the correct header for
45475 each machine.
f714229e 45476
45477 * commands/ieee1275/halt.c: move this file ...
45478
45479 * commands/halt.c: ... to here.
c3db8364 45480 Add some precompiler directive to include the correct header for
45481 each machine.
f714229e 45482
45483 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45484 (grub_halt): Likewise.
45485
45486 * kern/efi/efi.c (grub_reboot): New function.
45487 (grub_halt): Likewise.
45488
c74493e0 454892008-02-12 Robert Millan <rmh@aybabtu.com>
45490
45491 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45492 /dev (like it is done for /dev/mapper). This doesn't provide support
45493 for EVMS, but at least it is now easy to identify the problem when it
45494 arises.
45495
d0db4b04 454962008-02-11 Robert Millan <rmh@aybabtu.com>
45497
45498 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45499 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45500 comparing it with -1, not 0.
45501
bf748642 455022008-02-10 Robert Millan <rmh@aybabtu.com>
45503
45504 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45505 `disk/lvm.c'.
45506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45507 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45508
45509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45510 `disk/lvm.c' to the end of the list.
45511 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45512 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45513
b5db202a 455142008-02-10 Robert Millan <rmh@aybabtu.com>
45515
45516 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45517 grub_print_error() instead. This will let user know why we're entering
45518 rescue mode.
45519 Based on suggestions from Sam Morris.
45520
83abee31 455212008-02-10 Alexandre Boeglin <alex@boeglin.org>
45522
45523 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45524 on remaining N args, instead of "--" arg N times.
45525
78d5a08b 455262008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45527
45528 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45529 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45530 pattern for unknown glyphs.
45531
68807e5f 455322008-02-09 Robert Millan <rmh@aybabtu.com>
45533
45534 * configure.ac: Probe for `help2man'.
45535 * Makefile.in (builddir): New variable.
45536 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45537 or otherwise add a few flags/options to it.
45538 (install-local): For every executable utility or script that is
45539 installed, invoke $(HELP2MAN) to install a manpage based on --help
45540 output.
45541
45542 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45543 that it doesn't prevent --help from working in build tree.
45544
45545 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45546 with `bug-grub@gnu.org'.
45547 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45548 * util/update-grub.in (usage): New function.
45549 Implement proper argument check, with support for --help and --version
45550 (as well as existing -y).
45551
455522008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45553
45554 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45555 avoid overwriting previous output.
45556 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45557
c1962162 455582008-02-09 Robert Millan <rmh@aybabtu.com>
45559
45560 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45561 drawing the menu.
45562
3dac2e3f 455632008-02-09 Robert Millan <rmh@aybabtu.com>
45564
45565 * commands/sleep.c: New file.
45566 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45567 (sleep_mod_SOURCES): New variable.
45568 (sleep_mod_CFLAGS): Likewise.
45569 (sleep_mod_LDFLAGS): Likewise.
45570
7a634e08 455712008-02-09 Robert Millan <rmh@aybabtu.com>
45572
45573 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45574 situations in which we can deduce the RAID size and the superblock
45575 doesn't match it.
45576
b92f0c18 455772008-02-09 Robert Millan <rmh@aybabtu.com>
45578
45579 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45580 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45581 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45582
45583 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45584 and return a grub_diskmemberlist_t composed of physical array members.
45585 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45586
45587 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45588 prototype.
45589 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45590 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45591 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45592
45593 * util/grub-probe.c (probe): Move partmap probing code from here ...
45594 (probe_partmap): ... to here.
45595 (probe): Use probe_partmap() once for the disk we're probing, and
45596 additionally, when such disk contains a memberlist() struct member,
45597 once for each disk that is contained in the structure returned by
45598 memberlist().
45599
91a4bf68 456002008-02-09 Robert Millan <rmh@aybabtu.com>
45601
45602 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45603 environment variable to 'all' in order to obtain debug output from
45604 non-util/ code.
45605 * util/i386/pc/grub-setup.c (main): Likewise.
45606
a96f9caa 456072008-02-08 Robert Millan <rmh@aybabtu.com>
45608
45609 * disk/raid.c (grub_raid_scan_device): Check for
45610 `array->device[sb.this_disk.number]' rather than for
45611 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45612 guaranteed to be accessible.
a96f9caa 45613
b37a9222 456142008-02-08 Robert Millan <rmh@aybabtu.com>
45615
45616 * disk/raid.c: Update copyright.
45617 * fs/cpio.c: Likewise.
45618 * include/grub/raid.h: Likewise.
45619 * loader/i386/pc/multiboot.c: Likewise.
45620 * util/hostfs.c: Likewise.
45621
5626aee1 456222008-02-08 Robert Millan <rmh@aybabtu.com>
45623
45624 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45625 to a grub_disk_t array.
45626 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45627 `device[x]'.
45628 (grub_raid_scan_device): Replace `device[x].name' accesses with
45629 `device[x]->name'. Simplify initialization of `array->device[x]'.
45630
554f0187 456312008-02-08 Robert Millan <rmh@aybabtu.com>
45632
45633 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45634 grub_dprintf() calls.
45635 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45636 error message.
45637
1ec8425d 456382008-02-07 Christian Franke <franke@computer.org>
45639
45640 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45641 instead of fseek and ftell to support large files.
45642 (grub_hostfs_read): Likewise.
45643
f2156fda 456442008-02-07 Robert Millan <rmh@aybabtu.com>
45645
45646 Patch from Jeroen Dekkers.
45647 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45648 failure, since successfully reading all array members might not be
f2156fda 45649 required.
45650
9216e0e7 456512008-02-06 Robert Millan <rmh@aybabtu.com>
45652
45653 * util/grub-probe.c (probe): Simplify partmap probing (with the
45654 assumption that the first word up to the underscore equals to
45655 the module name).
45656
b0dfd29a 456572008-02-06 Christian Franke <franke@computer.org>
45658
45659 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45660 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45661 last block of a cpio or tar stream.
45662 Check for "TRAILER!!!" instead of any empty data
45663 block to detect last block of a cpio stream.
45664 (grub_cpio_dir): Fix constness of variable np.
45665 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45666 cpio or tar trailer is detected. This fixes a crash
45667 on open of a non existing file.
45668
c32865bf 456692008-02-05 Bean <bean123ch@gmail.com>
45670
45671 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45672 address of entry.
45673 (grub_multiboot_load_elf64): Likewise.
45674 (grub_multiboot): Initialize mbi structure.
45675
45676 * util/grub-fstest.c: Don't include unused header file script.h.
45677
fe6b695a 45678 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45679 of file.
45680 (grub_fstest_SOURCES): Likewise.
45681
409480b7 456822008-02-05 Robert Millan <rmh@aybabtu.com>
45683
45684 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45685 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45686 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45687 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45688
45689 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45690 (translation_table): Replace hardcoded values with macros
45691 provided by `<grub/term.h>'.
45692
45693 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45694 (keyboard_map): Correct/add a few values, with macros provided
45695 by `<grub/term.h>'.
45696 (keyboard_map_shift): Zero values that don't differ from their
45697 `keyboard_map' equivalents.
45698 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45699 Discard the second scan code that is always sent by Caps lock.
45700 Only use `keyboard_map_shift' when it provides a non-zero value,
45701 otherwise fallback to `keyboard_map'.
45702
99fadbaa 457032008-02-04 Bean <bean123ch@gmail.com>
45704
45705 * Makefile.in (enable_grub_fstest): New variable.
45706
45707 * conf/common.rmk (grub_fstest_init.lst): New rule.
45708 (grub_fstest_init.h): Likewise.
45709 (grub_fstest_init.c): Likewise.
45710 (util/grub-fstest.c_DEPENDENCIES): New variable.
45711 (grub_fstest_SOURCES): Likewise.
45712
45713 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45714
45715 * util/grub-fstest.c: New file.
45716
bf567c50 457172008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45718
45719 Make grub-setup handle a separate root device.
f19dbdb7 45720
bf567c50 45721 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45722 so that the root device can be compared with the destination
45723 device.
45724 When embedding the core image, if the root and destination devices
45725 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45726 0xFF.
45727 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45728
9be6b98b 457292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45730
45731 Add support for having a grub directory in a different drive. This
45732 is still only the data handling part.
f19dbdb7 45733
9be6b98b 45734 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45735 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45736 (grub_root_drive): New variable.
45737
45738 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45739 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45740 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45741 as it was.
45742
45743 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45744
45745 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45746 macro.
45747 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45748
45749 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45750 is bogus, because PXE booting does not specify any drive
45751 correctly.
45752
45753 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45754 am not sure if this is really correct.
45755
45756 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45757 is always identical to the boot drive when booting from a CD.
45758
45759 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45760 longer.
45761 (root_drive): New variable.
45762 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45763 (setup_sectors): Push %dx right after popping it, because %dh will
45764 be modified later.
45765 (copy_buffer): Restore %dx.
45766
e0ca0677 457672008-02-03 Robert Millan <rmh@aybabtu.com>
45768
45769 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45770 use `cdboot.img' for cdrom images.
45771
3b3f6629 457722008-02-03 Robert Millan <rmh@aybabtu.com>
45773
45774 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45775 only setup gfxterm when `font' command has succeeded.
45776
d42b3672 457772008-02-03 Robert Millan <rmh@aybabtu.com>
45778
45779 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45780 (grub_rescue_cmd_multiboot_loader)
45781 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45782
fa370ea6 457832008-02-03 Pavel Roskin <proski@gnu.org>
45784
e0c5dacb 45785 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45786 %edx and %esi from stack only after grub_gate_a20() is called.
45787 grub_gate_a20() clobbers %edx.
45788
f2a76e1d 457892008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45790
45791 * configure.ac (AC_INIT): Bumped to 1.96.
45792
45793 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45794 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45795 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45796 video/readers/png.c.
45797
90fd32d1 457982008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45799
45800 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45801 (cdboot_img_SOURCES): New variable.
45802 (cdboot_img_ASFLAGS): New variable.
45803 (cdboot_img_LDFLAGS): New variable.
45804
45805 * boot/i386/pc/cdboot.S: New file.
45806
45807 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45808 (cd_count): Likewise.
45809 (grub_biosdisk_get_drive): Add support for cd device.
45810 (grub_biosdisk_call_hook): Likewise.
45811 (grub_biosdisk_iterate): Likewise.
45812 (grub_biosdisk_open): Likewise.
45813 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45814 (grub_biosdisk_rw): Support reading from cd device.
45815 (GRUB_MOD_INIT): Iterate cd devices.
45816
45817 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45818 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45819 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45820
45821 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45822
4020aa53 458232008-02-02 Robert Millan <rmh@aybabtu.com>
45824
45825 * commands/read.c: New file.
45826 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45827 (read_mod_SOURCES): New variable.
45828 (read_mod_CFLAGS): Likewise.
45829 (read_mod_LDFLAGS): Likewise.
45830
e03a1132 458312008-02-02 Robert Millan <rmh@aybabtu.com>
45832
45833 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45834 determining whether menu has to be displayed.
45835
58c69220 458362008-02-02 Marco Gerards <marco@gnu.org>
45837
45838 * bus/pci.c: New file.
45839
45840 * include/grub/pci.h: Likewise.
45841
45842 * include/grub/i386/pc/pci.h: Likewise.
45843
45844 * commands/lspci.c: Likewise.
45845
45846 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45847 `lspci.mod'.
45848 (pci_mod_SOURCES): New variable.
45849 (pci_mod_CFLAGS): Likewise.
45850 (pci_mod_LDFLAGS): Likewise.
45851 (lspci_mod_SOURCES): Likewise.
45852 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45853 (lspci_mod_LDFLAGS): Likewise.
58c69220 45854
c004e1b4 458552008-02-02 Bean <bean123ch@gmail.com>
45856
45857 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45858 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45859
45860 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45861 (grub_xfs_btree_node): New structure.
45862 (grub_xfs_btree_root): New structure.
45863 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45864 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45865 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45866 (GRUB_XFS_EXTENT_SIZE): Likewise.
45867 (grub_xfs_read_block): Support btree format type.
45868 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45869 Use directory block as basic unit.
45870
45871 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45872
45873 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45874 __attribute__ ((__regparm__ (1))).
45875
f95562bf 458762008-02-01 Robert Millan <rmh@aybabtu.com>
45877
45878 Correct a mistake in previous commit.
45879
45880 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45881 top.
45882 (normal/command.c_DEPENDENCIES): New variable.
45883
7d31f41f 458842008-02-01 Robert Millan <rmh@aybabtu.com>
45885
45886 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45887 top.
45888 (normal/command.c_DEPENDENCIES): New variable.
45889 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45890 * conf/i386-ieee1275.rmk: Likewise.
45891 * conf/i386-linuxbios.rmk: Likewise.
45892 * conf/i386-pc.rmk: Likewise.
45893 * conf/sparc64-ieee1275.rmk: Likewise.
45894 * conf/powerpc-ieee1275.rmk: Likewise.
45895 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45896
45897 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45898
60b6be74 458992008-02-01 Robert Millan <rmh@aybabtu.com>
45900
45901 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45902 call at beginning of function.
45903
078522ab 459042008-01-31 Pavel Roskin <proski@gnu.org>
45905
45906 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45907 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45908 (grub_mkrescue_SOURCES): Likewise.
078522ab 45909 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45910
ccaa8a5f 459112008-01-30 Robert Millan <rmh@aybabtu.com>
45912
45913 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45914 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45915 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45916 (grub_probe_SOURCES): ... to here.
45917
45918 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45919 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45920 * conf/i386-ieee1275.rmk: Likewise.
45921 * conf/i386-linuxbios.rmk: Likewise.
45922 * conf/powerpc-ieee1275.rmk: Likewise.
45923
ae5a9cd7 459242008-01-30 Tristan Gingold <gingold@free.fr>
45925
45926 * kern/rescue.c: Silently accept empty lines.
45927
70bc2ef2 459282008-01-29 Bean <bean123ch@gmail.com>
45929
45930 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45931 (real_code_2): Code cleanup and change comment style.
45932 (move_memory): Avoid using 32-bit address mode.
45933
6a4d50ea 459342008-01-29 Bean <bean123ch@gmail.com>
45935
45936 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45937 (png_mod_SOURCES): New variable.
45938 (png_mod_CFLAGS): Likewise.
45939 (png_mod_LDFLAGS): Likewise.
45940
45941 * video/readers/png.c: New file.
45942
11cc30ac 459432008-01-28 Robert Millan <rmh@aybabtu.com>
45944
45945 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45946 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45947 `ifndef GRUB_MOD_GAP' hack.
45948 * util/elf/grub-mkimage.c (add_segments): Likewise.
45949
3abc589f 459502008-01-27 Robert Millan <rmh@aybabtu.com>
45951
45952 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45953 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45954 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45955
e1907778 459562008-01-27 Robert Millan <rmh@aybabtu.com>
45957
45958 Get grub-emu to build again (including parallel builds).
45959
45960 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45961 Split into ...
45962 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45963 (normal/execute.c_DEPENDENCIES): ... this, ...
45964 (grub-emu_DEPENDENCIES): ... and this.
45965
45966 * conf/i386-efi.rmk: Likewise.
45967 * conf/i386-linuxbios.rmk: Likewise.
45968 * conf/i386-ieee1275.rmk: Likewise.
45969 * conf/powerpc-ieee1275.rmk: Likewise.
45970 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45971
2216b101 459722008-01-27 Robert Millan <rmh@aybabtu.com>
45973
45974 * NEWS: Add a few items.
45975
f75172d9 459762008-01-27 Robert Millan <rmh@aybabtu.com>
45977
45978 Fix parallel builds with grub-emu. Based on earlier commit for
45979 grub-probe and grub-setup.
45980
45981 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45982 (util/grub-emu.c_DEPENDENCIES): ... this.
45983 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45984 (util/grub-emu.c_DEPENDENCIES): ... this.
45985 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45986 (util/grub-emu.c_DEPENDENCIES): ... this.
45987 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45988 (util/grub-emu.c_DEPENDENCIES): ... this.
45989 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45990 (util/grub-emu.c_DEPENDENCIES): ... this.
45991
3f51de77 459922008-01-27 Pavel Roskin <proski@gnu.org>
45993
45994 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45995 to create a gap between _end and the modules added to the image
45996 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45997 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45998 * util/elf/grub-mkimage.c (add_segments): Likewise.
45999
2033f53e 460002008-01-26 Pavel Roskin <proski@gnu.org>
46001
46002 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46003 just return an error.
46004
22da1f6f 460052008-01-26 Bean <bean123ch@gmail.com>
46006
46007 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46008 (grub_reiserfs_get_item): Save offset of the next item.
46009 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46010
2a9525e6 460112008-01-25 Robert Millan <rmh@aybabtu.com>
46012
46013 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46014 make all filesystem sources appear together (possibly fixing omissions
46015 while at it).
46016 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46017 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46018 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46020
46021 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46022 add `kern/file.c'.
46023 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46024 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46025 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46026 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46027
46028 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46029 (probe): Add a sanity check to make sure of our ability to read
46030 requested files when probing for filesystem type.
46031
46032 * genmk.rb: Update copyright year (2007).
46033
46034 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46035 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46036 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46037 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46038 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46039 : Remove function prototypes.
46040
b95f71b5 460412008-01-25 Robert Millan <rmh@aybabtu.com>
46042
46043 Revert my previous commits (based on wrong assumption of how grub_errno
46044 works).
46045
fe6b695a 46046 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 46047 * kern/file.c (grub_file_open): Likewise.
46048
d08bbb49 460492008-01-24 Pavel Roskin <proski@gnu.org>
46050
46051 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46052 that hang if GRUB tries to setup colors.
46053 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46054 colors for firmwares that don't support it.
46055 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46056 Recognize Open Hack'Ware, set flags to work around its
46057 limitations.
46058
605e36ed 460592008-01-24 Robert Millan <rmh@aybabtu.com>
46060
46061 * kern/file.c (grub_file_open): Do not account previous failures of
46062 unrelated functions when grub_errno is checked for.
46063 Reported by Oleg Strikov.
46064
bac332a1 460652008-01-24 Bean <bean123ch@gmail.com>
46066
46067 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46068 (grub_ufs_sblock): New member volume name.
46069 (grub_ufs_find_file): Fix string copy bug.
46070 (grub_ufs_label): Implement this function properly.
46071
46072 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46073 (grub_hfs_iterate_records): Use the correct file number for extents
46074 and catalog file. Fix problem in next index calculation.
46075 (grub_hfs_find_node): Replace recursive function call with loop.
46076 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46077
15c80c09 460782008-01-23 Robert Millan <rmh@aybabtu.com>
46079
46080 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46081 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46082 (grub_multiboot2_real_boot): New function prototype.
46083
46084 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46085 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46086
46087 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46088 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46089
305338fd 460902008-01-23 Robert Millan <rmh@aybabtu.com>
46091
46092 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46093 #ifdef'ed out grub_printf().
46094
3ea52685 460952008-01-23 Robert Millan <rmh@aybabtu.com>
46096
46097 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46098 grub_dprintf calls, since they make "debug=all" mode unusable.
46099 (grub_console_checkkey): Likewise.
46100
5882ae4b 461012008-01-23 Robert Millan <rmh@aybabtu.com>
46102
46103 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46104 `term/i386/pc/at_keyboard.c'.
46105 (pkglib_MODULES): Add `serial.mod'.
46106 (serial_mod_SOURCES): New variable.
46107 (serial_mod_CFLAGS): Likewise.
46108 (serial_mod_LDFLAGS): Likewise.
46109
46110 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46111 `<grub/powerpc/ieee1275/console.h>'.
46112 (grub_keyboard_controller_init): New function prototype.
46113 (grub_console_checkkey): Likewise.
46114 (grub_console_getkey): Likewise.
46115
46116 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46117 keyboard on i386.
46118
46119 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46120 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46121
06ab5303 461222008-01-23 Robert Millan <rmh@aybabtu.com>
46123
46124 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46125 present, "(memdisk)/boot/grub" becomes the default prefix.
46126
46127 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46128 a memdisk tarball with all the modules. Add --overlay=DIR option that
46129 allows users to overlay additional files into the image.
46130
dbb475a4 461312008-01-23 Robert Millan <rmh@aybabtu.com>
46132
46133 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46134 and `machine/memory.h'.
46135 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46136 (_multiboot_mod_SOURCES): New variable.
46137 (_multiboot_mod_CFLAGS): Likewise.
46138 (_multiboot_mod_LDFLAGS): Likewise.
46139 (multiboot_mod_SOURCES): Likewise.
46140 (multiboot_mod_CFLAGS): Likewise.
46141 (multiboot_mod_LDFLAGS): Likewise.
46142
46143 * include/grub/i386/ieee1275/loader.h: New file.
46144
46145 * include/grub/i386/ieee1275/machine.h: Likewise.
46146
46147 * include/grub/i386/ieee1275/memory.h: Likewise.
46148
46149 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46150 variable declaration.
46151 (grub_os_area_size): Likewise.
46152
46153 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46154 (grub_lower_mem, grub_upper_mem): New variables.
46155 (grub_stop_floppy): New function (just to make
46156 grub_multiboot2_real_boot() happy).
46157
46158 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46159 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46160 (grub_stop): New function.
46161 Include `"../realmode.S"' and `"../loader.S"'.
46162
46163 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46164 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46165
46166 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46167 rely on grub_multiboot2_real_boot() for final boot.
46168
25638629 461692008-01-22 Robert Millan <rmh@aybabtu.com>
46170
46171 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46172 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46173 device that doesn't look like an SD card.
46174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46175 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46176 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46177 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46178 found.
46179
9dad816d 461802008-01-22 Robert Millan <rmh@aybabtu.com>
46181
46182 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46183 avoid claiming over our own code.
46184
34842f2d 461852008-01-22 Bean <bean123ch@gmail.com>
46186
46187 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46188 (jpeg_mod_SOURCES): New variable.
46189 (jpeg_mod_CFLAGS): Likewise.
46190 (jpeg_mod_LDFLAGS): Likewise.
46191
46192 * video/readers/jpeg.c : New file.
46193
44023a28 461942008-01-22 Bean <bean123ch@gmail.com>
46195
46196 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46197 there are no more items.
46198
bc2d8ac6 461992008-01-21 Robert Millan <rmh@aybabtu.com>
46200
46201 * kern/mm.c (grub_mm_init_region): Improve debug message.
46202
261bd4bc 462032008-01-21 Robert Millan <rmh@aybabtu.com>
46204
46205 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46206 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46207 address.
46208 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46209 a C macro.
46210 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46211 Indicates start of upper memory.
46212 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46213 (generate_image): Abort when image size is big enough to corrupt
46214 upper memory.
46215
46216 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46217 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46218 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46219 instead of hardcoding 0xA0000.
46220 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46221 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46222 instead of hardcoding 0xA0000.
46223
f970b55e 462242008-01-21 Robert Millan <rmh@aybabtu.com>
46225
46226 * disk/memdisk.c (memdisk_size): New variable.
46227 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46228 `memdisk_size'.
46229 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46230 image to dynamic memory.
46231 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46232 `memdisk_size'. Free memdisk block.
46233
1a8b0526 462342008-01-21 Robert Millan <rmh@aybabtu.com>
46235
46236 Fix detection of very small filesystems (like tar).
46237
46238 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46239 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46240 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46241 a problem with this disk).
46242
6e9b4aab 462432008-01-21 Robert Millan <rmh@aybabtu.com>
46244
46245 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46246 on grub_biosdisk_rw_standard() error.
46247
0d8837b2 462482008-01-21 Robert Millan <rmh@aybabtu.com>
46249
46250 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46251 recent changes.
46252 * kern/elf.c: Likewise.
46253 * kern/ieee1275/ieee1275.c: Likewise.
46254 * kern/powerpc/ieee1275/openfw.c: Likewise.
46255 * term/ieee1275/ofconsole.c: Likewise.
46256
ffd36e34 462572008-01-21 Robert Millan <rmh@aybabtu.com>
46258
46259 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46260
3f0093d0 46261 * include/grub/kernel.h (grub_arch_memdisk_addr)
46262 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 46263
3f0093d0 46264 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46265 (grub_arch_memdisk_size): ... to here.
ffd36e34 46266
6c391b21 462672008-01-21 Robert Millan <rmh@aybabtu.com>
46268
46269 Mostly based on bugfix from Bean.
46270
46271 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46272 attribute with hook() parameter.
46273 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46274 declaration.
46275 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46276 attribute with hook() parameter.
46277 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46278 declaration.
46279
55a581dc 462802008-01-21 Robert Millan <rmh@aybabtu.com>
46281
46282 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46283 (pkglib_MODULES): Add `memdisk.mod'.
46284 (memdisk_mod_SOURCES): New variable.
46285 (memdisk_mod_CFLAGS): Likewise.
46286 (memdisk_mod_LDFLAGS): Likewise.
46287
46288 * disk/memdisk.c: New file.
46289
46290 * include/grub/disk.h (grub_disk_dev_id): Add
46291 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46292
46293 * include/grub/i386/pc/kernel.h
46294 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46295 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46296 (grub_kernel_image_size): New variable declaration.
46297 (grub_total_module_size): Likewise.
46298 (grub_memdisk_image_size): Likewise.
46299
46300 * include/grub/i386/pc/memory.h
46301 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46302
46303 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46304 (grub_arch_memdisk_addr): New variable declaration.
46305 (grub_arch_memdisk_size): Likewise.
46306
46307 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46308 (grub_arch_memdisk_size): Likewise.
46309
46310 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46311 (codestart): Replace hardcoded `0x100000' with
46312 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46313
46314 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46315 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46316 not NULL, append the contents of the file it refers to, at the end of
46317 the compressed kernel image. Initialize `grub_memdisk_image_size'
46318 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46319 (options): Add "memdisk"|'m' option.
46320 (main): Parse --memdisk|-m option, and pass user-provided path as
46321 parameter to generate_image().
46322
3d7f54c9 463232008-01-20 Robert Millan <rmh@aybabtu.com>
46324
46325 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46326 grub_dprintf() calls from here ...
46327 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46328
0bf74728 463292008-01-20 Robert Millan <rmh@aybabtu.com>
46330
46331 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46332
46333 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46334 declaration.
46335 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46336 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46337 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 46338 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 46339 property).
46340 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46341 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46342
33bf70a7 463432008-01-19 Robert Millan <rmh@aybabtu.com>
46344
fe6b695a 46345 Get rid of confusing function (superseded by
33bf70a7 46346 `grub_ieee1275_get_integer_property')
46347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46348 prototype.
46349 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46350 function.
46351 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46352 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 46353 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 46354
e2da7d26 463552008-01-19 Robert Millan <rmh@aybabtu.com>
46356
46357 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46358 command after "shut-down", since implementations differ on which
46359 the command for halt is.
46360
59f1fd8d 463612008-01-19 Robert Millan <rmh@aybabtu.com>
46362
46363 * include/grub/i386/linuxbios/console.h: Add header protection.
46364 (grub_keyboard_controller_init): New function prototype.
46365 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46366 (KEYBOARD_COMMAND_READ): Likewise.
46367 (KEYBOARD_COMMAND_WRITE): Likewise.
46368 (KEYBOARD_SCANCODE_SET1): Likewise.
46369 (grub_keyboard_controller_write): New function.
46370 (grub_keyboard_controller_read): Likewise.
46371 (grub_keyboard_controller_init): Likewise.
46372
46373 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46374 (grub_console_init): On coreboot/LinuxBIOS, call
46375 grub_keyboard_controller_init().
46376
5f5a7c15 463772008-01-19 Robert Millan <rmh@aybabtu.com>
46378
46379 PowerPC changes provided by Pavel Roskin.
46380
46381 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46382 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46383 don't rely on cmain() doing it.
46384 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46385 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46386
1210e168 463872008-01-16 Robert Millan <rmh@aybabtu.com>
46388
46389 * include/grub/i386/linuxbios/memory.h
46390 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46391 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46392 receive `table_header' as argument. Instead, probe for it in the
46393 known memory ranges where it can be present.
46394 (grub_available_iterate): Do not pass a fixed `table_header' address
46395 to grub_linuxbios_table_iterate().
46396
3d04eab8 463972008-01-15 Robert Millan <rmh@aybabtu.com>
46398
46399 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46400 * conf/i386-ieee1275.rmk: New file.
46401 * include/grub/i386/ieee1275/console.h: Likewise.
46402 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46403 * include/grub/i386/ieee1275/kernel.h: Likewise.
46404 * include/grub/i386/ieee1275/time.h: Likewise.
46405 * kern/i386/ieee1275/init.c: Likewise.
46406 * kern/i386/ieee1275/startup.S: Likewise.
46407
d1bc1b73 464082008-01-15 Robert Millan <rmh@aybabtu.com>
46409
46410 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46411 when pointers are 32-bit (but still do set it to one when they are
46412 64-bit).
46413
66a65807 464142008-01-15 Robert Millan <rmh@aybabtu.com>
46415
46416 * include/grub/ieee1275/ieee1275.h
46417 (grub_ieee1275_get_integer_property): New function prototype.
46418
46419 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46420 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 46421 grub_ieee1275_get_property() to handle endianness.
66a65807 46422
46423 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46424 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 46425 where appropriate.
66a65807 46426 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46427 (grub_map): Likewise.
46428 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46429
a83ccafd 464302008-01-15 Bean <bean123ch@gmail.com>
46431
46432 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46433 (grub_script_execute_cmdline): Reset grub_errno.
46434
46435 * normal/main.c (read_config_file): Reset grub_errno.
46436
46437 * normal/parse.y (script_init): New.
46438 (script): Move function and menuentry here.
46439 (delimiter): New.
46440 (command): Add delimiter at the end of command.
46441 (commands): Adjust to match the new command.
46442 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 46443 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 46444 (if): Use the new commands.
46445
46446 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46447
df6ecfc6 464482008-01-15 Robert Millan <rmh@aybabtu.com>
46449
46450 * normal/menu.c (run_menu): Move timeout message from here ...
46451 (print_timeout): ... to here.
46452 (run_menu): Use print_timeout() once during initial draw to print
46453 the whole message, and again in every clock tick to update only
46454 the number of seconds.
46455
87ae25eb 464562008-01-15 Robert Millan <rmh@aybabtu.com>
46457
46458 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46459 actual size of `available' from grub_ieee1275_get_property(), and
46460 restrict parsing to that bound.
46461
47bf09a4 464622008-01-15 Christian Franke <franke@computer.org>
46463
46464 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46465 (argp_program_version): Remove variable.
46466 (argp_program_bug_address): Likewise.
46467 (options): Convert from struct argp_option to struct option.
46468 (struct arguments): Remove.
46469 (parse_opt): Remove.
46470 (usage): New function.
46471 (main): Replace struct args members by simple variables.
46472 Replace argp_parse() by getopt_long().
46473 Add switch to evaluate options.
46474 Add missing "(...)" around root_dev in prefix string.
46475
c86f1469 464762008-01-14 Robert Millan <rmh@aybabtu.com>
46477
46478 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46479 for grub_ieee1275_exit(), in order to improve portability.
46480
e622c559 464812008-01-14 Robert Millan <rmh@aybabtu.com>
46482
46483 * util/grub.d/10_linux.in (prefix): Define.
46484 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46485
44cb1ec8 464862008-01-13 Pavel Roskin <proski@gnu.org>
46487
46488 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46489 grub_errno if no errors have been detected.
46490
1eb8c802 464912008-01-12 Robert Millan <rmh@aybabtu.com>
46492
46493 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46494 (grub_util_get_dev_abstraction): New function prototype.
46495
46496 * util/getroot.c: Include `<grub/util/getroot.h>'
46497 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46498 (grub_util_get_dev_abstraction): ... here (new function).
46499
46500 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46501 `PRINT_ABSTRACTION'.
46502 (probe): Probe for abstraction type when requested.
46503 (main): Understand `--target=abstraction'.
46504
46505 * util/i386/efi/grub-install.in: Add abstraction module to core
46506 image when it is found to be necessary.
46507 * util/i386/pc/grub-install.in: Likewise.
46508 * util/powerpc/ieee1275/grub-install.in: Likewise.
46509
46510 * util/update-grub_lib.in (font_path): Return system path without
46511 converting to GRUB path.
46512 * util/update-grub.in: Convert system path returned by font_path()
46513 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46514 abstraction module is needed for loading fonts (if any). Export
46515 that as `GRUB_PRELOAD_MODULES'.
46516 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46517 insmod commands).
46518
52bd3de9 465192008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46520
46521 Remove some unused code from reiserfs.
f19dbdb7 46522
52bd3de9 46523 * fs/reiserfs.c (struct grub_reiserfs_key)
46524 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46525 (struct grub_reiserfs_node_body): Removed.
46526 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46527 Likewise.
46528 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46529 Likewise.
46530 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46531 Likewise.
46532 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46533 Likewise.
46534 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46535 Likewise.
46536 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46537 Likewise.
46538 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46539 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46540 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46541
2f80039d 465422008-01-10 Robert Millan <rmh@aybabtu.com>
46543
46544 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46545 Determines if a file is garbage left by packaging systems, etc.
46546 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46547 for processing /etc/grub.d scripts.
46548 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46549 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46550 as a condition for processing Linux images.
46551
87888032 465522008-01-10 Pavel Roskin <proski@gnu.org>
46553
46554 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46555 to compile reiserfs.c on PowerPC.
46556
7e54fced 465572008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46558
46559 * kern/device.c (grub_device_iterate): Do not abort device iteration
46560 when one of the devices cannot be opened.
46561 * kern/disk.c (grub_disk_open): Do not account previous failures of
46562 unrelated functions when grub_errno is checked for.
46563
5aa541e6 465642008-01-08 Robert Millan <rmh@aybabtu.com>
46565
46566 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46567 `! grub_linux_is_bzimage', change order of address comparison to make
46568 it more intuitive, and improve "too big zImage" error message.
46569
7076340d 465702008-01-08 Robert Millan <rmh@aybabtu.com>
46571
46572 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46573 `$(update-grub_DATA)'.
46574 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46575 targets.
46576
9ca70333 465772008-01-07 Robert Millan <rmh@aybabtu.com>
46578
46579 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46580 which instruction is modified by grub-setup during installation
46581 (since it wasn't obvious by only looking at this file).
46582
38ccf575 465832008-01-07 Robert Millan <rmh@aybabtu.com>
46584
46585 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46586 listing actual TODO items.
46587
f5db4291 465882008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46589
868967cf 46590 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46591 correctly.
46592 (grub_reiserfs_get_key_offset): Likewise.
46593 (grub_reiserfs_set_key_offset): Likewise.
46594 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46595 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46596
46597 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46598 better to remove the bitfield version completely.
f19dbdb7 46599
868967cf 466002008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46601
f5db4291 46602 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46603 allocated from the heap, due to the fshelp implementation.
46604 (grub_reiserfs_dir): Free NODE, due to the same reason.
46605
492e6d9d 466062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46607
46608 Mostly from Vincent Pelletier:
f19dbdb7 46609
492e6d9d 46610 * fs/reiserfs.c: New file.
f19dbdb7 46611
492e6d9d 46612 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46613 (reiserfs_mod_SOURCES): New variable.
46614 (reiserfs_mod_CFLAGS): Likewise.
46615 (reiserfs_mod_LDFLAGS): Likewise.
46616
46617 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46618 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46619 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46620 normal/color.c.
46621
9ce3e7c1 466222008-01-06 Robert Millan <rmh@aybabtu.com>
46623
46624 * normal/color.c: Remove `<grub/env.h>'.
46625
f3b58148 466262008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46627
46628 * include/grub/normal.h: Include <grub/env.h>.
46629
7ac3bcfa 466302008-01-05 Robert Millan <rmh@aybabtu.com>
46631
46632 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46633 usage example with `(hd0,1)'.
fb358190 46634 Reported by Samuel Thibault.
7ac3bcfa 46635
c8ee99d7 466362008-01-05 Robert Millan <rmh@aybabtu.com>
46637
46638 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46639 (grub_linux_boot_zimage): Rename to ...
46640 (grub_linux_boot): ... this.
46641 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46642 (grub_linux_boot_zimage): Conditionalize zImage copy.
46643
46644 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46645 (grub_linux_boot_bzimage): Remove prototype.
46646 (grub_linux_boot_zimage): Rename to ...
46647 (grub_linux_boot): ... this.
46648
46649 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46650 (grub_linux_boot): Remove function.
46651
0ece25b1 466522008-01-05 Robert Millan <rmh@aybabtu.com>
46653
46654 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46655 (grub_env_write_color_highlight): Likewise.
46656 (grub_wait_after_message): Likewise.
46657
46658 * normal/color.c: New file.
46659
46660 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46661 (normal_mod_DEPENDENCIES): Likewise.
46662
46663 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46664 (normal_mod_DEPENDENCIES): Likewise.
46665
46666 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46667 (normal_mod_DEPENDENCIES): Likewise.
46668
46669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46670 (normal_mod_DEPENDENCIES): Likewise.
46671
46672 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46673 for waiting after a message is printed.
46674 * normal/main.c (read_config_file): Likewise.
46675 (grub_normal_init): Register grub_env_write_color_normal() and
46676 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46677 `color_highlight' variables as global.
46678
46679 * normal/menu.c (grub_wait_after_message): New function.
46680 (grub_color_menu_normal): New variable. Replaces ...
46681 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46682 (grub_color_menu_highlight): New variable. Replaces ...
46683 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46684 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46685 `GRUB_TERM_COLOR_STANDARD'.
46686 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46687 `normal_code' and `highlight_code' to `old_color_normal' and
46688 `old_color_highlight', respectively.
46689 (grub_menu_init_page): Update colors when drawing the menu, based on
46690 `menu_color_normal' and `menu_color_highlight' variables.
46691 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46692 a message is printed.
46693
182dd4e5 466942008-01-05 Robert Millan <rmh@aybabtu.com>
46695
46696 * kern/env.c (grub_env_context_open): Propagate hooks for global
46697 variables to new context.
46698
46699 * kern/main.c (grub_set_root_dev): Export `root' variable.
46700
ddf8f6ad 467012008-01-05 Robert Millan <rmh@aybabtu.com>
46702
46703 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46704 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46705 them.
46706
d8b43d9b 467072008-01-05 Robert Millan <rmh@aybabtu.com>
46708
46709 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46710
2bff2de3 467112008-01-04 Christian Franke <franke@computer.org>
46712
46713 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46714 of eisa_mmap.
46715
97eab917 467162008-01-03 Pavel Roskin <proski@gnu.org>
46717
46718 * kern/i386/linuxbios/init.c: Put "void" to all function
46719 declarations with no arguments.
46720 * kern/powerpc/ieee1275/init.c: Likewise.
46721 * term/i386/pc/at_keyboard.c: Likewise.
46722 * term/i386/pc/vga_text.c: Likewise.
46723 * util/grub-mkdevicemap.c: Likewise.
46724
b9416d00 467252008-01-02 Robert Millan <rmh@aybabtu.com>
46726
46727 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46728 message when loaded image is out of bounds.
46729 (grub_multiboot_load_elf64): Likewise.
46730
92695df9 467312008-01-02 Pavel Roskin <proski@gnu.org>
46732
46733 * util/grub.d/10_linux.in: Try version without ".old" when
46734 looking for initrd. It's better to use initrd from the newer
46735 kernel of the same version than no initrd at all.
46736
d98d9cad 467372008-01-01 Robert Millan <rmh@aybabtu.com>
46738
46739 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46740
dbfdce36 467412008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46742
f19dbdb7 46743 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46744 grub_video_get_active_render_target.
46745 (grub_video_adapter): Added unmap_color and get_active_render_target.
46746
f19dbdb7 46747 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46748 grub_video_get_active_render_target.
46749 (grub_video_get_info): Changed method to accept NULL pointer as an
46750 argument to allow detection of active video adapter.
46751
46752 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46753 grub_video_vbe_unmap_color_int.
46754 Added grub_video_vbe_unmap_color and
46755 grub_video_vbe_get_active_render_target.
46756 (grub_video_vbe_adapter): Added unmap_color and
46757 get_active_render_target.
46758
f19dbdb7 46759 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46760 with grub_video_vbe_unmap_color_int.
46761
46762 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46763 (DEFAULT_NORMAL_COLOR): Likewise.
46764 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46765 (DEFAULT_FG_COLOR): Removed.
46766 (DEFAULT_BG_COLOR): Likewise.
46767 (DEFAULT_CURSOR_COLOR): Changed value.
46768 (grub_virtual_screen): Added standard_color_setting,
46769 normal_color_setting, highlight_color_setting and term_color.
46770 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46771 (bitmap_width): Added.
46772 (bitmap_height): Likewise.
46773 (bitmap): Likewise.
46774 (set_term_color): Likewise.
46775 (grub_virtual_screen_setup): Changed to use new terminal coloring
46776 settings.
46777 (grub_gfxterm_init): Added init for bitmap.
46778 (grub_gfxterm_fini): Added destroy for bitmap.
46779 (redraw_screen_rect): Updated to use background bitmap and new
46780 terminal coloring.
46781 (scroll_up): Added optimization for case when there is no bitmap.
46782 (grub_gfxterm_cls): Fixed to use correct background color.
46783 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46784 coloring.
46785 (grub_virtual_screen_setcolor): Likewise.
46786 (grub_virtual_screen_getcolor): Added.
46787 (grub_gfxterm_background_image_cmd): Likewise.
46788 (grub_video_term): Added setcolor and getcolor.
46789 (MOD_INIT): Added registration of background_image command.
46790 (MOD_TERM): Added unregistration for background_image command.
46791
c3c20931 467922007-12-30 Pavel Roskin <proski@gnu.org>
46793
46794 * loader/multiboot_loader.c: Fix multiboot command
46795 unregistration. Fix all typos in the word "multiboot".
46796
df266716 467972007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46798
46799 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46800 support for initrd names used in Fedora.
46801
fc6e896c 468022007-12-26 Bean <bean123ch@gmail.com>
46803
46804 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46805 (cpio_mod_SOURCES): New variable.
46806 (cpio_mod_CFLAGS): Likewise.
46807 (cpio_mod_LDFLAGS): Likewise.
46808
46809 * fs/cpio.c: New file.
46810
46811 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46812
46813 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46814
46815 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46816
46817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46818
533110ad 468192007-12-25 Robert Millan <rmh@aybabtu.com>
46820
46821 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46822 (grub_getcolor): New function.
46823
46824 * kern/term.c (grub_getcolor): New function.
46825 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46826 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46827 (print_entry): Set normal and highlight colors to
46828 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46829 respectively, before printing and restore them to old
46830 values afterwards.
46831 (grub_menu_init_page): Likewise. Fill an additional colored space
46832 that would otherwise be left blank.
46833
46834 * term/efi/console.c (grub_console_getcolor): New function.
46835 (struct grub_console_term.getcolor): New variable.
46836 * term/i386/pc/console.c (grub_console_getcolor): New function.
46837 (struct grub_console_term.getcolor): New variable.
46838 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46839 (struct grub_console_term.getcolor): New variable.
46840
46841 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46842 (struct grub_console_term.setcolor): Remove variable.
46843 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46844 (struct grub_console_term.setcolor): Remove variable.
46845 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46846 (struct grub_console_term.setcolor): Remove variable.
46847 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46848 (struct grub_console_term.setcolor): Remove variable.
46849
4931827f 468502007-12-25 Robert Millan <rmh@aybabtu.com>
46851
46852 * configure.ac: Search for possible unifont.hex locations, and
46853 define UNIFONT_HEX if found.
46854
46855 * Makefile.in (UNIFONT_HEX): Define variable.
46856 (DATA): Rename to ...
46857 (PKGLIB): ... this. Update all users.
46858 (PKGDATA): New variable.
46859 (pkgdata_IMAGES): Rename to ...
46860 (pkglib_IMAGES): ... this. Update all users.
46861 (pkgdata_MODULES): Rename to ...
46862 (pkglib_MODULES): ... this. Update all users.
46863 (pkgdata_PROGRAMS): Rename to ...
46864 (pkglib_PROGRAMS): ... this. Update all users.
46865 (pkgdata_DATA): Rename to ...
46866 (pkglib_DATA): ... this. Update all users.
46867 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46868 (unicode.pff, ascii.pff): New rules.
46869 (all-local): Add `$(PKGDATA)' dependency.
46870 (install-local): Process `$(PKGDATA)'.
46871
46872 * util/update-grub_lib.in (font_path): Search for *.pff files in
46873 a few more locations, including `${pkgdata}'.
46874
57e57e31 468752007-12-23 Robert Millan <rmh@aybabtu.com>
46876
46877 Patch from Bean <bean123ch@gmail.com>:
46878 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46879 `size'.
46880
4bc72aa9 468812007-12-21 Bean <bean123ch@gmail.com>
46882
46883 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46884 (ntfscomp_mod_SOURCES): New variable.
46885 (ntfscomp_mod_CFLAGS): Likewise.
46886 (ntfscomp_mod_LDFLAGS): Likewise.
46887
46888 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46889 (grub_probe_SOURCES): Likewise.
46890 (grub_emu_SOURCES): Likewise.
46891
46892 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46893 (grub_emu_SOURCES): Likewise.
46894
46895 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46896 (grub_emu_SOURCES): Likewise.
46897
46898 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46899 (grub_emu_SOURCES): Likewise.
46900
46901 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46902 (read_run_list): Renamed to grub_ntfs_read_run_list.
46903 (decomp_nextvcn): Moved to ntfscomp.c.
46904 (decomp_getch): Likewise.
46905 (decomp_get16): Likewise.
46906 (decomp_block): Likewise.
46907 (read_block): Likewise.
46908 (read_data): Partially moved to ntfscomp.c.
46909 (fixup): Change unsigned to grub_uint16_t.
46910 (read_mft): Change unsigned long to grub_uint32_t.
46911 (read_attr): Likewise.
46912 (read_data): Likewise.
46913 (read_run_data): Likewise.
46914 (read_run_list): Likewise.
46915 (read_mft): Likewise.
46916
46917 * fs/ntfscomp.c: New file.
46918
46919 * include/grub/ntfs.h: New file.
46920
af680a87 469212007-12-16 Robert Millan <rmh@aybabtu.com>
46922
46923 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46924 IDE disk check, since Linux is known to support 20 IDE disks.
46925 Reported by Colin Watson.
46926
84be7599 469272007-12-15 Bean <bean123ch@gmail.com>
46928
46929 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46930 (lnxboot_img_SOURCES): New variable.
46931 (lnxboot_img_ASFLAGS): Likewise.
46932 (lnxboot_img_LDFLAGS): Likewise.
46933
46934 * boot/i386/pc/lnxboot.S: New file.
46935
6af9db01 469362007-11-24 Pavel Roskin <proski@gnu.org>
46937
46938 * configure.ac: Test if '--build-id=none' is supported by the
46939 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46940 objcopy to generate incorrect binary files (binutils
46941 2.17.50.0.18-1 as shipped by Fedora 8).
46942 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46943 linking, so that build ID doesn't break the test.
46944
7361cfe6 469452007-11-24 Pavel Roskin <proski@gnu.org>
46946
46947 * include/grub/i386/time.h: use "void" in the argument list
46948 of grub_cpu_idle().
46949 * include/grub/powerpc/time.h: Likewise.
46950 * include/grub/sparc64/time.h: Likewise.
46951
1593e10c 469522007-11-18 Christian Franke <franke@computer.org>
46953
46954 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46955 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46956 This fixes the problem that function keys did not work in grub-emu.
46957
3b8db1a8 469582007-11-18 Christian Franke <franke@computer.org>
46959
46960 * disk/host.c (grub_host_open): Remove attribute unused from
46961 name parameter. Add check for "host". This fixes the problem
46962 that grub-emu does not find partitions.
46963
2e29408d 469642007-11-18 Christian Franke <franke@computer.org>
46965
46966 * util/hostfs.c (is_dir): New function.
46967 (grub_hostfs_dir): Handle missing dirent.d_type case.
46968 (grub_hostfs_read): Add missing fseek().
46969 (grub_hostfs_label): Clear label pointer. This fixes a crash
46970 of grub-emu on "ls (host)".
46971
398cd047 469722007-11-18 Christian Franke <franke@computer.org>
46973
46974 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46975 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46976 to 64 bit boundary by default.
46977
c405c391 469782007-11-18 Bean <bean123ch@gmail.com>
46979
46980 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46981 (hexdump_mod_SOURCES): New variable.
46982 (hexdump_mod_CFLAGS): Likewise.
46983 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46984
c405c391 46985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46986
46987 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46988
46989 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46990
46991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46992
46993 * include/grub/hexdump.h: New file.
46994
46995 * commands/hexdump.c: New file.
46996
5cced7fd 469972007-11-10 Robert Millan <rmh@aybabtu.com>
46998
46999 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47000 in grub_outb() calls.
47001 (beep_on): Likewise.
47002
8b714eb0 470032007-11-10 Christian Franke <franke@computer.org>
47004
47005 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47006 (grub_menu_run): Likewise.
47007
ce0f1839 470082007-11-10 Robert Millan <rmh@aybabtu.com>
47009
47010 * include/grub/i386/efi/machine.h: New file.
47011 * include/grub/i386/linuxbios/machine.h: Likewise.
47012 * include/grub/i386/pc/machine.h: Likewise.
47013 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47014 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47015
47016 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47017 (serial_hw_io_addr): New variable.
47018 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47019 instead of `(unsigned short *) 0x400'.
47020
270c237d 470212007-11-10 Bean <bean123ch@gmail.com>
47022
47023 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47024
a87783bf 470252007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47026
47027 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47028 (vga_mod_SOURCES): Added.
47029 (vga_mod_CFLAGS): Likewise.
47030 (vga_mod_LDFLAGS): Likewise.
47031
47032 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47033 grub_outb() calls.
47034 (set_map_mask): Likewise.
47035 (set_read_map): Likewise.
47036 (set_read_address): Likewise.
47037 (vga_font): Removed variable.
47038 (get_vga_glyph): Removed function.
47039 (invalidate_char): Likewise.
47040 (write_char): Changed to use grub_font_get_glyph() for font
47041 information.
47042 (grub_vga_putchar): Likewise.
47043 (grub_vga_getcharwidth): Likewise.
47044
6433b448 470452007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47046
47047 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47048 flags.
47049 (pxeboot_img_LDFLAGS): Likewise.
47050 (diskboot_img_LDFLAGS): Likewise.
47051 (kernel_img_LDFLAGS): Likewise.
47052
49178511 470532007-11-06 Robert Millan <rmh@aybabtu.com>
47054
47055 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47056 in grub_outb() calls.
47057 (serial_hw_init): Likewise.
47058
53b052de 470592007-11-05 Robert Millan <rmh@aybabtu.com>
47060
47061 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47062 spaces. Skip non-regular files.
47063
5ab33bba 470642007-11-05 Robert Millan <rmh@aybabtu.com>
47065
47066 * kern/disk.c (grub_disk_firmware_fini)
47067 (grub_disk_firmware_is_tainted): New variables.
47068
47069 * include/grub/disk.h (grub_disk_firmware_fini)
47070 (grub_disk_firmware_is_tainted): Likewise.
47071
47072 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47073 (grub_disk_biosdisk_fini): ... to here.
47074 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47075 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47076 is set. Register grub_disk_biosdisk_fini() in
47077 `grub_disk_firmware_fini'.
47078
47079 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47080 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47081 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47082 to finish existing firmware disk interface.
47083
47084 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47085 (ata_mod_SOURCES): New variable.
47086 (ata_mod_CFLAGS): Likewise.
47087 (ata_mod_LDFLAGS): Likewise.
47088
0149ab7c 470892007-11-05 Robert Millan <rmh@aybabtu.com>
47090
47091 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47092 (grub_ata_wait): Reimplement using grub_millisleep().
47093
47094 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47095 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47096
be7ac41e 470972007-11-03 Marco Gerards <marco@gnu.org>
47098
47099 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47100 (CRTC_ADDR_PORT): New macro.
47101 (CRTC_DATA_PORT): Likewise.
47102 (CRTC_CURSOR): Likewise.
47103 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47104 (CRTC_CURSOR_ADDR_LOW): Likewise.
47105 (update_cursor): New function.
47106 (grub_console_real_putchar): Call `update_cursor'.
47107 (grub_console_gotoxy): Likewise.
47108 (grub_console_cls): Set the default color when clearing the
47109 screen.
47110 (grub_console_setcursor): Implemented.
47111
bb06ab2e 471122007-11-03 Marco Gerards <marco@gnu.org>
47113
47114 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47115 become activate.
47116 (grub_ata_pio_write): Likewise.
47117
47118 (grub_atapi_identify): Wait after issuing an ATA command.
47119 (grub_atapi_packet): Likewise.
47120 (grub_ata_identify): Likewise.
47121 (grub_ata_readwrite): Likewise.
47122
cf8f780b 471232007-11-03 Marco Gerards <marco@gnu.org>
47124
47125 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47126 (grub_ata_pio_write): Likewise.
47127 (grub_ata_readwrite): Use `grub_error', instead of
47128 returning `grub_errno'.
47129
ed649e54 471302007-11-03 Marco Gerards <marco@gnu.org>
47131
47132 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47133 grub_ata_pio_write once for every single sector, instead of for
47134 multiple sectors.
47135
ca25d8f0 471362007-10-31 Robert Millan <rmh@aybabtu.com>
47137
47138 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47139
47140 * conf/i386-linuxbios.rmk: New file.
47141
47142 * kern/i386/pc/hardware.c: Likewise.
47143 * term/i386/pc/at_keyboard.c: Likewise.
47144 * term/i386/pc/vga_text.c: Likewise.
47145
47146 * include/grub/i386/linuxbios/boot.h: Likewise.
47147 * include/grub/i386/linuxbios/console.h: Likewise.
47148 * include/grub/i386/linuxbios/init.h: Likewise.
47149 * include/grub/i386/linuxbios/kernel.h: Likewise.
47150 * include/grub/i386/linuxbios/loader.h: Likewise.
47151 * include/grub/i386/linuxbios/memory.h: Likewise.
47152 * include/grub/i386/linuxbios/serial.h: Likewise.
47153 * include/grub/i386/linuxbios/time.h: Likewise.
47154
47155 * kern/i386/linuxbios/init.c: Likewise.
47156 * kern/i386/linuxbios/startup.S: Likewise.
47157 * kern/i386/linuxbios/table.c: Likewise.
47158
e911ecc1 471592007-10-31 Marco Gerards <marco@gnu.org>
47160
47161 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47162 (ata_mod_SOURCES): New variable.
47163 (ata_mod_CFLAGS): Likewise.
47164 (ata_mod_LDFLAGS): Likewise.
47165
47166 * disk/ata.c: New file.
47167
47168 * include/grub/disk.h (grub_disk_dev_id): Add
47169 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 47170
7f66d0e0 471712007-10-31 Robert Millan <rmh@aybabtu.com>
47172
47173 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47174 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47175
47176 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47177 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47178
47179 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47180 `<grub/types.h>'.
47181
47182 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47183
5cd7dd46 471842007-10-27 Robert Millan <rmh@aybabtu.com>
47185
3236ca65 47186 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 47187
2ebfc90f 471882007-10-22 Robert Millan <rmh@aybabtu.com>
47189
47190 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47191 `"../realmode.S"'.
47192 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47193
73fcb0f3 471942007-10-22 Robert Millan <rmh@aybabtu.com>
47195
47196 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47197 (pkgdata_MODULES): Add `biosdisk.mod'.
47198 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47199 variables.
47200
47201 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47202 (grub_biosdisk_init): Replace with ...
47203 (GRUB_MOD_INIT(biosdisk)): ... this.
47204 (grub_biosdisk_fini): Replace with ...
47205 (GRUB_MOD_FINI(biosdisk)): ... this.
47206
47207 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47208 (grub_machine_init): Remove call to grub_biosdisk_init().
47209 (grub_machine_fini): Remove call to grub_machine_fini().
47210
47211 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47212
3381d274 472132007-10-22 Robert Millan <rmh@aybabtu.com>
47214
47215 * include/grub/time.h: New file.
47216 * include/grub/i386/time.h: Likewise.
47217 * include/grub/powerpc/time.h: Likewise.
47218 * include/grub/sparc64/time.h: Likewise.
47219
47220 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47221 instances to ...
47222 (KERNEL_MACHINE_TIME_HEADER): ... this.
47223 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47224 instances to ...
47225 (KERNEL_MACHINE_TIME_HEADER): ... this.
47226 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47227 instances to ...
47228 (KERNEL_MACHINE_TIME_HEADER): ... this.
47229
47230 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47231 (grub_millisleep): New function.
47232 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47233 (grub_millisleep): New function.
47234 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47235 Remove `grub/machine/time.h' include.
47236 (grub_millisleep): New function.
47237 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47238 Remove `grub/machine/time.h' include.
47239 (grub_millisleep): New function.
47240
47241 * include/grub/misc.h (grub_div_roundup): New function.
47242
47243 * kern/misc.c: Include `<grub/time.h>'.
47244 (grub_millisleep_generic): New function.
47245
47246 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47247 Add `time.h'.
47248 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47249 Add `time.h'.
47250 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47251 `machine/time.h'. Add `time.h'.
47252 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47253
a39a0312 472542007-10-21 Robert Millan <rmh@aybabtu.com>
47255
47256 * include/grub/misc.h (grub_max): New function.
47257
2aad70e2 472582007-10-21 Robert Millan <rmh@aybabtu.com>
47259
47260 * util/misc.c (grub_util_info): Call fflush() before returning.
47261
54b71c4b 472622007-10-20 Robert Millan <rmh@aybabtu.com>
47263
47264 * genmk.rb (Image): Copy `extra_flags' from here ...
47265 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47266
47267 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47268 to `argc' and `args' arguments.
47269
a979f513 472702007-10-17 Robert Millan <rmh@aybabtu.com>
47271
47272 * kern/i386/loader.S: New file.
47273
47274 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47275 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47276 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47277 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47278 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47279 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47280 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47281 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47282 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47283 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47284 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47285 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47286 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47287 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47288
47289 * kern/i386/realmode.S: New file.
47290
47291 * kern/i386/pc/startup.S (protstack): Moved from here ...
47292 * kern/i386/realmode.S (protstack)... to here.
47293 * kern/i386/pc/startup.S (gdt): Moved from here ...
47294 * kern/i386/realmode.S (gdt)... to here.
47295 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47296 * kern/i386/realmode.S (prot_to_real)... to here.
47297
47298 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47299 `kern/i386/realmode.S'.
47300
825fc8fd 473012007-10-17 Robert Millan <rmh@aybabtu.com>
47302
47303 * include/grub/i386/loader.h: New file.
47304
47305 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47306 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47307 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47308 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47309 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47310 * include/grub/i386/loader.h (grub_linux_prot_size)
47311 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47312 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47313 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47314 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47315
47316 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47317
e179b2f4 473182007-10-15 Robert Millan <rmh@aybabtu.com>
47319
47320 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47321 filesystem when dev->disk is unset.
47322 Do probe for filesystem even when dev->disk->has_partitions is set.
47323 In case a filesystem is found, always report it.
47324 In case it isn't, if dev->disk->has_partitions is set, report that
47325 a partition table was found instead of reporting that no filesystem
47326 could be identified.
47327
5db82af6 473282007-10-12 Robert Millan <rmh@aybabtu.com>
47329
47330 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47331 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47332
68f6ac74 47333 * include/grub/types.h (grub_host_to_target16): New macro.
47334 (grub_host_to_target32): Likewise.
47335 (grub_host_to_target64): Likewise.
47336 (grub_target_to_host16): Likewise.
47337 (grub_target_to_host32): Likewise.
47338 (grub_target_to_host64): Likewise.
5db82af6 47339
47340 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47341 Renamed from to ...
47342 (GRUB_MOD_ALIGN): ...this. Update all users.
47343
68f6ac74 47344 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47345 grub_host_to_target32.
47346 Replace grub_be_to_cpu32 with grub_target_to_host32.
47347 (load_modules): Likewise.
47348 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47349 Replace grub_be_to_cpu32 with grub_target_to_host32.
47350 Replace grub_cpu_to_be16 with grub_host_to_target16.
47351 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 47352
3cf497cc 473532007-10-12 Robert Millan <rmh@aybabtu.com>
47354
47355 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47356 * util/elf/grub-mkimage.c: ... here.
47357
47358 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47359 `util/powerpc/ieee1275/grub-mkimage.c'.
47360
c8cc3692 473612007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 47362
c8cc3692 47363 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47364 and make it easier to figure out.
47365 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47366 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47367 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47368 leave us with less than HEAP_MIN_SIZE total heap.
47369 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 47370
5c58b791 473712007-10-03 Robert Millan <rmh@aybabtu.com>
47372
47373 * include/grub/i386/io.h: New file.
47374 * commands/i386/pc/play.c (inb): Removed.
47375 (outb): Removed.
47376 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47377 with grub_outb().
afcd2ef8 47378 * term/i386/pc/serial.c (inb): Removed.
47379 (outb): Removed.
47380 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47381 with grub_outb().
47382 * term/i386/pc/vga.c (inb): Removed.
47383 (outb): Removed.
47384 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47385 with grub_outb().
5c58b791 47386
1a477ed6 473872007-10-02 Robert Millan <rmh@aybabtu.com>
47388
47389 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47391 Reported by Marcin Kurek.
47392
6b5d80fa 473932007-09-07 Robert Millan <rmh@aybabtu.com>
47394
47395 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47396 SmartFirmware version updates (as released by Sven Luther), and avoid
47397 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47398 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47399 known broken.
47400
5618afbf 474012007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47402
47403 From Hitoshi Ozeki:
47404 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47405 when merging two regions.
47406
6139dcd9 474072007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47408
508e39ee 47409 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47410 * normal/completion.c (grub_normal_do_completion): Likewise.
47411 Reported by Hitoshi Ozeki.
47412
474132007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47414
6139dcd9 47415 Do not use devices at boot in chainloading.
f19dbdb7 47416
6139dcd9 47417 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47418 (boot_part_addr): Likewise.
47419 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47420 with BOOT_DRIVE and BOOT_PART_ADDR.
47421 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47422 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47423
38da6516 474242007-08-29 Robert Millan <rmh@aybabtu.com>
47425
47426 Patch from Simon Peter <dn.tlp@gmx.net>:
47427 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47428 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47429 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47430 util/i386/pc/grub-setup.c_DEPENDENCIES.
47431 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47432 util/grub-probe.c_DEPENDENCIES.
47433 * conf/powerpc-ieee1275.rmk: Likewise.
47434
29d0928c 474352007-08-28 Robert Millan <rmh@aybabtu.com>
47436
47437 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47438 to tell grub-mkdevicemap how to name devices.
47439 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47440 feature).
47441
47442 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47443 util/i386/get_disk_name.c.
47444 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47445 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47446 util/ieee1275/get_disk_name.c.
47447
47448 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47449
47450 * DISTLIST: Add util/i386/get_disk_name.c and
47451 util/ieee1275/get_disk_name.c.
47452
47453 * util/grub-mkdevicemap.c: Replace device naming logic with
47454 grub_util_get_disk_name() calls.
47455
5a0d3cca 474562007-08-20 Robert Millan <rmh@aybabtu.com>
47457
47458 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47459 (so that it works for both plural and singular quantities).
47460
8b72db2f 474612007-08-05 Robert Millan <rmh@aybabtu.com>
47462
47463 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47464 so that [xz] isn't taken into account when determining order.
47465
352466bf 474662007-08-02 Marco Gerards <marco@gnu.org>
47467
47468 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47469 `include/multiboot2.h', `include/grub/elfload.h',
47470 `include/multiboot.h', `include/grub/multiboot.h',
47471 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47472 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47473 `kern/elf.c', `loader/multiboot_loader.c',
47474 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47475 `loader/i386/pc/multiboot2.c',
47476 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47477 `util/i386/pc/grub-mkrescue.in'. Remove
47478 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47479 `include/grub/i386/pc/util/biosdisk.h' and
47480 `include/grub/powerpc/ieee1275/multiboot.h'.
47481
8f096014 474822007-08-02 Bean <bean123ch@gmail.com>
47483
47484 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47485 (ntfs_mod_SOURCES): New variable.
47486 (ntfs_mod_CFLAGS): Likewise.
47487 (ntfs_mod_LDFLAGS): Likewise.
47488
47489 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47490 (grub_probe_SOURCES): Likewise.
47491 (grub_emu_SOURCES): Likewise.
47492
47493 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47494 (grub_emu_SOURCES): Likewise.
47495
47496 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47497 (grub_emu_SOURCES): Likewise.
f19dbdb7 47498
8f096014 47499 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47500
47501 * fs/ntfs.c: New file.
47502
9959f7db 475032007-08-02 Bean <bean123ch@gmail.com>
47504
47505 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47506
47507 * file.h (grub_file): Likewise.
47508
47509 * fshelp.h (grub_fshelp_read_file): Likewise.
47510
47511 * util/i386/pc/grub-setup.c (setup): Likewise.
47512 (save_first_sector): Likewise.
47513 (save_blocklists): Likewise.
f19dbdb7 47514
9959f7db 47515 * fs/affs.c (grub_affs_read_file): Likewise.
47516
47517 * fs/ext2.c (grub_ext2_read_file): Likewise.
47518
47519 * fs/fat.c (grub_fat_read_data): Likewise.
47520
47521 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47522
47523 * fs/hfs.c (grub_hfs_read_file): Likewise.
47524
47525 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47526
47527 * fs/jfs.c (grub_jfs_read_file): Likewise.
47528
47529 * fs/minix.c (grub_minix_read_file): Likewise.
47530
47531 * fs/sfs.c (grub_sfs_read_file): Likewise.
47532
47533 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47534
9959f7db 47535 * fs/xfs.c (grub_xfs_read_file): Likewise.
47536
47537 * command/blocklist.c (read_blocklist): Likewise.
47538 (print_blocklist): Likewise.
47539
0a203f83 475402007-08-02 Marco Gerards <marco@gnu.org>
47541
47542 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47543 `util/hostfs.c'.
47544
47545 * disk/host.c: New file.
47546
47547 * util/hostfs.c: Likewise.
47548
47549 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47550 return `GRUB_ERR_BAD_FS'.
47551 * fs/sfs.c (grub_sfs_mount): Likewise.
47552 * fs/xfs.c (grub_xfs_mount): Likewise.
47553
47554 * include/grub/disk.h (enum grub_disk_dev_id): Add
47555 `GRUB_DISK_DEVICE_HOST_ID'.
47556
47557 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47558
e5dfe777 475592007-07-24 Jerone Young <jerone@gmail.com>
47560
f19dbdb7 47561 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47562 modules for compilation.
47563 * conf/powerpc-ieee1275.rmk: Likewise.
47564
47565 * include/multiboot.h: Move multiboot definitions to one file. Rename
47566 many definitions to not get grub specific.
47567 * include/multiboot2.h: Create header with multiboot 2 definitions.
47568 * include/grub/multiboot.h: Header for grub specific function
47569 prototypes and definitions.
47570 * include/grub/multiboot2.h: Likewise.
47571 * include/grub/multiboot_loader.h: Likewise.
47572 * include/grub/i386/pc/multiboot.h: Removed.
47573 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47574
47575 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47576 and 2 to allow for one multiboot and module commands.
47577 * loader/multiboot2.c: Add multiboot2 functionality.
47578 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47579 and definition names.
47580 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47581 2 functions.
47582 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47583 ieee1275 specific multiboot2 code.
47584
47585 * kern/i386/pc/startup.S: Change headers and definition names for
47586 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47587
daf0f0ba 475882007-07-22 Robert Millan <rmh@aybabtu.com>
47589
47590 * geninitheader.sh: Process file specified in first parameter rather
47591 than hardcoding grub_modules_init.lst.
fe6b695a 47592 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47593 than hardcoding grub_modules_init.h.
47594
47595 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47596 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47597 grub_probe_init.[ch] and grub_setup_init.[ch].
47598
47599 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47600 grub_modules_init.h with grub_emu_init.h.
47601 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47602 grub_probe_init.[ch] files.
47603 * conf/i386-efi.rmk: Likewise.
47604 * conf/i386-pc.rmk: Likewise.
47605 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47606 grub_setup_init.[ch] files.
47607
47608 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47609 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47610 to initialize modules rather than a list of hardcoded functions.
47611 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47612 grub_init_all() to initialize modules rather than a list of hardcoded
47613 functions.
47614
54cdc1cc 476152007-07-22 Robert Millan <rmh@aybabtu.com>
47616
47617 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47618 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47619
ad0686cc 476202007-07-22 Robert Millan <rmh@aybabtu.com>
47621
47622 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47623 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47624 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47625 flag when running on SmartFirmware.
47626 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47627 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47628 was set.
47629
47630 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47631 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47632 rather than decreasing it.
47633
47634 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47635 there's not enough space to do it, fail in the same way as when it
47636 can't be done because there are no partitions.
47637
47638 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47639 when nvsetenv failed.
47640
969c02ec 476412007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47642
47643 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47644 because this rule is automatically generated.
47645 (grub-mkrescue): Removed for the same reason as above.
47646
5a79f472 476472007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47648
47649 Migrate to GNU General Public License Version 3.
f19dbdb7 47650
5a79f472 47651 * COPYING: Replaced with the plain text version of GPLv3.
47652
47653 * config.guess: Updated from gnulib.
47654 * config.sub: Likewise.
47655
47656 * geninit.sh: Output a GPLv3 copyright notice.
47657 * geninitheader.sh: Likewise.
47658 * genmodsrc.sh: Likewise.
47659 * gensymlist.sh.in: Likewise.
47660
47661 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47662 * boot/i386/pc/diskboot.S: Likewise.
47663 * boot/i386/pc/pxeboot.S: Likewise.
47664 * commands/blocklist.c: Likewise.
47665 * commands/boot.c: Likewise.
47666 * commands/cat.c: Likewise.
47667 * commands/cmp.c: Likewise.
47668 * commands/configfile.c: Likewise.
47669 * commands/echo.c: Likewise.
47670 * commands/help.c: Likewise.
47671 * commands/ls.c: Likewise.
47672 * commands/search.c: Likewise.
47673 * commands/terminal.c: Likewise.
47674 * commands/test.c: Likewise.
47675 * commands/videotest.c: Likewise.
47676 * commands/i386/cpuid.c: Likewise.
47677 * commands/i386/pc/halt.c: Likewise.
47678 * commands/i386/pc/play.c: Likewise.
47679 * commands/i386/pc/reboot.c: Likewise.
47680 * commands/i386/pc/vbeinfo.c: Likewise.
47681 * commands/i386/pc/vbetest.c: Likewise.
47682 * commands/ieee1275/halt.c: Likewise.
47683 * commands/ieee1275/reboot.c: Likewise.
47684 * commands/ieee1275/suspend.c: Likewise.
47685 * disk/loopback.c: Likewise.
47686 * disk/lvm.c: Likewise.
47687 * disk/raid.c: Likewise.
47688 * disk/efi/efidisk.c: Likewise.
47689 * disk/i386/pc/biosdisk.c: Likewise.
47690 * disk/ieee1275/ofdisk.c: Likewise.
47691 * font/manager.c: Likewise.
47692 * fs/affs.c: Likewise.
47693 * fs/ext2.c: Likewise.
47694 * fs/fat.c: Likewise.
47695 * fs/fshelp.c: Likewise.
47696 * fs/hfs.c: Likewise.
47697 * fs/hfsplus.c: Likewise.
47698 * fs/iso9660.c: Likewise.
47699 * fs/jfs.c: Likewise.
47700 * fs/minix.c: Likewise.
47701 * fs/sfs.c: Likewise.
47702 * fs/ufs.c: Likewise.
47703 * fs/xfs.c: Likewise.
47704 * hello/hello.c: Likewise.
47705 * include/grub/acorn_filecore.h: Likewise.
47706 * include/grub/arg.h: Likewise.
47707 * include/grub/bitmap.h: Likewise.
47708 * include/grub/boot.h: Likewise.
47709 * include/grub/cache.h: Likewise.
47710 * include/grub/device.h: Likewise.
47711 * include/grub/disk.h: Likewise.
47712 * include/grub/dl.h: Likewise.
47713 * include/grub/elfload.h: Likewise.
47714 * include/grub/env.h: Likewise.
47715 * include/grub/err.h: Likewise.
47716 * include/grub/file.h: Likewise.
47717 * include/grub/font.h: Likewise.
47718 * include/grub/fs.h: Likewise.
47719 * include/grub/fshelp.h: Likewise.
47720 * include/grub/gzio.h: Likewise.
47721 * include/grub/hfs.h: Likewise.
47722 * include/grub/kernel.h: Likewise.
47723 * include/grub/loader.h: Likewise.
47724 * include/grub/lvm.h: Likewise.
47725 * include/grub/misc.h: Likewise.
47726 * include/grub/mm.h: Likewise.
47727 * include/grub/net.h: Likewise.
47728 * include/grub/normal.h: Likewise.
47729 * include/grub/parser.h: Likewise.
47730 * include/grub/partition.h: Likewise.
47731 * include/grub/pc_partition.h: Likewise.
47732 * include/grub/raid.h: Likewise.
47733 * include/grub/rescue.h: Likewise.
47734 * include/grub/script.h: Likewise.
47735 * include/grub/setjmp.h: Likewise.
47736 * include/grub/symbol.h: Likewise.
47737 * include/grub/term.h: Likewise.
47738 * include/grub/terminfo.h: Likewise.
47739 * include/grub/tparm.h: Likewise.
47740 * include/grub/types.h: Likewise.
47741 * include/grub/video.h: Likewise.
47742 * include/grub/efi/api.h: Likewise.
47743 * include/grub/efi/chainloader.h: Likewise.
47744 * include/grub/efi/console.h: Likewise.
47745 * include/grub/efi/console_control.h: Likewise.
47746 * include/grub/efi/disk.h: Likewise.
47747 * include/grub/efi/efi.h: Likewise.
47748 * include/grub/efi/pe32.h: Likewise.
47749 * include/grub/efi/time.h: Likewise.
47750 * include/grub/i386/linux.h: Likewise.
47751 * include/grub/i386/setjmp.h: Likewise.
47752 * include/grub/i386/types.h: Likewise.
47753 * include/grub/i386/efi/kernel.h: Likewise.
47754 * include/grub/i386/efi/loader.h: Likewise.
47755 * include/grub/i386/efi/time.h: Likewise.
47756 * include/grub/i386/pc/biosdisk.h: Likewise.
47757 * include/grub/i386/pc/boot.h: Likewise.
47758 * include/grub/i386/pc/chainloader.h: Likewise.
47759 * include/grub/i386/pc/console.h: Likewise.
47760 * include/grub/i386/pc/init.h: Likewise.
47761 * include/grub/i386/pc/kernel.h: Likewise.
47762 * include/grub/i386/pc/loader.h: Likewise.
47763 * include/grub/i386/pc/memory.h: Likewise.
47764 * include/grub/i386/pc/multiboot.h: Likewise.
47765 * include/grub/i386/pc/serial.h: Likewise.
47766 * include/grub/i386/pc/time.h: Likewise.
47767 * include/grub/i386/pc/vbe.h: Likewise.
47768 * include/grub/i386/pc/vbeblit.h: Likewise.
47769 * include/grub/i386/pc/vbefill.h: Likewise.
47770 * include/grub/i386/pc/vbeutil.h: Likewise.
47771 * include/grub/i386/pc/vga.h: Likewise.
47772 * include/grub/ieee1275/ieee1275.h: Likewise.
47773 * include/grub/ieee1275/ofdisk.h: Likewise.
47774 * include/grub/powerpc/libgcc.h: Likewise.
47775 * include/grub/powerpc/setjmp.h: Likewise.
47776 * include/grub/powerpc/types.h: Likewise.
47777 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47778 * include/grub/powerpc/ieee1275/console.h: Likewise.
47779 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47780 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47781 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47782 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47783 * include/grub/powerpc/ieee1275/time.h: Likewise.
47784 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47785 * include/grub/sparc64/libgcc.h: Likewise.
47786 * include/grub/sparc64/setjmp.h: Likewise.
47787 * include/grub/sparc64/types.h: Likewise.
47788 * include/grub/sparc64/ieee1275/console.h: Likewise.
47789 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47790 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47791 * include/grub/sparc64/ieee1275/time.h: Likewise.
47792 * include/grub/util/biosdisk.h: Likewise.
47793 * include/grub/util/getroot.h: Likewise.
47794 * include/grub/util/lvm.h: Likewise.
47795 * include/grub/util/misc.h: Likewise.
47796 * include/grub/util/raid.h: Likewise.
47797 * include/grub/util/resolve.h: Likewise.
47798 * io/gzio.c: Likewise.
47799 * kern/device.c: Likewise.
47800 * kern/disk.c: Likewise.
47801 * kern/dl.c: Likewise.
47802 * kern/elf.c: Likewise.
47803 * kern/env.c: Likewise.
47804 * kern/err.c: Likewise.
47805 * kern/file.c: Likewise.
47806 * kern/fs.c: Likewise.
47807 * kern/loader.c: Likewise.
47808 * kern/main.c: Likewise.
47809 * kern/misc.c: Likewise.
47810 * kern/mm.c: Likewise.
47811 * kern/parser.c: Likewise.
47812 * kern/partition.c: Likewise.
47813 * kern/rescue.c: Likewise.
47814 * kern/term.c: Likewise.
47815 * kern/efi/efi.c: Likewise.
47816 * kern/efi/init.c: Likewise.
47817 * kern/efi/mm.c: Likewise.
47818 * kern/i386/dl.c: Likewise.
47819 * kern/i386/efi/init.c: Likewise.
47820 * kern/i386/efi/startup.S: Likewise.
47821 * kern/i386/pc/init.c: Likewise.
47822 * kern/i386/pc/lzo1x.S: Likewise.
47823 * kern/i386/pc/startup.S: Likewise.
47824 * kern/ieee1275/ieee1275.c: Likewise.
47825 * kern/powerpc/cache.S: Likewise.
47826 * kern/powerpc/dl.c: Likewise.
47827 * kern/powerpc/ieee1275/cmain.c: Likewise.
47828 * kern/powerpc/ieee1275/crt0.S: Likewise.
47829 * kern/powerpc/ieee1275/init.c: Likewise.
47830 * kern/powerpc/ieee1275/openfw.c: Likewise.
47831 * kern/sparc64/cache.S: Likewise.
47832 * kern/sparc64/dl.c: Likewise.
47833 * kern/sparc64/ieee1275/init.c: Likewise.
47834 * kern/sparc64/ieee1275/openfw.c: Likewise.
47835 * loader/efi/chainloader.c: Likewise.
47836 * loader/efi/chainloader_normal.c: Likewise.
47837 * loader/i386/efi/linux.c: Likewise.
47838 * loader/i386/efi/linux_normal.c: Likewise.
47839 * loader/i386/pc/chainloader.c: Likewise.
47840 * loader/i386/pc/chainloader_normal.c: Likewise.
47841 * loader/i386/pc/linux.c: Likewise.
47842 * loader/i386/pc/linux_normal.c: Likewise.
47843 * loader/i386/pc/multiboot.c: Likewise.
47844 * loader/i386/pc/multiboot_normal.c: Likewise.
47845 * loader/powerpc/ieee1275/linux.c: Likewise.
47846 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47847 * normal/arg.c: Likewise.
47848 * normal/cmdline.c: Likewise.
47849 * normal/command.c: Likewise.
47850 * normal/completion.c: Likewise.
47851 * normal/execute.c: Likewise.
47852 * normal/function.c: Likewise.
47853 * normal/lexer.c: Likewise.
47854 * normal/main.c: Likewise.
47855 * normal/menu.c: Likewise.
47856 * normal/menu_entry.c: Likewise.
47857 * normal/misc.c: Likewise.
47858 * normal/parser.y: Likewise.
47859 * normal/script.c: Likewise.
47860 * normal/i386/setjmp.S: Likewise.
47861 * normal/powerpc/setjmp.S: Likewise.
47862 * normal/sparc64/setjmp.S: Likewise.
47863 * partmap/acorn.c: Likewise.
47864 * partmap/amiga.c: Likewise.
47865 * partmap/apple.c: Likewise.
47866 * partmap/gpt.c: Likewise.
47867 * partmap/pc.c: Likewise.
47868 * partmap/sun.c: Likewise.
47869 * term/gfxterm.c: Likewise.
47870 * term/terminfo.c: Likewise.
47871 * term/efi/console.c: Likewise.
47872 * term/i386/pc/console.c: Likewise.
47873 * term/i386/pc/serial.c: Likewise.
47874 * term/i386/pc/vesafb.c: Likewise.
47875 * term/i386/pc/vga.c: Likewise.
47876 * term/ieee1275/ofconsole.c: Likewise.
47877 * util/biosdisk.c: Likewise.
47878 * util/console.c: Likewise.
47879 * util/genmoddep.c: Likewise.
47880 * util/getroot.c: Likewise.
47881 * util/grub-emu.c: Likewise.
47882 * util/grub-mkdevicemap.c: Likewise.
47883 * util/grub-probe.c: Likewise.
47884 * util/lvm.c: Likewise.
47885 * util/misc.c: Likewise.
47886 * util/raid.c: Likewise.
47887 * util/resolve.c: Likewise.
47888 * util/update-grub.in: Likewise.
47889 * util/update-grub_lib.in: Likewise.
47890 * util/grub.d/00_header.in: Likewise.
47891 * util/grub.d/10_hurd.in: Likewise.
47892 * util/grub.d/10_linux.in: Likewise.
47893 * util/i386/efi/grub-install.in: Likewise.
47894 * util/i386/efi/grub-mkimage.c: Likewise.
47895 * util/i386/pc/grub-install.in: Likewise.
47896 * util/i386/pc/grub-mkimage.c: Likewise.
47897 * util/i386/pc/grub-mkrescue.in: Likewise.
47898 * util/i386/pc/grub-setup.c: Likewise.
47899 * util/i386/pc/misc.c: Likewise.
47900 * util/powerpc/ieee1275/grub-install.in: Likewise.
47901 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47902 * util/powerpc/ieee1275/misc.c: Likewise.
47903 * video/bitmap.c: Likewise.
47904 * video/video.c: Likewise.
47905 * video/i386/pc/vbe.c: Likewise.
47906 * video/i386/pc/vbeblit.c: Likewise.
47907 * video/i386/pc/vbefill.c: Likewise.
47908 * video/i386/pc/vbeutil.c: Likewise.
47909 * video/readers/tga.c: Likewise.
47910
3572d015 479112007-07-02 Robert Millan <rmh@aybabtu.com>
47912
47913 * conf/i386-efi.rmk: Replace obsolete reference to
47914 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47915 with util/getroot.c.
47916 * conf/powerpc-ieee1275.rmk: Likewise.
47917 * conf/sparc64-ieee1275.rmk: Likewise.
47918
47919 * util/grub-emu.c (main): Fix unchecked pointer handling.
47920
2c2a681b 479212007-07-02 Robert Millan <rmh@aybabtu.com>
47922
47923 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47924 invocation to fail, in order to support partition-less media.
47925
47926 * util/i386/pc/grub-install.in: Likewise.
47927
47928 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47929 which fs or partmap modules are needed (akin to its sister scripts).
47930
47931 Also use grub-probe to get rid of unportable /proc/mounts check.
47932
47933 Print the same informational message that the other scripts do, before
fe6b695a 47934 exiting.
2c2a681b 47935
6193defe 479362007-06-23 Robert Millan <rmh@aybabtu.com>
47937
fe6b695a 47938 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47939 a font file can be found and, if so, echo the GRUB path to it.
47940
47941 * util/update-grub.in: Handle multiple terminals depending on user
47942 input, platform availability and font file presence. Propagate
47943 variables of our findings to /etc/grub.d/ children.
47944
47945 * util/grub.d/00_header.in: Handle multiple terminals, based on
47946 environment setup by update-grub.
47947
eface1dc 479482007-06-23 Robert Millan <rmh@aybabtu.com>
47949
ba50d28f 47950 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47951
bf697e28 479522007-06-21 Robert Millan <rmh@aybabtu.com>
47953
47954 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47955 indicate end of data section in kernel image.
47956 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47957 GRUB_KERNEL_MACHINE_DATA_END.
47958
47959 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47960 space for it.
47961 * kern/i386/efi/startup.S: Likewise.
47962
47963 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47964 during image generation. Implement --prefix option to override this
47965 patch.
47966 * util/i386/efi/grub-mkimage.c: Likewise.
47967
47968 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47969 code to make path relative to its root into a separate function.
47970
47971 * util/i386/pc/grub-install.in: Use newly provided
47972 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47973 pass the result to grub-install --prefix.
47974
baa574b4 479752007-06-13 Robert Millan <rmh@aybabtu.com>
47976
47977 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47978 DEFAULT_DEVICE_MAP.
47979 * util/grub-emu.c: Use above definitions from misc.h instead of
47980 defining them.
47981 * util/grub-mkdevicemap.c: Likewise.
47982 * util/i386/pc/grub-setup.c: Likewise.
47983 * util/grub-probe.c: Likewise.
47984 (probe): Abort with grub_util_error() when either
47985 grub_guess_root_device or grub_util_get_grub_dev fails.
47986
0215dcbf 479872007-06-12 Robert Millan <rmh@aybabtu.com>
47988
47989 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47990 "pager" assignment.
47991 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47992 "pcdata".
47993 * util/grub-probe.c (probe): Likewise for "drive_name".
47994
8af2ab7b 479952007-06-11 Robert Millan <rmh@aybabtu.com>
47996
47997 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47998 not just the cdrom one.
47999
59d31694 480002007-06-11 Robert Millan <rmh@aybabtu.com>
48001
48002 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48003 Add --pkglibdir=DIR option to override pkglibdir.
48004 Mention --image-type=TYPE in help output.
48005 Fix --grub-mkimage (it was a no-op).
fe6b695a 48006 Abort gracefully when no parameter is given.
59d31694 48007
7ee367e4 480082007-06-11 Robert Millan <rmh@aybabtu.com>
48009
48010 * util/i386/pc/grub-mkrescue.in: New file.
48011 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48012 * Makefile.in: Handle bin_SCRIPTS.
48013
29b0ed46 480142007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48015
48016 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48017 list of video modes.
48018
c0f90770 480192007-06-06 Robert Millan <rmh@aybabtu.com>
48020
48021 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48022 file doesn't exist, or if it is in a filesystem grub can't read.
48023
48024 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48025 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48026 header comment to fit in 80 columns when the variables are resolved.
48027
48028 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48029 could be identified by update-grub. Remove redundant check for
fe6b695a 48030 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 48031 handles that).
48032
fb36dc26 480332007-06-04 Robert Millan <rmh@aybabtu.com>
48034
48035 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48036
48037 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48038
48039 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48040
0c68c93e 480412007-06-04 Robert Millan <rmh@aybabtu.com>
48042
48043 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48044
48045 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48046 grub_apple_partition_map_fini.
48047
48048 * util/biosdisk.c
48049 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48050 to access >2 TiB disks).
48051
48052 Print disk->total_sectors with %llu instead of %lu, since this
48053 variable is always 64-bit (prevents wrong disk size from being displayed
48054 on either >2 TiB disk or big-endian CPU).
48055
48056 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48057 into a generic case that supports all (sane) partition maps.
48058
48059 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48060 breaks big-endian.
48061
48062 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48063 and grub_apple_partition_map_fini() after that.
48064
0f23eb74 480652007-06-01 Robert Millan <rmh@aybabtu.com>
48066
48067 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48068
48069 * util/grub.d/00_header.in: Only enable gfxterm when
48070 convert_system_path_to_grub_path() succeeds.
48071
42c71976 480722007-05-20 Robert Millan <rmh@aybabtu.com>
48073
48074 * util/update-grub_lib.in: New file.
48075 * DISTLIST: Add update-grub_lib.in.
48076 * conf/common.rmk: Generate update-grub_lib and install it in
48077 $(lib_DATA).
48078 * Makefile.in: Add install routine for $(lib_DATA).
48079
48080 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48081 function provided by update-grub_lib to support arbitrary paths of
48082 unifont.pff.
48083 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48084 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48085
5beb2291 480862007-05-19 Robert Millan <rmh@aybabtu.com>
48087
48088 * commands/i386/cpuid.c: New module.
48089 * DISTLIST: Add it.
48090 * conf/i386-efi.rmk: Enable cpuid.mod.
48091 * conf/i386-pc.rmk: Likewise.
48092
7262eca1 480932007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48094
48095 * kern/disk.c (grub_disk_read): Check return value of
48096 grub_realloc().
48097
260ba823 480982007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48099
48100 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48101 arrays.
48102 * disk/raid.c (grub_raid_open): Likewise.
48103
1ecb6cf2 481042007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48105
48106 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48107 stack instead of on the heap.
48108
48109 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48110 before doing a read on it.
48111
48112 * configure.ac: Only use -fno-stack-protector for the target
48113 environment.
f19dbdb7 48114
21c8cbb1 481152007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48116
48117 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48118 __attribute_ ((unused)) to mode_type argument.
48119
48120 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 48121
21c8cbb1 48122 * kern/misc.c (memcmp): Fix prototype.
48123
48124 * include/grub/partition.h [GRUB_UTIL]
48125 (grub_gpt_partition_map_init): Add prototype.
48126 (grub_gpt_partition_map_fini): Likewise.
48127
48128 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48129 at the right place.
48130
48131 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48132 (grub_fat_read_data): Likewise.
48133 (grub_fat_find_dir): Likewise.
48134
48135 * font/manager.c (find_glyph): Make table a const.
48136 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 48137
849d55d3 481382007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48139
48140 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48141 code, first search for device in /dev/mapper, then in /dev.
48142 (grub_util_get_grub_dev): New function.
48143 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48144 prototype.
48145 * util/grub-probe.c (probe): Remove check for RAID, call
48146 grub_util_get_grub_dev() instead of
48147 grub_util_biosdisk_get_grub_dev().
48148 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48149 grub_util_biosdisk_get_grub_dev().
48150 * util/i386/pc/grub-setup.c (main): Likewise.
48151
8fff7c2f 481522007-05-16 Robert Millan <rmh@aybabtu.com>
48153
48154 * DISTLIST: Update for the latest changes.
48155 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48156 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48157 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48158 grub/util/biosdisk.h.
48159 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48160 grub/util/biosdisk.h.
48161
48e12b52 481622007-05-16 Robert Millan <rmh@aybabtu.com>
48163
48164 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48165
46b9d128 481662007-05-16 Robert Millan <rmh@aybabtu.com>
48167
48168 * util/i386/efi/grub-install.in: New.
48169 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48170 newly added grub-install.
48171 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48172 include.
48173 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48174 grub/util/biosdisk.h.
48175 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48176 grub/util/biosdisk.h.
48177
2d1a40a9 481782007-05-16 Robert Millan <rmh@aybabtu.com>
48179
48180 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48181 * include/grub/util/biosdisk.h: ... here.
48182 * util/i386/pc/biosdisk.c: Moved to ...
48183 * util/biosdisk.c: ... here.
48184 * util/i386/pc/getroot.c: Moved to ...
48185 * util/getroot.c: ... here.
48186 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48187 * util/grub-mkdevicemap.c: ... here.
48188 * util/i386/pc/grub-probe.c: Moved to ...
48189 * util/grub-probe.c: ... here.
48190
9e26e3bc 481912007-05-15 Robert Millan <rmh@aybabtu.com>
48192
48193 * util/update-grub.in: Remove duplicated line in grub.cfg header
48194 message.
48195
57f96397 481962007-05-13 Robert Millan <rmh@aybabtu.com>
48197
48198 * util/update-grub.in: Fix a few assumptions about the devices holding
48199 /, /boot and /boot/grub being the same.
48200 * util/grub.d/00_header.in: Likewise.
48201 * util/grub.d/10_hurd.in: Likewise.
48202 * util/grub.d/10_linux.in: Likewise.
48203
48204 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48205 patterns. Use that to define the `.old' suffix as older than `'.
48206
48207 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48208
48209 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48210 the grub.cfg header message.
48211
2e610d62 482122007-05-11 Robert Millan <rmh@aybabtu.com>
48213
48214 * util/update-grub.in: Create device.map if it doesn't already exist,
48215 before attempting to run grub-probe.
48216 Check for grub-probe and grub-mkdevicemap with the same code
48217 grub-install is using.
48218 Remove test mode.
48219
3f6a10ef 482202007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48221
48222 * Makefile.in: Add the datarootdir autoconf variable.
48223
02e7b75e 482242007-05-09 Robert Millan <rmh@aybabtu.com>
48225
48226 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 48227 fail gracefully if dev->disk->partition == NULL.
02e7b75e 48228
75f396cc 482292007-05-07 Robert Millan <rmh@aybabtu.com>
48230
48231 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48232 determine partition map module.
48233 * util/i386/pc/grub-install.in: Use this feature to decide which
48234 partition module to load, instead of hardcoding pc and gpt.
48235
da65cb36 482362007-05-07 Robert Millan <rmh@aybabtu.com>
48237
48238 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48239 source directory differs from build directory.
48240
b57d6a91 482412007-05-05 Robert Millan <rmh@aybabtu.com>
48242
48243 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48244 initialisation.
48245
509d00f1 482462007-05-05 Robert Millan <rmh@aybabtu.com>
48247
48248 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48249
c48f23ef 482502007-05-05 Robert Millan <rmh@aybabtu.com>
48251
48252 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48253 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48254
20b97658 482552007-05-05 Robert Millan <rmh@aybabtu.com>
48256
48257 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48258 (grub_probe_SOURCES): Likewise.
48259 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48260 GPT and initialize dos_part and bsd_part accordingly.
48261 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48262 install_bsd_part.
48263 (main): Activate gpt module for use during partition identification,
48264 and deactivate it afterwards.
48265 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48266 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48267 partition identification, and deactivate it afterwards.
48268
99123174 482692007-05-05 Robert Millan <rmh@aybabtu.com>
48270
48271 * term/i386/pc/console.c (grub_console_fini): Call
48272 grub_term_set_current() before grub_term_unregister().
48273
ebd97f6e 482742007-05-04 Robert Millan <rmh@aybabtu.com>
48275
48276 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48277 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48278 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48279 and update-grub_DATA.
48280 * conf/common.rmk: Build and install update-grub components.
48281 * conf/common.mk: Regenerate.
48282 * util/update-grub.in: New. Core of update-grub.
48283 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48284 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48285 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48286 * util/grub.d/README: New. Document grub.d directory layout.
48287
b06a264d 482882007-05-01 Robert Millan <rmh@aybabtu.com>
48289
48290 * util/grub-emu.c: Move initialization functions
48291 grub_util_biosdisk_init() and grub_init_all() before
48292 grub_util_biosdisk_get_grub_dev(), which relies on them.
48293
41f0050e 482942007-04-19 Robert Millan <rmh@aybabtu.com>
48295
48296 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48297 it is used later.
48298
04582bb3 482992007-04-18 Jerone Young <jerone@gmail.com>
48300
f19dbdb7 48301 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 48302 stanza.
48303
08db4632 483042007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 48305
08db4632 48306 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48307 continue on and look for device node with real device name.
48308
801b76be 483092007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 48310
fe6b695a 48311 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 48312 ability.
48313 * Makefile.in: Add autoconf package transformation code.
48314 * util/i386/pc/grub-install.in: Likewise.
48315 * util/powerpc/ieee1275/grub-install.in: Likewise.
48316
6795c4e1 483172007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48318
48319 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48320 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48321 (EXT2_REVISION): Likewise.
48322 (EXT2_INODE_SIZE): Likewise.
48323 (struct grub_ext2_block_group): Added a missing member
48324 "used_dirs".
48325 (grub_ext2_read_inode): Divide by the inode size in a superblock
48326 instead of 128 to obtain INODES_PER_BLOCK.
48327 Use the macro EXT2_INODE_SIZE instead of directly using
48328 SBLOCK->INODE_SIZE.
48329
d70af616 483302007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48331
48332 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48333 superblock instead of the structure size to compute an
48334 offset. This fixes the problem that GRUB could not read a
48335 filesystem when inode size is different from 128-byte.
48336
3b801603 483372007-03-05 Marco Gerards <marco@gnu.org>
48338
48339 * normal/main.c (read_config_file): When "menu" is not set, create
48340 an initial context.
48341
4785bfe4 483422007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48343
48344 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48345 (HEAP_LIMIT): New macro.
48346 (grub_claim_heap): Claim memory up to `heaplimit'.
48347
a0cbb023 483482007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48349
48350 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48351 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48352 (_start): Likewise.
48353 (grub_arch_modules_addr): Return address after `_end'.
48354 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48355 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48356 (add_segments): Calculate `_end' from phdr size and location.
48357 (ALIGN_UP): Moved to ...
48358 * include/grub/misc.h: here.
48359 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48360 New macro.
48361 (GRUB_IEEE1275_MODULE_BASE): Removed.
48362
fd7d8eba 483632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48364
48365 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48366 loop boundary.
48367
9b09e6fc 483682007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48369
48370 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48371 All users updated.
48372 (grub_elf64_load_hook_t): Likewise.
48373 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48374 debug output.
48375
3ce27299 483762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48377
48378 * kern/mm.c: Update copyright.
48379 (grub_mm_debug): Correct syntax error.
48380 (grub_mm_dump_free): New function.
48381 (grub_debug_free): Call `grub_free'.
48382 * include/grub/mm.h: Update copyright.
48383 (grub_mm_dump_free): Add declaration.
48384
077d5fee 483852007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48386
48387 * include/grub/ieee1275/ieee1275.h: Update copyright.
48388 * kern/powerpc/ieee1275/init.c: Likewise.
48389 * kern/powerpc/ieee1275/openfw.c: Likewise.
48390
48391 * loader/powerpc/ieee1275/linux.c: Likewise.
48392 * include/grub/elfload.h: Likewise.
48393 * kern/elf.c: Likewise.
48394 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48395 callers.
48396 (grub_elf64_load): Likewise.
48397 (grub_elf32_load_segment): Move to a nested function.
48398 (grub_elf64_load_segment): Likewise.
48399
dc946850 484002007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48401
48402 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48403 prototype.
48404 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48405 (grub_heap_len): Likewise.
48406 (HEAP_SIZE): New macro.
48407 (grub_claim_heap): New function.
48408 (grub_machine_init): Don't claim heap directly. Call
48409 `grub_claim_heap'.
48410 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48411 (grub_available_iterate): New function.
48412
baa2a121 484132007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48414
48415 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48416 * configure.ac: Use it for testing the HOST and TARGET compilers.
48417
4fe9862e 484182006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48419
48420 * Makefile.in (enable_grub_emu): New variable.
48421 * configure.ac (--enable-grub-emu): New option.
48422 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48423 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48424 * conf/i386-pc.rmk: Likewise.
48425 * conf/powerpc-ieee1275.rmk: Likewise.
48426 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48427
a8aa5762 484282006-12-12 Marco Gerards <marco@gnu.org>
48429
48430 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48431
48432 * kern/env.c (grub_env_unset): Don't free the member `value' when
48433 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48434 pointer.
48435
48436 * normal/main.c (current_menu): Removed.
48437 (free_menu): Unset the `menu' environment variable.
48438 (grub_normal_menu_addentry): Make use of the environment variable
48439 `menu', instead of using the global `current_menu'. Allocate
48440 memory for the sourcecode of this entry.
48441 (read_config_file): New argument `nested', changed all callers.
48442 Only in the case of a new context, initialize a new menu. Set the
48443 `menu' environment variable.
48444 (grub_normal_execute): Don't set and unset the environment
48445 variable `menu' here anymore. Only free the menu when leaving the
48446 context.
48447
48448 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48449 leak.
48450
957b3a3e 484512006-12-11 Marco Gerards <marco@gnu.org>
48452
48453 * normal/menu_entry.c (run): Fix off by one bug so the last line
48454 is executed. Move the loader check to outside the loop.
48455
ef875714 484562006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48457
48458 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48459
4e739985 484602006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48461
48462 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48463 the number of sectors. Reported by Andrey Shuvikov
48464 <mr_hyro@yahoo.com>.
f19dbdb7 48465
790707f2 484662006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48467
48468 * kern/disk.c (grub_disk_read): When there is a read error, always
48469 try to read only the necessary data.
f19dbdb7 48470
790707f2 48471 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48472 disk/raid.c.
48473 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48474 prototype.
48475 [GRUB_UTIL] (grub_raid_fini): Likewise.
48476 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 48477 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 48478 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48479 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48480 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48481 and grub_raid_fini().
f19dbdb7 48482
03e58196 484832006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48484
48485 * include/grub/types.h (__unused): Rename to UNUSED.
48486 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48487 (grub_elf64_size): Likewise.
f19dbdb7 48488
ae4f23bf 484892006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48490
48491 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48492 grub_error_push and grub_error_pop in the error-handling path.
48493 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48494 length.
48495
2166cc83 484962006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48497
48498 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48499 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48501 (kernel_elf_SOURCES): Likewise.
48502 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48503 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48504 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48505 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48506 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48507 (elf_mod_SOURCES): New variable.
48508 (elf_mod_CFLAGS): Likewise.
48509 (elf_mod_LDFLAGS): Likewise.
48510 * include/grub/types.h (__unused): New macro.
48511 * include/grub/elfload.h: New file.
48512 * kern/elf.c: Likewise.
48513 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48514 (ELF32_LOADMASK): New macro.
48515 (ELF64_LOADMASK): Likewise.
48516 (vmlinux): Removed.
48517 (grub_linux_load32): New function.
48518 (grub_linux_load64): Likewise.
48519 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48520 Use grub_elf_t instead of grub_file_t.
48521
a09d5aa5 485222006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48523
48524 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48525 `catch_result' to struct set_color_args.
48526
d976fc51 485272006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48528
48529 * normal/menu.c: Include grub/script.h.
48530 * normal/menu_entry.c: Likewise.
48531 * include/grub/normal.h: Do not include grub/script.h.
48532
67507549 485332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48534
48535 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48536
69203a99 485372006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48538
48539 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48540 disk.
48541 (grub_disk_close): Print debug messages when closing a disk.
48542 (grub_disk_read): Print debug messages when disk read fails.
48543 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48544 filesystem type.
48545 * kern/partition.c: Include misc.h.
48546 (grub_partition_iterate): Print debug messages when detecting
48547 partition type.
48548
e2b8278c 485492006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48550
48551 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48552 is negative.
48553 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48554
97b2f2ff 485552006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48556
48557 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48558 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48559
6555d655 485602006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48561
48562 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48563 instead of sizeof(lv). Patch by Michael Guntsche.
48564
4d42b77f 485652006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48566
48567 * disk/lvm.c: Rename VGS to VG_LIST.
48568 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48569 (grub_lvm_open): Likewise.
48570 Thanks to Michael Guntsche for finding this bug.
48571
5d74d927 485722006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48573
48574 * configure.ac (AC_INIT): Bumped to 1.95.
48575
a1bb27e4 485762006-10-14 Robert Millan <rmh@aybabtu.com>
48577
48578 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48579 with "/dev/.static/dev/md".
48580
e0994b8b 485812006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48582
48583 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48584 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48585 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48586 DRIVE_NAME are always freed.
48587
48588 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48589 DOS_PART, as a DOS partition is counted from one instead of zero
48590 now. Reported by Robert Millan.
48591
ddd5cee9 485922006-10-14 Robert Millan <rmh@aybabtu.com>
48593
48594 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48595 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48596 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48597 string returned by grub_guess_root_device.
48598 * util/i386/pc/grub-setup.c: Likewise.
48599 * util/i386/pc/grub-probefs.c: Likewise.
48600
48601 * util/i386/pc/grub-probefs.c: Rename to ...
48602 * util/i386/pc/grub-probe.c: ... this.
48603 * DISTLIST: Remove grub-probefs, add grub-probe.
48604 * conf/i386-efi.rmk: Likewise.
48605 * conf/i386-pc.rmk: Likewise.
48606 * util/i386/pc/grub-install.in: Likewise.
48607
48608 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48609 choose which information we want to print.
48610
2b002173 486112006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48612
48613 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48614 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48615 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48616 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48617 video/readers/tga.c and video/i386/pc/vbeutil.c.
48618
486192006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48620
48621 Added support for RAID and LVM.
f19dbdb7 48622
2b002173 48623 * disk/lvm.c: New file.
48624 * disk/raid.c: Likewise.
48625 * include/grub/lvm.h: Likewise.
f19dbdb7 48626 * include/grub/raid.h: Likewise.
2b002173 48627 * include/grub/util/lvm.h: Likewise.
48628 * include/grub/util/raid.h: Likewise.
48629 * util/lvm.c: Likewise.
48630 * util/raid.c: Likewise.
48631
48632 * include/grub/disk.h (grub_disk_dev_id): Add
48633 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48634 (grub_disk_get_size): New prototype.
48635 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48636 returns a partition.
48637 (grub_disk_get_size): New function.
f19dbdb7 48638
2b002173 48639 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48640 verbatim if grub_install_dos_part is -2.
48641
48642 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48643 and LVM devices.
48644
48645 * util/i386/pc/grub-setup.c (setup): New argument
48646 MUST_EMBED. Force embedding of GRUB when the argument is
48647 true. Close FILE before returning.
48648 (main): Add support for RAID and LVM.
f19dbdb7 48649
2b002173 48650 * conf/common.rmk: Add RAID and LVM modules.
48651 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48652 util/lvm.c.
48653 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48654
48655 * kern/misc.c (grub_strstr): New function.
48656 * include/grub/misc.h (grub_strstr): New prototype.
48657
050548d0 486582006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48659
48660 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48661
da849d2d 486622006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48663
48664 * kern/misc.c (grub_strtoull): Guess the base only if not
48665 specified.
48666
97b2f2ff 486672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48668
48669 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48670 PowerMac support.
48671
97b2f2ff 486722006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48673
48674 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48675
48676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48677 Remove `flags' argument. All callers changed.
48678 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48679 (IEEE1275_IHANDLE_INVALID): New variable.
48680 (IEEE1275_CELL_INVALID): New variable.
48681 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48682 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48683 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48684 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48685 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48686 codes from Open Firmware. All callers updated.
48687 (grub_ieee1275_next_property): Directly return Open Firmware return
48688 code.
48689 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48690 Standardize error checking from `grub_ieee1275_get_property'.
48691 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48692 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48693
97b2f2ff 486942006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48695
48696 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48697 `instance_to_package_args' to `instance_to_path_args'.
48698
48699 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48700 `grub_ieee1275_chosen'.
48701
48702 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48703 `grub_ieee1275_interpret'.
48704
97b2f2ff 487052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48706
48707 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48708
97b2f2ff 487092006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48710
48711 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48712 (__cmpdi): Likewise.
48713
48714 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48715 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48716 `grub_ssize_t'.
48717
02bb8acc 48718 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48719
48720 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48721 to type `grub_ssize_t'.
48722 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48723
7f9a8531 487242006-09-22 Marco Gerards <marco@gnu.org>
48725
48726 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48727 newlines.
48728
b5ef1102 487292006-09-22 Marco Gerards <marco@gnu.org>
48730
48731 * commands/echo.c: New file.
48732
48733 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48734
48735 * conf/common.rmk (echo_mod_SOURCES): New variable.
48736 (echo_mod_CFLAGS): Likewise.
48737 (echo_mod_LDFLAGS): Likewise.
48738
2cff3677 487392006-09-22 Marco Gerards <marco@gnu.org>
48740
48741 * normal/main.c (get_line): Malloc memory instead of using
48742 preallocated memory. Removed the arguments `cmdline' and
48743 `max_len'. Updated all callers.
48744
6ba4688b 487452006-09-22 Marco Gerards <marco@gnu.org>
48746
48747 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48748 (normal_mod_DEPENDENCIES): Likewise.
48749
48750 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48751 (normal_mod_DEPENDENCIES): Likewise.
48752
48753 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48754
e02ac02c 487552006-09-22 Johan Rydberg <jrydberg@gnu.org>
48756
48757 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48758 programs.
48759 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48760 (normal_mod_DEPENDENCIES): Likewise.
48761 * conf/i386-pc.mk: Regenerate.
48762 * conf/i386-efi.mk: Likewise
48763 * conf/common.mk: Likewise.
48764 * conf/powerpc-ieee1275.mk: Likewise.
48765 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48766
8d252e44 487672006-09-22 Robert Millan <rmh@aybabtu.com>
48768
48769 Sync with i386 version.
48770 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48771 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48772
209bf7ac 487732006-09-21 Robert Millan <rmh@aybabtu.com>
48774
48775 Import from GRUB Legacy (lib/device.c):
48776 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48777 (init_device_map) [__linux__]: Add support for I2O devices.
48778
6b146090 487792006-09-14 Marco Gerards <marco@gnu.org>
48780
48781 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48782 `-melf_i386'.
48783
e38600a8 487842006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48785
48786 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48787 /boot/grub/*.lst.
78fa1790 48788
2952da5d 48789 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48790
2952da5d 48791 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48792 before adding it to device.map.
48793
01b82a64 487942006-08-15 Johan Rydberg <jrydberg@gnu.org>
48795
fe6b695a 48796 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48797 compiles a file; using the -MD option.
48798 * conf/common.mk: Regenerate.
48799 * conf/i386-pc.mk: Likewise.
48800 * conf/i386-efi.mk: Likewise.
48801 * conf/powerpc-ieee1275.mk: Likewise.
48802 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48803
1064790d 488042006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48805
48806 Move the prototypes of grub_setjmp and grub_longjmp to
48807 cpu/setjmp.h, so that each architecture may specify different
48808 attributes.
f19dbdb7 48809
1064790d 48810 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48811 (grub_longjmp): Likewise.
48812 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48813 (grub_longjmp): Likewise.
48814 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48815 (grub_longjmp): Likewise.
48816
48817 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48818 [!GRUB_UTIL] (grub_longjmp): Removed.
48819
29dda3ed 488202006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48821
48822 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48823 "color!" method does not return any value.
48824
ad2a06ed 488252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48826
48827 * include/grub/bitmap.h: New file.
48828
48829 * include/grub/i386/pc/vbeutil.h: Likewise.
48830
48831 * video/bitmap.c: Likewise.
48832
48833 * video/readers/tga.c: Likewise.
48834
48835 * video/i386/pc/vbeutil.c: Likewise.
48836
48837 * commands/videotest.c: Code cleanup and updated to reflect to new
48838 video API.
48839
48840 * term/gfxterm.c: Likewise.
48841
48842 * video/video.c: Likewise.
48843
48844 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48845 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48846 (bitmap_mod_SOURCES): New entry.
48847 (bitmap_mod_CFLAGS): Likewise.
48848 (bitmap_mod_LDFLAGS): Likewise.
48849 (tga_mod_SOURCES): Likewise.
48850 (tga_mod_CFLAGS): Likewise.
48851 (tga_mod_LDFLAGS): Likewise.
48852
48853 * include/grub/video.h (grub_video_blit_operators): New enum type.
48854 (grub_video_render_target): Changed as forward declaration and moved
48855 actual definition to be video driver specific.
48856 (grub_video_adapter.blit_bitmap): Added blitting operator.
48857 (grub_video_adapter.blit_render_target): Likewise.
48858 (grub_video_blit_bitmap): Likewise.
48859 (grub_video_blit_render_target): Likewise.
48860
48861 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48862 driver specific render target definition.
48863 (grub_video_vbe_map_rgba): Added driver internal helper.
48864 (grub_video_vbe_unmap_color): Updated to use
48865 grub_video_i386_vbeblit_info.
48866 (grub_video_vbe_get_video_ptr): Likewise.
48867
48868 * include/grub/i386/pc/vbeblit.h
48869 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48870 grub_video_i386_vbeblit_info.
48871 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48872 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48873 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48874 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48875 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48876 (grub_video_i386_vbeblit_index_index): Likewise.
48877 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48878 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48879 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48880 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48881 operator.
48882 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48883 operator.
48884
48885 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48886 include/grub/i386/pc/vbeblit.h.
48887
48888 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48889 Updated to use grub_video_i386_vbeblit_info.
48890 (grub_video_i386_vbefill_R8G8B8): Likewise.
48891 (grub_video_i386_vbefill_index): Likewise.
48892 (grub_video_i386_vbefill): Added generic filler.
48893
48894 * video/i386/pc/vbefill.c: Updated to reflect changes on
48895 include/grub/i386/pc/vbefill.h.
48896
48897 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48898 grub_video_i386_vbeblit_info.
48899 (grub_video_vbe_unmap_color): Likewise.
48900 (grub_video_vbe_blit_glyph): Likewise.
48901 (grub_video_vbe_scroll): Likewise.
48902 (grub_video_vbe_draw_pixel): Removed function.
48903 (grub_video_vbe_get_pixel): Likewise.
48904 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48905 updated code to use it.
48906 (common_blitter): Added common blitter for render target and bitmap.
48907 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48908 (grub_video_vbe_blit_render_target): Likewise.
48909
bc8c036d 489102006-07-30 Johan Rydberg <jrydberg@gnu.org>
48911
48912 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48913 is in text mode if there is no console control protocol instance
48914 available.
48915
684a8eff 489162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48917
48918 * include/grub/video.h: Code cleanup.
48919
48920 * include/grub/i386/pc/vbe.h: Likewise.
48921
48922 * video/i386/pc/vbe.c: Likewise.
48923
48924 * video/i386/pc/vbeblit.c: Likewise.
48925
48926 * video/i386/pc/vbefill.c: Likewise.
48927
48928 * video/video.c: Likewise. Also added more comments.
48929
5915059b 489302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48931
48932 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48933 (struct grub_biosdisk_dap): Likewise.
48934
48935 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48936 linkage settings for all functions.
48937
90ce5d56 489382006-07-12 Marco Gerards <marco@gnu.org>
48939
48940 * configure.ac (--enable-mm-debug): Fix typo.
48941
48942 * genkernsyms.sh.in: Use proper quoting for `CC'.
48943
43e7f879 489442006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48945
48946 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48947 (normal_mod_ASFLAGS): Remove "-m32".
48948
4889bdec 489492006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48950
48951 * util/misc.c: Include config.h.
48952 [!HAVE_MEMALIGN]: Do not include malloc.h.
48953 (grub_memalign): Use posix_memalign, if present. Then, use
48954 memalign, if present. Otherwise, emit an error.
48955
48956 * util/grub-emu.c: Do not include malloc.h.
48957
48958 * include/grub/util/misc.h: Include unistd.h. This is required for
48959 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48960 D. Eades III <hde@foobar-qux.org>.
48961
48962 * configure.ac (AC_GNU_SOURCE): Added.
48963 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48964 type.
48965
fd39d4da 489662006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48967
48968 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48969 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48970
b786f3b5 489712006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48972
48973 * include/grub/types.h (grub_host_addr_t): Rename to
48974 grub_target_addr_t.
48975 (grub_host_off_t): Rename to grub_target_off_t.
48976 (grub_host_size_t): Rename to grub_target_size_t.
48977 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48978 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48979
48980 * include/grub/kernel.h (struct grub_module_header): Change type
48981 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48982 (grub_module_info): Likewise.
f19dbdb7 48983
051988bb 489842006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48985
48986 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48987 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48988 Velazquez <jesus.velazquez@gmail.com>.
48989
deae281b 489902006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48991
48992 Count partitions from 1 instead of 0 in the string representation
48993 of partitions. Still use 0-based internally.
f19dbdb7 48994
deae281b 48995 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48996 (sun_partition_map_iterate): Use grub_partition_t instead of
48997 struct grub_partition *. Cast DESC->START_CYLINDER to
48998 grub_uint64_t after converting the endian.
48999 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49000 (sun_partition_map_get_name): Add 1 to P->INDEX.
49001
49002 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49003 PCDATA->DOS_PART.
49004 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49005
49006 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49007 zero instead of one.
49008 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49009 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49010
49011 * partmap/apple.c (apple_partition_map_iterate): Change the type
49012 of POS to unsigned.
49013 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49014 (apple_partition_map_get_name): Add 1 into P->INDEX.
49015
49016 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49017 of POS to unsigned.
49018 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49019 calculate the offset of a partition.
49020 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49021 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49022
49023 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49024 SECTOR to grub_disk_addr_t.
49025 (acorn_partition_map_iterate): Likewise.
49026 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49027 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49028 top.
49029 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49030
49031 * kern/i386/pc/init.c (make_install_device): Add 1 into
49032 GRUB_INSTALL_DOS_PART.
49033
49034 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49035 conditional.
49036
524a1e6a 490372006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49038
49039 Clean up the code to support 64-bit addressing in disks and
49040 files. This change is not enough for filesystems yet.
f19dbdb7 49041
524a1e6a 49042 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49043 type of "start" to grub_uint64_t.
49044 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49045 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49046 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49047 convert addresses.
49048
49049 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49050 to grub_disk_addr_t.
49051
49052 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49053 string.
49054
49055 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49056
49057 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49058 to char *.
49059
49060 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49061
49062 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49063
49064 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49065
49066 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49067 to grub_off_t, to detect an error from grub_file_seek.
49068 (grub_multiboot_load_elf32): Likewise.
49069
49070 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49071 maximum unsigned long value when an overflow is detected.
49072 (grub_strtoull): New function.
49073 (grub_divmod64): Likewise.
49074 (grub_lltoa): use grub_divmod64.
49075
49076 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49077 grub_disk_addr_t.
49078 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49079 the pointer to next character. Use grub_strtoull instead of
49080 grub_strtoul.
49081 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49082 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49083 respectively.
49084
fe6b695a 49085 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 49086 return value is signed.
49087 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49088 test if OFFSET is less than zero, as OFFSET is unsigned now.
49089
49090 * kern/disk.c (struct grub_disk_cache): Change the type of
49091 "sector" to grub_disk_addr_t.
49092 (grub_disk_cache_get_index): Change the type of SECTOR to
49093 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49094 unsigned after shifting.
49095 (grub_disk_cache_invalidate): Change the type of SECTOR to
49096 grub_disk_addr_t.
49097 (grub_disk_cache_unlock): Likewise.
49098 (grub_disk_cache_store): Likewise.
49099 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49100 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49101 grub_disk_addr_t and grub_uint64_t, respectively.
49102 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49103 body, as the value of OFFSET is tweaked by
49104 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49105 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49106 respectively.
49107 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49108 body, as the value of OFFSET is tweaked by
49109 grub_disk_check_range. Change the types of LEN and N to
49110 grub_size_t.
49111
49112 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49113 and "saved_offset" to grub_off_t.
49114 (test_header): Cast BUF to char *.
49115 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49116 to char *.
49117 (grub_gzio_read): Change the types of OFFSET and SIZE to
49118 grub_off_t and grub_size_t, respectively.
49119
49120 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49121 Removed.
49122 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49123 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49124 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49125 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49126 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49127
49128 * include/grub/types.h (grub_off_t): Unconditionally set to
49129 grub_uint64_t.
49130 (grub_disk_addr_t): Changed to grub_uint64_t.
49131
49132 * include/grub/partition.h (struct grub_partition): Change the
49133 types of "start", "len" and "offset" to grub_disk_addr_t,
49134 grub_uint64_t and grub_disk_addr_t, respectively.
49135 (grub_partition_get_start): Return grub_disk_addr_t.
49136 (grub_partition_get_len): Return grub_uint64_t.
49137
49138 * include/grub/misc.h (grub_strtoull): New prototype.
49139 (grub_divmod64): Likewise.
49140
49141 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49142 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49143 grub_off_t, respectively.
49144 All callers and references changed.
49145
49146 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49147 grub_size_t in "read".
49148 All callers and references changed.
49149
49150 * include/grub/file.h (struct grub_file): Change the types of
49151 "offset" and "size" to grub_off_t and grub_off_t,
49152 respectively. Change the type of SECTOR to grub_disk_addr_t in
49153 "read_hook".
49154 (grub_file_read): Change the type of LEN to grub_size_t.
49155 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49156 grub_off_t.
49157 (grub_file_size): Return grub_off_t.
49158 (grub_file_tell): Likewise.
49159 All callers and references changed.
49160
49161 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49162 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49163 "write".
49164 (struct grub_disk): Change the type of "total_sectors" to
49165 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 49166 "read_hook".
524a1e6a 49167 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49168 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49169 (grub_disk_write): Likewise.
49170 All callers and references changed.
49171
49172 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49173 char * for grub_strncmp to silence gcc.
49174 (grub_iso9660_mount): Likewise.
49175 (grub_iso9660_mount): Likewise.
49176 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49177 return statement.
49178 (grub_iso9660_iterate_dir): Likewise.
49179 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49180
49181 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49182 LEN to grub_disk_addr_t and grub_size_t, respectively.
49183
49184 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49185
49186 * fs/jfs.c (grub_jfs_read_file): Likewise.
49187
49188 * fs/minix.c (grub_jfs_read_file): Likewise.
49189
49190 * fs/sfs.c (grub_jfs_read_file): Likewise.
49191
49192 * fs/ufs.c (grub_jfs_read_file): Likewise.
49193
49194 * fs/xfs.c (grub_jfs_read_file): Likewise.
49195
49196 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49197 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49198 respectively.
49199
49200 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49201 BLKNR to -1 instead of returning GRUB_ERRNO.
49202 (grub_ext2_read_file): Change the types of SECTOR and
49203 LEN to grub_disk_addr_t and grub_size_t, respectively.
49204
49205 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49206 LEN to grub_disk_addr_t and grub_size_t, respectively.
49207
49208 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49209 grub_file_read.
49210
49211 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49212 string. Do not cast SECTOR explicitly.
49213
49214 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49215 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49216 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49217 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49218 over 2TB and LBA mode is not supported, raise an error.
49219 (get_safe_sectors): New function.
49220 (grub_biosdisk_read): Use get_safe_sectors.
49221 (grub_biosdisk_write): Likewise.
49222
49223 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49224 (grub_efidisk_write): Likewise.
49225
49226 * disk/loopback.c (delete_loopback): Cosmetic changes.
49227 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49228 correctly.
49229 (grub_loopback_open): Likewise.
49230 (grub_loopback_read): Likewise. Also, change the type of POS to
49231 grub_off_t, and fix the usage of grub_memset.
49232
49233 * commands/i386/pc/play.c: Include grub/machine/time.h.
49234
49235 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49236 print FILE->SIZE.
49237
49238 * commands/configfile.c: Include grub/env.h.
49239
49240 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49241 GRUB_ERRNO directly instead. Change the type of POS to
49242 grub_off_t. Follow the coding standard.
49243
49244 * commands/blocklist.c: Include grub/partition.h.
49245 (grub_cmd_blocklist): Return an error if the underlying device is
49246 not a disk. Take the starting sector of a partition into account,
49247 if a partition is used.
49248
49249 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49250 a length field.
49251 (lba_mode): Support 64-bit addresses.
49252 (chs_mode): Likewise.
49253 (copy_buffer): Adapted to the new offsets of a length field and a
49254 segment field.
49255 (blocklist_default_start): Allocate 64-bit space.
49256
49257 * boot/i386/pc/boot.S (force_lba): Removed.
49258 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 49259 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 49260 space.
49261 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49262 is useless.
49263 (lba_mode): Refactored to support a 64-bit address. More size
49264 optimization.
49265 (setup_sectors): Likewise.
49266
53af98ad 492672006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49268
49269 * DISTLIST: Added include/grub/i386/linux.h. Removed
49270 include/grub/i386/pc/linux.h
49271
49272 * configure.ac (AC_INIT): Bumped to 1.94.
49273
49274 * config.guess: Updated from gnulib.
49275 * config.sub: Likewise.
49276 * install-sh: Likewise.
49277 * mkinstalldirs: Likewise.
49278
b4c1940a 492792006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49280
49281 * conf/common.rmk (grub_modules_init.lst): Depended on
49282 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49283 MODSRCFILES.
49284
49285 * genmk.rb (PModule::rule): Reverted the previous change.
49286
cfca1cfd 492872006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49288
49289 * conf/common.rmk (grub_modules_init.lst): Depends on
49290 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49291 that the target does not exist before producing.
49292 (grub_modules_init.h): Remove the target before generating.
49293 (grub_emu_init.c): Likewise.
49294
49295 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49296
aa6d7826 492972006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49298
49299 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49300 for the target-specific tests. Make sure that we also have the
49301 up-to-date target variables for those tests.
49302
26c607b9 493032006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49304
49305 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49306 (PModule::rule): Likewise.
49307
0162321a 493082006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49309
49310 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49311 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49312 target-specific flags should be prefixed.
49313 (PModule::rule): Likewise.
49314
6c826348 493152006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49316
49317 * configure.ac (CMP): Check if cmp is available explicitly.
49318
b977bf01 493192006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49320
49321 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49322 (target_cpu): New variable.
49323 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 49324
b977bf01 49325 * util/i386/pc/grub-install.in (host_cpu): Removed.
49326 (target_cpu): New variable.
49327 (pkglibdir): Use target_cpu instead of host_cpu.
49328
49329 * util/genmoddep.c: Removed.
f19dbdb7 49330
b977bf01 49331 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49332 instead of GRUB_HOST_SIZEOF_VOID_P.
49333 * kern/dl.c: Likewise.
49334
49335 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49336 ...
49337 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49338 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49339 (GRUB_TARGET_SIZEOF_LONG): ... this.
49340 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49341 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49342 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49343 to ...
49344 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49345 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49346 (GRUB_TARGET_SIZEOF_LONG): ... this.
49347 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49348 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49349 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49350 to ...
49351 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49352 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49353 (GRUB_TARGET_SIZEOF_LONG): ... this.
49354 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49355 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49356
49357 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49358 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49359 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49360 instead of GRUB_HOST_SIZEOF_LONG.
49361 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49362 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49363 GRUB_CPU_WORDS_BIGENDIAN.
49364 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49365 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49366 grub_host_ssize_t.
49367
49368 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49369 (genmoddep_SOURCES): Likewise.
49370 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49371 (genmoddep_SOURCES): Likewise.
49372 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49373 (genmoddep_SOURCES): Likewise.
49374 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49375 Likewise.
49376 (genmoddep_SOURCES): Likewise.
49377
49378 * genmoddep.awk: New file.
49379
49380 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49381 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49382 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49383 (PModule::rule): Likewise.
49384 (Program::rule): Likewise.
49385 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49386 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49387 respectively.
49388
49389 * configure.ac: Rewritten intensively to use host and target
49390 instead of build and host, respectively.
49391
49392 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49393 (host_cpu): Removed.
49394 (target_cpu): New variable.
49395 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49396 (BUILD_CC): Removed.
49397 (BUILD_CFLAGS): Likewise.
49398 (BUILD_CPPFLAGS): Likewise.
49399 (TARGET_CC): New variable.
49400 (TARGET_CFLAGS): Likewise.
49401 (TARGET_CPPFLAGS): Likewise.
49402 (TARGET_LDFLAGS): Likewise.
49403 (AWK): Likewise.
49404 (include): Use target_cpu instead of host_cpu.
49405 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 49406
b977bf01 49407 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49408
f09771a1 494092006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49410
49411 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49412 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49413 field 'false' to 'exec_on_false'.
49414 (grub_script_create_cmdif): Renamed argument names to reflect above
49415 changes.
49416
49417 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49418
49419 * normal/script.c (grub_script_create_cmdif): Likewise.
49420
118f4fb3 494212006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49422
49423 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49424 top.
49425 (grub_hfsplus_btree_recptr): Likewise.
49426 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49427 FILEBLOCK both to pass a block number and store next block
49428 number.
49429 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49430 overflow file correctly. Specify errors appropriately, because
49431 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49432 grub_hfsplus_btree_recptr to get the pointer to a found key.
49433 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49434 is found.
49435
49436 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49437 linux.mod.
49438 (_linux_mod_SOURCES): New variable.
49439 (_linux_mod_CFLAGS): Likewise.
49440 (_linux_mod_LDFLAGS): Likewise.
49441 (linux_mod_SOURCES): Likewise.
49442 (linux_mod_CFLAGS): Likewise.
49443 (linux_mod_LDFLAGS): Likewise.
49444
49445 * DISTLIST: Added loader/i386/efi/linux.c,
49446 loader/i386/efi/linux_normal.c and
49447 include/grub/i386/efi/loader.h.
49448
49449 * loader/i386/efi/linux.c: New file.
49450 * loader/i386/efi/linux_normal.c: Likewise.
49451 * include/grub/i386/efi/loader.h: Likewise.
49452
89a7d726 494532006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49454
49455 * commands/blocklist.c: New file.
49456
49457 * DISTLIST: Added commands/blocklist.c.
49458
49459 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 49460 color for the background, and a darker color for the foreground.
89a7d726 49461 (grub_console_checkkey): Return READ_KEY.
49462 (grub_console_cls): Set the background to
49463 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49464
49465 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49466
49467 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49468 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49469
49470 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49471 prototype.
49472
49473 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49474 BG. The spec is wrong again.
49475
49476 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49477 prototype.
49478 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49479
49480 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49481 commands/blocklist.c.
49482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 49483
89a7d726 49484 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49485 (blocklist_mod_SOURCES): New variable.
49486 (blocklist_mod_CFLAGS): Likewise.
49487 (blocklist_mod_LDFLAGS): Likewise.
49488
75c8f258 494892006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49490
49491 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49492 duplication.
49493 (lba_mode): Use %eax more intensively to reduce the code size.
49494
da2eb181 494952006-05-20 Marco Gerards <marco@gnu.org>
49496
49497 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49498
49499 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49500 for `menuentry'.
49501 (script): Accept leading newlines.
49502 (newlines): New rule to describe 0 or more newlines.
49503 (commands): Accept `command' with trailing newline. Fixed the
49504 order in which arguments were passed to `grub_script_add_cmd'.
49505 Accept commands separated by newlines.
49506 (function): Changed to accept newlines.
49507 (menuentry) Rewritten.
49508
49509 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49510 front of the list, instead of to the end.
49511
577b4050 495122006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49513
49514 * util/i386/pc/grub-install.in (bindir): New variable.
49515 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49516 Shaver <lbgwjl@gmail.com>.
49517
0d6e1189 495182006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49519
49520 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49521 grub/machine/linux.h
49522 * loader/i386/pc/linux.c: Likewise.
49523
49524 * include/grub/i386/pc/linux.h: Moved to ...
49525 * include/grub/i386/linux.h: ... here.
49526
49527 * include/grub/i386/linux.h (struct linux_kernel_params): New
49528 struct.
f19dbdb7 49529
31b86e9f 495302006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49531
49532 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49533 checking.
49534 (grub_video_vbe_blit_glyph): Likewise.
49535 (grub_video_vbe_blit_bitmap): Likewise.
49536 (grub_video_vbe_blit_render_target): Likewise.
49537
83b984de 495382006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49539
49540 * configure.ac (--with-platform): Properly quote the square
49541 brackets.
49542
5f0413bd 495432006-05-08 Marco Gerards <marco@gnu.org>
49544
49545 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49546 this...
49547 (kernel_elf_HEADERS): ...to this. Updated all users.
49548 (grubof_symlist.c): Renamed from this...
49549 (kernel_elf_symlist.c): ...to this. Updated all users.
49550 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49551 (grubof_SOURCES): Renamed from this...
49552 (kernel_elf_SOURCES): ...to this.
49553 (grubof_HEADERS): Renamed from this...
49554 (kernel_elf_HEADERS): ...to this.
49555 (grubof_CFLAGS): Renamed from this...
49556 (kernel_elf_CFLAGS): ...to this.
49557 (grubof_ASFLAGS): Renamed from this...
49558 (kernel_elf_ASFLAGS): ...to this.
49559 (grubof_LDFLAGS): Renamed from this...
49560 (kernel_elf_LDFLAGS): ...to this.
49561
49562 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49563 this...
49564 (kernel_elf_HEADERS): ...to this. Updated all users.
49565 (grubof_symlist.c): Renamed from this...
49566 (kernel_elf_symlist.c): ...to this. Updated all users.
49567 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49568 (grubof_SOURCES): Renamed from this...
49569 (kernel_elf_SOURCES): ...to this.
49570 (grubof_HEADERS): Renamed from this...
49571 (kernel_elf_HEADERS): ...to this.
49572 (grubof_CFLAGS): Renamed from this...
49573 (kernel_elf_CFLAGS): ...to this.
49574 (grubof_ASFLAGS): Renamed from this...
49575 (kernel_elf_ASFLAGS): ...to this.
49576 (grubof_LDFLAGS): Renamed from this...
49577 (kernel_elf_LDFLAGS): ...to this.
49578
49579 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49580 `kernel.elf' instead of `grubof'.
49581
05568c2e 495822006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49583
49584 Add --with-platform to configure. Use pkglibdir instead of
49585 pkgdatadir. This is reported by Roger Leigh.
49586
49587 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49588 (host_vendor): Likewise.
49589 (host_os): Likewise.
49590 (pkgdatadir): Likewise.
49591 (platform): New variable.
49592 (pkglibdir): Likewise.
49593 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49594
05568c2e 49595 * util/i386/pc/grub-install.in (datadir): Removed.
49596 (host_vendor): Likewise.
49597 (host_os): Likewise.
49598 (pkgdatadir): Likewise.
49599 (platform): New variable.
49600 (pkglibdir): Likewise.
49601 Use PKGLIBDIR instead of PKGDATADIR.
49602
49603 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49604 instead of GRUB_DATADIR.
49605 (main): Likewise.
49606 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49607 (main): Likewise.
49608 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49609 (main): Likewise.
49610
49611 * configure.ac (--with-platform): New option.
49612 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49613
49614 * Makefile.in: Include a makefile based on PLATFORM instead of
49615 HOST_VENDOR.
49616 (pkgdatadir): Not appended by the machine type.
49617 (pkglibdir): Appended by the machine type.
49618 (host_vendor): Removed.
49619 (platform): New variable.
49620 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49621 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49622 (uninstall): Likewise.
49623
4e93851c 496242006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49625
49626 Use the environment context in the menu. Remove the commands
49627 "default" and "timeout", and use variables instead.
f19dbdb7 49628
4e93851c 49629 * normal/menu.c: Include grub/env.h.
49630 (print_entry): Cast TITLE to silence gcc.
49631 (get_timeout): New function.
49632 (set_timeout): Likewise.
49633 (get_entry_number): Likewise.
49634 (run_menu): Use a default entry, a fallback entry and a timeout
49635 in the environment variables "default", "fallback" and
49636 "timeout". Also, tweak the default entry if it is not within the
49637 current menu entries.
49638 (grub_menu_run): Use a fallback entry in the environment variable
49639 "fallback".
49640
49641 * normal/main.c (read_config_file): Do not initialize
49642 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49643 NEWMENU->TIMEOUT.
49644 (grub_normal_execute): Use a data slot to store the menu.
49645
49646 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49647 fallback_entry and timeout.
49648 (struct grub_menu_list): Removed.
49649 (grub_menu_list_t): Likewise.
49650 (struct grub_context): Likewise.
49651 (grub_context_t): Likewise.
49652 (grub_context_get): Likewise.
49653 (grub_context_get_current_menu): Likewise.
49654 (grub_context_push_menu): Likewise.
49655 (grub_context_pop_menu): Likewise.
49656 (grub_default_init): Likewise.
49657 (grub_default_fini): Likewise.
49658 (grub_timeout_init): Likewise.
49659 (grub_timeout_fini): Likewise.
49660
49661 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49662 and timeout.mod.
49663 (normal_mod_SOURCES): Removed normal/context.c.
49664
49665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49666 commands/default.c, commands/timeout.c and normal/context.c.
49667 (normal_mod_SOURCES): Removed normal/context.c.
49668
49669 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49670 commands/timeout.c and normal/context.c.
49671 (normal_mod_SOURCES): Removed normal/context.c.
49672
49673 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49674 commands/default.c, commands/timeout.c and normal/context.c.
49675 (normal_mod_SOURCES): Removed normal/context.c.
49676
49677 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49678 timeout.mod.
49679 (default_mod_SOURCES): Removed.
49680 (default_mod_CFLAGS): Likewise.
49681 (default_mod_LDFLAGS): Likewise.
49682 (timeout_mod_SOURCES): Removed.
49683 (timeout_mod_CFLAGS): Likewise.
49684 (timeout_mod_LDFLAGS): Likewise.
49685
49686 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49687 normal/context.c.
49688
49689 * commands/default.c: Removed.
49690 * commands/timeout.c: Likewise.
49691 * normal/context.c: Likewise.
49692
1eb9cc1d 496932006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49694
49695 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49696
385bd9c1 496972006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49698
49699 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49700 "next" to "prev" for readability.
49701 (struct grub_env_sorted_var): New struct.
49702 (grub_env_context): Renamed to ...
49703 (initial_context): ... this.
49704 (grub_env_var_context): Renamed to ...
49705 (current_context): ... this.
49706 (grub_env_find): Look only at CURRENT_CONTEXT.
49707 (grub_env_context_open): Rewritten to copy exported variables from
49708 previous context.
49709 (grub_env_context_close): Rewritten according to the new
49710 scheme. Also, add an assertion to prevent the initial context from
49711 removed.
49712 (grub_env_insert): Removed the code for the sorted list.
49713 (grub_env_remove): Likewise.
49714 (grub_env_export): Simply mark the variable with
49715 GRUB_ENV_VAR_GLOBAL.
49716 (grub_env_set): A cosmetic change for naming consistency.
49717 (grub_env_get): Likewise.
49718 (grub_env_unset): Likewise.
49719 (grub_env_iterate): Rewritten to sort variables within this
49720 function.
49721 (grub_register_variable_hook): Fixed for naming consistency. Call
49722 grub_env_find again, only if NAME is not found at the first time.
49723 (mangle_data_slot_name): New function.
49724 (grub_env_set_data_slot): Likewise.
49725 (grub_env_get_data_slot): Likewise.
49726 (grub_env_unset_data_slot): Likewise.
49727
49728 * include/grub/env.h (grub_env_var_type): New enum.
49729 (GRUB_ENV_VAR_LOCAL): New constant.
49730 (GRUB_ENV_VAR_GLOBAL): Likewise.
49731 (GRUB_ENV_VAR_DATA): Likewise.
49732 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49733 "type".
49734 (grub_env_set): Replace VAR with NAME for consistency.
49735 (grub_register_variable_hook): Likewise.
49736 (grub_env_export): Specify the name of the argument.
49737 (grub_env_set_data_slot): New prototype.
49738 (grub_env_get_data_slot): Likewise.
49739 (grub_env_unset_data_slot): Likewise.
49740
7f362539 497412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49742
49743 Extend the loader so that GRUB can accept a loader which comes
49744 back to GRUB when a loaded image exits. Also, this change adds
49745 support for a chainloader on EFI.
f19dbdb7 49746
7f362539 49747 * term/efi/console.c: Include grub/misc.h.
49748 (grub_console_checkkey): Display a scan code on the top for
49749 debugging. This will be removed once the EFI port gets stable.
49750 Correct the scan code mapping.
49751
49752 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49753 allocate memory from larger regions, in order to reduce the number
49754 of allocated regions. Otherwise, the MacOSX loader panics.
49755 (filter_memory_map): Avoid less than 1MB for compatibility with
49756 other loaders.
49757 (add_memory_regions): Allocate from the tail of a region, if
49758 possible, to avoid allocating a region near to 1MB, for the MacOSX
49759 loader.
49760
49761 * kern/efi/init.c (grub_efi_set_prefix): Specify
49762 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49763
49764 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49765 argument IMAGE_HANDLE and specify it to get a loaded image.
49766 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49767 grub_efi_get_loaded_image.
fe6b695a 49768 (grub_efi_get_filename): Divide the length by the size of
7f362539 49769 grub_efi_char16_t.
49770 (grub_efi_get_device_path): New function.
49771 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49772 the length by the size of grub_efi_char16_t for a file path device
49773 path node.
49774
49775 * kern/loader.c (grub_loader_noreturn): New variable.
49776 (grub_loader_set): Accept a new argument NORETURN. Set
49777 GRUB_LOADER_NORETURN to NORETURN.
49778 All callers changed.
49779 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49780 grub_machine_fini.
49781
49782 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49783 prototype.
49784 (grub_efi_get_loaded_image): Take an argument to specify an image
49785 handle.
49786
49787 * include/grub/loader.h (grub_loader_set): Added one more argument
49788 NORETURN.
49789
49790 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49791 instead of grub_efi_open_protocol.
49792 (grub_efidisk_get_device_name): Likewise.
49793 (grub_efidisk_close): Print a newline.
49794 (grub_efidisk_get_device_handle): Fixed to use
49795 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49796 GRUB_EFI_DEVICE_PATH_TYPE.
49797
49798 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49799 * kern/efi/efi.c (device_path_guid): ... here.
49800
49801 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49802 chain.mod.
49803 (kernel_mod_HEADERS): Added efi/disk.h.
49804 (_chain_mod_SOURCES): New variable.
49805 (_chain_mod_CFLAGS): Likewise.
49806 (_chain_mod_LDFLAGS): Likewise.
49807 (chain_mod_SOURCES): Likewise.
49808 (chain_mod_CFLAGS): Likewise.
49809 (chain_mod_LDFLAGS): Likewise.
49810
49811 * DISTLIST: Added include/grub/efi/chainloader.h,
49812 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49813
49814 * include/grub/efi/chainloader.h: New file.
49815 * loader/efi/chainloader.c: Likewise.
49816 * loader/efi/chainloader_normal.c: Likewise.
49817
c0111d6e 498182006-04-30 Marco Gerards <marco@gnu.org>
49819
49820 * commands/configfile.c (grub_cmd_source): New function.
49821 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49822 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49823
df5341da 498242006-04-30 Marco Gerards <marco@gnu.org>
49825
49826 * normal/execute.c (grub_script_execute_cmd): Change the return
49827 type to `grub_err_t'. Correctly return the error.
49828 (grub_script_execute_cmdline): In case a command line is not a
49829 command or a function, try to interpret it as an assignment.
49830
f85934bd 498312006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49832
49833 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49834 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49835 skip a node whose name is obviously invalid as UTF-16,
49836 i.e. contains a NUL character. Stop the iteration when the last
49837 directory entry is found. Instead of using the return value of
49838 grub_hfsplus_btree_iterate_node, store the value in RET and use
49839 it, because the iterator can be stopped by the last directory
49840 entry.
49841
8f8a2cf8 498422006-04-30 Marco Gerards <marco@gnu.org>
49843
49844 * include/grub/env.h (grub_env_export): New prototype. Reported
49845 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49846
a27e84ce 498472006-04-30 Marco Gerards <marco@gnu.org>
49848
49849 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49850 size of the extents in a catalog file record.
49851
eaef0553 498522006-04-29 Marco Gerards <marco@gnu.org>
49853
49854 * commands/configfile.c (grub_cmd_configfile): Execute the
49855 configfile within its own context.
49856
49857 * include/grub/env.h (grub_env_context_open): New prototype.
49858 (grub_env_context_close): Likewise.
49859
49860 * kern/env.c (grub_env): Removed.
49861 (grub_env_sorted): Likewise.
49862 (grub_env_context): New variable.
49863 (grub_env_var_context): Likewise.
49864 (grub_env_find): Search both the active context and the global
49865 context.
49866 (grub_env_context_open): New function.
49867 (grub_env_context_close): Likewise.
49868 (grub_env_insert): Likewise.
49869 (grub_env_remove): Likewise.
49870 (grub_env_export): Likewise.
49871 (grub_env_set): Changed to use helper functions to avoid code
49872 duplication.
49873 (grub_env_iterate): Rewritten so both the current context and the
49874 global context are being used.
49875
49876 * normal/command.c (export_command): New function.
49877 (grub_command_init): Register the `export' function.
49878
7b455f4d 498792006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49880
49881 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49882 explicitly to suppress gcc's warnings.
49883 * fs/fat.c (grub_fat_find_dir): Likewise.
49884 (grub_fat_label): Likewise.
49885 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49886 (grub_xfs_mount): Likewise.
49887 (grub_xfs_label): Likewise.
49888 * fs/affs.c (grub_affs_mount): Likewise.
49889 (grub_affs_label): Likewise.
49890 (grub_affs_iterate_dir): Likewise.
49891 * fs/sfs.c (grub_sfs_mount): Likewise.
49892 (grub_sfs_iterate_dir): Likewise.
49893 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49894 * fs/hfs.c (grub_hfs_mount): Likewise.
49895 (grub_hfs_cmp_catkeys): Likewise.
49896 (grub_hfs_find_dir): Likewise.
49897 (grub_hfs_dir): Likewise.
49898 (grub_hfs_label): Likewise.
49899 * fs/jfs.c (grub_jfs_mount): Likewise.
49900 (grub_jfs_opendir): Likewise.
49901 (grub_jfs_getent): Likewise.
49902 (grub_jfs_lookup_symlink): Likewise.
49903 (grub_jfs_label): Likewise.
49904 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49905 (grub_hfsplus_iterate_dir): Likewise.
49906 (grub_hfsplus_btree_iterate_node): Made static.
49907
49908 * util/grub-emu.c (prefix): New variable.
49909 (grub_machine_set_prefix): New function.
49910 (main): Do not set the environment variable "prefix" here. Only
49911 set PREFIX, which is used later by grub_machine_set_prefix.
49912
49913 * include/grub/video.h: Do not include grub/symbol.h.
49914 (grub_video_register): Not exported. This symbol is not defined in
49915 the kernel.
49916 (grub_video_unregister): Likewise.
49917 (grub_video_iterate): Likewise.
49918 (grub_video_setup): Likewise.
49919 (grub_video_restore): Likewise.
49920 (grub_video_get_info): Likewise.
49921 (grub_video_get_blit_format): Likewise.
49922 (grub_video_set_palette): Likewise.
49923 (grub_video_get_palette): Likewise.
49924 (grub_video_set_viewport): Likewise.
49925 (grub_video_get_viewport): Likewise.
49926 (grub_video_map_color): Likewise.
49927 (grub_video_map_rgb): Likewise.
49928 (grub_video_map_rgba): Likewise.
49929 (grub_video_fill_rect): Likewise.
49930 (grub_video_blit_glyph): Likewise.
49931 (grub_video_blit_bitmap): Likewise.
49932 (grub_video_blit_render_target): Likewise.
49933 (grub_video_scroll): Likewise.
49934 (grub_video_swap_buffers): Likewise.
49935 (grub_video_create_render_target): Likewise.
49936 (grub_video_delete_render_target): Likewise.
49937 (grub_video_set_active_render_target): Likewise.
49938
49939 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49940 Undefined.
49941 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49942
49943 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49944 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49945 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49946 instead of $(srcdir)/genkernsyms.sh.
49947
49948 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49949 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49950 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49951 instead of $(srcdir)/genkernsyms.sh.
49952
49953 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49954 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49955 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49956 instead of $(srcdir)/genkernsyms.sh.
49957
49958 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49959 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49960 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49961 instead of $(srcdir)/genkernsyms.sh.
49962
49963 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49964 genkernsyms.sh.
49965
49966 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49967 genkernsyms.sh.
49968 (gensymlist.sh): New target.
49969 (genkernsyms.sh): Likewise.
49970
49971 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49972 genkernsyms.sh.in and gensymlist.sh.in.
49973
49974 * genkernsyms.sh: Removed.
49975 * gensymlist.sh: Likewise.
f19dbdb7 49976
7b455f4d 49977 * genkernsyms.sh.in: New file.
49978 * gensymlist.sh.in: Likewise.
49979
1885bb27 499802006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49981
49982 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49983 clobber "prefix", since we may have already set it manually.
49984
71538dff 499852006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49986
49987 * kern/misc.c (abort): New alias for grub_abort.
49988
2965c7cc 499892006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49990
49991 A new machine-specific function "grub_machine_set_prefix" is
49992 defined. This is called after loading modules, so that a prefix
49993 initialization can use modules. Also, this change adds an
49994 intensive debugging feature for the memory manager via the
49995 configure option "--enable-mm-debug".
f19dbdb7 49996
2965c7cc 49997 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49998 PART.LEN.
49999
50000 * kern/sparc64/ieee1275/init.c (abort): Removed.
50001 (grub_stop): Likewise.
50002 (grub_exit): New function.
50003 (grub_set_prefix): Renamed to ...
50004 (grub_machine_set_prefix): ... this.
50005 (grub_machine_init): Do not call grub_set_prefix.
50006
50007 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50008 (grub_machine_set_prefix): ... this.
50009 (grub_machine_init): Do not call grub_set_prefix.
50010
50011 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50012 (grub_machine_init): Do not set the prefix here.
50013
50014 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50015
50016 * kern/efi/init.c: Include grub/mm.h.
50017 (grub_efi_set_prefix): New function.
50018
50019 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50020 (grub_efi_get_filename): New function.
50021 (grub_print_device_path): Renamed to ...
50022 (grub_efi_print_device_path): ... this.
50023
50024 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50025 [MM_DEBUG] (grub_realloc): Likewise.
50026 [MM_DEBUG] (grub_free): Likewise.
50027 [MM_DEBUG] (grub_memalign): Likewise.
50028 [MM_DEBUG] (grub_mm_debug): New variable.
50029 [MM_DEBUG] (grub_debug_malloc): New function.
50030 [MM_DEBUG] (grub_debug_free): New function.
50031 [MM_DEBUG] (grub_debug_realloc): New function.
50032 [MM_DEBUG] (grub_debug_memalign): New function.
50033
50034 * kern/misc.c (grub_abort): Print a newline to distinguish
50035 the message.
50036
50037 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50038 grub_set_root_dev after loading modules. This is necessary when
50039 setting a prefix depends on modules.
50040
50041 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50042 (grub_efi_print_device_path): ... this.
50043 (grub_efi_get_filename): New prototype.
50044 (grub_efi_set_prefix): Likewise.
50045
50046 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50047 and grub/disk.h.
50048 (grub_efidisk_get_device_handle): New prototype.
50049 (grub_efidisk_get_device_name): Likewise.
50050
50051 * include/grub/mm.h: Include config.h.
50052 (MM_DEBUG): Removed.
50053 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50054 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50055 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50056 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50057 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50058 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50059 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50060 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50061 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50062
50063 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50064
50065 * disk/efi/efidisk.c: Include grub/partition.h.
50066 (iterate_child_devices): New function.
50067 (add_device): First, compare only last device path nodes, so that
50068 devices are sorted by the types.
50069 (grub_efidisk_get_device_handle): New function.
50070 (grub_efidisk_get_device_name): Likewise.
50071
50072 * configure.ac (--enable-mm-debug): New option to enable the
50073 memory manager debugging feature. This makes the binary much
50074 bigger, so is disabled by default.
50075
9cacaa17 500762006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50077
50078 Use grub_abort instead of grub_stop, and grub_exit must be
50079 define in each architecture now. Also, this change adds support
50080 for EFI disks.
f19dbdb7 50081
9cacaa17 50082 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50083 (grub_getkey): New function.
50084 (grub_term_get_current): Likewise.
50085
50086 * util/i386/pc/grub-setup.c: Include grub/term.h.
50087 (grub_getkey): New function.
50088 (grub_term_get_current): Likewise.
50089
50090 * util/misc.c (grub_stop): Renamed to ...
50091 (grub_exit): ... this.
50092
50093 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50094 (grub_exit): ... this.
50095 (grub_machine_init): Use grub_abort instead of abort.
50096 (grub_stop): Removed.
50097
50098 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50099 abort.
50100
50101 * kern/i386/pc/startup.S (grub_exit): New function.
50102 (cold_reboot): New label.
50103
50104 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50105 (grub_efi_init): Call grub_efidisk_init.
50106 (grub_efi_fini): Call grub_efidisk_fini.
50107
50108 * kern/efi/efi.c: Include grub/mm.h.
50109 (grub_efi_console_control_guid): Renamed to ...
50110 (console_control_guid): ... this.
50111 (grub_efi_loaded_image_guid): Renamed to ...
50112 (loaded_image_guid): ... this.
50113 (grub_efi_locate_handle): New function.
50114 (grub_efi_open_protocol): Likewise.
50115 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50116 GRUB_EFI_CONSOLE_CONTROL_GUID.
50117 (grub_efi_exit): Removed.
50118 (grub_stop): Likewise.
50119 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50120 (grub_exit): New function.
50121 (grub_print_device_path): Likewise.
50122
50123 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50124 (grub_enter_rescue_mode): Register "exit".
50125
50126 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50127 (grub_abort): New function.
50128
50129 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50130
50131 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50132
50133 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50134
50135 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50136 (grub_print_device_path): New prototype.
50137 (grub_efi_locate_handle): Likewise.
50138 (grub_efi_open_protocol): Likewise.
50139
50140 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50141 * disk/efi/efidisk.c: Likewise.
50142
50143 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50144
50145 * include/grub/efi/console_control.h
50146 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50147
50148 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50149 last 8 bytes as an array.
50150 (GRUB_EFI_DISK_IO_GUID): New macro.
50151 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50152 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50153 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50154 grub_uint8_t.
50155 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50156 (struct grub_efi_device_path): Rename the member "sub_type" to
50157 "subtype".
50158 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50159 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50160 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50161 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50162 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50163 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50164 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50165 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50166 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50167 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50168 (struct grub_efi_pci_device_path): New structure.
50169 (grub_efi_pci_device_path_t): New type.
50170 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50171 (struct grub_efi_pccard_device_path): New structure.
50172 (grub_efi_pccard_device_path_t): New type.
50173 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50174 (struct grub_efi_memory_mapped_device_path): New structure.
50175 (grub_efi_memory_mapped_device_path_t): New type.
50176 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50177 (struct grub_efi_vendor_device_path): New structure.
50178 (grub_efi_vendor_device_path_t): New type.
50179 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50180 (struct grub_efi_controller_device_path): New structure.
50181 (grub_efi_controller_device_path_t): New type.
50182 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50183 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50184 (struct grub_efi_acpi_device_path): New structure.
50185 (grub_efi_acpi_device_path_t): New type.
50186 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50187 (struct grub_efi_expanded_acpi_device_path): New structure.
50188 (grub_efi_expanded_acpi_device_path_t): New type.
50189 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50190 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50191 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50192 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50193 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50194 (struct grub_efi_atapi_device_path): New structure.
50195 (grub_efi_atapi_device_path_t): New type.
50196 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50197 (struct grub_efi_fibre_channel_device_path): New structure.
50198 (grub_efi_fibre_channel_device_path_t): New type.
50199 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50200 (struct grub_efi_1394_device_path): New structure.
50201 (grub_efi_1394_device_path_t): New type.
50202 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50203 (struct grub_efi_usb_device_path): New structure.
50204 (grub_efi_usb_device_path_t): New type.
50205 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50206 (struct grub_efi_usb_class_device_path): New structure.
50207 (grub_efi_usb_class_device_path_t): New type.
50208 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50209 (struct grub_efi_i2o_device_path): New structure.
50210 (grub_efi_i2o_device_path_t): New type.
50211 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50212 (struct grub_efi_mac_address_device_path): New structure.
50213 (grub_efi_mac_address_device_path_t): New type.
50214 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50215 (struct grub_efi_ipv4_device_path): New structure.
50216 (grub_efi_ipv4_device_path_t): New type.
50217 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50218 (struct grub_efi_ipv6_device_path): New structure.
50219 (grub_efi_ipv6_device_path_t): New type.
50220 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50221 (struct grub_efi_infiniband_device_path): New structure.
50222 (grub_efi_infiniband_device_path_t): New type.
50223 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50224 (struct grub_efi_uart_device_path): New structure.
50225 (grub_efi_uart_device_path_t): New type.
50226 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50227 (struct grub_efi_vendor_messaging_device_path): New structure.
50228 (grub_efi_vendor_messaging_device_path_t): New type.
50229 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50230 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50231 (struct grub_efi_hard_drive_device_path): New structure.
50232 (grub_efi_hard_drive_device_path_t): New type.
50233 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50234 (struct grub_efi_cdrom_device_path): New structure.
50235 (grub_efi_cdrom_device_path_t): New type.
50236 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50237 (struct grub_efi_vendor_media_device_path): New structure.
50238 (grub_efi_vendor_media_device_path_t): New type.
50239 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50240 (struct grub_efi_file_path_device_path): New structure.
50241 (grub_efi_file_path_device_path_t): New type.
50242 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50243 (struct grub_efi_protocol_device_path): New structure.
50244 (grub_efi_protocol_device_path_t): New type.
50245 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50246 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50247 (struct grub_efi_bios_device_path): New structure.
50248 (grub_efi_bios_device_path_t): New type.
50249 (struct grub_efi_disk_io): New structure.
50250 (grub_efi_disk_io_t): New type.
50251 (struct grub_efi_block_io_media): New structure.
50252 (grub_efi_block_io_media_t): New type.
50253 (struct grub_efi_block_io): New structure.
50254 (grub_efi_block_io_t): New type.
50255
50256 * include/grub/misc.h (grub_stop): Removed.
50257 (grub_exit): New prototype.
50258 (grub_abort): Likewise.
50259
50260 * include/grub/disk.h (enum grub_disk_dev_id): Added
50261 GRUB_DISK_DEVICE_EFIDISK_ID.
50262
50263 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50264 disk/efi/efidisk.c.
50265 (kernel_syms.lst): Remove the target if an error occurs.
50266
49986a9f 502672006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50268
50269 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50270 as it was simply too buggy.
50271
970d3b8a 502722006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50273
50274 * kern/misc.c (grub_lltoa): New function.
50275 (grub_vsprintf): Added support for the long long suffix,
50276 i.e. "ll".
50277
ff04ec24 502782006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50279
50280 * Makefile.in (LDFLAGS): Add variable.
50281 (LD): Remove variable.
50282 * configure.ac: Add -m32 to LDFLAGS.
50283 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50284 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50285 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50286 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50287 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50288 variables.
50289 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50290 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50291 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50292
37e5e1a4 502932006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50294
50295 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50296 length for unknown glyph.
50297
c352d8dd 502982006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50299
2eab1c0d 50300 Add support for pre-loaded modules into the EFI port.
f19dbdb7 50301
2eab1c0d 50302 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50303 completely. Accept one more argument DIR. The caller has changed.
50304
50305 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50306
50307 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50308 (grub_efi_loaded_image_guid): New variable.
50309 (grub_efi_get_loaded_image): New function.
50310 (grub_arch_modules_addr): Likewise.
50311
50312 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50313 prototype.
50314
50315 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50316 (struct grub_efi_loaded_image): New structure.
50317 (grub_efi_loaded_image_t): New type.
50318
503192006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 50320
c352d8dd 50321 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50322 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50323 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50324
6d01d6b4 503252006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50326
50327 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50328
976a4ea0 503292006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50330
50331 * DISTLIST: Added include/grub/efi/console.h,
50332 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50333 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50334
50335 * include/grub/efi/console.h: New file.
50336 * include/grub/efi/time.h: Likewise.
50337 * include/grub/i386/efi/kernel.h: Likewise.
50338 * kern/efi/init.c: Likewise.
50339 * kern/efi/mm.c: Likewise.
50340 * term/efi/console.c: Likewise.
f19dbdb7 50341
976a4ea0 50342 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50343 (grub_stop): Removed.
50344 (grub_get_rtc): Likewise.
50345 (grub_machine_init): Simply call grub_efi_init.
50346 (grub_machine_fini): Call grub_efi_fini.
50347
50348 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50349 (grub_efi_output_string): Removed.
50350 (grub_efi_stall): New function.
50351 (grub_stop): Likewise.
50352 (grub_get_rtc): Likewise.
50353
50354 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50355 (grub_efi_stall): New prototype.
50356 (grub_efi_allocate_pages): Likewise.
50357 (grub_efi_free_pages): Likewise.
50358 (grub_efi_get_memory_map): Likewise.
50359 (grub_efi_mm_init): Likewise.
50360 (grub_efi_mm_fini): Likewise.
50361 (grub_efi_init): Likewise.
50362 (grub_efi_fini): Likewise.
50363
50364 * include/grub/i386/efi/time.h: Do not include
50365 grub/symbol.h. Include grub/efi/time.h.
50366 (GRUB_TICKS_PER_SECOND): Removed.
50367 (grub_get_rtc): Likewise.
50368
50369 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50370 Added padding. The EFI spec is buggy.
50371 (GRUB_EFI_BLACK): New macro.
50372 (GRUB_EFI_BLUE): Likewise.
50373 (GRUB_EFI_GREEN): Likewise.
50374 (GRUB_EFI_CYAN): Likewise.
50375 (GRUB_EFI_RED): Likewise.
50376 (GRUB_EFI_MAGENTA): Likewise.
50377 (GRUB_EFI_BROWN): Likewise.
50378 (GRUB_EFI_LIGHTGRAY): Likewise.
50379 (GRUB_EFI_BRIGHT): Likewise.
50380 (GRUB_EFI_DARKGRAY): Likewise.
50381 (GRUB_EFI_LIGHTBLUE): Likewise.
50382 (GRUB_EFI_LIGHTGREEN): Likewise.
50383 (GRUB_EFI_LIGHTCYAN): Likewise.
50384 (GRUB_EFI_LIGHTRED): Likewise.
50385 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50386 (GRUB_EFI_YELLOW): Likewise.
50387 (GRUB_EFI_WHITE): Likewise.
50388 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50389 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50390 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50391 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50392 (GRUB_EFI_BACKGROUND_RED): Likewise.
50393 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50394 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50395 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50396 (GRUB_EFI_TEXT_ATTR): Likewise.
50397
50398 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50399 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50400 (kernel_mod_HEADERS): Added efi/time.h.
50401
83709125 504022006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50403
50404 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50405 include/grub/efi/api.h, include/grub/efi/console_control.h,
50406 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50407 include/grub/i386/efi/time.h, kern/efi/efi.c,
50408 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50409 and util/i386/efi/grub-mkimage.c.
50410
50411 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50412
50413 * genmk.rb (PModule#rule): Do not export symbols if
50414 #{prefix}_EXPORTS is set to "no".
50415
50416 * conf/i386-efi.mk: New file.
50417 * conf/i386-efi.rmk: Likewise.
50418 * include/grub/efi/api.h: Likewise.
50419 * include/grub/efi/console_control.h: Likewise.
50420 * include/grub/efi/efi.h: Likewise.
50421 * include/grub/efi/pe32.h: Likewise.
50422 * include/grub/i386/efi/time.h: Likewise.
50423 * kern/efi/efi.c: Likewise.
50424 * kern/i386/efi/init.c: Likewise.
50425 * kern/i386/efi/startup.S: Likewise.
50426 * util/i386/efi/grub-mkimage.c: Likewise.
50427
504282006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 50429
50430 * include/grub/script.h: Include <grub/parser.h> and
50431 "grub_script.tab.h".
50432 (struct grub_lexer_param): New struct.
50433 (struct grub_parser_param): Likewise.
50434 (grub_script_create_arglist): Pass the state in an argument.
50435 (grub_script_add_arglist): Likewise.
50436 (grub_script_create_cmdline): Likewise.
50437 (grub_script_create_cmdblock): Likewise.
50438 (grub_script_create_cmdif): Likewise.
50439 (grub_script_create_cmdmenu): Likewise.
50440 (grub_script_add_cmd): Likewise.
50441 (grub_script_arg_add): Likewise.
50442 (grub_script_lexer_ref): Likewise.
50443 (grub_script_lexer_deref): Likewise.
50444 (grub_script_lexer_record_start): Likewise.
50445 (grub_script_lexer_record_stop): Likewise.
50446 (grub_script_mem_record): Likewise.
50447 (grub_script_mem_record_stop): Likewise.
50448 (grub_script_malloc): Likewise.
50449 (grub_script_yylex): Likewise.
50450 (grub_script_yyparse): Likewise.
50451 (grub_script_yyerror): Likewise.
50452 (grub_script_yylex): Likewise.
50453 (grub_script_lexer_init): Return the state.
50454
50455 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50456 (grub_script_lexer_done): Likewise.
50457 (grub_script_lexer_getline): Likewise.
50458 (grub_script_lexer_refs): Likewise.
50459 (script): Likewise.
50460 (newscript): Likewise.
50461 (record): Likewise.
50462 (recording): Likewise.
50463 (recordpos): Likewise.
50464 (recordlen): Likewise.
50465 (grub_script_lexer_init): Return the state instead of setting
50466 global variables.
50467 (grub_script_lexer_ref): Use the newly added argument for state
50468 instead of globals.
50469 (grub_script_lexer_deref): Likewise.
50470 (grub_script_lexer_record_start): Likewise.
50471 (grub_script_lexer_record_stop): Likewise.
50472 (recordchar): Likewise.
50473 (nextchar): Likewise.
50474 (grub_script_yylex2): Likewise.
50475 (grub_script_yylex): Likewise.
50476 (grub_script_yyerror): Likewise.
50477
50478 * normal/parser.y (func_mem): Removed variable.
50479 (menu_entry): Likewise.
50480 (err): Likewise.
50481 (%lex-param): New parser option.
50482 (%parse-param): Likewise.
50483 (script): Always return the AST.
50484 (argument): Pass the state around.
50485 (arguments): Likewise.
50486 (grubcmd): Likewise.
50487 (commands): Likewise.
50488 (function): Likewise.
50489 (menuentry): Likewise.
50490 (if_statement): Likewise.
50491 (if): Likewise.
50492
50493 * normal/script.c (grub_script_memused): Removed variable.
50494 (grub_script_parsed): Likewise.
50495 (grub_script_malloc): Added a state argument. Use that instead of
50496 global variables.
50497 (grub_script_mem_record): Likewise.
50498 (grub_script_mem_record_stop): Likewise.
50499 (grub_script_arg_add): Likewise.
50500 (grub_script_add_arglist): Likewise.
50501 (grub_script_create_cmdline): Likewise.
50502 (grub_script_create_cmdif): Likewise.
50503 (grub_script_create_cmdmenu): Likewise.
50504 (grub_script_add_cmd): Likewise.
50505 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50506
e2a8c904 505072006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50508
50509 * normal/command.c (grub_command_init): Remove the title command.
50510
50511 * normal/lexer.c (grub_script_yylex): Renamed from this...
50512 (grub_script_yylex2): ... to this.
50513 (grub_script_yylex): New function. Temporary
50514 introduced to filter some tokens.
50515 (grub_script_yyerror): Print a newline.
50516
50517 * normal/main.c (read_config_file): Output information about the
50518 lines that contain errors. Wait for a key after all lines have
50519 been processed. Don't return an empty menu.
50520
50521 * normal/parser.y (func_mem): Don't initialize.
50522 (menu_entry): Likewise.
50523 (err): New variable.
50524 (script): Don't return anything when an error was encountered.
50525 (ws, returns): Removed rules.
50526 (argument): Disabled concatenated variable support.
50527 (arguments): Remove explicit separators.
50528 (grubcmd): Likewise.
50529 (function): Likewise.
50530 (menuentry): Likewise.
50531 (if): Likewise.
50532 (commands): Likewise. Add error handling.
50533
50534 * normal/script.c (grub_script_create_cmdline): If
50535 `grub_script_parsed' is 0, assume the parser encountered an error.
50536
c9a86192 505372006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50538
50539 * configure.ac: Add support for EFI. Fix the typo
50540 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50541
70f3b243 505422006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50543
50544 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50545 foreign multibyte characters should be shown correctly.
50546
65f201ad 505472006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50548
50549 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50550 calculation.
50551 (read_config_file): Made it to close file before returning.
50552
b4b93674 505532006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50554
50555 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50556 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50557 video/i386/pc/vbefill.c.
50558
50559 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50560 video/i386/pc/vbefill.c.
50561
50562 * include/grub/video.h (grub_video_blit_format): New enum.
50563 (grub_video_mode_info): Added new member blit_format.
50564 (grub_video_get_blit_format): New function prototype.
50565
50566 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50567 function prototype.
50568 (grub_video_vbe_map_rgb): Likewise.
50569 (grub_video_vbe_unmap_color): Likewise.
50570
50571 * include/grub/i386/pc/vbeblit.h: New file.
50572
50573 * include/grub/i386/pc/vbefill.h: New file.
50574
50575 * video/video.c (grub_video_get_blit_format): New function.
50576 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50577 (grub_video_vbe_map_rgb): Likewise.
50578 (grub_video_vbe_unmap_color): Likewise.
50579
50580 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50581 optimized fills.
50582 (grub_video_vbe_blit_render_target): Changed to use more optimized
50583 blits.
50584 (grub_video_vbe_setup): Added detection for optimized settings.
50585 (grub_video_vbe_create_render_target): Likewise.
50586
50587 * video/i386/pc/vbeblit.c: New file.
50588
50589 * video/i386/pc/vbefill.c: New file.
50590
c2379b9c 505912006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50592
50593 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50594 here...
50595
50596 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50597 parsing to support both hex and dec ranges. If filename was missing
50598 show usage information.
50599
bd0d7896 506002006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50601
50602 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50603 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50604
50605 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50606 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50607 (video_mod_SOURCES): Added.
50608 (video_mod_CFLAGS): Likewise.
50609 (video_mod_LDFLAGS): Likewise.
50610 (gfxterm_mod_SOURCES): Likewise.
50611 (gfxterm_mod_CFLAGS): Likewise.
50612 (gfxterm_mod_LDFLAGS): Likewise.
50613 (videotest_mod_SOURCES): Likewise.
50614 (videotest_mod_CFLAGS): Likewise.
50615 (videotest_mod_LDFLAGS): Likewise.
50616 (vesafb_mod_SOURCES): Removed.
50617 (vesafb_mod_CFLAGS): Likewise.
50618 (vesafb_mod_LDFLAGS): Likewise.
50619 (vga_mod_SOURCES): Likewise.
50620 (vga_mod_CFLAGS): Likewise.
50621 (vga_mod_LDFLAGS): Likewise.
50622
50623 * commands/videotest.c: New file.
50624
50625 * font/manager.c (fill_with_default_glyph): Modified to use
50626 grub_font_glyph.
50627 (grub_font_get_glyph): Likewise.
50628 (fontmanager): Renamed from this...
50629 (font_manager): ... to this.
50630
50631 * include/grub/font.h (grub_font_glyph): Added new structure.
50632 (grub_font_get_glyph): Modified to use grub_font_glyph.
50633
50634 * include/grub/misc.h (grub_abs): Added as inline function.
50635
50636 * include/grub/video.h: New file.
50637
50638 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50639 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50640 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50641 (grub_vbe_get_controller_info): Renamed from this...
50642 (grub_vbe_bios_get_controller_info): ... to this.
50643 (grub_vbe_get_mode_info): Renamed from this...
50644 (grub_vbe_bios_get_mode_info): ... to this.
50645 (grub_vbe_set_mode): Renamed from this...
50646 (grub_vbe_bios_set_mode): ... to this.
50647 (grub_vbe_get_mode): Renamed from this...
50648 (grub_vbe_bios_get_mode): ... to this.
50649 (grub_vbe_set_memory_window): Renamed from this...
50650 (grub_vbe_bios_set_memory_window): ... to this.
50651 (grub_vbe_get_memory_window): Renamed from this...
50652 (grub_vbe_bios_get_memory_window): ... to this.
50653 (grub_vbe_set_scanline_length): Renamed from this...
50654 (grub_vbe_set_scanline_length): ... to this.
50655 (grub_vbe_get_scanline_length): Renamed from this...
50656 (grub_vbe_bios_get_scanline_length): ... to this.
50657 (grub_vbe_set_display_start): Renamed from this...
50658 (grub_vbe_bios_set_display_start): ... to this.
50659 (grub_vbe_get_display_start): Renamed from this...
50660 (grub_vbe_bios_get_display_start): ... to this.
50661 (grub_vbe_set_palette_data): Renamed from this...
50662 (grub_vbe_bios_set_palette_data): ... to this.
50663 (grub_vbe_set_pixel_rgb): Removed.
50664 (grub_vbe_set_pixel_index): Likewise.
50665
50666 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50667 from this...
50668 (grub_vbe_bios_get_controller_info): ... to this.
50669 (grub_vbe_get_mode_info): Renamed from this...
50670 (grub_vbe_bios_get_mode_info): ... to this.
50671 (grub_vbe_set_mode): Renamed from this...
50672 (grub_vbe_bios_set_mode): ... to this.
50673 (grub_vbe_get_mode): Renamed from this...
50674 (grub_vbe_bios_get_mode): ... to this.
50675 (grub_vbe_set_memory_window): Renamed from this...
50676 (grub_vbe_bios_set_memory_window): ... to this.
50677 (grub_vbe_get_memory_window): Renamed from this...
50678 (grub_vbe_bios_get_memory_window): ... to this.
50679 (grub_vbe_set_scanline_length): Renamed from this...
50680 (grub_vbe_set_scanline_length): ... to this.
50681 (grub_vbe_get_scanline_length): Renamed from this...
50682 (grub_vbe_bios_get_scanline_length): ... to this.
50683 (grub_vbe_set_display_start): Renamed from this...
50684 (grub_vbe_bios_set_display_start): ... to this.
50685 (grub_vbe_get_display_start): Renamed from this...
50686 (grub_vbe_bios_get_display_start): ... to this.
50687 (grub_vbe_set_palette_data): Renamed from this...
50688 (grub_vbe_bios_set_palette_data): ... to this.
50689 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50690 getting corrupted after calling it. Added more pushes and pops.
50691 (grub_vbe_bios_set_mode): Likewise.
50692 (grub_vbe_bios_get_mode): Likewise.
50693 (grub_vbe_bios_get_memory_window): Likewise.
50694 (grub_vbe_bios_set_scanline_length): Likewise.
50695 (grub_vbe_bios_get_scanline_length): Likewise.
50696 (grub_vbe_bios_get_display_start): Likewise.
50697 (grub_vbe_bios_set_palette_data): Likewise.
50698
50699 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50700 (cl_insert): Likewise.
50701 (cl_delete): Likewise.
50702
50703 * term/gfxterm.c: New file.
50704
50705 * term/i386/pc/vesafb.c: Removed file.
50706
50707 * video/video.c: New file.
50708
50709 * video/i386/pc/vbe.c (real2pm): Added new function.
50710 (grub_video_vbe_draw_pixel): Likewise.
50711 (grub_video_vbe_get_video_ptr): Likewise.
50712 (grub_video_vbe_get_pixel): Likewise
50713 (grub_video_vbe_init): Likewise.
50714 (grub_video_vbe_fini): Likewise.
50715 (grub_video_vbe_setup): Likewise.
50716 (grub_video_vbe_get_info): Likewise.
50717 (grub_video_vbe_set_palette): Likewise.
50718 (grub_video_vbe_get_palette): Likewise.
50719 (grub_video_vbe_set_viewport): Likewise.
50720 (grub_video_vbe_get_viewport): Likewise.
50721 (grub_video_vbe_map_color): Likewise.
50722 (grub_video_vbe_map_rgb): Likewise.
50723 (grub_video_vbe_map_rgba): Likewise.
50724 (grub_video_vbe_unmap_color): Likewise.
50725 (grub_video_vbe_fill_rect): Likewise.
50726 (grub_video_vbe_blit_glyph): Likewise.
50727 (grub_video_vbe_blit_bitmap): Likewise.
50728 (grub_video_vbe_blit_render_target): Likewise.
50729 (grub_video_vbe_scroll): Likewise.
50730 (grub_video_vbe_swap_buffers): Likewise.
50731 (grub_video_vbe_create_render_target): Likewise.
50732 (grub_video_vbe_delete_render_target): Likewise.
50733 (grub_video_vbe_set_active_render_target): Likewise.
50734 (grub_vbe_set_pixel_rgb): Remove function.
50735 (grub_vbe_set_pixel_index): Likewise.
50736 (index_color_mode): Remove static variable.
50737 (active_mode): Likewise.
50738 (framebuffer): Likewise.
50739 (bytes_per_scan_line): Likewise.
50740 (grub_video_vbe_adapter): Added new static variable.
50741 (framebuffer): Likewise.
50742 (render_target): Likewise.
50743 (initial_mode): Likewise.
50744 (mode_in_use): Likewise.
50745 (mode_list): Likewise.
50746
5f97350b 507472006-03-10 Marco Gerards <marco@gnu.org>
50748
50749 * configure.ac (AC_INIT): Bumped to 1.93.
50750
50751 * DISTLIST: Added `include/grub/hfs.h'.
50752
a3c5c6f8 507532006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50754
50755 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50756 18H, which might help the BIOS falling back to next boot media.
50757
6de53d26 507582006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50759
50760 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50761 Poe Chen <poe.poechen@gmail.com>.
50762
77c4a393 507632006-01-17 Marco Gerards <marco@gnu.org>
50764
50765 * include/grub/normal.h: Include <grub/script.h>.
50766 (grub_command_list): Removed struct.
50767 (grub_command_list_t): Removed type.
50768 (grub_menu_entry): Remove members `num' and `command_list'. Add
50769 members `commands' and `sourcecode'.
50770 * include/grub/script.h: Add inclusion guards.
50771 (grub_script_cmd_menuentry): New struct.
50772 (grub_script_execute_menuentry): New prototype.
50773 (grub_script_lexer_record_start): Likewise.
50774 (grub_script_lexer_record_stop): Likewise.
50775 * normal/execute.c (grub_script_execute_menuentry): New function.
50776 * normal/lexer.c (record, recording, recordpos, recordlen): New
50777 variables.
50778 (grub_script_lexer_record_start): New function.
50779 (grub_script_lexer_record_stop): Likewise.
50780 (recordchar): Likewise.
50781 (nextchar): Likewise.
50782 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50783 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50784 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50785 (current_menu): New variable.
50786 (free_menu): Mainly rewritten.
50787 (grub_normal_menu_addentry): New function.
50788 (read_config_file): Rewritten.
50789 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50790 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50791 the menu entry.
50792 (run): Mainly rewritten.
50793 * normal/parser.y (menu_entry): New variable.
50794 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50795 (menuentry): New rule.
50796 (command): Add `menuentry'.
50797 (if_statement): Allow additional returns before `fi'.
50798 * normal/script.c (grub_script_create_cmdmenu): New function.
50799
144f1f98 508002006-01-03 Marco Gerards <marco@gnu.org>
50801
50802 * INSTALL: GNU Bison is required.
50803 * configure.ac: Rewritten the test to detect Bison.
50804 * Makefile.in (YACC): New variable. Reported by Xun Sun
50805 <xun.sun.cn@gmail.com>.
50806
af4b2d89 508072006-01-03 Marco Gerards <marco@gnu.org>
50808
50809 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50810 the HFS+ filesystem to filesystem blocks.
50811 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50812 GCC warning is silenced.
50813
15643b71 508142006-01-03 Marco Gerards <marco@gnu.org>
50815
50816 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50817 read from disk from big endian to host byte order.
50818
00905879 508192006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50820
50821 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50822 documentation.
50823 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50824 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50825 embedded HFS+ filesystem.
50826 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50827 (grub_hfs_sblock): Move from here...
50828 * include/grub/hfs.h: To here... New file.
50829 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50830 documentation.
50831 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50832 New macros.
50833 (grub_hfsplus_volheader): Change type of member `magic' to
50834 `grub_uint16_t'.
50835 (grub_hfsplus_data): Add new member `embedded_offset'.
50836 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50837 returned block.
50838 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50839 Calculate the offset.
50840
8899bc3e 508412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50842
50843 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50844 Removed.
50845 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50846
ae8c0277 508472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50848
50849 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50850 ENV->NAME is NULL after allocating ENV->VALUE.
50851
07084456 508522005-12-25 Marco Gerards <marco@gnu.org>
50853
50854 * kern/env.c (grub_env_set): Rewritten the error handling code.
50855
4750f5f1 508562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50857
50858 * geninit.sh: Made more robust, and more portable.
50859
50214199 508602005-12-25 Marco Gerards <marco@gnu.org>
50861
50862 Add support for Apple HFS+ filesystems.
f19dbdb7 50863
50214199 50864 * fs/hfsplus.c: New file.
50865
50866 * DISTLIST: Added `fs/hfsplus.c'.
50867
50868 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50869 (hfsplus_mod_SOURCES): New variable.
50870 (hfsplus_mod_CFLAGS): Likewise.
50871 (hfsplus_mod_LDFLAGS): Likewise.
50872 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50873 (grub_setup_SOURCES): Likewise.
50874 (grub_mkdevicemap_SOURCES): Likewise.
50875 (grub_emu_SOURCES): Likewise.
50876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50877
50878 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50879
50880 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50881
befaed6c 508822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50883
50884 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50885 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50886 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50887 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50888 normal/lexer.c, normal/parser.y, normal/script.c, and
50889 partmap/gpt.c.
50890 Removed kern/sparc64/cache.c.
50891
50892 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50893 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50894 grub_emu_init.c.
50895
50896 * configure.ac (AC_INIT): Bumped to 1.92.
50897
6a124103 508982005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50899
50900 * kern/err.c (grub_error_push): Added new function to support error
50901 stacks.
50902 (grub_error_pop): Likewise.
50903 (grub_error_stack_items): New local variable to support error stacks.
50904 (grub_error_stack_pos): Likewise.
50905 (grub_error_stack_assert): Likewise.
50906 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50907 stack depth.
50908 (grub_print_error): Added support to print errors from error stack.
50909
50910 * include/grub/err.h (grub_error_push): Added function prototype.
50911 (grub_error_pop): Likewise.
50912
be973c1b 509132005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50914
50915 * configure.ac: Accept `powerpc64' as host_cpu.
50916 (amd64): Rename to `biarch32'.
50917
50918 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50919 non-cacheline-aligned addresses.
50920
50921 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50922 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50923 if `size' is non-zero.
50924
b04216ab 509252005-12-03 Marco Gerards <mgerards@xs4all.nl>
50926
50927 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50928 and `cd' to make sure the filename is not prefixed with a
50929 directory name.
50930 (pkgdata_MODULES): Add `gpt.mod'.
50931 (gpt_mod_SOURCES): New variable.
50932 (gpt_mod_CFLAGS): Likewise.
50933 (gpt_mod_LDFLAGS): Likewise.
50934
50935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50936
50937 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50938 New macro.
50939
50940 * partmap/gpt.c: New file.
50941
50942 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50943 GPT partition map is detected.
50944
41730ed9 509452005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50946
50947 * commands/i386/pc/play.c: New file.
50948 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50949 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50950 macros.
f19dbdb7 50951
95dc3643 509522005-11-27 Marco Gerards <mgerards@xs4all.nl>
50953
50954 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50955 ((unused))' to silence gcc warning.
50956
1569ec51 509572005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50958
50959 * configure.ac: Correct `AC_PROG_YACC' test.
50960
9abde152 509612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50962
50963 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50964 check before installing files.
50965
44b83271 509662005-11-22 Mike Small <smallm@panix.com>
50967
50968 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50969 number regex so multidigit numbers are recognized correctly.
50970
509712005-11-22 Mike Small <smallm@panix.com>
50972
50973 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50974 debugging message before attempting to claim memory.
50975 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50976 multiple addresses in case of failure.
50977
9c12956b 509782005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50979
50980 * term/tparm.c (get_space): Remove empty `if' statement.
50981
50982 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50983
50984 * kern/parser.c (check_varstate): Rename `state' to 's'.
50985
aeaf81d9 509862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50987
50988 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50989 variable definitions to the beginning of each function. Sort stack
50990 variables by size.
50991 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50992 `buf' argument to `char *'.
50993
79bbb63f 509942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50995
50996 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50997 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50998 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50999 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51000 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51001 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51002 configfile.mod, search.mod, gzio.mod and test.mod.
51003 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51004 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51005 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51006 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51007 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51008 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51009 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51010 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51011 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51012 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51013 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51014 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51015 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51016 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51017 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51018 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51019 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51020 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51021 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51022 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51023 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51024 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51025 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51026
51027 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51028 `grep --include'.
51029 (pkgdata_MODULES): Add test.mod.
51030
233b1628 510312005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51032
51033 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51034 appending to variables with "+=".
51035 (PModule): Use full pathname to generate *.lst filenames.
51036
51037 * Makefile.in: Fixed list rules moved from genmk.rb.
51038 (.DELETE_ON_ERROR): New special target.
51039 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51040
51041 * conf/i386-pc.rmk: Include conf/common.mk.
51042 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51043 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 51044 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51045 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51046 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51047 configfile.mod, search.mod, gzio.mod and test.mod.
51048 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51049 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51050 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51051 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51052 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51053 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51054 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51055 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51056 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51057 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51058 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51059 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51060 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51061 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51062 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51063 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51064 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51065 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51066 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51067 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51068 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51069 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51070 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51071 here...
51072 * conf/common.rmk: ... to here. New file.
51073
51074 * conf/common.mk: New file.
51075
16f820c8 510762005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51077
51078 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51079 (grub_script.tab.c): ... here.
51080
51081 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51082 (grub_script.tab.c): ... here.
51083
51084 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51085 (grub_script.tab.c): ... here.
51086
51087 * normal/command.c (grub_command_find): Fixed a memory leak of
51088 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51089
63ba1554 510902005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51091
51092 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51093 "@" which marks the start of a comment on ARM.
51094 (VARIABLE): Likewise.
51095
7f67dc13 510962005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51097
79bbb63f 51098 Add support for Linux/ADFS partition tables.
7f67dc13 51099
51100 * partmap/acorn.c: New file.
51101
51102 * include/grub/acorn_filecore.h: Likewise.
51103
51104 * DISTLIST: Added `partmap/acorn.c' and
51105 `include/grub/acorn_filecore.h'.
f19dbdb7 51106
7f67dc13 51107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51108 `partmap/acorn.c'.
51109 (pkgdata_MODULES): Add `acorn.mod'.
51110 (acorn_mod_SOURCES): New variable.
51111 (acorn_mod_CFLAGS): Likewise.
51112
51113 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51114 `partmap/acorn.c'.
51115 (pkgdata_MODULES): Add `acorn.mod'.
51116 (acorn_mod_SOURCES): New variable.
51117 (acorn_mod_CFLAGS): Likewise.
51118
51119 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51120 (pkgdata_MODULES): Add `acorn.mod'.
51121 (acorn_mod_SOURCES): New variable.
51122 (acorn_mod_CFLAGS): Likewise.
51123 (acorn_mod_LDFLAGS): Likewise.
51124
51125 * include/types.h (grub_disk_addr_t): New typedef.
51126
6d099807 511272005-11-13 Marco Gerards <mgerards@xs4all.nl>
51128
51129 * geninit.sh: New file.
51130
51131 * geninitheader.sh: Likewise.
51132
51133 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51134 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51135 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51136 * commands/configfile.c (grub_configfile_init)
51137 (grub_configfile_fini): Likewise.
51138 * commands/default.c (grub_default_init, grub_default_fini):
51139 Likewise.
51140 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51141 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51142 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51143 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51144 Likewise.
51145 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51146 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51147 Likewise.
51148 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 51149 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 51150 Likewise.
51151 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51152 Likewise.
fe6b695a 51153 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 51154 Likewise.
51155 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51156 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51157 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51158 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51159 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51160 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51161 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51162 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51163 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51164 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51165 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51166 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51167 * partmap/amiga.c (grub_amiga_partition_map_init)
51168 (grub_amiga_partition_map_fini): Likewise.
51169 * partmap/apple.c (grub_apple_partition_map_init)
51170 (grub_apple_partition_map_fini): Likewise.
51171 * partmap/pc.c (grub_pc_partition_map_init)
51172 (grub_pc_partition_map_fini): Likewise.
51173 * partmap/sun.c (grub_sun_partition_map_init,
51174 grub_sun_partition_map_fini): Likewise.
51175 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51176 Likewise.
51177
51178 * util/grub-emu.c: Include <grub_modules_init.h>.
51179 (main): Don't initialize and de-initialize any modules directly,
51180 use `grub_init_all' and `grub_fini_all' instead.
51181
51182 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51183 `grub_vesafb_mod_init'.
51184 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51185 all users.
51186 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51187 `grub_vga_mod_init'. Updated all users.
51188 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 51189
6d099807 51190 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51191 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51192 rules.
51193
51194 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51195 Generate a function to initialize the module in utilities.
51196 Updated all callers.
51197 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51198 initialize the module in utilities. Updated all callers.
51199
9046bcf0 512002005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51201
51202 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51203 escape sequence and a literal ^L to clear the screen.
51204
51205 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51206 when returning from Open Firmware.
51207
d13ea639 512082005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51209
51210 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51211 (grub_ofconsole_height): Likewise.
51212 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51213 manually insert a '\n'.
51214 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51215 `grub_ofconsole_height'. Return early if these are already set.
51216
a8fcf206 512172005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51218
51219 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51220 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51221 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51222 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51223 and `normal/script.c'.
51224 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51225 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51226 (test_mod_SOURCES): New variable.
51227 (test_mod_CFLAGS): Likewise.
51228 (test_mod_LDFLAGS): Likewise.
51229 (pkgdata_MODULES): Add `test.mod'.
51230 (grub_script.tab.c): New rule.
51231 (grub_script.tab.h): Likewise.
51232
b6b32745 512332005-11-07 Marco Gerards <mgerards@xs4all.nl>
51234
51235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51236 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51237 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51238 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51239 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51240 (test_mod_SOURCES): New variable.
51241 (test_mod_CFLAGS): Likewise.
51242 (pkgdata_MODULES): Add `test.mod'.
51243 (grub_script.tab.c): New rule.
51244 (grub_script.tab.h): Likewise.
51245
daac212a 512462005-11-06 Marco Gerards <mgerards@xs4all.nl>
51247
51248 Add initial scripting support.
51249
51250 * commands/test.c: New file.
51251 * include/grub/script.h: Likewise.
51252 * normal/execute.c: Likewise.
51253 * normal/function.c: Likewise.
51254 * normal/lexer.c: Likewise.
51255 * normal/parser.y: Likewise.
51256 * normal/script.c: Likewise.
51257
51258 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 51259
daac212a 51260 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51261 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51262 `normal/function.c' and `normal/script.c'.
51263 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51264 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 51265 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51266 variables.
daac212a 51267 (pkgdata_MODULES): Add `test.mod'.
51268 (grub_script.tab.c): New rule.
51269 (grub_script.tab.h): Likewise.
51270
51271 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51272
51273 * include/grub/normal.h (grub_test_init): New prototype.
51274 (grub_test_fini): Likewise.
f19dbdb7 51275
daac212a 51276 * normal/command.c: Include <grub/script.h>.
51277 (grub_command_execute): Rewritten.
f19dbdb7 51278
daac212a 51279 * util/grub-emu.c (main): Call `grub_test_init' and
51280 `grub_test_fini'.
51281
77500b2b 512822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51283
51284 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51285 to 0.
51286 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51287 there are no pending characters.
51288
e45deb9e 512892005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51290
51291 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51292 `grub_strndup' to drop device arguments. Replace unnecessary
51293 `grub_strndup' with `grub_strdup'.
51294
4ce32619 512952005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51296
51297 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51298 `debug' environment variable has been set.
51299
513002005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51301
4ce32619 51302 * Makefile.in (install-local): Use $(DATA).
51303 (uninstall): Likewise.
51304 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51305 (sbin_UTILITIES): ... to here.
51306 (sbin_SCRIPTS): New variable.
51307 (grub_install_SOURCES): New variable.
51308 * util/powerpc/ieee1275/grub-install.in: New file.
51309 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51310 variable.
51311 (add_segments): Call `grub_util_get_path'.
51312
25fe6f03 513132005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51314
51315 From Timothy Baldwin:
51316 * commands/ls.c (grub_ls_list_files): Close FILE with
51317 grub_file_close.
51318 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51319
04ccf3ec 513202005-10-24 Marco Gerards <mgerards@xs4all.nl>
51321
51322 * include/grub/parser.h: New file.
51323
51324 * kern/parser.c: Likewise.
51325
51326 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51327 (grub_setup_SOURCES): Likewise.
51328 (grub_probefs_SOURCES): Likewise.
51329 (grub_emu_SOURCES): Likewise.
51330 (kernel_img_HEADERS): Add `parser.h'.
51331
51332 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51333 (grub_emu_SOURCES): Add `kern/parser.c'.
51334 (grubof_SOURCES): Likewise.
51335
51336 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51337 (grubof_SOURCES): Add `kern/parser.c'.
51338
51339 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51340
51341 * kern/misc.c (grub_split_cmdline): Removed function.
51342
51343 * kern/rescue.c: Include <grub/parser.h>.
51344 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51345 of `grub_split_cmdline'.
51346
51347 * normal/command.c: Include <grub/parser.h>.
51348 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51349 of `grub_split_cmdline'.
51350
51351 * normal/completion.c: Include <grub/parser.h>.
51352 (cmdline_state): New variable.
51353 (iterate_dir): End the filename with a quote depending on the
51354 command line state.
51355 (get_state): new function.
51356 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51357 split the arguments and determine the current argument. When the
51358 argument string is not quoted, escape all spaces.
51359
6d8f4b0e 513602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51361
51362 * normal/sparc64/setjmp.S: New file.
51363
15cf03ed 513642005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51365
51366 * include/grub/sparc64/libgcc.h: New file.
51367 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51368 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51369 normal/sparc64/setjmp.c.
51370
03e8661a 513712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51372
51373 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51374 * kern/sparc64/cache.S: New file.
51375 * kern/sparc64/cache.c: Removed.
51376 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51377 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51378 -mtune=ultrasparc.
51379 (COMMON_LDFLAGS): Add -melf64_sparc.
51380 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51381 (grubof_SOURCES): Use cache.S instead of cache.c.
51382 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51383 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51384 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51385 commented though.
51386 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51387 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51388 (linux_mod_CFLAGS): Commented out.
51389 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51390 out because module isn't built.
51391 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51392 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51393 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51394 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51395 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51396 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51397 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51398 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51399 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51400 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51401 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51402 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51403 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51404 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51405
34eeec8a 514062005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51407
51408 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51409 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51410 longer, because HFS should not be used on PC.
51411
708367a3 514122005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51413
51414 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51415 consistently within the loop.
51416
6fa1251a 514172005-10-15 Marco Gerards <mgerards@xs4all.nl>
51418
51419 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51420 directory can not be read.
51421
4801580b 514222005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51423
51424 * configure.ac (AC_INIT): Increase the version number to 1.91.
51425
51426 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51427 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51428 term/i386/pc/serial.c.
51429
219ad426 514302005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51431
51432 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51433 file size must be permitted.
51434
51435 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51436 between %ah and %al.
51437
688e5699 514382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51439
51440 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51441 grub_uint64_t.
51442 Call the hook with a NUL-terminated filename.
51443 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51444 grub_cpu_to_be32.
51445
51446 * kern/term.c (cursor_state): New variable.
51447 (grub_term_set_current): Reset the cursor state on a new
51448 terminal.
51449 (grub_setcursor): Rewritten to use CURSOR_STATE.
51450 (grub_getcursor): New function.
51451
51452 * include/grub/term.h (grub_getcursor): New prototype.
51453
51454 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51455 integers on ARM. Reported by Timothy Baldwin
51456 <T.E.Baldwin99@members.leeds.ac.uk>.
51457
bb34586c 514582005-10-11 Marco Gerards <mgerards@xs4all.nl>
51459
51460 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51461 allocated.
51462 (grub_sfs_dir): Likewise.
51463
9a909877 514642005-10-09 Marco Gerards <mgerards@xs4all.nl>
51465
51466 Add support for the SFS filesystem.
51467
51468 * fs/sfs.c: New file.
51469
51470 * DISTLIST: Added `fs/sfs.c'.
51471
51472 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51473 (grub_probefs_SOURCES): Likewise.
51474 (grub_emu_SOURCES): Likewise.
51475 (pkgdata_MODULES): Add `sfs.mod'.
51476 (sfs_mod_SOURCES): New variable.
51477 (sfs_mod_CFLAGS): Likewise.
51478 (sfs_mod_LDFLAGS): Likewise.
51479
51480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51481 (pkgdata_MODULES): Add `sfs.mod'.
51482 (sfs_mod_SOURCES): New variable.
51483 (sfs_mod_CFLAGS): Likewise.
51484
51485 * util/grub-emu.c (main): Call `grub_sfs_init' and
51486 `grub_sfs_fini'.
51487
51488 * include/grub/fs.h (grub_sfs_init): New prototype.
51489 (grub_sfs_fini): Likewise.
51490
57bdbde3 514912005-10-07 Marco Gerards <mgerards@xs4all.nl>
51492
51493 Add support for the AFFS filesystem.
51494
51495 * fs/affs.c: New file.
51496
51497 * DISTLIST: Added `fs/affs.c'.
51498
51499 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51500 (grub_probefs_SOURCES): Likewise.
51501 (grub_emu_SOURCES): Likewise.
51502 (pkgdata_MODULES): Add `affs.mod'.
51503 (affs_mod_SOURCES): New variable.
51504 (affs_mod_CFLAGS): Likewise.
51505 (affs_mod_LDFLAGS): Likewise.
51506
51507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51508 (pkgdata_MODULES): Add `affs.mod'.
51509 (affs_mod_SOURCES): New variable.
51510 (affs_mod_CFLAGS): Likewise.
51511
51512 * util/grub-emu.c (main): Call `grub_affs_init' and
51513 `grub_affs_fini'.
51514
51515 * include/grub/fs.h (grub_affs_init): New prototype.
51516 (grub_affs_fini): Likewise.
51517
047b67e0 515182005-10-01 Marco Gerards <mgerards@xs4all.nl>
51519
51520 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51521
59b8208a 515222005-10-01 Marco Gerards <mgerards@xs4all.nl>
51523
51524 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51525 `-m32' to CFLAGS.
51526
51527 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51528 linking.
f19dbdb7 51529
59b8208a 51530 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51531 (COMMON_LDFLAGS): New variable.
51532 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51533 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51534 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51535 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51536 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51537 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51538 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51539 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51540 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51541 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51542 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51543 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51544 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51545 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51546 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51547 variables.
51548 (normal_mod_ASFLAGS): Add `-m32'.
51549
51550 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51551 (grub_host_size_t, grub_host_ssize_t): New types.
51552 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51553 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51554 `GRUB_HOST_SIZEOF_VOID_P'.
51555
51556 * include/grub/kernel.h (struct grub_module_header): Type of
51557 member offset changed to `grub_host_off_t'. Type of member size
51558 changed to `grub_host_size_t'.
51559 (struct grub_module_info): Type of member offset changed to
51560 `grub_host_off_t'. Type of member size changed to
51561 `grub_host_size_t'.
51562
b4093103 515632005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51564
51565 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51566
b4093103 51567 * kern/i386/pc/startup.S (multiboot_header): New label.
51568 (multiboot_entry): Likewise.
51569 (multiboot_trampoline): Likewise.
51570
51571 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51572 Increased to 0x4A0.
51573
51574 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51575 put parentheses after a question mark.
51576 [!GRUB_UTIL] (my_mod): New variable.
51577
51578 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51579
b2499b29 515802005-09-28 Marco Gerards <mgerards@xs4all.nl>
51581
51582 Adds support for the XFS filesystem. Btrees are not supported
51583 yet.
51584
51585 * fs/xfs.c: New file.
51586
51587 * DISTLIST: Added `fs/xfs.c'.
51588
51589 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51590 (grub_probefs_SOURCES): Likewise.
51591 (grub_emu_SOURCES): Likewise.
51592 (pkgdata_MODULES): Add `xfs.mod'.
51593 (xfs_mod_SOURCES): New variable.
51594 (xfs_mod_CFLAGS): Likewise.
51595
51596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51597 (pkgdata_MODULES): Add `xfs.mod'.
51598 (xfs_mod_SOURCES): New variable.
51599 (xfs_mod_CFLAGS): Likewise.
51600
51601 * util/grub-emu.c (main): Call `grub_xfs_init' and
51602 `grub_xfs_fini'.
51603
51604 * include/grub/fs.h (grub_xfs_init): New prototype.
51605 (grub_xfs_fini): Likewise.
51606
f19dbdb7 51607
83d37a62 516082005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51609
51610 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51611 color modes, allow greater than 16 colors to be configured as
51612 a default palette.
51613
47d2d65e 516142005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51615
51616 * normal/completion.c (complete_arguments): Add the qualifier
51617 const into OPTIONS.
51618
51619 From Omniflux <omniflux+lists@omniflux.com>:
51620 * include/grub/terminfo.h: New file.
51621 * include/grub/tparm.h: Likewise.
51622 * include/grub/i386/pc/serial.h: Likewise.
51623 * term/terminfo.c: Likewise.
51624 * term/tparm.c: Likewise.
51625 * term/i386/pc/serial.c: Likewise.
51626 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51627 serial.mod.
51628 (terminfo_mod_SOURCES): New variable.
51629 (terminfo_mod_CFLAGS): Likewise.
51630 (serial_mod_SOURCES): Likewise.
51631 (serial_mod_CFLAGS): Likewise.
51632
48b671ff 516332005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51634
51635 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51636 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51637 and kern/powerpc/ieee1275/cmain.c, respectively.
51638
51639 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51640 * kern/powerpc/ieee1275/crt0.S: ... here.
51641
51642 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51643 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51644
48b671ff 51645 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51646 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51647 instead of boot/powerpc/ieee1275/crt0.S and
51648 boot/powerpc/ieee1275/cmain.c, respectively.
51649
51650 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51651 sectors. It was not used anyway.
51652
09fc77a7 516532005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51654
51655 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51656 `unused parameter' warning.
51657
003789c7 516582005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51659
51660 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51661 function.
51662 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51663 getcharwidth.
51664
67f44c86 516652005-08-28 Marco Gerards <metgerards@student.han.nl>
51666
51667 * include/grub/normal.h (enum grub_completion_type): Added
51668 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51669
51670 * normal/cmdline.c (print_completion): Handle
51671 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51672 * normal/menu_entry.c (store_completion): Likewise.
51673
51674 * normal/completion.c (complete_arguments): New function.
51675 (grub_normal_do_completion): Call `complete_arguments' when the
51676 current words start with a dash.
51677
0b5abe02 516782005-08-27 Marco Gerards <metgerards@student.han.nl>
51679
51680 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51681 `gzio.mod' instead of `io.mod').
51682
d9864ee1 516832005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51684
51685 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51686 (DISTDIRS): Added io and video.
51687 Rewrite the search routine to make an output consistently.
51688
51689 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51690 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51691 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51692 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51693 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51694 util/powerpc/ieee1275/misc.c.
f19dbdb7 51695
d9864ee1 51696 * include/grub/gzio.h: New file.
51697 * io/gzio.c: Likewise.
f19dbdb7 51698
d9864ee1 51699 * kern/file.c (grub_file_close): Call grub_device_close only if
51700 FILE->DEVICE is not NULL.
51701
51702 * include/grub/mm.h [!NULL] (NULL): New macro.
51703
51704 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51705
51706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51707 (pkgdata_MODULES): Added gzio.mod.
51708 (gzio_mod_SOURCES): New variable.
51709 (gzio_mod_CFLAGS): Likewise.
51710
51711 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51712 (pkgdata_MODULES): Added gzio.mod.
51713 (gzio_mod_SOURCES): New variable.
51714 (gzio_mod_CFLAGS): Likewise.
51715
51716 * commands/cat.c: Include grub/gzio.h.
51717 (grub_cmd_cat): Use grub_gzfile_open instead of
51718 grub_file_open.
f19dbdb7 51719
d9864ee1 51720 * commands/cmp.c: Include grub/gzio.h.
51721 (grub_cmd_cmp): Use grub_gzfile_open instead of
51722 grub_file_open.
51723
51724 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51725 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51726 grub_file_open.
51727 (grub_rescue_cmd_module): Likewise.
51728
fa46f4b5 517292005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51730
51731 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51732 kern/sparc64/ieee1275/init.c because it contains _start.
51733 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51734
e9211b5d 517352005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51736
51737 * configure.ac: Add support for sparc64 host with ieee1275
51738 firmware.
51739 * configure: Generated from configure.ac.
51740 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51741 instead of int.
51742 (grub_ofdisk_read): Likewise.
51743 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51744 pointers as (void *) to remove a warning.
51745 (grub_ofdisk_close): Likewise.
51746 (grub_ofdisk_read): Likewise.
51747 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51748 returns, so make it return void to remove a warning.
51749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51750 Corresponding prototype change.
51751 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51752 values, and cast the pointers as (void *) to remove a warning.
51753 (grub_mm_dump): Likewise.
51754 * conf/sparc64-ieee1275.mk: New file.
51755 * conf/sparc64-ieee1275.rmk: Likewise.
51756 * include/grub/sparc64/setjmp.h: Likewise.
51757 * include/grub/sparc64/types.h: Likewise.
51758 * include/grub/sparc64/ieee1275/console.h: Likewise.
51759 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51760 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51761 * include/grub/sparc64/ieee1275/time.h: Likewise.
51762 * kern/sparc64/cache.c: Likewise.
51763 * kern/sparc64/dl.c: Likewise.
51764 * kern/sparc64/ieee1275/init.c: Likewise.
51765 * kern/sparc64/ieee1275/openfw.c: Likewise.
51766
385c6a92 517672005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51768
51769 * util/console.c (grub_ncurses_putchar): If C is greater than
51770 0x7f, set C to a question mark.
51771 (grub_ncurses_getcharwidth): New function.
51772 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51773 getcharwidth.
51774
51775 * normal/menu.c (print_entry): Made aware of Unicode. First,
51776 convert TITLE to UCS-4, and predict the cursor position by
51777 grub_getcharwidth.
51778
51779 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51780 const to SRC.
51781 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51782
16ccb8b1 517832005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51784
51785 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51786 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51787 grub_strcat.
51788
51789 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51790 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51791 grub_strcpy and grub_strlen. Take it into account that a space
51792 character is inserted as a delimiter.
51793
6a85ce79 517942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51795
51796 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51797 invalid magic in the error.
6a85ce79 51798
51799 * commands/search.c: New file.
f19dbdb7 51800
6a85ce79 51801 * util/grub-emu.c (main): Call grub_search_init and
51802 grub_search_fini.
51803
51804 * kern/rescue.c (grub_rescue_print_disks): Removed.
51805 (grub_rescue_print_devices): New function.
51806 (grub_rescue_cmd_ls): Use grub_device_iterate with
51807 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51808 grub_rescue_print_disks.
51809
51810 * kern/partition.c (grub_partition_iterate): Return the result of
51811 PARTMAP->ITERATE instead of GRUB_ERRNO.
51812
51813 * kern/device.c: Include grub/partition.h.
51814 (grub_device_iterate): New function.
51815
51816 * include/grub/partition.h (grub_partition_iterate): Return int
51817 instead of grub_err_t.
51818
51819 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51820 prototype.
51821 [GRUB_UTIL] (grub_search_fini): Likewise.
51822
51823 * include/grub/device.h (grub_device_iterate): New prototype.
51824
51825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51826 commands/search.c.
51827 (pkgdata_MODULES): Added search.mod.
51828 (search_mod_SOURCES): New variable.
51829 (search_mod_CFLAGS): Likewise.
51830
51831 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51832 (pkgdata_MODULES): Added search.mod.
51833 (search_mod_SOURCES): New variable.
51834 (search_mod_CFLAGS): Likewise.
51835
51836 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51837 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51838 All callers changed.
51839
51840 * DISTLIST: Added commands/search.c.
51841
ef095434 518422005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51843
51844 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51845 conversion.
51846 (grub_getcharwidth): New function.
51847
51848 * kern/misc.c (grub_utf8_to_ucs4): New function.
51849
51850 * include/grub/term.h (struct grub_term): Added a new member
51851 "getcharwidth".
51852 (grub_getcharwidth): New prototype.
51853
51854 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51855
51856 * term/i386/pc/console.c (map_char): New function. Segregated from
51857 grub_console_putchar.
51858 (grub_console_putchar): Use map_char.
51859 (grub_console_getcharwidth): New function.
51860 (grub_console_term): Specified grub_console_getcharwidth as
51861 getcharwidth.
51862
51863 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51864 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51865
51866 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51867 GRUB_ERRNO.
51868 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51869 on grub_strtoul completely.
51870 (write_char): Declare local variables in the beginning of the
51871 function.
51872 (grub_vesafb_getcharwidth): New function.
51873 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51874 getcharwidth.
51875
1f0a95e4 518762005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51877
51878 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51879 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51880 commands/i386/pc/vbetest.c.
51881
51882 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51883 call grub_vbe_get_controller_info again, because the returned
51884 information is volatile.
51885 (grub_vbe_set_video_mode): Mostly rewritten.
51886 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51887 grub_vbe_status_t correctly.
51888 (grub_vbe_get_video_mode_info): Likewise.
51889 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51890 several if statements.
51891
51892 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51893 * commands/i386/pc/vbeinfo.c: ... this.
51894
51895 * commands/i386/pc/vbe_test.c: Renamed to ...
51896 * commands/i386/pc/vbetest.c: ... this.
51897
51898 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51899 ...
51900 (grub_cmd_vbeinfo): ... this. Save video modes before
51901 iterating. Skip a video mode, if it is not available, not enough
51902 information is given or it is monochrome. Show the memory
51903 model. Leave the interpretation of MODEVAR to grub_strtoul
51904 completely.
51905 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51906 (GRUB_MOD_FINI): Likewise.
51907
51908 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51909 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51910 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51911 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51912 grub_strtoul completely.
51913 (real2pm): Removed.
51914 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51915 (GRUB_MOD_FINI): Likewise.
51916
51917 * normal/misc.c: Include grub/mm.h.
51918
51919 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51920 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51921 (vbe_list_modes_mod_SOURCES): Removed.
51922 (vbe_list_modes_mod_CFLAGS): Likewise.
51923 (vbe_test_mod_SOURCES): Likewise.
51924 (vbe_test_mod_CFLAGS): Likewise.
51925 (vbeinfo_mod_SOURCES): New variable.
51926 (vbeinfo_mod_CFLAGS): Likewise.
51927 (vbetest_mod_SOURCES): Likewise.
51928 (vbetest_mod_CFLAGS): Likewise.
51929
992ffbbe 519302005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51931
51932 * normal/misc.c: New file.
51933
51934 * DISTLIST: Added normal/misc.c.
f19dbdb7 51935
992ffbbe 51936 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51937 DISK to HOOK. Call HOOK with DISK.
51938 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51939 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51940 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51941
51942 * normal/menu_entry.c (struct screen): Added a new member
51943 "completion_shown".
51944 (completion_buffer): New global variable.
51945 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51946 (store_completion): New function.
51947 (complete): Likewise.
51948 (clear_completions): Likewise.
51949 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51950 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51951 a tab, call complete.
51952
51953 * normal/completion.c (disk_dev): Removed.
51954 (print_simple_completion): Likewise.
51955 (print_partition_completion): Likewise.
51956 (print_func): New global variable.
51957 (add_completion): Do not take the arguments WHAT or PRINT any
51958 longer. Added a new argument TYPE. Instead of printing directly,
51959 call PRINT_FUNC if not NULL.
51960 All callers changed.
51961 (complete_device): Use a local variable DEV instead of
51962 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51963 (grub_normal_do_completion): Take a new argument HOOK. Do not
51964 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51965 empty string, return NULL instead.
51966 All callers changed.
51967
51968 * normal/cmdline.c (print_completion): New function.
51969
51970 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51971 to HOOK.
51972 All callers changed.
51973
51974 * kern/disk.c (grub_print_partinfo): Removed.
51975
51976 * include/grub/partition.h (struct grub_partition_map): Add a new
51977 argument DISK into HOOK of ITERATE.
51978 (grub_partition_iterate): Add a new argument DISK to HOOK.
51979
51980 * include/grub/normal.h (enum grub_completion_type): New enum.
51981 (grub_completion_type_t): New type.
51982 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51983 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51984 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51985 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51986 (grub_normal_do_completion): Added a new argument HOOK.
51987 (grub_normal_print_device_info): New prototype.
51988
51989 * include/grub/disk.h (grub_print_partinfo): Removed.
51990
51991 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51992 (normal_mod_SOURCES): Likewise.
51993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51994 (normal_mod_SOURCES): Likewise.
51995
51996 * commands/ls.c (grub_ls_list_disks): Use
51997 grub_normal_print_device_info instead of grub_print_partinfo. Free
51998 PNAME.
51999 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52000 duplicating the code.
52001
0bd41162 520022005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52003
52004 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 52005 follow GCS more precisely.
52006 * commands/i386/pc/vbe_test.c: Likewise.
52007 * include/grub/i386/pc/vbe.h: Likewise.
52008 * term/i386/pc/vesafb.c: Likewise.
52009 * video/i386/pc/vbe.c: Likewise.
0bd41162 52010
6323696a 520112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52012
52013 * DISTLIST: Added term/i386/pc/vesafb.c
52014 DISTLIST: Added video/i386/pc/vbe.c
52015 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52016 DISTLIST: Added commands/i386/pc/vbe_test.c.
52017 * commands/i386/pc/vbe_list_modes.c: New file.
52018 * commands/i386/pc/vbe_test.c: Likewise.
52019 * term/i386/pc/vesafb.c: Likewise.
52020 * video/i386/pc/vbe.c: Likewise.
52021 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52022 (grub_vbe_probe) Added prototype.
52023 (grub_vbe_set_video_mode) Likewise.
52024 (grub_vbe_get_video_mode) Likewise.
52025 (grub_vbe_get_video_mode_info) Likewise.
52026 (grub_vbe_set_pixel_rgb) Likewise.
52027 (grub_vbe_set_pixel_index) Likewise.
52028 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52029 (pkgdata_MODULES): Added vesafb.mod.
52030 (pkgdata_MODULES): Added vbe_list_modes.mod.
52031 (pkgdata_MODULES): Added vbe_test.mod.
52032 (vbe_mod_SOURCES): Added.
52033 (vbe_mod_CFLAGS): Likewise.
52034 (vesafb_mod_SOURCES): Likewise.
52035 (vesafb_mod_CFLAGS): Likewise.
52036 (vbe_list_modes_mod_SOURCES): Likewise.
52037 (vbe_list_modes_mod_CFLAGS): Likewise.
52038 (vbe_test_mod_SOURCES): Likewise.
52039 (vbe_test_mod_CFLAGS): Likewise.
52040
0a74e62f 520412005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52042
0a74e62f 52043 * normal/command.c (grub_command_execute): If INTERACTIVE is
52044 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52045 CMDLINE. Disable the pager if INTERACTIVE is true.
52046 All callers are changed.
52047
52048 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52049 before reading a config file.
52050 * normal/main.c (read_config_file): Even if a command is not
52051 found, register it if it is within an entry.
52052
52053 * util/grub-emu.c: Include sys/types.h and unistd.h.
52054 (options): Added --hold.
52055 (struct arguments): Added a new member "hold".
52056 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52057 missing.
52058 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52059 cleared by a debugger, if it is not zero.
52060
52061 * include/grub/normal.h (grub_command_execute): Add an argument
52062 INTERACTIVE.
52063
e51f85ae 520642005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52065
52066 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52067
e9c6f39b 520682005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52069
52070 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52071 program with another one, because the old one didn't detect a bug
52072 in gcc-3.4. Always use regparm 2, because the new test is still
52073 not enough for gcc-4.0. Someone must investigate a simple test
52074 case which detects a bug in gcc-4.0.
52075
8de3495c 520762005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52077
52078 * DISTLIST: Added normal/completion.c.
52079
52080 * normal/completion.c: New file.
f19dbdb7 52081
8de3495c 52082 * term/i386/pc/console.c (grub_console_getwh): New function.
52083 (grub_console_term): Assign grub_console_getwh to getwh.
52084
52085 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52086 function is defined in normal/completion.c as
52087 grub_normal_do_completion.
52088 (grub_cmdline_get): Use grub_normal_do_completion instead of
52089 grub_tab_complete.
52090
52091 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52092 returns non-zero, otherwise return 0.
52093 (grub_partition_iterate): First, probe the partition map. Then,
52094 call ITERATE only for this partition map.
52095
52096 * kern/misc.c (grub_strncmp): Rewritten.
52097
52098 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52099 returns non-zero. Otherwise return 0.
52100
52101 * include/grub/partition.h (grub_partition_map_iterate): Return
52102 int instead of void.
52103
52104 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52105
52106 * include/grub/misc.h (grub_strncmp): Change the type of N to
52107 grub_size_t.
52108
52109 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52110 of void.
52111
52112 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 52113 unsigned explicitly before comparing it with I.
8de3495c 52114
52115 * kern/main.c (grub_env_write_root): Add the attribute unused into
52116 VAR.
52117
52118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52119 normal/completion.c.
52120 (normal_mod_SOURCES): Likewise.
52121 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52122 (normal_mod_SOURCES): Likewise.
52123
52124 * normal/command.c (grub_iterate_commands): If ITERATE returns
52125 non-zero, return one immediately.
52126
e85e144b 521272005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52128
52129 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52130 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52131 descriptions.
52132 (grub_vbe_get_controller_info): New function.
52133 (grub_vbe_get_mode_info): Likewise.
52134 (grub_vbe_set_mode): Likewise.
52135 (grub_vbe_get_mode): Likewise.
52136 (grub_vbe_set_memory_window): Likewise.
52137 (grub_vbe_get_memory_window): Likewise.
52138 (grub_vbe_set_scanline_length): Likewise.
52139 (grub_vbe_get_scanline_length): Likewise.
52140 (grub_vbe_set_display_start): Likewise.
52141 (grub_vbe_get_display_start): Likewise.
52142 (grub_vbe_set_palette_data): Likewise.
52143 * include/grub/i386/pc/vbe.h: New file.
52144
c46153d2 521452005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52146
52147 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52148 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52149 * DISTLIST: Likewise.
52150 * kern/ieee1275/of.c: Moved to ...
52151 * kern/ieee1275/ieee1275.c: ... here.
52152
0cb90c45 521532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52154
52155 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52156 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52157 Pass 0 as `end' parameter to grub_strtoul().
52158
a19fb360 521592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52160
52161 * include/grub/powerpc/ieee1275/console.h: Do not include
52162 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52163 ifdef.
52164 (grub_console_cur_color): Remove i386-specific prototype.
52165 (grub_console_real_putchar): Likewise.
52166 (grub_console_checkkey): Likewise.
52167 (grub_console_getkey): Likewise.
52168 (grub_console_getxy): Likewise.
52169 (grub_console_gotoxy): Likewise.
52170 (grub_console_cls): Likewise.
52171 (grub_console_setcursor): Likewise.
52172 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52173 Include <grub/machine/console.h>.
52174 * term/ieee1275/ofconsole.c: Likewise.
52175
4ac9bd04 521762005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52177
52178 * Makefile.in (LIBLZO): New variable.
52179
52180 * configure.ac: Check for LZO version 2.
52181
52182 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52183 lzo/lzo1x.h instead of lzo1x.h.
52184
52185 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52186 of -llzo.
52187
52188 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52189 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52190
52191 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52192 copying the data from PARTITION to P.
52193
f4917dfd 521942005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52195
52196 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52197 negative, unload the module.
52198
52199 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52200 map is "pc_partition_map" but not "pc".
52201 (usage): Fix the description. The options are --boot-image and
52202 --core-image but not --boot-file or --core-file.
52203 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52204 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52205 DEFAULT_DIRECTORY.
52206
52207 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52208 --core-file. Specify INSTALL_DEVICE as an argument.
52209
52210 * util/console.c: Include config.h.
52211 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52212 [HAVE_NCURSES_H]: Include ncurses.h.
52213 [HAVE_CURSES_H]: Include curses.h.
52214 [!A_NORMAL] (A_NORMAL): Defined as zero.
52215 [!A_STANDOUT] (A_STANDOUT): Likewise.
52216
52217 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52218 -lncurses.
52219 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52220
52221 * configure.ac: Check for curses libraries and headers.
52222
52223 * Makefile.in (LIBCURSES): New variable.
52224
52225 * genmk.rb (Script::rule): Set the executable bits.
52226
52227 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52228 name of the PC partition map is "pc_partition_map" but not "pc".
52229
0e143073 522302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52231
52232 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52233 (modules): Likewise.
52234 (usage): Added descriptions for --modules and --grub-probefs.
52235 Handle --modules and --grub-probefs. Save the arguments in MODULES
52236 and GRUB_PROBEFS, respectively.
52237 Auto-detect a filesystem module against GRUBDIR. If the result is
52238 empty and modules are not specified explicitly, abort the
52239 installation. Add the result to MODULES.
52240
52241 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52242 disk/powerpc/ieee1275/ofdisk.c,
52243 include/grub/powerpc/ieee1275/init.h and
52244 term/powerpc/ieee1275/ofconsole.c.
52245 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52246 term/ieee1275/ofconsole.c.
52247
52248 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52249
52250 * COPYING: Upgraded to the latest version. Only the address of the
52251 FSF office has changed.
f19dbdb7 52252
efd6e6d5 522532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52254
52255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52256 kern/ieee1275.c with kern/ieee1275/of.c.
52257
52258 * kern/ieee1275.c: Moved to ...
52259 * kern/ieee1275/of.c: ... here.
52260
8ceafda2 522612005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52262
52263 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 52264 readability.
8ceafda2 52265
52266 * config.guess: Updated to the latest version from gnulib.
52267 * config.sub: Likewise.
52268 * install.sh: Likewise.
52269 * mkinstalldirs: Likewise.
52270
52271 * include/grub/console.h: Removed. This file is arch-specific. Do
52272 not put this in include/grub.
52273
52274 * include/grub/i386/pc/console.h: Resurrected.
52275
52276 * util/console.c: Include grub/machine/console.h instead of
52277 grub/console.h.
52278 * util/grub-emu.c: Likewise.
52279
267f6cd9 522802005-08-04 Marco Gerards <metgerards@student.han.nl>
52281
52282 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52283 hardcoded value.
f19dbdb7 52284
267f6cd9 52285 From Vincent Pelletier <subdino2004@yahoo.fr>
52286 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52287 Redefined to use grub_getwh.
52288 (grub_term): New member named getwh.
52289 (grub_getwh): New prototype.
52290 * kern/term.c (grub_getwh): New function.
52291 * term/i386/pc/console.c (grub_console_getwh): New function.
52292 (grub_console_term): New member `getwh'.
52293 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52294 (grub_vga_term): New member `getwh'.
0b5abe02 52295 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 52296 grub_ssize_t.
52297 (grub_ofconsole_getw): New function.
52298 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52299 (grub_ofconsole_term): New field named getwh and new initial
52300 value.
52301
3be7266d 523022005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52303
52304 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52305 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52306 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52307 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52308 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52309 of <grub/machine/ieee1275.h>.
52310 * commands/ieee1275/reboot.c: Likewise.
52311 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52312 * kern/ieee1275.c: ... to here. All users updated. Change all
52313 parameter structs to use new type `grub_ieee1275_cell_t'.
52314 * term/powerpc/ieee1275/ofconsole.c: Move ...
52315 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52316 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52317 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52318 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52319 to return int.
52320 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52321 Remove unused prototypes. All users updated.
52322 * include/grub/powerpc/ieee1275/console.h: Removed.
52323 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52324 `grub_ieee1275_cell_t'.
52325 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52326 Cast comparisons with -1 to the correct type.
52327 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52328 type to match `grub_ieee1275_entry_fn'.
52329
8b5f3938 523302005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52331
52332 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52333
52334 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52335 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52336 partmap/sun.c.
52337 (grub_probefs_SOURCES): New variable.
52338
52339 * util/i386/pc/grub-probefs.c: New file.
52340
52341 * util/i386/pc/grub-setup.c (main): Call
52342 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52343 grub_hfs_init and grub_jfs_init to initialize the system. Call
52344 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52345 grub_pc_partition_map_fini to finish the system.
52346
ea409713 523472005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52348
52349 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52350 function.
52351 (grub_multiboot_load_elf32): Likewise.
52352 (grub_multiboot_is_elf64): Likewise.
52353 (grub_multiboot_load_elf64): Likewise.
52354 (grub_multiboot_load_elf): Likewise.
52355 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52356 an ELF32 or ELF64 file.
52357 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52358
52359 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52360 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52361 NULL before calling FS->LABEL.
52362 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52363 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52364 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52365 before calling FS->LABEL.
52366
141a288b 523672005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52368
52369 * util/i386/pc/grub-install.in (datadir): New variable.
52370 (libdir): Removed.
52371 (pkgdatadir): New variable.
52372 (pkglibdir): Removed.
52373
0d5f8a54 523742005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52375
52376 * DISTLIST: Added util/i386/pc/grub-install.in.
52377
52378 * util/i386/pc/grub-install.in: New file.
52379
52380 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52381 (grub_install_SOURCES): Likewise.
52382
52383 * genmk.rb: Added support for scripts.
52384 (Script): New class.
52385 (scripts): New variable.
52386
52387 * Makefile.in (install-local): Install sbin_SCRIPTS by
52388 INSTALL_SCRIPT.
52389 (uninstall): Remove sbin_SCRIPTS.
52390
52391 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52392 device, try to get a GRUB device by
52393 grub_util_biosdisk_get_grub_dev.
52394 Free DEST_DEV.
52395
52396 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52397 description for --device-map.
52398
5f968e1e 523992005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52400
52401 Change the semantics of variable hooks. They now return strings
52402 instead of error values.
f19dbdb7 52403
5f968e1e 52404 * util/i386/pc/grub-setup.c: Include grub/env.h.
52405 (setup): Use grub_device_set_root instead of grub_env_set.
52406
52407 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52408 grub_env_get instead of grub_device_set_root and
52409 grub_device_get_root, respectively.
52410
52411 * kern/main.c (grub_env_write_root): New function.
52412 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52413 grub_env_set instead of grub_device_set_root.
52414
52415 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52416 many variables.
52417 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52418 rather than calling ENV->WRITE_HOOK afterwards.
52419 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52420 passing a pointer of a pointer.
52421 (grub_register_variable_hook): Change the types of "read_hook" and
52422 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52423 respectively.
52424 Allocate the default empty string on the heap, because this string
52425 may be freed later.
52426
52427 * kern/device.c: Include grub/env.h.
52428 (grub_device_set_root): Removed.
52429 (grub_device_get_root): Likewise.
52430 (grub_device_open): Use grub_env_get instead of
52431 grub_device_get_root.
52432
52433 * include/grub/env.h (grub_env_read_hook_t): New type.
52434 (grub_env_write_hook_t): Likewise.
52435 (grub_env_var): Change the types of "read_hook" and "write_hook"
52436 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52437 (grub_register_variable_hook): Likewise.
52438
52439 * include/grub/device.h (grub_device_set_root): Removed.
52440 (grub_device_set_root): Likewise.
52441
52442 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52443 make sure that DIRNAME terminates with '/', so that
52444 grub_fat_find_dir will fail if PATH is not a directory.
52445
52446 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52447 from DIRNAME.
52448 Use the qualifier auto for print_files and print_files_long.
52449 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52450 as a regular file.
52451 Put a newline only if there is no error.
52452 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52453 used.
52454
896f0afd 524552005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52456
52457 * kern/partition.c (grub_partition_probe): Initialize PART to
52458 NULL. Otherwise, when no partition map is registered, this returns
52459 a garbage.
52460
b28b81b2 524612005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52462
52463 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52464 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52465 valid.
52466
5f3607e0 524672005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52468
52469 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52470 information on each device, if it does not have partitions. Print
52471 "Device" instead of "Disk", because this function is not specific
52472 to disk devices.
52473
52474 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52475 static to ensure that it is put on the memory rather than a
52476 register.
52477
502c87e8 524782005-07-17 Yoshinori Okuji <okuji@enbug.org>
52479
52480 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52481 (grub_cat_init): Likewise.
52482 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52483 (options): Likewise.
52484 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52485 (grub_configfile_init): Likewise.
52486 * font/manager.c (GRUB_MOD_INIT): Likewise.
52487 * commands/help.c (GRUB_MOD_INIT): Likewise.
52488 (grub_help_init): Likewise.
52489 * normal/command.c (grub_command_init): Likewise.
52490 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52491 * disk/loopback.c (grub_loop_init): Likewise.
52492 (GRUB_MOD_INIT): Likewise.
52493 * commands/ls.c (grub_ls_init): Likewise.
52494 (GRUB_MOD_INIT): Likewise.
52495 (options): Likewise.
52496 * commands/boot.c (grub_boot_init): Likewise.
52497 (GRUB_MOD_INIT): Likewise.
52498 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52499 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52500 (GRUB_MOD_INIT): Likewise.
52501 * commands/cmp.c (grub_cmp_init): Likewise.
52502 (GRUB_MOD_INIT): Likewise.
52503
52504 * normal/arg.c: Use <> instead of "" to include header files.
52505 (SHORT_ARG_HELP): New macro.
52506 (SHORT_ARG_USAGE): Likewise.
52507 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52508 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52509 descriptions.
52510 (find_short): Check if C is 'h' or 'u' explicitly.
52511 (grub_arg_show_help): Use space characters instead of tabs. Treat
52512 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52513 are shown with --help and --usage only if they are not used for
52514 the command itself.
52515 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52516 'h' and 'u'.
52517
52518 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52519 const into "longarg". Change the type of "shortarg" to int.
52520
f806d18e 525212005-07-17 Yoshinori Okuji <okuji@enbug.org>
52522
52523 * boot/i386/pc/boot.S (boot_drive_check): New label.
52524
52525 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52526 macro.
52527
52528 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52529 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52530
e293232b 525312005-07-17 Yoshinori Okuji <okuji@enbug.org>
52532
52533 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52534 When turning off Gate A20, skip the check and return immediately,
52535 because this is not fatal usually.
52536
ebedfd00 525372005-07-17 Yoshinori Okuji <okuji@enbug.org>
52538
52539 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52540 be 0x7C00 instead of 0x8000.
52541
52542 * boot/i386/pc/pxeboot.S: Rewritten.
52543
52544 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52545 EXT_C.
52546 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52547 result.
52548
654fc59f 525492005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52550
52551 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52552 robustness. This routine now supports a BIOS call and System
52553 Control Port A to modify the gate A20.
52554
52555 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52556 Increased to 0x440.
52557
09f9923f 525582005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52559
52560 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52561 device path and resulting ihandle.
52562 (grub_ofdisk_close): dprintf the ihandle being closed.
52563 (grub_ofdisk_read): dprintf function parameters.
52564 * kern/mm.c (grub_mm_init_region): Likewise.
52565 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52566 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52567 size, and boot arguments.
52568 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52569 before loading into memory.
52570 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52571 before loading into memory.
52572
7ef504d8 525732005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52574
52575 * kern/mm.c: Added much documentation.
52576 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52577 8, set to 5 instead of 8.
52578
e0f050c2 525792005-07-10 Yoshinori Okuji <okuji@enbug.org>
52580
52581 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52582
52583 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52584 (grub_mkdevicemap_SOURCES): New variable.
52585
52586 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52587 lib/device.c of GRUB Legacy.
52588
7224189a 525892005-07-10 Yoshinori Okuji <okuji@enbug.org>
52590
52591 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52592 instead of PATH is NULL.
52593
68c864eb 525942005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52595
52596 * commands/cmp.c (BUFFER_SIZE): New macro.
52597 (grub_cmd_cmp): Close the right file at the right time. Compare
52598 only data just read. Don't report files of different size as
52599 identical. Dynamically allocate buffers. Move variable
52600 declarations at the beginning of function.
52601
e6f3e614 526022005-07-09 Yoshinori Okuji <okuji@enbug.org>
52603
52604 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52605 reverse.
52606
f8f1559a 526072004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52608
52609 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52610 when backspace is pressed at beginning of line.
52611
39c9d41d 526122005-07-03 Yoshinori Okuji <okuji@enbug.org>
52613
52614 * DISTLIST: Added genfslist.sh.
52615
52616 * normal/main.c (fs_module_list): New variable.
52617 (autoload_fs_module): New function.
52618 (read_fs_list): Likewise.
52619 (grub_normal_execute): Call read_fs_list.
52620
52621 * kern/fs.c (grub_fs_autoload_hook): New variable.
52622 (grub_fs_probe): Added support for auto-loading.
52623
52624 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52625 (grub_fs_module_list_t): New type.
52626
52627 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52628 (grub_fs_autoload_hook): New prototype.
52629
52630 * genfslist.sh: New file.
f19dbdb7 52631
39c9d41d 52632 * genmk.rb: Added a rule to generate a filesystem list.
52633
121c1d83 526342005-06-30 Marco Gerards <metgerards@student.han.nl>
52635
52636 * configure.ac: Fix the test for cross-compiling.
52637
52638 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52639 define GRUB_UTIL anymore.
52640
52641 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52642 so this function works on other systems than just big endian.
52643 (load_modules): Likewise.
52644 (add_segments): Likewise.
52645
e75d76e1 526462005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52647
52648 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52649 contains `l' modifier, get a long from va_arg().
52650
50b5a0a7 526512005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52652
52653 * kern/mm.c (grub_free): If the next free block which is being
52654 merged is the first free block, set the first block to the block
52655 being freed.
52656 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52657
89371b20 526582005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52659
52660 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52661 `grub_ieee1275_chosen'.
52662
168d6e58 526632005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52664
52665 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52666 (grub_ieee1275_chosen): New variable.
52667 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52668 `chosen'.
52669 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52670 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52671 Rename first argument to `phandle' for consistency.
52672 (grub_ieee1275_get_property_length): Likewise.
52673 (grub_ieee1275_next_property): Likewise. Change type of first argument
52674 to grub_ieee1275_phandle_t.
52675 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52676 Move export next to declaration.
52677 (grub_ieee1275_chosen): New variable.
52678 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52679 Correct cosmetic typo.
52680 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52681 `grub_ieee1275_chosen'.
52682 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52683 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52684 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52685 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52686 `grub_ieee1275_chosen'.
52687
ca5baa3f 526882005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52689
52690 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52691 /chosen/bootargs.
52692 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52693 /chosen/bootargs as "variable=value" pairs.
52694
708b345f 526952005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52696
52697 * include/grub/misc.h (grub_dprintf): New macro.
52698 (grub_real_dprintf): New prototype.
52699 (grub_strword): Likewise.
52700 (grub_iswordseparator): Likewise.
52701 * kern/misc.c (grub_real_dprintf): New function.
52702 (grub_strword): Likewise.
52703 (grub_iswordseparator): Likewise.
52704
f4c5e67c 527052005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52706
52707 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52708 (roundup): Remove macro.
52709 (grub_ieee1275_flags): Make static.
52710 (grub_ieee1275_realmode): Remove.
52711 (grub_ieee1275_test_flag): New function.
52712 (grub_ieee1275_set_flag): Likewise.
52713 (find_options): Rename to `grub_ieee1275_find_options'; update
52714 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52715 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52716 (cmain): New prototype.
52717 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52718 `grub_ieee1275_flags' directly.
52719 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52720 machine/biosdisk.h.
52721 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52722 Don't include grub/machine/init.h.
52723 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52724 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52725 Remove prototype.
52726 (grub_ieee1275_realmode): Likewise.
52727 (grub_ieee1275_flag): New enum.
52728 (grub_ieee1275_test_flag): New prototype.
52729 (grub_ieee1275_set_flag): New prototype.
52730 * include/grub/powerpc/ieee1275/init.h: Remove file.
52731 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52732 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52733 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52734 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52735 comment.
52736 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52737 `grub_ieee1275_test_flag'.
52738 (grub_ieee1275_encode_devname): Likewise.
52739
ed16607e 527402005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52741
52742 * include/grub/powerpc/ieee1275/ieee1275.h
52743 (grub_ieee1275_encode_devname): New prototype.
52744 (grub_ieee1275_get_filename): Likewise.
52745 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52746 function.
52747 (grub_set_prefix): Likewise.
52748 (grub_machine_init): Call grub_set_prefix.
52749 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52750 (grub_parse_type): New enum.
52751 (grub_ieee1275_get_devargs): New function.
52752 (grub_ieee1275_get_devname): Likewise.
52753 (grub_ieee1275_parse_args): Likewise.
52754 (grub_ieee1275_get_filename): Likewise.
52755 (grub_ieee1275_encode_devname): Likewise.
52756
be369920 527572005-03-30 Marco Gerards <metgerards@student.han.nl>
52758
52759 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52760 `grub_loader_unset'.
52761
a5ce3a4a 527622005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52763
52764 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52765 instead of grub_ieee1275_interpret.
52766 (grub_halt_init): New function.
52767 (grub_halt_fini): Likewise.
52768 (GRUB_MOD_INIT): Correct message grammar.
52769 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52770 instead of grub_ieee1275_interpret.
52771 (grub_reboot_init): New function.
52772 (grub_reboot_fini): Likewise.
52773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52774 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52775 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52776 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52777 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52778 function.
52779 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52780 Add prototype.
52781 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52782 prototype.
52783 (grub_halt): Likewise.
52784 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52785 (cmain): Remove __attribute__((unused)).
52786 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52787 (grub_heap_len): Likewise.
52788 (grub_machine_fini): New function.
52789 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52790 (grub_halt): Likewise.
52791 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52792 function.
52793 * util/powerpc/ieee1275/misc.c: New file.
52794
0058f771 527952005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52796
52797 * DISTLIST: New file.
52798 * gendistlist.sh: Likewise.
f19dbdb7 52799
0058f771 52800 * Makefile.in (COMMON_DISTFILES): Removed.
52801 (BOOT_DISTFILES): Likewise.
52802 (CONF_DISTFILES): Likewise.
52803 (DISK_DISTFILES): Likewise.
52804 (FS_DISTFILES): Likewise.
52805 (INCLUDE_DISTFILES): Likewise.
52806 (KERN_DISTFILES): Likewise.
52807 (LOADER_DISTFILES): Likewise.
52808 (TERM_DISTFILES): Likewise.
52809 (UTIL_DISTFILES): Likewise.
52810 (DISTFILES): Likewise.
52811 (uninstall): Uninstall files in $(pkgdata_DATA).
52812 (DISTLIST): New target.
52813 (distdir): Use the contents of the file DISTLIST to get a list of
52814 distributed files.
52815
46b3b8a5 528162005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52817
52818 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52819 descriptor. This is ported from GRUB Legacy.
52820
52821 * gencmdlist.sh: Added an extra semicolon to make it work with
52822 old sed versions. Reported by Robert Bihlmeyer
52823 <robbe@orcus.priv.at>.
52824
5822ff87 528252005-03-08 Yoshinori Okuji <okuji@enbug.org>
52826
52827 Automatic loading of commands is supported.
f19dbdb7 52828
5822ff87 52829 * normal/main.c (read_command_list): New function.
52830 (grub_normal_execute): Call read_command_list.
52831
52832 * normal/command.c (grub_register_command): Return zero or CMD.
52833 Allocate CMD->NAME from the heap.
52834 Initialize CMD->MODULE_NAME to zero.
52835 Find the same name as well. If the same command is found and it is
52836 a dummy command, overwrite members. If it is not a dummy command,
52837 return zero.
52838 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52839 (grub_command_find): If a dummy command is found, load a module
52840 and retry to find a command only once.
52841
52842 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52843 make sure that each command is loaded.
52844
52845 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52846 macro.
52847 (struct grub_command): Remove const from the member `name'.
52848 Add a new member `module_name'.
52849 (grub_register_command): Return grub_command_t.
52850
52851 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52852 sure that each command is loaded.
52853
52854 * genmk.rb (PModule::rule): Specify a module name without the
52855 suffix ".mod" to gencmdlist.sh.
52856
7b1f4b57 528572005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52858
52859 * gencmdlist.sh: New file.
f19dbdb7 52860
7b1f4b57 52861 * genmk.rb (PModule::rule): Generate a rule for a command list.
52862 Clean command.lst.
52863 Generate command.lst from $(COMMANDFILES).
52864
52865 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52866 (DATA): Added $(pkgdata_DATA).
52867 (install-local): Install files in $(pkgdata_DATA).
52868
062aaf39 528692005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52870
52871 * term/i386/pc/vga.c (debug_command): Removed.
52872 (GRUB_MOD_INIT): Do not register the command "debug".
52873
52874 From Hollis Blanchard:
52875 * commands/configfile.c: New file.
52876 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52877 commands/configfile.c.
52878 (pkgdata_MODULES): Added configfile.mod.
52879 (configfile_mod_SOURCES): New variable.
52880 (configfile_mod_CFLAGS): Likewise.
52881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52882 commands/configfile.c.
52883 (pkgdata_MODULES): Added configfile.mod.
52884 (configfile_mod_SOURCES): New variable.
52885 (configfile_mod_CFLAGS): Likewise.
52886 * util/grub-emu.c (main): Call grub_configfile_init and
52887 grub_configfile_fini.
52888 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52889 prototype.
52890 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52891
cee01aa6 528922005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52893
52894 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52895 address.
52896
52897 * commands/help.c (grub_cmd_help): Do not print newlines after
52898 the last command in print_command_help.
52899
93f3a1d8 529002005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52901
52902 * commands/default.h: New file.
52903 * commands/timeout.h: Likewise.
52904 * normal/context.c: Likewise.
f19dbdb7 52905
93f3a1d8 52906 * util/misc.c: Do not include sys/times.h.
52907 Include sys/time.h and grub/machine/time.h.
52908 (grub_get_rtc): Rewritten with gettimeofday.
52909
52910 * util/grub-emu.c (main): Call grub_default_init and
52911 grub_timeout_init before grub_normal_init, and call
52912 grub_timeout_fini and grub_default_fini after grub_main.
52913
52914 * util/console.c (grub_ncurses_checkkey): Return the read
52915 character or -1.
52916
52917 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52918 timeouts.
52919
52920 * normal/main.c (read_config_file): Push MENU. If this fails,
52921 print an error and wait for a user input.
52922 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52923 If a menu is empty or an error occurs, pop MENU.
52924 (grub_normal_execute): Pop and free MENU after grub_menu_run
52925 returns.
52926
52927 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52928
52929 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52930 include time.h.
52931 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52932 without GRUB_UTIL.
52933 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52934 time.h.
52935 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52936 without GRUB_UTIL.
52937
52938 * include/grub/normal.h (struct grub_menu_list): New struct.
52939 (grub_menu_list_t): New type.
52940 (struct grub_context): New struct.
52941 (grub_context_t): New type.
52942 (grub_register_command): Got rid of EXPORT_FUNC.
52943 (grub_unregister_command): Likewise.
52944 (grub_context_get): New prototype.
52945 (grub_context_get_current_menu): Likewise.
52946 (grub_context_push_menu): Likewise.
52947 (grub_context_pop_menu): Likewise.
52948 [GRUB_UTIL] (grub_default_init): Likewise.
52949 [GRUB_UTIL] (grub_default_fini): Likewise.
52950 [GRUB_UTIL] (grub_timeout_init): Likewise.
52951 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52952
52953 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52954 commands/timeout.c and normal/context.c.
52955 (pkgdata_MODULES): Added default.mod and timeout.mod.
52956 (normal_mod_SOURCES): Added normal/context.c.
52957 (default_mod_SOURCES): New variable.
52958 (default_mod_CFLAGS): Likewise.
52959 (timeout_mod_SOURCES): Likewise.
52960 (timeout_mod_CFLAGS): Likewise.
52961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52962 conf/i386-pc.rmk.
52963 (pkgdata_MODULES): Added default.mod and timeout.mod.
52964 (normal_mod_SOURCES): Added normal/context.c.
52965 (default_mod_SOURCES): New variable.
52966 (default_mod_CFLAGS): Likewise.
52967 (timeout_mod_SOURCES): Likewise.
52968 (timeout_mod_CFLAGS): Likewise.
52969
52970 * Makefile.in (all-local): Added $(MKFILES).
52971
4ed2e1dd 529722005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52973
52974 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52975 (grub_emu_SOURCES): Likewise.
52976 (pkgdata_MODULES): Add `sun.mod'.
52977 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52979 `partmap/sun.c'.
52980 (pkgdata_MODULES): Add `sun.mod'.
52981 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52982 * include/grub/partition.h (grub_sun_partition_map_init): New
52983 prototype.
52984 (grub_sun_partition_map_fini): Likewise.
52985 * partmap/sun.c: New file.
52986 * util/grub-emu.c (main): Initialize and de-initialize the sun
52987 partitionmap support.
52988
4d4e372e 529892005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52990
52991 This implements an Emacs-like menu entry editor.
f19dbdb7 52992
4d4e372e 52993 * normal/menu_entry.c: New file.
f19dbdb7 52994
4d4e372e 52995 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52996 characters to ASCII.
52997 (saved_char): New variable.
52998 (grub_ncurses_checkkey): Rewritten completely.
52999 (grub_ncurses_getkey): Likewise.
53000 (grub_ncurses_init): Call raw instead of cbreak.
53001
53002 * normal/menu.c (print_entry): Do not put a space.
53003 (init_page): Renamed to ...
53004 (grub_menu_init_page): ... this. All callers changed.
53005 (edit_menu_entry): Removed.
53006 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53007
53008 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53009
53010 * kern/misc.c (grub_vprintf): Call grub_refresh.
53011
53012 * normal/menu.c (DISP_LEFT): Renamed to ...
53013 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53014 * normal/menu.c (DISP_UP): Renamed to ...
53015 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53016 * normal/menu.c (DISP_RIGHT): Renamed to ...
53017 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53018 * normal/menu.c (DISP_DOWN): Renamed to ...
53019 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53020 * normal/menu.c (DISP_HLINE): Renamed to ...
53021 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53022 * normal/menu.c (DISP_VLINE): Renamed to ...
53023 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53024 * normal/menu.c (DISP_UL): Renamed to ...
53025 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53026 * normal/menu.c (DISP_UR): Renamed to ...
53027 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53028 * normal/menu.c (DISP_LL): Renamed to ...
53029 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53030 * normal/menu.c (DISP_LR): Renamed to ...
53031 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53032 * normal/menu.c (TERM_WIDTH): Renamed to ...
53033 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53034 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53035 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53036 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53037 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53038 * normal/menu.c (TERM_MARGIN): Renamed to ...
53039 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53040 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53041 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53042 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53043 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53044 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53045 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53046 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53047 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53048 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53049 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53050 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53051 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53052 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53053 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53054 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53055 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53056 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53057 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53058 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53059 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53060 All callers changed.
53061
53062 * include/grub/normal.h: New prototype.
53063
53064 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53065 normal/menu_entry.c.
53066 (normal_mod_SOURCES): Likewise.
53067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53068 (normal_mod_SOURCES): Likewise.
53069
e6b92c8a 530702005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53071
53072 * include/grub/normal.h (grub_halt_init): New prototype.
53073 (grub_halt_fini): Likewise.
53074 (grub_reboot_init): Likewise.
53075 (grub_reboot_fini): Likewise.
53076
53077 * util/grub-emu.c: Include signal.h.
53078 (main_env): New global variable.
53079 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53080 catch C-c.
53081 (grub_machine_fini): New function.
53082 (main): Call grub_halt_init and grub_reboot_init before
53083 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53084 Call setjmp with MAIN_ENV to go back afterwards.
53085 Call grub_machine_fini right before return.
53086
53087 * include/grub/util/misc.h: Include setjmp.h.
53088 (main_env): New prototype.
53089
53090 * include/grub/kernel.h (grub_machine_fini): New prototype.
53091 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53092 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53093
53094 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53095 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53096 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 53097
e6b92c8a 53098 * util/i386/pc/misc.c: New file.
f19dbdb7 53099
e6b92c8a 53100 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53101 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53102 commands/i386/pc/reboot.c.
53103
c642636f 531042005-02-14 Guillem Jover <guillem@hadrons.org>
53105
53106 * include/grub/dl.h (grub_dl_check_header): New prototype.
53107 (grub_arch_dl_check_header): Change return type to grub_err_t,
53108 remove size parameter and export function. Update all callers.
53109 * kern/dl.c (grub_dl_check_header): New function.
53110 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53111 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53112 are inside the core.
53113 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53114 independent ELF header checks.
53115 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53116 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53117 `grub_dl_check_header' instead of explicit checks. Check for the
53118 ELF type.
53119 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53120 `grub_dl_check_header' instead of explicit checks. Remove arch
53121 specific ELF header checks.
53122
e6b92c8a 53123 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53124 argument SIZE.
53125
5eabe94b 531262005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53127
53128 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53129 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53130
1b14a681 531312005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53132
53133 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 53134 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 53135 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 53136 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 53137 * partmap/amiga.c (amiga_partition_map_iterate): Return
53138 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53139 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53140
aca108aa 531412005-02-01 Guillem Jover <guillem@hadrons.org>
53142
53143 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53144 help info.
53145
c9f9c556 531462005-01-31 Marco Gerards <metgerards@student.han.nl>
53147
53148 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53149 Removed prototype.
53150 (grub_rescue_cmd_linux): New prototype.
53151 (grub_rescue_cmd_initrd): Likewise.
53152 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53153 `bi_rec'.
53154 (grub_linux_release_mem): Release the memory for the initrd.
53155 (grub_load_linux): Renamed from this...
53156 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53157 Changed `entry' not to be static. Loop over memory regions to
53158 find another one when the default fails.
53159 (grub_rescue_cmd_initrd): New function.
53160 (grub_linux_init): Remove function.
53161 (grub_linux_fini): Likewise.
53162 (GRUB_MOD_INIT): Register `initrd'.
53163 (GRUB_MOD_FINI): Unregister `initrd'.
53164 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53165 Function removed.
53166 (grub_linux_normal_fini): Likewise.
53167 (GRUB_MOD_INIT): Register `initrd'.
53168 (GRUB_MOD_FINI): Unregister `initrd'.
53169
990cf3aa 531702005-01-31 Marco Gerards <metgerards@student.han.nl>
53171
53172 * commands/help.c: New file.
53173 * normal/arg.c (show_help): Renamed to...
53174 (grub_arg_show_help): ... this.
53175 * commands/i386/pc/halt.c: New file.
53176 * commands/i386/pc/reboot.c: Likewise.
53177 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53178 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53179 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53180 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53181 variables.
53182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53183 `commands/help.c'.
53184 (pkgdata_MODULES): Add `help.mod'.
53185 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53186 * grub/i386/pc/init.h (grub_reboot): New prototype.
53187 (grub_halt): Likewise.
53188 * include/grub/normal.h (grub_arg_show_help): New prototype.
53189 (grub_help_init): Likewise.
53190 (grub_help_fini): Likewise.
53191 * util/grub-emu.c (main): Initialize and deinitialize the help
53192 command.
53193
53194 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53195
53196 * normal/command.c (grub_command_init): Fixed the description of
53197 the `set' and `unset' commands.
53198
531992005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 53200
53201 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53202 function.
53203 * commands/ieee1275/halt.c: New file.
53204 * commands/ieee1275/reboot.c: Likewise.
53205 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53206 `__attribute__ ((unused))'. Some GCS related fixed.
53207 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53208 (grub_suspend_fini): Likewise.
53209 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53210 and `halt.mod'.
53211 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53212 (halt_mod_CFLAGS): New variables.
53213 * include/grub/powerpc/ieee1275/ieee1275.h
53214 (grub_ieee1275_interpret): New prototype.
53215
1ab09cc7 532162005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53217
53218 * include/grub/misc.h (memmove): New prototype.
53219 (memcpy): Likewise.
53220
8b8cbdb2 532212005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53222
53223 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53224 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53225
e3741a27 532262005-01-22 Marco Gerards <metgerards@student.han.nl>
53227
53228 * kern/misc.c (grub_strndup): Function rewritten.
53229
776bd780 532302005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53231
53232 * normal/menu.c (TERM_WIDTH): Macro redefined.
53233 (TERM_TOP_BORDER_Y): Likewise.
53234 (draw_border): Replaced while-loop by a for-loop. Make the number
53235 of lines consistent with the number of lines displayed in
53236 print_entries. Added a margin below the rectangle.
53237 (print_entry): Make the entry fit in the rectangle.
53238 (print_entries): Display the scroll arrows next to the right
53239 border.
53240
78026bce 532412005-01-21 Marco Gerards <metgerards@student.han.nl>
53242
53243 * fs/minix.c (grub_minix_find_file): Reserve more space for
53244 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53245 `grub_strncpy' to copy `path' into it.
53246
67bbaf0f 532472005-01-21 Marco Gerards <metgerards@student.han.nl>
53248
53249 Add the loopback device, a device via which files can be accessed
53250 as devices.
f19dbdb7 53251
67bbaf0f 53252 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53253 (pkgdata_MODULES): Add loopback.mod.
53254 (loopback_mod_SOURCES): New variable.
53255 (loopback_mod_CFLAGS): Likewise.
53256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53257 `disk/loopback.c'.
53258 (pkgdata_MODULES): Add loopback.mod.
53259 (loopback_mod_SOURCES): New variable.
53260 (loopback_mod_CFLAGS): Likewise.
53261 * disk/loopback.c: new file.
53262 * include/grub/normal.h (grub_loop_init): New prototype.
53263 (grub_loop_fini): New prototype.
53264 * util/grub-emu.c (main): Initialize and de-initialize loopback
53265 support.
53266 * include/grub/disk.h (grub_disk_dev_id): Add
53267 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53268
6f1c18bd 532692005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53270
53271 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53272 function.
53273 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53274 (suspend_mod_SOURCES): New variable.
53275 (suspend_mod_CFLAGS): Likewise.
53276 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53277 New prototype.
53278 * commands/ieee1275/suspend.c: New file.
53279
b38551da 532802005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53281
53282 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 53283 ((unused))' to `__attribute__ ((used))'.
b38551da 53284 (GRUB_MOD_FINI): Likewise.
53285 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53286 * genmk.rb (PModule): Assign space to common symbols when linking
53287 modules.
53288
777aff39 532892005-01-20 Marco Gerards <metgerards@student.han.nl>
53290
53291 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53292 `unsigned' arguments to `grub_size_t'.
53293 (grub_malloc): Likewise.
53294 (grub_realloc): Likewise.
53295 (grub_memalign): Likewise.
53296 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53297 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53298 * util/misc.c (grub_malloc): Likewise.
53299 (grub_realloc): Likewise.
53300 * kern/mm.c (get_header_from_pointer): Change the casts to
53301 `unsigned' into a cast to `grub_size_t'.
53302
53303 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53304 point to `currnode' when `currnode' is changed.
53305
53306 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53307 Schottelius <nico-linux@schottelius.org>.
53308
d0ff18e1 533092005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53310
53311 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53312 (note_path): Remove variable.
53313 (GRUB_IEEE1275_NOTE_NAME): New macro.
53314 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53315 (grub_ieee1275_note_hdr): New structure.
53316 (grub_ieee1275_note_desc): Likewise.
53317 (grub_ieee1275_note): Likewise.
53318 (load_note): Remove `dir' argument. All callers updated. Remove
53319 `note_img' and `path'. Do not load a file from `note_path'.
53320 Initialize a struct grub_ieee1275_note and write that to `out'.
53321 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53322
4ca7004c 533232005-01-05 Marco Gerards <metgerards@student.han.nl>
53324
53325 * util/misc.c (grub_util_read_image): Revert last change. It
53326 called `grub_util_read_at', which seeks from the beginning of the
53327 file.
53328
0b412211 533292005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53330
53331 * TODO: Add note about endianness in grub-mkimage.
53332 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53333 section.
53334 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53335 (grub_mkimage_SOURCES): New target.
53336 * include/grub/kernel.h (grub_start_addr): Remove variable.
53337 (grub_end_addr): Likewise.
53338 (grub_total_module_size): Likewise.
53339 (grub_kernel_image_size): Likewise.
53340 (GRUB_MODULE_MAGIC): New constant.
53341 (grub_module_info): New structure.
53342 (grub_arch_modules_addr): New prototype.
53343 (grub_get_end_addr): Remove prototype.
53344 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53345 * include/grub/powerpc/ieee1275/kernel.h: New file.
53346 * include/grub/util/misc.h (grub_util_get_fp_size): New
53347 prototype.
53348 (grub_util_read_at): Likewise.
53349 (grub_util_write_image_at): Likewise.
53350 * kern/main.c (grub_get_end_addr): Remove function.
53351 (grub_load_modules): Call grub_arch_modules_addr instead of using
53352 grub_end_addr. Look for a grub_module_info struct in memory. Use
53353 the grub_module_info fields instead of calling grub_get_end_addr
53354 as loop conditions. Move grub_add_unused_region code here.
53355 (grub_add_unused_region): Remove function.
53356 * kern/i386/pc/init.c: Include grub/cache.h.
53357 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53358 one call to add_mem_region.
53359 (grub_arch_modules_addr): New function.
53360 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53361 (grub_total_module_size): Likewise.
53362 Include grub/machine/kernel.h.
53363 (grub_arch_modules_addr): New function.
53364 * util/grub-emu.c (grub_end_addr): Remove variable.
53365 (grub_total_module_size): Likewise.
53366 (grub_arch_modules_addr): New function.
53367 * util/misc.c: Include unistd.h.
53368 (grub_util_get_fp_size): New function.
53369 (grub_util_read_at): Likewise.
53370 (grub_util_write_image_at): Likewise.
53371 (grub_util_read_image): Call grub_util_read_at.
53372 (grub_util_write_image): Call grub_util_write_image_at.
53373 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53374 additional memory in kernel_img for a struct grub_module_info.
53375 Fill in that grub_module_info.
53376 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53377
458786f8 533782005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53379
53380 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53381 New function.
53382 * include/grub/powerpc/ieee1275/ieee1275.h
53383 (grub_ieee1275_milliseconds): New prototype.
53384 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53385 Change to 1000.
53386 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53387 grub_ieee1275_milliseconds.
53388
ac507d1b 533892005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53390
53391 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53392 variable.
53393 (find_options): New function.
53394 (cmain): Call find_options.
53395 * include/grub/powerpc/ieee1275/ieee1275.h
53396 (grub_ieee1275_realmode): New extern variable.
53397 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53398 grub_map if grub_ieee1275_realmode is false.
53399
6b8fd1c4 534002004-12-29 Marco Gerards <metgerards@student.han.nl>
53401
53402 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53403 lines are inserted and make it work like readline. Reported by
53404 Vincent Pelletier <subdino2004@yahoo.fr>.
53405
8514a1e0 534062004-12-28 Marco Gerards <metgerards@student.han.nl>
53407
53408 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53409
53410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53411 `kern/powerpc/cache.S'.
53412
924b6140 534132004-12-27 Marco Gerards <metgerards@student.han.nl>
53414
53415 * genmk.rb: Handle the `Program' class in the main loop. Written
53416 by Johan Rydberg <jrydberg@gnu.org>.
53417 (Program): New class.
53418 (programs): New variable.
53419 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53420 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53421 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53422 (help_arch): Function removed.
53423 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53424 `powerpc/libgcc.h' and `loader.h'.
53425 (pkgdata_PROGRAMS): New variable.
53426 (sbin_UTILITIES): Variable removed.
53427 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53428 (grubof_SOURCES): Variable re-defined so it only includes the
53429 core functionality.
53430 (grubof_CFLAGS): Remove `-DGRUBOF'.
53431 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53432 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53433 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53434 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53435 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53436 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53437 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53438 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53439 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53440 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53441 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53442 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53443 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53444 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53445 (pc_mod_CFLAGS): New variables.
53446 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53447 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53448 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53449 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53450 Moved from here...
53451 * include/grub/i386/pc/init.h (grub_os_area_addr)
53452 (rub_os_area_size): ... to here.
53453 * include/grub/powerpc/ieee1275/ieee1275.h
53454 (grub_ieee1275_entry_fn): Export symbol.
53455 * include/grub/powerpc/ieee1275/init.h: New file.
53456 * include/grub/powerpc/libgcc.h: Likewise.
53457 * include/grub/cache.h: Likewise.
53458 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53459 <hollis@penguinppc.org>.
53460 * kern/dl.c: Include <grub/cache.h>.
53461 (grub_dl_flush_cache): New function.
53462 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53463 for this module.
53464 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53465 (grub_console_init): Removed prototypes.
53466 (grub_machine_init): Don't initialize the modules anymore.
53467 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53468 static.
53469 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53470 Macro undef removed.
53471 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53472 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53473 relocation `R_PPC_REL32'. Return an error when the relocation is
53474 unknown.
53475 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53476 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53477 * util/misc.c (grub_arch_sync_caches): Likewise.
53478
e4b47e0c 534792004-12-19 Marco Gerards <metgerards@student.han.nl>
53480
53481 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53482 `symlist.c', add `grubof_symlist.c'.
53483 (symlist.c): Variable removed.
53484 (grubof_HEADERS): Variable added.
53485 (grubof_symlist.c): New target.
53486 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53487 `kernel_img_HEADERS'.
53488 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53489 * kern/powerpc/dl.c: New file.
53490 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53491 Function removed.
53492 (grub_arch_dl_relocate_symbols): Likewise.
53493 (grub_register_exported_symbols): Likewise.
53494
4ceb3636 534952004-12-13 Marco Gerards <metgerards@student.han.nl>
53496
53497 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53498 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53499 to fail instead. Reported by Vincent Pelletier
53500 <subdino2004@yahoo.fr>.
53501
53502 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53503 it is not allocated. Reported by Vincent Pelletier
53504 <subdino2004@yahoo.fr>.
53505
53506 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53507 output so the output looks better.
f19dbdb7 53508
3f1578fe 535092004-12-04 Marco Gerards <metgerards@student.han.nl>
53510
53511 Modulize the partition map support and add support for the amiga
53512 partition map.
f19dbdb7 53513
3f1578fe 53514 * commands/ls.c: Include <grub/partition.h> instead of
53515 <grub/machine/partition.h>.
53516 * kern/disk.c: Likewise.
53517 * kern/rescue.c: Likewise.
53518 * loader/i386/pc/chainloader.c: Likewise.
53519 * normal/cmdline.c: Likewise.
53520 * kern/powerpc/ieee1275/init.c: Likewise.
53521 (grub_machine_init): Call `grub_pc_partition_map_init',
53522 `grub_amiga_partition_map_init' and
53523 `grub_apple_partition_map_init'.
53524 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53525 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53526 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53527 `partition.h' and `pc_partition.h'.
53528 (grub_setup_SOURCES): Remove
53529 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53530 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53531 (grub_emu_SOURCES): Likewise.
53532 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53533 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53534 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53536 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53537 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53538 (grubof_SOURCES): Likewise.
53539 * disk/i386/pc/partition.c: File removed.
53540 * disk/powerpc/ieee1275/partition.c: Likewise.
53541 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53542 * include/grub/i386/pc/partition.h: Likewise.
53543 * kern/partition.c: New file.
53544 * partmap/amiga.c: Likewise.
53545 * partmap/apple.c: Likewise.
53546 * partmap/pc.c: Likewise.
53547 * include/grub/partition.h: Likewise..
53548 * include/grub/pc_partition.h: Likewise.
53549 * util/grub-emu.c: Include <grub/partition.h> instead of
53550 <grub/machine/partition.h>.
53551 (main): Call `grub_pc_partition_map_init',
53552 `grub_amiga_partition_map_init' and
53553 `grub_apple_partition_map_init' and deinitialize afterwards.
53554 * util/i386/pc/biosdisk.c: Include `#include
53555 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53556 `<grub/machine/partition.h>'.
53557 * util/i386/pc/grub-setup.c: Likewise.
53558 * util/i386/pc/biosdisk.c: Likewise.
53559 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53560 partition information in case of a PC partition.
53561 * util/i386/pc/grub-setup.c: Include `#include
53562 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53563 `<grub/machine/partition.h>'.
53564 (setup): Only access the PC specific partition information in case
53565 of a PC partition.
53566
0ef4ced9 535672004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53568
0ef4ced9 53569 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53570 (grub_longjmp): Likewise.
53571 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53572 20.
53573 * normal/powerpc/setjmp.S: New file.
53574 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53575 `normal/powerpc/setjmp.S'.
53576 (grubof_CFLAGS): Add `-DGRUBOF'.
53577 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53578 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53579
19950e29 535802004-11-16 Marco Gerards <metgerards@student.han.nl>
53581
53582 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53583 property named `name'. Correctly handle the error returned by
53584 `grub_ieee1275_finddevice' if a device can not be opened.
53585
a2fea427 535862004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53587
53588 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53589 `actual' for negativity.
53590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53591 kern/fshelp.c.
53592
41ea0ea3 535932004-11-01 Marco Gerards <metgerards@student.han.nl>
53594
53595 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53596 (PAGE_OFFSET): New macro.
53597 (CRTC_ADDR_PORT): Likewise.
53598 (CRTC_DATA_PORT): Likewise.
53599 (START_ADDR_HIGH_REGISTER): Likewise.
53600 (START_ADDR_LOW_REGISTER): Likewise.
53601 (GRAPHICS_ADDR_PORT): Likewise.
53602 (GRAPHICS_DATA_PORT): Likewise.
53603 (READ_MAP_REGISTER): Likewise.
53604 (INPUT_STATUS1_REGISTER): Likewise.
53605 (INPUT_STATUS1_VERTR_BIT): Likewise.
53606 (page): New variable.
53607 (wait_vretrace): New function.
53608 (set_read_map): Likewise.
53609 (set_start_address): Likewise.
53610 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53611 the right page.
53612 (check_vga_mem): Take the page into account.
53613 (write_char): Likewise.
53614 (write_cursor): Likewise.
53615 (scroll_up): Likewise. Copy the page to the page that is not
53616 shown and switch between both pages.
53617 (grub_vga_putchar): Fix off by one error.
53618 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53619 account.
53620
ad0bd20b 536212004-11-01 Marco Gerards <metgerards@student.han.nl>
53622
53623 Add support for iso9660 (including rockridge).
f19dbdb7 53624
ad0bd20b 53625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53626 (iso9660_mod_SOURCES): New variable.
53627 (iso9660_mod_CFLAGS): Likewise.
53628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53629 * include/grub/fs.h (grub_iso9660_init): New prototype.
53630 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53631 * fs/iso9660.c: New file.
53632
53633 * include/grub/misc.h (grub_strncat): New prototype.
53634 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53635
ad0bd20b 53636 * fs/hfs.c (grub_hfs_mount): Translate the error
53637 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53638 * fs/jfs.c (grub_jfs_mount): Likewise.
53639 * fs/ufs.c (grub_ufs_mount): Likewise.
53640
a5477a59 536412004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53642
53643 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53644 which initialized BAT registers.
53645 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53646 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53647 Move from here...
53648 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53649 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53650 ... to here.
53651 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53652 (grub_mapclaim): Likewise.
53653 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53654 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53655 hand.
53656
9304c1f8 536572004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53658
53659 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53660 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53661 -ffreestanding and -msoft-float.
53662
86f4ae25 536632004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53664
53665 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53666 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53667 set in grub_ieee1275_flags.
53668
38912228 536692004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53670
53671 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53672 prototype.
53673 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53674 grub_console_init first.
53675 Change the memory range used for grub_ieee1275_claim and
53676 grub_mm_init_region.
53677 Print an error message if the claim fails.
53678 Include <grub/misc.h>.
53679
d1923dc8 536802004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53681
53682 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53683 Call grub_children_iterate for device nodes of type `scsi',
53684 `ide', or `ata'.
53685 (grub_ofdisk_open): Remove manual device alias resolution.
53686 Fix memory leak when device cannot be opened.
f19dbdb7 53687 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53688 (grub_children_iterate): New prototype.
53689 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53690 New function.
53691 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53692 Return -1 if args.size was -1.
53693
4512e4f3 536942004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53695
53696 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53697 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53698 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53699 Open Firmware's memory for it; claim memory from _start to _end.
53700 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53701 (_end): New extern.
53702 (_start): Zero BSS from __bss_start to _end.
53703 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53704 New extern.
53705 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53706
4d61feb0 537072004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53708
ad0bd20b 53709 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53710 -1 if args.base was -1.
4d61feb0 53711
026fa2f9 537122004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53713
53714 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53715 escape sequence instead of a literal ^L. Also call
53716 grub_ofconsole_gotoxy.
53717
9f2220ef 537182004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53719
53720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53721 void * arguments to grub_addr_t. All callers updated. Also make
53722 the `result' argument optional.
53723 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53724 All callers updated.
53725
8a572cd7 537262004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53727
53728 * commands/ls.c (grub_ls_list_files): Use the string following the
53729 initial ')', if present, as the filesystem path.
53730 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53731
53732 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53733
18aa81f2 537342004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53735
53736 Make the source code of the menu interface more readable.
f19dbdb7 53737
18aa81f2 53738 * normal/menu.c: Include grub/mm.h.
53739 (TERM_WIDTH): New macro.
53740 (TERM_HEIGHT): Likewise.
53741 (TERM_INFO_HEIGHT): Likewise.
53742 (TERM_MARGIN): Likewise.
53743 (TERM_SCROLL_WIDTH): Likewise.
53744 (TERM_TOP_BORDER_Y): Likewise.
53745 (TERM_LEFT_BORDER_X): Likewise.
53746 (TERM_BORDER_WIDTH): Likewise.
53747 (TERM_MESSAGE_HEIGHT): Likewise.
53748 (TERM_BORDER_HEIGHT): Likewise.
53749 (TERM_NUM_ENTRIES): Likewise.
53750 (TERM_FIRST_ENTRY_Y): Likewise.
53751 (TERM_ENTRY_WIDTH): Likewise.
53752 (TERM_CURSOR_X): Likewise.
53753 (draw_border): Use macros instead of magic numbers.
53754 (print_entry): Likewise.
53755 (print_entries): Likewise.
53756 (run_menu): Likewise. Also, handle the key 'e'.
53757 (run_menu_entry): Ignore empty command lines.
53758 (print_message): Added a new argument EDIT. If EDIT is true,
53759 print a different message.
53760 (init_page): Likewise.
53761 (edit_menu_entry): New function. Not implemented yet.
53762
b47efe30 537632004-09-17 Marco Gerards <metgerards@student.han.nl>
53764
53765 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53766 can be loaded from normal mode.
f19dbdb7 53767
b47efe30 53768 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53769 `multiboot.mod'.
53770 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53771 (multiboot_mod_CFLAGS): New variables.
53772 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53773 * loader/i386/pc/multiboot_normal.c: Likewise.
53774
b47efe30 53775 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53776 attribute `unused'.
f19dbdb7 53777
b47efe30 53778 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53779 `fdiro' to read the mode information from instead of `diro'.
53780
53781 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53782 looking up a symlink.
53783
53784 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53785 macro.
53786 * normal/command.c (grub_command_execute): Don't parse the
53787 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53788 flags of the command.
53789
53790 * normal/menu.c (grub_menu_run): Fix typo.
53791
da75ac71 537922004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53793
53794 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53795
53796 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53797 `y + 1' instead of `y - 1'.
53798
53799 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53800
062b24c2 538012004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53802
53803 From Hollis Blanchard <hollis@penguinppc.org>:
53804 * kern/misc.c (memmove): New alias for grub_memmove.
53805 (memcmp): New alias for grub_memcmp.
53806 (memset): New alias for grub_memset.
f19dbdb7 53807 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53808 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53809 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53810 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53811
8ddad845 538122004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53813
53814 Added normal mode command `chainloader' as module chain.mod, which
53815 depends on normal.mod and _chain.mod.
f19dbdb7 53816
8ddad845 53817 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53818 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53819 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53820 Deleted prototype.
53821 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53822 but arguments parsing moved to ...
53823 (grub_chainloader_cmd): ... here. New function.
53824 * include/grub/i386/pc/chainloader.h: New file.
53825 * loader/i386/pc/chainloader_normal.c: Likewise.
53826
2c1f4ce3 538272004-09-11 Marco Gerards <metgerards@student.han.nl>
53828
53829 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53830 (grub_mkimage_LDFLAGS): Likewise.
53831 (grub_emu_SOURCES): Likewise.
53832 (kernel_img_HEADERS): Added fshelp.h.
53833 * fs/ext2.c: Include <grub/fshelp.h>.
53834 (FILETYPE_REG): New macro.
53835 (FILETYPE_INO_REG): Likewise.
53836 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53837 Changed all users.
53838 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53839 all users.
53840 (grub_fshelp_node): New struct.
53841 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53842 to a pointer.
53843 (grub_ext2_get_file_block): Removed function.
53844 (grub_ext2_read_block): New function.
53845 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53846 This function was written.
53847 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53848 (grub_ext2_find_file): Removed function.
53849 (grub_ext2_read_symlink): New function.
53850 (grub_ext2_iterate_dir): Likewise.
53851 (grub_ext2_open): Rewritten.
53852 (grub_ext2_dir): Rewritten.
53853 * include/grub/fshelp.h: New file.
53854 * fs/fshelp.c: Likewise.
53855
3c52136a 538562004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53857
53858 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53859 (print_message): Add a missing newline.
53860 (run_menu): Added timeout support.
53861 (run_menu_entry): New local function.
53862 (grub_menu_run): Added support for booting.
53863
53864 * kern/loader.c (grub_loader_is_loaded): New function.
53865
53866 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53867 (grub_get_rtc): Exported.
53868
53869 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53870 (grub_get_rtc): Exported.
53871
53872 * include/grub/normal.h (struct grub_command_list): Remove
53873 constant from the member `command'.
53874
53875 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53876
53877 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53878
53879 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53880
aa033560 538812004-08-28 Marco Gerards <metgerards@student.han.nl>
53882
53883 Add support for the JFS filesystem.
53884
53885 * fs/jfs.c: New file.
53886 * include/grub/fs.h (grub_jfs_init): New prototype.
53887 (grub_jfs_fini): New prototype.
53888 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53889 (grub_emu_SOURCES): Likewise.
53890 (pkgdata_MODULES): Add jfs.mod.
53891 (jfs_mod_SOURCES): New variable.
53892 (jfs_mod_CFLAGS): Likewise.
53893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53894 (grubof_SOURCES): Likewise.
53895 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53896
53897 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53898 endian to the host endian.
53899 (grub_fat_utf16_to_utf8): Move function from there...
53900 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53901 the endianness of the source string anymore.
aa033560 53902 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53903
94bc45af 539042004-08-24 Marco Gerards <metgerards@student.han.nl>
53905
53906 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53907 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53908 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53909 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53910
94bc45af 53911 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53912 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53913 for `node_found' and `it_dir'.
53914 (grub_hfs_dir): Add prototype for `dir_hook'.
53915
53916 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53917 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53918 and `indir32' to silence a gcc warning.
53919
53920 * include/grub/fs.h (grub_hfs_init): New prototype.
53921 (grub_hfs_fini): Likewise.
f19dbdb7 53922
53923
97543f08 539242004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53925
53926 Each disk device has its own id now. This is useful to make use
53927 of multiple disk devices.
f19dbdb7 53928
97543f08 53929 * include/grub/disk.h (grub_disk_dev_id): New enum.
53930 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53931 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53932
53933 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53934 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53935
53936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53937 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53938
53939 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53940 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53941
53942 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53943 "id" which is used by the cache manager.
53944
53945 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53946 of just "GRUB".
53947
64372eb4 539482004-08-18 Marco Gerards <metgerards@student.han.nl>
53949
53950 * fs/hfs.c: New file.
53951 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53952 (grub_emu_SOURCES): Likewise.
53953 (pkgdata_MODULES): Add hfs.mod.
53954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53955 (grubof_SOURCES): Likewise.
53956 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53957
53958 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53959 * kern/misc.c (grub_strncasecmp): Add function.
53960
cc61b58f 539612004-08-14 Marco Gerards <metgerards@student.han.nl>
53962
53963 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53964 with parentheses.
53965
53966 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53967 (grub_ext2_dir): In case the directory entry type is unknown, read
53968 it from the inode.
53969
0ef123f6 539702004-08-02 Peter Bruin <pjbruin@dds.nl>
53971
53972 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53973 grub_load_linux instead of grub_rescue_cmd_linux as second
53974 argument of grub_rescue_register_command.
53975
53976 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53977
a447c5df 539782004-07-27 Marco Gerards <metgerards@student.han.nl>
53979
53980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53981 function.
53982 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53983 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53984 `loader/powerpc/ieee1275/linux.c',
53985 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53986 * include/grub/powerpc/ieee1275/ieee1275.h
53987 (grub_ieee1275_release): New prototype.
53988 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53989 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53990 normal, boot, linux and linux_normal.
53991 * loader/powerpc/ieee1275/linux.c: New file.
53992 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53993
5a9e3546 539942004-07-12 Marco Gerards <metgerards@student.han.nl>
53995
53996 * normal/arg.c (grub_arg_parse): Correct error handling after
53997 reallocating the argumentlist (check if `argl' is not null instead
53998 of checking if `args' is not null).
53999 * kern/mm.c (grub_realloc): Return the same pointer when using the
54000 same region, instead of returning the header address.
54001
e15199cb 540022004-07-11 Marco Gerards <metgerards@student.han.nl>
54003
54004 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54005 one block instead of two when looking for the initial partition.
54006 (grub_partition_probe): Initialize the local variable `p' with 0.
54007 Use base 10 for the grub_strtoul call.
54008 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54009 need for one local variable.
54010 (grub_strtoul): Don't add the new value to `num', instead of that
54011 just assign it.
54012
020616c2 540132004-07-11 Marco Gerards <metgerards@student.han.nl>
54014
54015 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54016 (pxeboot_img_SOURCES): New variable.
54017 (pxeboot_img_ASFLAGS): Likewise.
54018 (pxeboot_img_LDFLAGS): Likewise.
54019 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54020 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54021 <lode_leroy@hotmail.com>.
54022
6c51eb64 540232004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54024
54025 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54026 there was no input.
54027
cfb12aff 540282004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54029
54030 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54031 the history buffer logic.
54032
6eabba74 540332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54034
54035 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54036 (FILETYPE_INO_SYMLINK): New macros.
54037 (grub_ext2_find_file): Check if the node is a directory using the
54038 inode stat information instead of using the filetype in the
54039 dirent. Exclude the first character of an absolute symlink.
54040 (grub_ext2_dir): Mask out the filetype part of the mode member of
54041 the inode.
54042
66e19ef8 540432004-05-24 Marco Gerards <metgerards@student.han.nl>
54044
54045 Add support for UFS version 1 and 2. Add support for the minix
54046 filesystem version 1 and 2, both the variants with 14 and 30 long
54047 filenames.
f19dbdb7 54048
66e19ef8 54049 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54050 fs/minix.c.
54051 (grub_emu_SOURCES): Likewise.
54052 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54053 (ufs_mod_SOURCES): New variable.
54054 (ufs_mod_CFLAGS): Likewise.
54055 (minix_mod_SOURCES): Likewise.
54056 (minix_mod_CFLAGS): Likewise.
54057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54058 fs/minix.c.
54059 (grubof_SOURCES): Likewise.
54060 * fs/ufs.c: New file.
54061 * fs/minix.c: New file.
54062 * include/grub/fs.h (grub_ufs_init): New prototype.
54063 (grub_ufs_fini): Likewise.
54064 (grub_minix_init): Likewise.
54065 (grub_minix_fini): Likewise.
54066 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54067 minix fs.
54068
cc2e748a 540692004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54070
54071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54072 commands/ls.c, commands/terminal.c, commands/boot.c,
54073 commands/cmp.c and commands/cat.c.
54074 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54075
54076 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54077 "env.h"
54078
4b13b216 540792004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54080
54081 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54082 and grub_, respectively. Because the conversion is trivial and
54083 mechanical, I omit the details here. Please refer to the CVS
54084 if you need more information.
54085
6a142551 540862004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54087
54088 * include/pupa: Renamed to ...
54089 * include/grub: ... this.
54090 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54091 * util/i386/pc/grub-mkimage.c: ... this.
54092 * util/i386/pc/pupa-setup.c: Renamed to ...
54093 * util/i386/pc/grub-setup.c: ... this.
54094 * util/pupa-emu.c: Renamed to ...
54095 * util/grub-emu.c: ... this.
54096
e56cdf21 540972004-03-29 Marco Gerards <metgerards@student.han.nl>
54098
54099 Add support for the newworld apple macintosh (PPC). This has been
54100 tested on the powerbook 2000 only. It only adds support for
54101 generic ieee1275 functions, console and disk support. This should
54102 be easy to port to other architectures with support for Open
54103 Firmware.
f19dbdb7 54104
e56cdf21 54105 * configure.ac: Accept the powerpc as host_cpu. In the case of
54106 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54107 specific tests are only executed while building for the i386.
54108 Inverse test for crosscompile.
54109 * genmk.rb (Utility): Allow assembler files.
54110 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54111 * conf/powerpc-ieee1275.rmk: New file.
54112 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54113 * disk/powerpc/ieee1275/partition.c: Likewise.
54114 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54115 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54116 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54117 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54118 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54119 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54120 * include/pupa/powerpc/ieee1275/loader.h
54121 * include/pupa/powerpc/setjmp.h: Likewise.
54122 * include/pupa/powerpc/types.h: Likewise.
54123 * kern/powerpc/ieee1275/init.c: Likewise.
54124 * kern/powerpc/ieee1275/openfw.c: Likewise.
54125 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54126
54127 These files were written by Johan Rydberg
54128 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 54129
e56cdf21 54130 * boot/powerpc/ieee1275/cmain.c: New file.
54131 * boot/powerpc/ieee1275/crt0.S: Likewise.
54132 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54133 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54134
8c8cc205 541352004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54136
54137 * Makefile.in: Update copyright.
54138 * genmodsrc.sh: Likewise.
54139 * gensymlist.sh: Likewise.
54140 * term/i386/pc/vga.c: Indent correctly.
54141
54142 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54143 bugreporting address.
54144 * util/i386/pc/pupa-setup.c (usage): Likewise,
54145 (main): Call pupa_ext2_init and pupa_ext2_fini.
54146
f19dbdb7 54147 * fs/fat.c (log2): Renamed to ...
8c8cc205 54148 (fat_log2): ... this.
54149 All callers changed.
54150 * kern/misc.c (memcpy): Alias to pupa_memmove.
54151 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54152 lvalue cast.
54153 * util/console.c (pupa_ncurses_fini): Return 0.
54154
54155 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54156 Move fail label here.
54157 [__GNU__]: Don't warn when using stat.
54158 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54159 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54160 long int. Use strtol instead of strtoul.
f19dbdb7 54161
db1771cf 541622004-03-14 Marco Gerards <metgerards@student.han.nl>
54163
54164 * commands/boot.c: New file.
54165 * commands/cat.c: Likewise.
54166 * commands/cmp.c: Likewise.
54167 * commands/ls.c: Likewise.
54168 * commands/terminal.c: Likewise.
54169 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54170 (pupa_register_command): Changed interface to match the new
54171 argument parser.
54172 (pupa_command_execute): Changed (almost rewritten) so it uses
54173 pupa_split_command. Added support for setting variables using the
54174 syntax `foo=bar'.
54175 (rescue_command): Changed to work with the new argument parser.
54176 (terminal_command): Moved from here to commands/terminal.c.
54177 (set_command): New function.
54178 (unset_command): New function.
54179 (insmod_command): New function.
54180 (rmmod_command): New function.
54181 (lsmod_command): New function.
54182 (pupa_command_init): Don't initialize the command terminal
54183 anymore. Initialize the commands set, unset, insmod, rmmod and
54184 lsmod.
54185 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54186 (kernel_img_HEADERS): Add arg.h and env.h.
54187 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54188 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54189 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54190 normal/arg.c.
54191 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54192 terminal.mod.
54193 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54194 (boot_mod_SOURCES): New variable.
54195 (terminal_mod_SOURCES): Likewise.
54196 (ls_mod_SOURCES): Likewise.
54197 (cmp_mod_SOURCES): Likewise.
54198 (cat_mod_SOURCES): Likewise.
54199
54200 * normal/arg.c: New file.
54201 * kern/env.c: Likewise.
54202 * include/pupa/arg.h: Likewise.
54203 * include/pupa/env.h: Likewise.
54204 * font/manager.c (font_command): Changed to match argument parsing
54205 interface changes.
54206 (PUPA_MOD_INIT): Likewise.
54207 * hello/hello.c (pupa_cmd_hello): Likewise.
54208 (PUPA_MOD_INIT): Likewise.
54209 * include/pupa/disk.h: Include <pupa/device.h>.
54210 (pupa_print_partinfo): New prototype.
54211 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54212 (pupa_dl_get_prefix): Likewise.
54213 * include/pupa/misc.h: Include <pupa/err.h>.
54214 (pupa_isgraph): New prototype.
54215 (pupa_isdigit): Likewise.
54216 (pupa_split_cmdline): Likewise.
54217 * include/pupa/normal.h: Include <pupa/arg.h>.
54218 (pupa_command): Changed the prototype of the member `func' to
54219 match the argument parsing interface. Added member `options'.
54220 (pupa_register_command): Updated to match function.
54221 (pupa_arg_parse): New prototype.
54222 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54223 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54224 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54225 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54226 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54227 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54228 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54229 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54230 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54231 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54232 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54233 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54234 * kern/disk.c: Include <pupa/file.h>.
54235 (pupa_print_partinfo): New function.
54236 * kern/dl.c: Include <pupa/env.h>.
54237 (pupa_dl_dir): Variable removed.
54238 (pupa_dl_load): Use the environment variable `prefix' instead of
54239 the variable pupa_dl_dir.
54240 (pupa_dl_set_prefix): Function removed.
54241 (pupa_dl_get_prefix): Likewise.
54242 * kern/i386/pc/init.c: Include <pupa/env.h>.
54243 (pupa_machine_init): Use the environment variable `prefix' instead of
54244 using pupa_dl_set_prefix to set the prefix.
54245 * kern/main.c: Include <pupa/env.h>.
54246 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54247 using pupa_dl_get_prefix to get the prefix.
54248 * kern/misc.c: Include <pupa/env.h>.
54249 (pupa_isdigit): New function.
54250 (pupa_isgraph): Likewise.
54251 (pupa_ftoa): Likewise.
54252 (pupa_vsprintf): Added support for printing values of the type
54253 `double'. Make it possible to format variable output when using
54254 formatting like `%1.2%f'.
54255 (pupa_split_cmdline): New function.
54256 * kern/rescue.c: Include <pupa/env.h>.
54257 (next_word): Removed function.
54258 (pupa_rescue_cmd_prefix): Likewise.
54259 (pupa_rescue_cmd_set): New function.
54260 (pupa_rescue_cmd_unset): New function.
54261 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54262 split the command line instead of splitting it here. Added
54263 support for setting variables using the syntax `foo=bar'. Don't
54264 initialize the prefix command anymore. Initialized the set and
54265 unset commands.
54266 * normal/cmdline.c: Include <pupa/env.h>.
54267 (pupa_tab_complete): Added prototypes for print_simple_completion,
54268 print_partition_completion, add_completion, iterate_commands,
54269 iterate_dev, iterate_part and iterate_dir. Moved code to print
54270 partition information from here to kern/disk.c.
fe6b695a 54271 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 54272 * normal/main.c: Include <pupa/env.h>.
54273 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54274 instead of using pupa_dl_get_prefix to get the prefix.
54275 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54276 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54277 warning.
54278 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54279 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54280 ((unused))' to silence a gcc warning.
54281 (pupa_vga_setcolor): Likewise.
54282 (debug_command): Changed to match argument parsing
54283 interface changes.
54284 * util/pupa-emu.c: Include <pupa/env.h>.
54285 (options): Added 0's for unused fields to silence a gcc warning.
54286 (argp): Likewise.
54287 (main): Use the environment variable `prefix' instead of using
54288 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54289 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54290 and terminal.
54291
54292 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54293 * util/misc.c: Include <malloc.h>.
54294 (pupa_malloc): Rewritten so errors are correctly reported.
54295 (pupa_realloc): Likewise.
54296 (pupa_memalign): Likewise.
54297 (pupa_mm_init_region): Declare unused variables with
54298 `__attribute__ ((unused))' to silence a gcc warning.
54299 * normal/i386/setjmp.S: Remove tab at the end of the file to
54300 silence a gcc warning.
54301 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54302 variables with `__attribute__ ((unused))' to silence a gcc
54303 warning.
54304 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54305 local variable i unsigned to silence a gcc warning.
54306
54307 * kern/term.c: Include <pupa/misc.h>.
54308 (pupa_more_lines): New variable.
54309 (pupa_more): Likewise.
54310 (pupa_putcode): When the pager is active pause at the end of every
54311 screen.
54312 (pupa_set_more): New function.
54313 * include/pupa/term.h (pupa_set_more): New prototype.
54314
54315
3b1139cb 543162004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54317
54318 Now this project is GRUB 2 rather than PUPA. The location of
54319 the CVS repository was moved to GRUB's.
f19dbdb7 54320
3b1139cb 54321 * configure.ac: Use bug-grub as the reporting address.
54322 Use GRUB instead of PUPA.
54323 Change the version number to 1.90.
54324
8367695c 543252004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54326
54327 * genkernsyms.sh: Updated copyright information.
54328 * genmk.rb: Likewise.
54329 * genmodsrc.sh: Likewise.
54330 * gensymlist.sh: Likewise.
54331 * boot/i386/pc/boot.S: Likewise.
54332 * boot/i386/pc/diskboot.S: Likewise.
54333 * disk/i386/pc/biosdisk.c: Likewise.
54334 * disk/i386/pc/partition.c: Likewise.
54335 * font/manager.c: Likewise.
54336 * fs/ext2.c: Likewise.
54337 * fs/fat.c: Likewise.
54338 * include/pupa/boot.h: Likewise.
54339 * include/pupa/device.h: Likewise.
54340 * include/pupa/disk.h: Likewise.
54341 * include/pupa/dl.h: Likewise.
54342 * include/pupa/elf.h: Likewise.
54343 * include/pupa/err.h: Likewise.
54344 * include/pupa/file.h: Likewise.
54345 * include/pupa/font.h: Likewise.
54346 * include/pupa/fs.h: Likewise.
54347 * include/pupa/kernel.h: Likewise.
54348 * include/pupa/loader.h: Likewise.
54349 * include/pupa/misc.h: Likewise.
54350 * include/pupa/mm.h: Likewise.
54351 * include/pupa/net.h: Likewise.
54352 * include/pupa/normal.h: Likewise.
54353 * include/pupa/rescue.h: Likewise.
54354 * include/pupa/setjmp.h: Likewise.
54355 * include/pupa/symbol.h: Likewise.
54356 * include/pupa/term.h: Likewise.
54357 * include/pupa/types.h: Likewise.
54358 * include/pupa/i386/setjmp.h: Likewise.
54359 * include/pupa/i386/types.h: Likewise.
54360 * include/pupa/i386/pc/biosdisk.h: Likewise.
54361 * include/pupa/i386/pc/boot.h: Likewise.
54362 * include/pupa/i386/pc/console.h: Likewise.
54363 * include/pupa/i386/pc/init.h: Likewise.
54364 * include/pupa/i386/pc/kernel.h: Likewise.
54365 * include/pupa/i386/pc/linux.h: Likewise.
54366 * include/pupa/i386/pc/loader.h: Likewise.
54367 * include/pupa/i386/pc/memory.h: Likewise.
54368 * include/pupa/i386/pc/multiboot.h: Likewise.
54369 * include/pupa/i386/pc/partition.h: Likewise.
54370 * include/pupa/i386/pc/time.h: Likewise.
54371 * include/pupa/i386/pc/vga.h: Likewise.
54372 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54373 * include/pupa/util/getroot.h: Likewise.
54374 * include/pupa/util/misc.h: Likewise.
54375 * include/pupa/util/resolve.h: Likewise.
54376 * kern/device.c: Likewise.
54377 * kern/disk.c: Likewise.
54378 * kern/dl.c: Likewise.
54379 * kern/err.c: Likewise.
54380 * kern/file.c: Likewise.
54381 * kern/fs.c: Likewise.
54382 * kern/loader.c: Likewise.
54383 * kern/main.c: Likewise.
54384 * kern/misc.c: Likewise.
54385 * kern/mm.c: Likewise.
54386 * kern/rescue.c: Likewise.
54387 * kern/term.c: Likewise.
54388 * kern/i386/dl.c: Likewise.
54389 * kern/i386/pc/init.c: Likewise.
54390 * kern/i386/pc/lzo1x.S: Likewise.
54391 * kern/i386/pc/startup.S: Likewise.
54392 * loader/i386/pc/chainloader.c: Likewise.
54393 * loader/i386/pc/linux.c: Likewise.
54394 * loader/i386/pc/multiboot.c: Likewise.
54395 * normal/cmdline.c: Likewise.
54396 * normal/command.c: Likewise.
54397 * normal/main.c: Likewise.
54398 * normal/menu.c: Likewise.
54399 * normal/i386/setjmp.S: Likewise.
54400 * term/i386/pc/console.c: Likewise.
54401 * term/i386/pc/vga.c: Likewise.
54402 * util/console.c: Likewise.
54403 * util/genmoddep.c: Likewise.
54404 * util/misc.c: Likewise.
54405 * util/pupa-emu.c: Likewise.
54406 * util/resolve.c: Likewise.
54407 * util/unifont2pff.rb: Likewise.
54408 * util/i386/pc/biosdisk.c: Likewise.
54409 * util/i386/pc/getroot.c: Likewise.
54410 * util/i386/pc/pupa-mkimage.c: Likewise.
54411 * util/i386/pc/pupa-setup.c: Likewise.
54412
e6eced71 544132004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54414
54415 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54416 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54417 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54418 reading and reset it after reading.
54419 (pupa_ext2_close): Return PUPA_ERR_NONE.
54420
54421 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54422 Correct value.
54423 (struct linux_kernel_header): Add kernel_version and
54424 initrd_addr_max.
54425 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54426 pupa_file_read succeeds.
54427 (pupa_rescue_cmd_initrd): Implement.
54428
5aded270 544292003-12-03 Marco Gerards <metgerards@student.han.nl>
54430
54431 * fs/ext2.c (pupa_ext2_label): New function.
54432 (pupa_ext2_fs): Added label.
54433 * fs/fat.c (pupa_fat_label): New function.
54434 (pupa_fat_fs): Added label.
54435 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54436
54437 * kern/misc.c (pupa_strndup): New function.
54438 * include/pupa/misc.h (pupa_strndup): New prototype.
54439
54440 * include/pupa/normal.h: Include <pupa/err.h>.
54441 (pupa_set_history): New prototype.
54442 (pupa_iterate_commands): New prototype.
54443 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54444 <pupa/disk.h>, <pupa/file.h>.
54445 (hist_size): New variable.
54446 (hist_lines): Likewise.
54447 (hist_end): Likewise.
54448 (hist_used): Likewise.
54449 (pupa_set_history): New function.
54450 (pupa_history_get): Likewise.
54451 (pupa_history_add): Likewise.
54452 (pupa_history_replace): Likewise.
54453 (pupa_tab_complete): Likewise.
54454 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54455 completion shows partitionnames while completing partitions, this
54456 feature was suggested by Jeff Bailey.
54457 * normal/command.c (pupa_iterate_commands): New function.
54458 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54459 (pupa_normal_init): Initialize history buffer.
54460 (PUPA_MOD_INIT): Likewise.
54461 (pupa_normal_fini): Free the history buffer.
54462 (PUPA_MOD_FINI): Likewise.
54463
54464 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54465 key.
54466
54467 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54468 * configure.ac [i386]: Check for regparam bug.
54469 (NESTED_FUNC_ATTR) [! i386]: Defined.
54470
1f7315a3 544712003-11-17 Marco Gerards <metgerards@student.han.nl>
54472
54473 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54474 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54475 (pupa_emu_SOURCES): New variable.
54476 (pupa_emu_LDFLAGS): Likewise.
54477 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54478 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54479 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54480 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54481 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54482 (pupa_jmp_buf): New typedef.
54483 (pupa_setjmp) [PUPA_UTIL]: New macro.
54484 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54485 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54486 (pupa_refresh): New prototype.
54487 * include/pupa/util/getroot.h: New file.
54488 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54489 it.
54490 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54491 (pupa_rescue_cmd_cat): Likewise.
54492 (pupa_rescue_cmd_ls): Likewise.
54493 (pupa_rescue_cmd_testload): Likewise.
54494 (pupa_rescue_cmd_lsmod): Likewise.
54495 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54496 * normal/menu.c (run_menu): Likewise.
54497 * kern/term.c (pupa_cls): Likewise.
54498 (pupa_refresh): New function.
54499 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54500 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54501 * util/console.c: New file.
f19dbdb7 54502
1f7315a3 54503 * util/i386/pc/getroot.c: New file.
54504 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54505 (pupa_putchar): New function.
54506 (pupa_refresh): Likewise.
54507 (xgetcwd): Function moved to ...
54508 (strip_extra_slashes): Likewise.
54509 (get_prefix): Likewise.
f19dbdb7 54510 * util/i386/pc/getroot.c: ... here.
1f7315a3 54511 (find_root_device): Function moved and renamed to...
54512 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54513 Changed all callers.
54514 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54515 and renamed to...
54516 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54517 Changed all callers.
54518 * util/misc.c (pupa_memalign): New function.
54519 (pupa_mm_init_region): Likewise.
54520 (pupa_register_exported_symbols): Likewise.
54521 (pupa_putchar): Function removed.
54522 * util/pupa-emu.c: New file.
54523
9a5c1ade 545242003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54525
54526 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54527 (_multiboot_mod_SOURCES): New variable.
54528 (_multiboot_mod_CFLAGS): Likewise.
54529 * loader/i386/pc/multiboot.c: New file.
54530 * include/pupa/i386/pc/multiboot.h: Likewise.
54531 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54532 (pupa_multiboot_real_boot): New function.
54533 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54534 (pupa_multiboot_real_boot): New prototype.
54535 (pupa_rescue_cmd_multiboot): Likewise
54536 (pupa_rescue_cmd_module): Likewise.
54537
54538 * kern/loader.c (pupa_loader_set): Continue when
54539 pupa_loader_unload_func() fails.
54540 (pupa_loader_unset): New function.
54541 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54542
54543 * kern/misc.c (pupa_stpcpy): New function.
54544 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54545
8e72a9c0 545462003-11-12 Marco Gerards <metgerards@student.han.nl>
54547
54548 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54549 for available extensions.
54550
54551 * include/pupa/i386/pc/time.h: New file.
54552 * kern/disk.c: Include <pupa/machine/time.h>.
54553 (PUPA_CACHE_TIMEOUT): New macro.
54554 (pupa_last_time): New variable.
54555 (pupa_disk_open): Flush the cache when there was a timeout.
54556 (pupa_disk_close): Reset the timer.
54557 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54558 pupa_currticks.
54559 * util/misc.c: Include <sys/times.h>
54560 (pupa_get_rtc): New function.
54561
c4adbd32 545622003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54563
54564 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54565 as blocks.
54566 (pupa_ext2_get_file_block): Use blocks member.
54567
54568 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54569 first block. Return -1 instead of pupa_errno on error.
54570
bfd30f06 545712003-10-27 Marco Gerards <metgerards@student.han.nl>
54572
54573 * README: In the pupa-mkimage example use _chain instead of chain
54574 and ext2 instead of fat.
54575 * TODO: Replace ext2fs with jfs as an example. Add an item for
54576 adding journal playback for ext2fs.
54577 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54578 (pkgdata_MODULES): Added ext2.mod.
54579 (ext2_mod_SOURCES): New variable.
54580 (ext2_mod_CFLAGS): Likewise.
54581 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54582 * include/pupa/misc.h (pupa_strncpy): New prototype.
54583 (pupa_strcat): Likewise.
54584 (pupa_strncmp): Likewise.
54585 * kern/misc.c (pupa_strcat): Enable function.
54586 (pupa_strncpy): New function.
54587 (pupa_strncmp): Likewise.
54588 * fs/ext2.c: New file.
f19dbdb7 54589
bfd30f06 54590 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54591 when the read failed before retrying.
54592 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54593 (_FILE_OFFSET_BITS): Likewise.
54594 * configure.ac: Added AC_SYS_LARGEFILE.
54595
98d15063 545962003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54597
54598 * genmk.rb (PModule#rule): Make sure to get only symbol names
54599 from the output of nm.
59cad637 54600 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54601
18d9c7cd 546022003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54603
54604 I forgot to check in these changes for a long time. This adds
54605 incomplete support for VGA console, and this is still very
54606 buggy. Also, a lot of consideration is required for I18N,
54607 UNICODE, and VGA font issues. Therefore, assume that this is
54608 such that "better than nothing".
f19dbdb7 54609
18d9c7cd 54610 * font/manager.c: New file.
54611 * include/pupa/font.h: Likewise.
54612 * include/pupa/i386/pc/vga.h: Likewise.
54613 * term/i386/pc/vga.c: Likewise.
54614 * util/unifont2pff.rb: Likewise.
54615
54616 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54617 (pkgdata_MODULES): Added vga.mod and font.mod.
54618 (vga_mod_SOURCES): New variables.
54619 (vga_mod_CFLAGS): Likewise.
54620 (font_mod_SOURCES): Likewise.
54621 (font_mod_CFLAGS): Likewise.
54622
54623 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54624
54625 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54626 (struct pupa_term): Added init and fini.
18d9c7cd 54627 Changed the argument of putchar to pupa_uint32_t.
54628
54629 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54630 (pupa_console_real_putchar): New prototype.
54631 (pupa_console_putchar): Removed.
54632 (pupa_console_checkkey): Exported.
54633 (pupa_console_getkey): Likewise.
54634
54635 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54636 characters.
54637
54638 * kern/term.c (pupa_term_set_current): Rewritten.
54639 (pupa_putchar): Likewise.
54640 (pupa_putcode): New function.
54641
54642 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54643 (pupa_console_real_putchar): ... this.
54644 (pupa_vga_set_mode): New function.
54645 (pupa_vga_get_font): Likewise.
54646
54647 * normal/command.c: Include pupa/term.h.
54648 (terminal_command): New function.
54649 (pupa_command_init): Register the command "terminal".
54650
54651 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54652 (DISP_UP): Likewise.
54653 (DISP_RIGHT): Likewise.
54654 (DISP_DOWN): Likewise.
54655 (DISP_HLINE): Likewise.
54656 (DISP_VLINE): Likewise.
54657 (DISP_UL): Likewise.
54658 (DISP_UR): Likewise.
54659 (DISP_LL): Likewise.
54660 (DISP_LR): Likewise.
54661
54662 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54663
977329f5 546642003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54665
54666 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54667 FIX. Reverse the path_list.
54668
54669 * include/pupa/normal.h: Export pupa_register_command and
54670 pupa_unregister_command.
54671
54672 * hello/hello.c (pupa_cmd_hello): New module.
54673 * conf/i386-pc.rmk: Added hello.mod.
54674
1f5ab428 546752003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54676
54677 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54678
1f5ab428 54679 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54680 (compress_kernel): New variable.
54681 (generate_image): Heavily modified to support compressing a
54682 large part of the core image.
54683
54684 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54685 leak.
54686 (pupa_util_load_image): New function.
54687
54688 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54689 (pupa_compressed_size): New variable.
54690 (codestart): Enable Gate A20 here.
54691 Decompress the compressed part of the core image.
54692 Rearrange the code to put functions and variables which are
54693 required for initialization in the non-compressed part.
54694 Include lzo1x.S.
54695
54696 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54697 here.
54698
54699 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54700
f19dbdb7 54701 * include/pupa/i386/pc/kernel.h
1f5ab428 54702 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54703 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54704 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54705 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54706 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54707
54708 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54709
54710 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54711 (Utility#rule): Likewise.
54712
54713 * configure.ac: Check if LZO is available.
54714
ce5bf700 547152003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54716
54717 * include/pupa/normal.h: New file.
54718 * include/pupa/setjmp.h: Likewise.
54719 * include/pupa/i386/setjmp.h: Likewise.
54720 * normal/cmdline.c: Likewise.
54721 * normal/command.c: Likewise.
54722 * normal/main.c: Likewise.
54723 * normal/menu.c: Likewise.
54724 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54725
ce5bf700 54726 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54727 (pupa_rescue_cmd_initrd): Likewise.
54728
54729 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54730 Likewise.
54731
54732 * kern/i386/pc/startup.S (translation_table): New variable.
54733 (translate_keycode): New function.
54734 (pupa_console_getkey): Call translate_keycode.
54735
54736 * kern/rescue.c (attempt_normal_mode): New function.
54737 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54738 it failed, print a message.
54739
54740 * kern/mm.c (pupa_real_malloc): Print more information when a
54741 free magic is broken.
54742 (pupa_free): If the first free header is not free actually, set
54743 it to P.
54744
54745 * kern/main.c (pupa_load_normal_mode): Just load the module
54746 "normal".
54747 (pupa_main): Don't print the message
54748 "Entering into rescue mode..." here.
54749
54750 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54751 Declared.
54752 (pupa_rescue_cmd_initrd): Likewise.
54753 (pupa_rescue_cmd_initrd): Likewise.
54754
54755 * include/pupa/symbol.h (FUNCTION): Specify the type.
54756 (VARIABLE): Likewise.
54757
54758 * include/pupa/err.h (pupa_err_t): Added
54759 PUPA_ERR_UNKNOWN_COMMAND.
54760
54761 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54762 (pupa_dl_get_prefix): Likewise.
54763
54764 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54765 Added _chain.mod and _linux.mod instead of chain.mod and
54766 linux.mod.
54767 (chain_mod_SOURCES): Renamed to ...
54768 (_chain_mod_SOURCES): ... this.
54769 (chain_mod_CFLAGS): Renamed to ...
54770 (_chain_mod_CFLAGS): ... this.
54771 (linux_mod_SOURCES): Renamed to ...
54772 (_linux_mod_SOURCES): ... this.
54773 (linux_mod_CFLAGS): Renamed to ...
54774 (_linux_mod_CFLAGS): ... this.
54775 (normal_mod_SOURCES): New variable.
54776 (normal_mod_CFLAGS): Likewise.
54777 (normal_mod_ASFLAGS): Likewise.
54778
547792003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54780
54781 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54782 possible.
54783
fe6b695a 54784 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54785 recursively.
54786 (pupa_dl_unref): Unrefer depending modules recursively.
54787 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54788 a module is unloaded before one depending on that module is
54789 unloaded.
54790 (pupa_dl_unload): Unload depending modules explicitly,
54791 if possible.
54792
c04da074 547932003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54794
54795 * include/pupa/i386/pc/linux.h: New file.
54796 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54797
c04da074 54798 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54799 Removed.
54800 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54801 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54802 of PUPA_CHAINLOADER_BOOT_SECTOR.
54803
54804 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54805 (pupa_linux_prot_size): New variable.
54806 (pupa_linux_tmp_addr): Likewise.
54807 (pupa_linux_real_addr): Likewise.
54808 (pupa_linux_boot_zimage): New function.
54809 (pupa_linux_boot_bzimage): Likewise.
54810
54811 * kern/i386/pc/init.c (struct mem_region): New structure.
54812 (MAX_REGIONS): New macro.
54813 (mem_regions): New variable.
54814 (num_regions): Likewise.
54815 (pupa_os_area_addr): Likewise.
54816 (pupa_os_area_size): Likewise.
54817 (pupa_lower_mem): Likewise.
54818 (pupa_upper_mem): Likewise.
54819 (add_mem_region): New function.
54820 (compact_mem_regions): Likewise.
54821 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54822 the size of the conventional memory and that of so-called upper
54823 memory (before the first memory hole).
54824 Instead of adding each found region to free memory, use
54825 add_mem_region and add them after removing overlaps.
54826 Also, add only 1/4 of the upper memory to free memory. The rest
54827 is used for loading OS images. Maybe this is ad hoc, but this
54828 makes it much easier to relocate OS images when booting.
54829
54830 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54831 (pupa_enter_rescue_mode): Don't register initrd and module.
54832
54833 * kern/mm.c: Include pupa/dl.h.
54834
54835 * kern/main.c: Include pupa/file.h and pupa/device.h.
54836
54837 * kern/loader.c (pupa_loader_load_module_func): Removed.
54838 (pupa_loader_load_module): Likewise.
54839
54840 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54841 ``.o''.
54842
54843 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54844 (pupa_linux_tmp_addr): Likewise.
54845 (pupa_linux_real_addr): Likewise.
54846 (pupa_linux_boot_zimage): Likewise.
54847 (pupa_linux_boot_bzimage): Likewise.
54848
54849 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54850 (pupa_upper_mem): Likewise.
54851 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54852 module is too dangerous.
54853
54854 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54855 (pupa_os_area_size): Likewise.
54856 (pupa_loader_set): Remove the first argument. Loader doesn't
54857 manage modules or initrd any longer.
54858 (pupa_loader_load_module): Removed.
54859
54860 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54861 (linux_mod_SOURCES): New variable.
54862 (linux_mod_CFLAGS): Likewise.
54863
a13f9237 548642003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54865
54866 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54867 the length of a blocklist correctly.
54868
54869 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54870 Use ioctl only if the OS file is a block device.
54871 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54872 not very useful for normal files.
54873
54874 * kern/main.c (pupa_set_root_dev): New function.
54875 (pupa_load_normal_mode): Likewise.
54876 (pupa_main): Call those above.
54877
54878 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54879 pupa_uint16_t.
54880
54881 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54882
a5ffe966 548832003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54884
54885 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54886 (setup): Configure the installed partition information and the
54887 dl prefix.
54888
54889 * loader/i386/pc/chainloader.c (my_mod): New variable.
54890 (pupa_chainloader_unload): New function.
54891 (pupa_rescue_cmd_chainloader): Refer itself.
54892 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54893
54894 * kern/i386/pc/startup.S (install_partition): Removed.
54895 (version_string): Likewise.
54896 (config_file): Likewise.
54897 (pupa_install_dos_part): New variable.
54898 (pupa_install_bsd_part): Likewise.
54899 (pupa_prefix): Likewise.
54900 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54901
54902 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54903 and pupa/misc.h.
54904 (make_install_device): New function.
54905 (pupa_machine_init): Set the dl prefix.
54906
54907 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54908 (buf): Renamed to ...
54909 (linebuf): ... this.
54910 (pupa_rescue_cmd_prefix): New function.
54911 (pupa_rescue_cmd_insmod): Likewise.
54912 (pupa_rescue_cmd_rmmod): Likewise.
54913 (pupa_rescue_cmd_lsmod): Likewise.
54914 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54915 rmmod and lsmod.
54916
54917 * kern/mm.c (pupa_memalign): If failed even after invalidating
54918 disk caches, unload unneeded modules and retry.
54919
54920 * kern/misc.c (pupa_memmove): New function.
54921 (pupa_memcpy): Removed.
54922 (pupa_strcpy): New function.
54923 (pupa_itoa): Made static.
54924
54925 * kern/dl.c (pupa_dl_iterate): New function.
54926 (pupa_dl_ref): Likewise.
54927 (pupa_dl_unref): Likewise.
54928 (pupa_dl_unload): Return if succeeded or not.
54929 (pupa_dl_unload_unneeded): New function.
54930 (pupa_dl_unload_all): Likewise.
54931 (pupa_dl_init): Renamed to ...
54932 (pupa_dl_set_prefix): ... this.
54933 (pupa_dl_get_prefix): New function.
54934
54935 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54936 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54937 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54938 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54939 (pupa_install_dos_part): Declared.
54940 (pupa_install_bsd_part): Likewise.
54941 (pupa_prefix): Likewise.
54942 (pupa_boot_drive): Likewise.
54943
54944 * include/pupa/types.h: Fix a typo.
54945
54946 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54947 pupa_memmove.
54948 (pupa_memmove): Declared.
54949 (pupa_strcpy): Likewise.
54950
54951 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54952 pupa_mod_init takes one argument, its own module.
54953 (pupa_dl_unload_unneeded): Declared.
54954 (pupa_dl_unload_all): Likewise.
54955 (pupa_dl_ref): Likewise.
54956 (pupa_dl_unref): Likewise.
54957 (pupa_dl_iterate): Likewise.
54958 (pupa_dl_init): Renamed to ...
54959 (pupa_dl_set_prefix): ... this.
54960 (pupa_dl_get_prefix): Declared.
54961
54962 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54963 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54964 unloaded.
54965 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54966 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54967
54968 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54969 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54970
012d7999 549712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54972
54973 * util/i386/pc/pupa-setup.c (setup): Define the internal
54974 function find_first_partition_start at the top level, because GCC
54975 3.0.x cannot compile internal functions in deeper scopes
54976 correctly.
54977 (find_root_device): Use lstat instead of stat.
54978 Don't follow symbolic links.
54979 Fix the path-constructing code.
54980
54981 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54982 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54983 by a BLKGETSIZE ioctl first, because block devices don't fill
54984 the member st_mode of the structure stat on Linux.
54985 [__linux__] (linux_find_partition): Use a temporary buffer
54986 REAL_DEV for the working space. Copy it to DEV before returning.
54987 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54988 buffer cache consistent.
54989 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54990 strncmp. The previous value was merely wrong.
54991 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54992
54993 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54994 FAT size is 12. The previous value was merely wrong.
54995
54996 * kern/main.c (pupa_main): Don't split the starting message from
54997 newlines.
54998
54999 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55000 LF, because BIOS goes crazy about character attributes in this
55001 case.
55002
1cc73a62 550032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55004
55005 * include/i386/pc/util/biosdisk.h: New file.
55006 * util/i386/pc/biosdisk.c: Likewise.
55007 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 55008
1cc73a62 55009 * Makefile.in (INCLUDE_DISTFILES): Added
55010 include/pupa/i386/pc/util/biosdisk.h.
55011 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55012 directory util/i386/pc.
55013 (install-local): Added a rule for sbin_UTILITIES.
55014 (uninstall): Likewise.
55015
55016 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55017
55018 * util/misc.c (xrealloc): New function.
55019 (pupa_malloc): Likewise.
55020 (pupa_free): Likewise.
55021 (pupa_realloc): Likewise.
55022 (pupa_stop): Likewise.
55023 (pupa_putchar): Likewise.
55024
55025 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55026
55027 * include/pupa/util/misc.h (xrealloc): Declared.
55028
55029 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55030 macro.
55031 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55032 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55033
55034 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55035 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55036
55037 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55038 way should be implemented.
55039 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55040
55041 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55042 the size of NAME for safety.
55043 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55044 0x88.
55045
55046 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55047 (pupa_setup_SOURCES): Likewise.
55048
55049 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55050
08b70fe8 550512002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55052
55053 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55054 bunch of pushl's from pusha, because this destroys the return
55055 value.
55056
62ddcc8f 550572002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55058
55059 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55060 This means that any missing prototypes could be fatal. Also, you
55061 must take care when writing assembly code. See the comments at
55062 the beginning of startup.S, for more details.
f19dbdb7 55063
62ddcc8f 55064 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55065 compilation mechanism.
55066 (pupa_chainloader_real_boot): Likewise.
55067 (pupa_biosdisk_rw_int13_extensions): Likewise.
55068 (pupa_biosdisk_rw_standard): Likewise.
55069 (pupa_biosdisk_check_int13_extensions): Likewise.
55070 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55071 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55072 (pupa_get_memsize): Likewise.
55073 (pupa_get_mmap_entry): Likewise.
55074 (pupa_console_putchar): Likewise.
55075 (pupa_console_setcursor): Likewise.
55076 (pupa_getrtsecs): Use pushl instead of push.
55077
55078 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55079 memory instead of the stack for a mmap entry, because some
55080 BIOSes may ignore the maximum size and overflow.
55081
55082 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55083
55084 * genmk.rb (PModule#rule): Compile automatically generated
55085 sources with module-specific CFLAGS as well as other sources.
55086
9962ed99 550872002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55088
55089 * configure.ac: Check ld.
55090 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55091 respectively, before checking endianness and sizes.
55092
55093 * Makefile.in (LD): New variable.
f19dbdb7 55094
abdfc3c5 550952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55096
55097 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55098
6a161fa9 550992002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55100
55101 * Changelog: New file.
55102