]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
996649b0
VS
12010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
4 CDROM reads.
5 (grub_biosdisk_write): Refuse to write to CDROM.
6
3b205d4d
VS
72010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10
61e89d9d
VS
112010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * font/font.c (find_glyph): Check that bmp_idx is available before
14 using it.
15 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16 with (font == NULL).
17
bf7fcba2
CS
182010-01-28 Christian Schmitt <chris@ilovelinux.de>
19
20 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21
f45d2663
BC
222010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23
24 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25 * util/grub-script-check.c (getline): Fix empty lines case.
26
ec1444e6
RM
272010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28
29 * Makefile.in (check): Exit with fail status when one of the tests
30 fails.
31 * tests/example_functional_test.c (example_test): Fix reversed assert.
32 * tests/example_unit_test.c (example_test): Likewise.
33
2e1cb9bb
CW
342010-01-28 Colin Watson <cjwatson@ubuntu.com>
35
36 * util/grub.d/10_linux.in: This script does not use any of the
37 contents of gettext.sh, only the external command `gettext', so stop
38 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
39 the same prefix as GRUB.)
40 * util/grub.d/10_kfreebsd.in: Likewise.
41
63533ab0
VS
422010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
45 of the line.
46
989e1f93
VS
472010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * kern/disk.c (grub_disk_read): Fix offset computation when reading
50 last sectors.
51
e709ebe2
VS
522010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
55 having a 4KiB and not 32KiB buffer size.
56
27dea7ed
RM
572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
58
59 * util/hostfs.c: Include `<errno.h>'.
60 (grub_hostfs_read): Handle errors from fseeko() and fread().
61
67667b9c
RM
622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
63
64 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
65 loop when using read hooks on files whose size isn't sector-aligned.
66
c294d9d8
RM
672010-01-27 Robert Millan <rmh.grub@aybabtu.com>
68
69 Remove unused parameter.
70
71 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
72 (grub_iso9660_open): Remove initialization of `data->length'.
73
af75a9f1
RM
742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
75
76 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
77 memleak conditions.
78
254e2ce5 792010-01-27 Carles Pina i Estany <carles@pina.cat>
80
81 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
82 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
83
b510928c 842010-01-26 Carles Pina i Estany <carles@pina.cat>
85
86 * util/bin2h.c (usage): Fix warning (space after backslash).
87
aa2f9dd2 882010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 89
90 * font/font.c: Include `grub/fontformat.h.
91 Remove font file format constants.
92 (grub_font_load): Use the new macros.
93 * include/grub/fontformat.h: New file.
94 * util/grub-mkfont.c: Include `grub/fontformat.c'.
95 (write_font_pf2): Use the new macros.
96
94e7e712
RM
972010-01-26 Robert Millan <rmh.grub@aybabtu.com>
98
99 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
100 does.
101
3973a59a
RM
1022010-01-26 Robert Millan <rmh.grub@aybabtu.com>
103
104 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
105
106 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
107 (_start): Macroify `0x7F'.
108
109 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
110 (make_install_device): Use "(pxe)" as fallback prefix when booting
111 via PXE.
112
42e0cba3
GS
1132010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * configure.ac: Reset LIBS after check for libgcc symbols.
116
847effd8
CW
1172010-01-25 Colin Watson <cjwatson@ubuntu.com>
118
119 * util/hostdisk.c (open_device): Add trailing newline to debug
120 message.
121
ea4a7e35
GS
1222010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
123
124 * configure.ac: Check for `limits.h'.
125 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
126
67951a53
RM
1272010-01-24 Robert Millan <rmh.grub@aybabtu.com>
128
129 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
130 capitalize error strings.
131
c273d4ce
ST
1322010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
133
134 * util/grub.d/10_hurd.in: Add a recovery mode.
135
69be5b74
VS
1362010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * configure.ac: Check for libgcc symbols with -nostdlib.
139
fc9e5810
BC
1402010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
141
142 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
143
4b358c0a
VS
1442010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
147 stack since heap may be unavailable at that point.
148 (grub_ofconsole_gotoxy): Likewise.
149
454fcd1c
VS
1502010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * configure.ac: Check for _restgpr_14_x.
153 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
154 and _savegpr_* prototypes.
155
566863ca
RM
1562010-01-22 Robert Millan <rmh.grub@aybabtu.com>
157
158 Use generic grub_reboot() for i386-efi.
159
160 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
161 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
162 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
163
bf86e59a
VS
1642010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
167 presence of "prefix" variable as it breaks when normal.mod is
168 embedded.
169
d645e0f8
VS
1702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
173 stack since heap is unavailable at that point.
174
f9ab2e25
VS
1752010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
178 (grub_freebsd_bootinfo): Rewritten.
179 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
180
01fc7054
VS
1812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
184
caab4fd6
RM
1852010-01-21 Robert Millan <rmh.grub@aybabtu.com>
186
187 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
188 domain now.
189
67eb1427
FZ
1902010-01-20 Felix Zielcke <fzielcke@z-51.de>
191
192 * util/misc.c (make_system_path_relative_to_its_root): Change the work
193 around for handling "/" to the correct fix. Fix a memory leak. Use
194 xstrdup instead of strdup.
195
a9ed4ff3
VS
1962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
199
2002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
201
202 Optimise glyph lookup by Basic Multilingual Plane lookup array.
203
204 * font/font.c (struct grub_font): New member 'bmp_idx'.
205 (font_init): Initialise 'bmp_idx'.
206 (load_font_index): Fill 'bmp_idx'.
207 (find_glyph): Make inline. Use bmp_idx for BMP characters.
208
48209f4f
VS
2092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
212 unnecessary calls.
213
9f0a4bb7
VS
2142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Move context handling out of the kernel.
217
218 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
219 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
220 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
221 * conf/i386-efi.rmk: Likewise.
222 * conf/i386-ieee1275.rmk: Likewise.
223 * conf/i386-pc.rmk: Likewise.
224 * conf/powerpc-ieee1275.rmk: Likewise.
225 * conf/sparc64-ieee1275.rmk: Likewise.
226 * conf/x86_64-efi.rmk: Likewise.
227 * include/grub/env.h: Include grub/menu.h.
228 (grub_env_var_type): Removed.
229 (grub_env_var): Replaced field 'type' with 'global'.
230 (grub_env_find): New prototype.
231 (grub_env_context_open): Remove EXPORT_FUNC.
232 (grub_env_context_close): Likewise.
233 (grub_env_export): Likewise.
234 (grub_env_set_data_slot): Removed.
235 (grub_env_get_data_slot): Likewise.
236 (grub_env_unset_data_slot): Likewise.
237 (grub_env_unset_menu): New prototype.
238 (grub_env_set_menu): Likewise.
239 (grub_env_get_menu): Likewise.
240 * include/grub/env_private.h: New file.
241 * include/grub/normal.h (grub_context_init): New prototype.
242 (grub_context_fini): Likewise.
243 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
244 * normal/context.c (grub_cmd_export): ... to here.
245 * kern/env.c: Include env_private.h.
246 (HASHSZ): Moved to include/grub/env_private.h.
247 (grub_env_context): Likewise.
248 (grub_env_sorted_var): Likewise.
249 (current_context): Renamed from this ...
250 (grub_current_context): ...to this. 'static' removed. All users updated.
251 (grub_env_find): Removed 'static'.
252 (grub_env_context_open): Moved to normal/context.c.
253 (grub_env_context_close): Likewise.
254 (grub_env_export): Likewise.
255 (mangle_data_slot_name): Removed.
256 (grub_env_set_data_slot): Likewise.
257 (grub_env_get_data_slot): Likewise.
258 (grub_env_unset_data_slot): Likewise.
259 * kern/main.c (grub_set_root_dev): Don't export root.
260 It will be done later.
261 (grub_main): Don't export prefix.
262 It will be done later.
263 * normal/context.c: New file.
264 * normal/main.c (free_menu): Use grub_env_unset_menu.
265 (grub_normal_add_menu_entry): Use grub_env_get_menu.
266 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
267 (GRUB_MOD_INIT(normal)): Call grub_context_init.
268 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
269
8dd35b8c
VS
2702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
271
272 setpci support.
273
274 * commands/setpci.c: New file.
275 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
276 (setpci_mod_SOURCES): New variable.
277 (setpci_mod_CFLAGS): Likewise.
278 (setpci_mod_LDFLAGS): Likewise.
279
449193d5
VS
2802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Byte-addressable PCI configuration space.
283
284 * bus/pci.c (grub_pci_make_address): Use byte address instead of
285 dword address.
286 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
287 GRUB_PCI_REG_CACHELINE.
288 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
289 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
290 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
291 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
292 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
293 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
294 grub_pci_make_address.
295 (lock_rom_area): Likewise.
296 * commands/lspci.c (grub_lspci_iter): Use macroses
297 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
298 of grub_pci_make_address.
299 * disk/ata.c (grub_ata_pciinit): Likewise.
300 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
301 (GRUB_PCI_REG_VENDOR): Likewise.
302 (GRUB_PCI_REG_DEVICE): Likewise.
303 (GRUB_PCI_REG_COMMAND): Likewise.
304 (GRUB_PCI_REG_STATUS): Likewise.
305 (GRUB_PCI_REG_REVISION): Likewise.
306 (GRUB_PCI_REG_CLASS): Likewise.
307 (GRUB_PCI_REG_CACHELINE): Likewise.
308 (GRUB_PCI_REG_LAT_TIMER): Likewise.
309 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
310 (GRUB_PCI_REG_BIST): Likewise.
311 (GRUB_PCI_REG_ADDRESSES): Likewise.
312 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
313 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
314 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
315 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
316 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
317 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
318 (GRUB_PCI_REG_CIS_POINTER): Likewise.
319 (GRUB_PCI_REG_SUBVENDOR): Likewise.
320 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
321 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
322 (GRUB_PCI_REG_CAP_POINTER): Likewise.
323 (GRUB_PCI_REG_IRQ_LINE): Likewise.
324 (GRUB_PCI_REG_IRQ_PIN): Likewise.
325 (GRUB_PCI_REG_MIN_GNT): Likewise.
326 (GRUB_PCI_REG_MAX_LAT): Likewise.
327 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
328 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
329 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 330 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
331 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
332 space.
333
96d73208
RM
3342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
335
336 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
337 can be reliably determined to be supported.
338
d4484482
RM
3392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
340
341 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
342 that VESA is supported.
343 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
344 supported.
345
00308ecf
VS
3462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
349
f66924a4
RM
3502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
351
352 * util/misc.c (make_system_path_relative_to_its_root): Work around
353 special-casing of "/", as previous incarnation of this routine did.
354
cbca0ada
VS
3552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
356
357 Fix any-emu compilation.
358
359 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
360 * grub_bin2h_SOURCES: New variable.
361
34a66d99
RM
3622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
363
364 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
365
94fabf58
RM
3662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
367
368 * util/grub.d/00_header.in: Fix handling of locale_dir.
369
02cf98ca
VS
3702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
373 as possible unifont location (Gentoo).
374 Reported by: Alexander Brüning
375
327dbcd7
VS
3762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
377
378 Don't try to generate lists for kernel.img.
379
380 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
381 (pkglib_MODULES): Remove kernel.img.
382 (kernel_img_EXPORTS): Removed.
383 (kernel_img_RELOCATABLE): New variable.
384 * conf/x86_64-efi.rmk: Likewise.
385 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
386
ca467290
VS
3872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
390 grub_xasprintf or grub_snprintf.
391 (grub_vsprintf): Likewise.
392 (grub_snprintf): New proto.
393 (grub_vsnprintf): Likewise.
394 (grub_xasprintf): Likewise.
395 (grub_xvasprintf): Likewise.
396 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
397 (grub_sprintf): Removed.
398 (grub_vsnprintf): New function.
399 (grub_snprintf): Likewise.
400 (grub_xvasprintf): Likewise.
401 (grub_xasprintf): Likewise.
402 (grub_vsprintf): Renamed to ...
403 (grub_vsnprintf_real): ...this. New argument max_len.
404
aca655fd
BC
4052010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
406
407 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
408 fix grub-script-check warning.
409
7ee92c32
VS
4102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * include/grub/font.h (grub_font_load): Fix prototype.
413
f80927ca
VS
4142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
417
119c50ea
VS
4182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * include/grub/x86_64/at_keyboard.h: New file.
421
47d5f3c1
VS
4222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * loader/mips/linux.c: Include missing grub/i18n.h.
425
55ff5266
RM
4262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
427
428 * normal/menu.c (notify_execution_failure): Clarify error message.
429
c893cc87
RM
4302009-12-20 Robert Millan <rmh.grub@aybabtu.com>
431
432 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
433 return value (and revert all return statements). Update users.
434
917dd370
CW
4352010-01-20 Dan Merillat <debian@dan.merillat.org>
436
437 * kern/device.c (grub_device_iterate): Allocate new part_ent
438 structure based on sizeof (*p) rather than sizeof (p->next), to
439 account for structure padding.
440
441 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
442 disk is NULL, which might happen for LVM physical volumes with no
443 LVM signature.
444
d4a4ee57
RM
4452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
446
447 * loader/mips/linux.c (grub_cmd_initrd)
448 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
449
4502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
451
452 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
453 (grub_video_video_init, grub_video_bitmap_init)
454 (grub_font_manager_init, grub_term_gfxterm_init)
455 (grub_at_keyboard_init): New extern declarations.
456 (grub_machine_init): Initialize gfxterm and at_keyboard.
457
458 * kern/main.c (grub_main): Revert grub_printf delay kludge.
459
460 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
461 `gfxterm.mod' into core image.
462
463 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
464 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
465 (kernel_img_FORMAT): Copy to ...
466
467 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
468 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
469 (kernel_img_FORMAT): ... here, and ...
470
471 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
472 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
473 (kernel_img_FORMAT): ... here.
474
475 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
476 and input (at_keyboard) terminals in kernel.
477 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
478
479 (pkglib_MODULES): Remove `pci.mod'.
480 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
481 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
482 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
483 (at_keyboard_mod_LDFLAGS): Remove variables.
484
4852010-01-11 Felix Zielcke <fzielcke@z-51.de>
486
487 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
488
4892009-12-10 Robert Millan <rmh.grub@aybabtu.com>
490
491 * include/grub/mips/libgcc.h: Only export symbols for functions
492 that libgcc provides.
493
4942009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
495
496 MIPS support.
497
498 * bus/bonito.c: New file.
499 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
500 GRUB_PCI_NUM_DEVICES.
501 * term/i386/pc/serial.c: Move to ...
502 * term/serial.c: ... here. All users updated.
503 * util/i386/pc/grub-mkimage.c: Move to ...
504 * util/grub-mkrawimage.c: ... here. All users updated.
505 * term/i386/pc/at_keyboard.c: Move to ...
506 * term/at_keyboard.c: ... here. All users updated.
507 * conf/mips-qemu-mips.rmk: New file.
508 * conf/mips-yeeloong.rmk: Likewise.
509 * conf/mips.rmk: Likewise.
510 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
511 mipsel-qemu-mips.
512 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
513 to port addresses.
514 (grub_ata_pciinit): Support CS5536.
515 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
516 * font/font_cmd.c (loadfont_command): Open file before passing it to
517 grub_font_load.
518 (pseudo_file_read): New function.
519 (pseudo_file_close): Likewise.
520 (pseudo_fs): New structure.
521 (load_font_module): New function.
522 (GRUB_MOD_INIT(font_manager)): Load embedded font.
523 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
524 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
525 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
526 * include/grub/i386/at_keyboard.h: Split into ...
527 * include/grub/at_keyboard.h: ... this ...
528 * include/grub/i386/at_keyboard.h: ... and this.
529 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
530 New prototype.
531 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
532 updated.
533 (grub_elf64_size): Likewise.
534 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
535 filename.
536 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
537 * include/grub/i386/coreboot/serial.h: Rewritten.
538 * include/grub/i386/ieee1275/serial.h: Include
539 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
540 * include/grub/i386/pc/serial.h: Moved from here ...
541 * include/grub/serial.h: ... to here. All users updated.
542 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
543 (GRUB_PCI_NUM_BUS): Likewise.
544 (GRUB_PCI_NUM_DEVICES): Likewise.
545 (grub_pci_device_map_range): Add missing volatile keyword.
546 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
547 * include/grub/mips/at_keyboard.h: New file.
548 * include/grub/mips/cache.h: Likewise.
549 * include/grub/mips/io.h: Likewise.
550 * include/grub/mips/kernel.h: Likewise.
551 * include/grub/mips/libgcc.h: Likewise.
552 * include/grub/mips/pci.h: Likewise.
553 * include/grub/mips/qemu-mips/boot.h: Likewise.
554 * include/grub/mips/qemu-mips/kernel.h: Likewise.
555 * include/grub/mips/qemu-mips/loader.h: Likewise.
556 * include/grub/mips/qemu-mips/memory.h: Likewise.
557 * include/grub/mips/qemu-mips/serial.h: Likewise.
558 * include/grub/mips/qemu-mips/time.h: Likewise.
559 * include/grub/mips/relocator.h: Likewise.
560 * include/grub/mips/time.h: Likewise.
561 * include/grub/mips/types.h: Likewise.
562 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
563 * include/grub/mips/yeeloong/boot.h: Likewise.
564 * include/grub/mips/yeeloong/kernel.h: Likewise.
565 * include/grub/mips/yeeloong/loader.h: Likewise.
566 * include/grub/mips/yeeloong/memory.h: Likewise.
567 * include/grub/mips/yeeloong/pci.h: Likewise.
568 * include/grub/mips/yeeloong/serial.h: Likewise.
569 * include/grub/mips/yeeloong/time.h: Likewise.
570 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
571 * kern/elf.c (grub_elf32_size): New parameter. All users
572 updated.
573 (grub_elf64_size): Likewise.
574 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
575 Load modules before saying "Welcome to GRUB!".
576 Call grub_refresh after saying "Welcome to GRUB!".
577 * kern/mips/cache.S: New file.
578 * kern/mips/cache_flush.S: Likewise.
579 * kern/mips/dl.c: Likewise.
580 * kern/mips/init.c: Likewise.
581 * kern/mips/qemu-mips/init.c: Likewise.
582 * kern/mips/startup.S: Likewise.
583 * kern/mips/yeeloong/init.c: Likewise.
584 * kern/term.c (grub_putcode): Handle NULL terminal.
585 (grub_getcharwidth): Likewise.
586 (grub_getkey): Likewise.
587 (grub_checkkey): Likewise.
588 (grub_getkeystatus): Likewise.
589 (grub_getxy): Likewise.
590 (grub_getwh): Likewise.
591 (grub_gotoxy): Likewise.
592 (grub_cls): Likewise.
593 (grub_setcolorstate): Likewise.
594 (grub_setcolor): Likewise.
595 (grub_getcolor): Likewise.
596 (grub_refresh): Likewise.
597 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
598 (write_jump): Add hatch nop.
599 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
600 * lib/mips/setjmp.S: New file.
601 * loader/mips/linux.c: Likewise.
602 * term/i386/pc/at_keyboard.c: Move from here ...
603 * term/at_keyboard.c: ... to here.
604 * term/i386/pc/serial.c: Moved from here ...
605 * term/serial.c: ... to here. All users updated.
606 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
607 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
608 (serial_translate_key_sequence): Avoid deadlock.
609 (grub_serial_getkey): Handle backspace.
610 (grub_serial_putchar): Fix newline handling.
611 * util/i386/pc/grub-mkimage.c: Move from here ...
612 * util/grub-mkrawimage.c: ... to here. All users updated.
613 (generate_image): New parameters 'font_path' and 'format'.
614 Support embedding font.
615 Use grub_host_to_target* instead of grub_cpu_to_le*.
616 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
617 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
618 (options): New option "--font".
619 (usage): Likewise.
620 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
621 (main): Handle "--font".
622 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
623 (grub_virtual_screen_setup): Set bg_color_display.
624 (redraw_screen_rect): Use bg_color_display instead of incorrect
625 bg_color.
626 (grub_gfxterm_cls): Likewise.
627 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
628 Support embedding config file.
629 (add_segments): Likewise.
630 (options): New option "--config".
631 (main): Handle "--config".
632 * video/sm712.c: New file.
633
25c2b5b3
RM
6342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
635
636 Fix parallel builds.
637
638 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
639 font.c depend on ascii.h).
640
6412010-01-12 Carles Pina i Estany <carles@pina.cat>
642
643 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
644
6452010-01-11 Carles Pina i Estany <carles@pina.cat>
646
647 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
648 By default: disabled.
649 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
650 parameter.
651
6522010-01-10 Carles Pina i Estany <carles@pina.cat>
653
654 * font/font.c: Update copyright years.
655 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
656
6572010-01-10 Carles Pina i Estany <carles@pina.cat>
658
659 * font/font.c: Include `ascii.h'.
660 (ASCII_BITMAP_SIZE): New macro.
661 (ascii_font_glyph): Define.
662 (ascii_glyph_lookup): New function.
663 (grub_font_get_string_width): Change comment. If glyph not found, use
664 ascii_glyph_lookup.
665 (grub_font_get_glyph_with_fallback): If glyph not available returns
666 ascii_glyph_lookup.
667 * util/grub-mkfont.c (file_formats): New enum.
668 (options): Add `ascii-bitmaps' new option.
669 (usage): Add `asii-bitmaps' new option.
670 (write_font_ascii_bitmap): New function.
671 (write_font): Rename to ...
672 (write_font_p2): ... this. Remove print_glyphs call.
673 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
674 used. Call print_glyphs.
675 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
676
6772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
678
679 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
680 (grub_bin2h_SOURCES): New variable.
681 * util/bin2h.c: New file.
682
915fc1b8
VS
6832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * include/multiboot.h: Resynced with spec.
686 * include/multiboot2.h: Likewise.
687 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
688 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
689
9444b678
RM
6902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
691
692 * include/grub/term.h (grub_term_register_input,
693 grub_term_register_output): Check return of terminal init()
694 routines, and abort if errors are raised.
695
696 * commands/terminal.c: Update copyright year.
697
cba98e8d
RM
6982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
699
700 * commands/terminal.c (grub_cmd_terminal_input)
701 (grub_cmd_terminal_output): Check return of terminal init()
702 routines, and abort if errors are raised.
703
6f7db5d6
VS
7042010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * include/grub/i386/bsd.h: Fix include pathes.
707
262bff8d
VS
7082010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
709
710 Add missing *BSD copyright headers.
711
712 * include/grub/aout.h: Add BSD licence.
713 * include/grub/i386/bsd.h: Parts under different licences moved to ...
714 * include/grub/i386/freebsd_linker.h: ... here,
715 * include/grub/i386/freebsd_reboot.h: ... here,
716 * include/grub/i386/netbsd_bootinfo.h: ... here,
717 * include/grub/i386/netbsd_reboot.h: ... here,
718 * include/grub/i386/openbsd_bootarg.h: ... here,
719 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
720 licence to each file.
721
b2cab848
RM
7222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
723
724 * acinclude.m4: Remove `nop' assembly instruction; it's not
725 implemented by all architectures.
726
2cb6be4b
RM
7272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
728
729 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
730 ELILO. This is no longer necessary.
731
a2eaee15
BC
7322010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
733
734 Added new tool, grub-scrit-check to verify grub.cfg syntax.
735
736 * util/grub-script-check.c: grub-script-check tool.
737 * conf/common.rmk: Make rules for grub-script-check.
738
88d17012
RM
7392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
740
741 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
742 spotting it back in 2008. Shame on me for forgetting he did.
743
744 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
745
8040619d
RM
7462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
747
748 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
749 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
750 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
751 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
752 (GRUB_VIDEO_TYPE_EFI): Rename to ...
753 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
754
a0c2a0f6
RM
7552010-01-17 Robert Millan <rmh.grub@aybabtu.com>
756
757 * include/grub/test.h: Add license header.
758 * tests/example_functional_test.c: Likewise.
759 * tests/example_unit_test.c: Likewise.
760 * tests/lib/functional_test.c: Likewise.
761 * tests/lib/test.c: Likewise.
762 * tests/lib/unit_test.c: Likewise.
763
b0b13907
VS
7642010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
765
766 Use flag-based instead of hook-based video mode selection and "auto"
767 keyword.
768
769 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
770 (grub_video_set_mode): Changed prototype. All users updated.
771 (grub_video_check_mode_flag): New inline function.
772 * video/video.c (parse_modespec): New function.
773 (grub_video_set_mode): Parse flags and keywords.
774
ea379330 7752010-01-17 Carles Pina i Estany <carles@pina.cat>
776
777 * util/misc.c (grub_util_info): Fix the order of the parameters in a
778 fprintf call.
779
e15c215e
FZ
7802010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
781
782 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
783
409ae1c9 7842010-01-16 Carles Pina i Estany <carles@pina.cat>
785
786 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
787 string.
788 * util/grub-emu.c (usage): Likewise.
789 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
790 * util/i386/efi/grub-mkimage.c (usage): Likewise.
791 * util/i386/pc/grub-mkimage.c (usage): Likewise.
792 * util/i386/pc/grub-setup.c (usage): Likewise.
793
70a14d3d 7942010-01-16 Carles Pina i Estany <carles@pina.cat>
795
796 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
797 the message.
798 (grub_util_info): Likewise.
799 (grub_util_error): Likewise.
800 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
801 and/or new lines in `grub_util_warna', `grub_util_info',
802 `grub_util_error' calls.
803 * util/getroot.c: Likewise.
804 * util/grub-editenv.c: Likewise.
805 * util/grub-emu.c: Likewise.
806 * util/grub-fstest.c: Likewise.
807 * util/grub-mkdevicemap.c: Likewise.
808 * util/grub-mkfont.c: Likewise.
809 * util/grub-mkpasswd-pbkdf2.c: Likewise.
810 * util/grub-mkrelpath.c: Likewise.
811 * util/grub-pe2elf.c: Likewise.
812 * util/grub-probe.c: Likewise.
813 * util/hostdisk.c: Likewise.
814 * util/i386/efi/grub-mkimage.c: Likewise.
815 * util/i386/pc/grub-mkimage.c: Likewise.
816 * util/i386/pc/grub-setup.c: Likewise.
817 * util/ieee1275/ofpath.c: Likewise.
818 * util/mkisofs/eltorito.c: Likewise.
819 * util/mkisofs/rock.c: Likewise.
820 * util/mkisofs/write.c: Likewise.
821 * util/raid.c: Likewise.
822 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
823 * util/sparc64/ieee1275/grub-setup.c: Likewise.
824
a0b766fc
VS
8252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Enable multiboot on non-pc.
828
829 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
830 multiboot.mod and multiboot2.mod to ...
831 * conf/i386.rmk (pkglib_MODULES): ... here.
832 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
833 Moved to ...
834 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
835 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
836 Moved to ...
837 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
838 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
839 Moved to ...
840 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
841 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
842 Moved to ...
843 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
844 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
845 relocator.mod.
846 (ata_mod_SOURCES): Removed.
847 (ata_mod_CFLAGS): Likewise.
848 (ata_mod_LDFLAGS): Likewise.
849 (relocator_mod_SOURCES): Removed.
850 (relocator_mod_CFLAGS): Likewise.
851 (relocator_mod_ASFLAGS): Likewise.
852 (relocator_mod_LDFLAGS): Likewise.
853 Include i386.mk.
854 * include/grub/x86_64/multiboot.h: New file.
855 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
856 Terminate EFI.
857
884ade56
VS
8582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Video multiboot support.
861
862 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
863 New prototype.
864 * include/multiboot.h: Resynced with multiboot specification.
865 * include/multiboot2.h: Likewise.
866 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
867 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
868 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
869 (HAS_VGA_TEXT): Likewise.
870 (accepts_video): New variable.
871 (grub_multiboot_set_accepts_video): New function.
872 (grub_multiboot_get_mbi_size): Account for video structures.
873 (set_video_mode): New function.
874 (retrieve_video_parameters): Likewise.
875 (grub_multiboot_make_mbi): Fill video fields.
876
0d90e8a6
VS
8772010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
878
879 Video driver ids.
880
881 * include/grub/video.h (grub_video_driver_id): New type.
882 (grub_video_adapter): New member 'id'. All users updated.
883 (grub_video_get_driver_id): New proto.
884 * video/video.c (grub_video_get_driver_id): New function.
885
5c71db1b 8862010-01-14 Carles Pina i Estany <carles@pina.cat>
887
888 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
889 `var=val'.
890
cca15b52 8912010-01-14 Carles Pina i Estany <carles@pina.cat>
892
893 * normal/cmdline.c (print_completion): Gettextizze.
894
c586fbb2 8952001-01-14 Carles Pina i Estany <carles@pina.cat>
896
897 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
898
ba2f6848 8992010-01-14 Carles Pina i Estany <carles@pina.cat>
900
901 * gettext/gettext.c (grub_gettext_translate): Push and pop
902 grub_errno.
903 (grub_gettext_delete_list): Change comment style.
904 * kern/err.c (grub_error): Gettextizze.
905 (grub_fatal): Gettextizze.
906
0a46429a
RM
9072010-01-14 Robert Millan <rmh.grub@aybabtu.com>
908
909 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
910 (grub_linux16_real_boot): ... this.
911 * kern/i386/loader.S: Likewise.
912 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
913 (grub_linux16_boot): New function. Switches to text mode and calls
914 grub_linux16_real_boot().
915
916 * loader/i386/bsd.c: Include `<grub/video.h>'.
917 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
918 text mode before calling grub_unix_real_boot().
919
920 * loader/i386/multiboot.c: Include `<grub/video.h>'.
921 (grub_multiboot_boot): Switch to text mode before calling
922 grub_relocator32_boot().
923
924 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
925 (grub_chainloader_boot): Switch to text mode before calling
926 grub_chainloader_real_boot().
927
d6f93a66
RM
9282010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9292010-01-05 Colin Watson <cjwatson@ubuntu.com>
930
931 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
932 non-empty value.
933
9342010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9352010-01-05 Colin Watson <cjwatson@ubuntu.com>
936
937 * util/grub.d/00_header.in: Define a "savedefault" function for use
938 in menu entries.
939 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
940
9412010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9422010-01-05 Colin Watson <cjwatson@ubuntu.com>
943
944 * util/grub-mkconfig_lib.in (save_default_entry): Only set
945 saved_entry if boot_once is unset.
946 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
947 previous saved entry (i.e. grub-reboot).
948
9492009-12-08 Colin Watson <cjwatson@ubuntu.com>
950
951 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
952
9532009-12-08 Colin Watson <cjwatson@ubuntu.com>
954
955 * util/grub.d/00_header.in: Use `set var=val' rather than plain
956 `var=val'.
957 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
958
9592009-12-08 Colin Watson <cjwatson@ubuntu.com>
960
961 * util/grub-reboot.in: Fix --version output.
962 * util/grub-set-default.in: Likewise.
963
9642009-12-08 Colin Watson <cjwatson@ubuntu.com>
965
966 * util/grub.d/00_header.in: Silently ignore zero-sized environment
967 blocks.
968
9692009-12-08 Colin Watson <cjwatson@ubuntu.com>
970
971 * util/grub.d/00_header.in: Quote the value assigned to `default',
972 in case it contains spaces.
973
9742009-12-08 Colin Watson <cjwatson@ubuntu.com>
975
976 * util/grub.d/30_os-prober.in: Fix merge error that moved a
977 `save_default_entry' call from the macosx case to the linux case.
978
9792009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9802009-10-25 Colin Watson <cjwatson@ubuntu.com>
981
982 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
983 in `chosen' environment variable.
984 * normal/menu_text.c (get_entry_number): Check if the variable
985 matches the title of a menu entry.
986 (run_menu): Pass menu to get_entry_number.
987
988 * util/grub-reboot.in: New file.
989 * util/grub-set-default.in: New file.
990 * conf/common.rmk (grub-reboot): New utility.
991 (grub-set-default): New utility.
992
993 * util/grub-mkconfig_lib.in (save_default_entry): New function.
994 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
995 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
996 move it to `saved_entry' for the next boot. Load environment on
997 initialisation.
998 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
999 * util/grub.d/10_hurd.in: Likewise.
1000 * util/grub.d/10_linux.in (linux_entry): Likewise.
1001 * util/grub.d/10_windows.in: Likewise.
1002 * util/grub.d/30_os-prober.in: Likewise.
1003
1004 * util/grub-install.in: Create environment block.
1005 * util/i386/efi/grub-install.in: Likewise.
1006 * util/ieee1275/grub-install.in: Likewise.
1007 * util/sparc64/ieee1275/grub-install.in: Likewise.
1008
0934d184
BC
10092010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1010
1011 Unit testing framework for GRUB.
1012
1013 * Makefile.in: Test framework build rules for 'make check'.
1014 * conf/tests.rmk: Build rules for individual tests and framework.
1015
1016 * include/grub/test.h: Header file for whitebox tests.
1017 * tests/lib/functional_test.c: Framework support for whitebox
1018 functional tests.
1019 * tests/lib/test.c: Common whitebox testing code for unit and
1020 functional tests.
1021 * tests/lib/unit_test.c: Framework support for whitebox unit
1022 tests.
1023
1024 * tests/util/grub-shell-tester.in: Support utility for grub-script
1025 tests.
1026 * tests/util/grub-shell.in: Utility to execute grub-script
1027 commands in a Qemu instance.
1028
1029 * tests/example_functional_test.c: Example whitebox functional
1030 test.
1031 * tests/example_grub_script_test.in: Example grub-script test.
1032 * tests/example_scripted_test.in: Example scripted test.
1033 * tests/example_unit_test.c: Example whitebox unit test.
1034
9c4ffeeb
VS
10352010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1038 Add loader/i386/multiboot_mbi.c.
1039 (multiboot2_mod_SOURCES): Likewise.
1040 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1041 (multiboot2_mod_SOURCES): Likewise.
1042 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1043 (grub_multiboot_make_mbi): Likewise.
1044 (grub_multiboot_free_mbi): Likewise.
1045 (grub_multiboot_init_mbi): Likewise.
1046 (grub_multiboot_add_module): Likewise.
1047 (grub_multiboot_set_bootdev): Likewise.
1048 * loader/i386/multiboot.c (mbi): Removed.
1049 (mbi_dest): Likewise.
1050 (alloc_mbi): New variable.
1051 (grub_multiboot_payload_size): Removed. All users updated.
1052 (grub_multiboot_pure_size): New variable.
1053 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1054 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1055 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1056 (grub_fill_multiboot_mmap): Likewise.
1057 (grub_multiboot_get_bootdev): Likewise.
1058 (grub_multiboot): Use multiboot_mbi functions.
1059 * loader/i386/multiboot_mbi.c: New file.
1060
17383dfe
VS
10612010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1064 it would result in module crash.
1065
c1f28820
VS
10662010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1069 (grub_ofconsole_getwh): Split to ...
1070 (grub_ofconsole_getwh): ... this.
1071 (grub_ofconsole_dimensions): ...and this.
1072 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1073
58655a16
RM
10742010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1075
1076 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1077
10891398
VS
10782010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * loader/i386/pc/multiboot2.c: Removed stalled file.
1081
0b8a223c
VS
10822010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1085 Reported by: Grégoire Sutre
1086
92ab12b0
RM
10872010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1088
1089 * util/misc.c (canonicalize_file_name): New function.
1090 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1091 instead of realpath().
1092
a788afb6
CW
10932010-01-11 Colin Watson <cjwatson@ubuntu.com>
1094
1095 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1096 and make it clearer that it's optional. Based on confusion
1097 witnessed on IRC.
1098
ffa8e3d2
VS
10992010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1102 in premature implicit newline.
1103
e9060a9d
VS
11042010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1107 which resulted in garbled command line at the end of screen.
1108
f0d0c0b7
RM
11092010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1110
1111 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1112 initialization with similar approach as with other Linux loaders.
1113
0e60bae7
RM
11142010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1115
1116 Fix i386-ieee1275 build.
1117
1118 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1119 and grub_term_height() for video_{width,height} initialization.
1120
11212010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1122
1123 Fix grub-emu build.
1124
1125 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1126
cdb3f378
RM
11272010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11282010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1129
1130 Support for multiple terminals.
1131
1132 * Makefile.in (pkglib_DATA): terminal.lst.
1133 (terminal.lst): New target.
1134 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1135 (GRUB_MOD_INIT(handler)): Likewise.
1136 (GRUB_MOD_FINI(handler)): Likewise.
1137 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1138 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1139 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1140 (grub_cmd_sleep): Use grub_term_save_pos.
1141 * commands/terminal.c: New file.
1142 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1143 commands/terminal.c and lib/charset.c.
1144 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1145 (pkglib_MODULES): Add terminal.mod.
1146 (terminal_mod_SOURCES): New variable.
1147 (terminal_mod_CFLAGS): Likewise.
1148 (terminal_mod_LDFLAGS): Likewise.
1149 * genhandlerlist.sh: Don't handle terminals.
1150 * genmk.rb: Generate terminal-*.lst.
1151 * genterminallist.sh: New file.
1152 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1153 (grub_is_valid_utf8): Likewise.
1154 (grub_utf8_to_ucs4_alloc): Likewise.
1155 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1156 (grub_menu_register_viewer): Changed argument.
1157 (grub_menu_try_text): New proto.
1158 (grub_gfxmenu_try_hook): New declaration.
1159 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1160 (grub_menu_init_page): Additional argument term.
1161 (grub_normal_init_page): Likewise.
1162 (grub_cmdline_get): Arguments simplified.
1163 (grub_utf8_to_ucs4_alloc): Removed.
1164 (grub_print_ucs4): Additional argument term.
1165 (grub_getstringwidth): Likewise.
1166 (grub_print_message_indented): Likewise.
1167 (grub_menu_text_register_instances): New proto.
1168 (grub_show_menu): Likewise.
1169 (read_terminal_list): Likewise.
1170 (grub_set_more): Likewise.
1171 * include/grub/parser.h: Include handler.h.
1172 * include/grub/reader.h: Rewritten.
1173 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1174 (GRUB_TERM_WIDTH): Changed to function.
1175 (GRUB_TERM_HEIGHT): Likewise.
1176 (GRUB_TERM_BORDER_WIDTH): Likewise.
1177 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1178 (GRUB_TERM_NUM_ENTRIES): Likewise.
1179 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1180 (GRUB_TERM_CURSOR_X): Likewise.
1181 (grub_term_input_class): Likewise.
1182 (grub_term_output_class): Likewise.
1183 (grub_term_outputs_disabled): New declaration.
1184 (grub_term_inputs_disabled): Likewise.
1185 (grub_term_outputs): Likewise.
1186 (grub_term_inputs): Likewise.
1187 (grub_term_register_input): Rewritten.
1188 (grub_term_register_output): Likewise.
1189 (grub_term_unregister_input): Likewise.
1190 (grub_term_unregister_output): Likewise.
1191 (FOR_ACTIVE_TERM_INPUTS): New macro.
1192 (FOR_DISABLED_TERM_INPUTS): Likewise.
1193 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1194 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1195 * include/grub/terminfo.h: Add oterm argument to all protypes.
1196 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1197 Use grub_rescue_run.
1198 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1199 All users updated.
1200 * kern/reader.c: Removed. All users updated.
1201 * kern/rescue_reader.c (grub_rescue_init): Removed.
1202 (grub_rescue_reader): Likewise.
1203 (grub_register_rescue_reader): Likewise.
1204 (grub_rescue_run): New function based on kern/reader.c.
1205 * kern/term.c: Adapted for multiterm.
1206 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1207 (grub_is_valid_utf8): Likewise.
1208 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1209 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1210 right terminal.
1211 * loader/i386/linux.c (grub_linux_boot): Likewise.
1212 * normal/auth.c (grub_username_get): New function.
1213 (grub_auth_check_authentication): Use grub_username_get.
1214 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1215 * normal/color.c: Adapt for multiterm.
1216 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1217 (grub_normal_init_page): Additional argument term.
1218 (read_lists): Call read_terminal_lists.
1219 (grub_enter_normal_mode): Call grub_cmdline_run.
1220 Handle grub_normal_exit_level.
1221 (grub_cmd_normal): Make reentrant.
1222 (grub_cmd_normal_exit): New function.
1223 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1224 * normal/menu.c: Adapt for multiterm.
1225 * normal/menu_entry.c: Likewise.
1226 * normal/menu_text.c: Likewise.
1227 * normal/menu_viewer.c: Removed. All users updated.
1228 * normal/term.c: New file.
1229 * util/console.c: Change order of includes to workaround a bug in
1230 ncurses headers.
1231 * term/terminfo.c: New argument oterm on all exported functions.
1232 All users updated.
1233 * util/grub-editenv.c (grub_term_input_class): Removed.
1234 (grub_term_output_class): Likewise.
1235
1a064917
RM
12362010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1237
1238 Make loader output a bit more user-friendly.
1239
1240 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1241 is being loaded. Likewise for the Hurd.
1242
1243 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1244 that kernel of FreeBSD ${version} is being loaded.
1245
1246 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1247 grub_dprintf().
1248 (grub_cmd_initrd): Likewise.
1249 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1250 that Linux ${version} is being loaded. Likewise for initrd.
1251
5ce0a83a 12522010-01-09 Carles Pina i Estany <carles@pina.cat>
1253
1254 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1255
809bbfeb 12562010-01-08 Carles Pina i Estany <carles@pina.cat>
1257
1258 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1259 (GRUB_MOD_INIT): Gettextizze.
1260 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1261 (GRUB_MOD_INIT): Gettextizze.
1262 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1263 (grub_cmd_linux): Capitalise Linux.
1264 (GRUB_MOD_INIT): Gettextizze.
1265 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1266 (grub_cmd_linux): Capitalise Linux.
1267 (GRUB_MOD_INIT): Gettextizze.
1268 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1269 (grub_cmd_linux): Capitalise Linux.
1270 (GRUB_MOD_INIT): Gettextizze.
1271 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1272 (GRUB_MOD_INIT): Gettextizze.
1273 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1274 (grub_cmd_linux): Capitalise Linux.
1275 (GRUB_MOD_INIT): Gettextizze.
1276 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1277 (grub_cpu_xnu_init): Gettextizze.
1278 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1279 (GRUB_MOD_INIT): Gettextizze.
1280 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1281 (GRUB_MOD_INIT): Gettextizze.
1282 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1283 (grub_linux_load64): Capitalise Linux.
1284 (GRUB_MOD_INIT): Gettextizze.
1285 * loader/xnu.c: Include `<grub/i18n.h>'.
1286 (GRUB_MOD_INIT): Gettextizze.
1287 * po/POTFILES: Add `loader/efi/appleloader.c',
1288 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1289 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1290 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1291 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1292 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1293 and `loader/xnu.c'.
1294
b394b2ca
RM
12952010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1296
1297 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1298
12992010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1300
1301 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1302 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1303 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1304
bc8b32b3
RM
13052010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1306
1307 Reset Multiboot 2 support. New loader implements the draft in
1308 /branches/multiboot2 and shares as much code as possible with the
1309 production Multiboot 1 implementation.
1310
1311 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1312 * loader/multiboot2.c: Likewise.
1313 * loader/i386/multiboot_helper.S: Likewise.
1314 * include/multiboot2.h: Replace with latest version from the draft
1315 in /branches/multiboot2.
1316
1317 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1318 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1319 and `loader/multiboot2.c'.
1320 (pkglib_MODULES): Add `multiboot2.mod'.
1321 (multiboot2_mod_SOURCES): New variable.
1322 (multiboot2_mod_LDFLAGS): Likewise.
1323 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1324
1325 * conf/i386-pc.rmk: Likewise.
1326
1327 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1328 (multiboot_mod_SOURCES): Remove variable.
1329 (multiboot_mod_LDFLAGS): Likewise.
1330 (multiboot_mod_CFLAGS): Likewise.
1331
1332 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1333 `<multiboot2.h>' instead of `<multiboot.h>'.
1334 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1335 (MULTIBOOT_HEADER_MAGIC): New macros.
1336
1337 * loader/multiboot_loader.c (module_version_status): Remove variable.
1338 (find_multi_boot2_header): Remove function.
1339 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1340 logic. Always check for the Multiboot version we're compiling for.
1341 (grub_cmd_module_loader): Likewise.
1342 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1343 command instead of `multiboot'.
1344
5d2c52b8
RM
13452010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1346
1347 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1348 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1349 all users.
1350
53108d92
RM
13512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13522010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Fix breakage introduced with previous commit.
1355
1356 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1357 commands.
1358 * normal/handler.c (read_handler_list): Revert part of previous commit
1359 affecting this file.
1360 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1361 (grub_normal_execute): ... here.
1362
e2e936b2
RM
13632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1364
1365 Merge prefix-redefinition-fix branch.
1366
1367 * normal/autofs.c (read_fs_list): Make function capable of being
1368 run multiple times, gracefuly replacing the previous data
1369 structures.
1370 * normal/dyncmd.c (read_command_list): Likewise.
1371 * normal/handler.c (read_handler_list): Likewise.
1372 * normal/main.c (read_lists): New function. Calls all the
1373 list reading functions.
1374 (grub_normal_execute): Use read_lists() instead of calling all
1375 list reading functions explicitly. Register read_lists() as a
1376 variable hook attached to ${prefix}.
1377
607a3701
VS
13782010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Merge crypto branch.
1381
1382 * Makefile.in (pkglib_DATA): Add crypto.lst.
1383 (crypto.lst): New target.
1384 * commands/hashsum.c: New file.
1385 * commands/password.c (check_password): Use grub_crypto_memcmp.
1386 * commands/password_pbkdf2.c: New file.
1387 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1388 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1389 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1390 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1391 -I$(srcdir)/lib/libgcrypt_wrap.
1392 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1393 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1394 password_pbkdf2.mod.
1395 (crypto_mod_SOURCES): New variable.
1396 (crypto_mod_CFLAGS): Likewise.
1397 (crypto_mod_LDFLAGS): Likewise.
1398 (hashsum_mod_SOURCES): New variable.
1399 (hashsum_mod_CFLAGS): Likewise.
1400 (hashsum_mod_LDFLAGS): Likewise.
1401 (pbkdf2_mod_SOURCES): New variable.
1402 (pbkdf2_mod_CFLAGS): Likewise.
1403 (pbkdf2_mod_LDFLAGS): Likewise.
1404 (password_pbkdf2_mod_SOURCES): New variable.
1405 (password_pbkdf2_mod_CFLAGS): Likewise.
1406 (password_pbkdf2_mod_LDFLAGS): Likewise.
1407 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1408 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1409 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1410 Include conf/gcry.rmk.
1411 * include/grub/auth.h: Rewritten.
1412 * include/grub/crypto.h: New file.
1413 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1414 * include/grub/normal.h (read_crypto_list): New prototype.
1415 * lib/crypto.c: New file.
1416 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1417 * lib/pbkdf2.c: Likewise.
1418 * normal/auth.c (grub_auth_strcmp): Removed.
1419 (grub_iswordseparator): Likewise.
1420 (grub_auth_strword): Likewise.
1421 (is_authenticated): Use grub_strword.
1422 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1423 and grub_strword. Pass entered password to authentication callback.
1424 * normal/crypto.c: New file.
1425 * normal/main.c: Call read_crypto_list.
1426 * util/grub-mkpasswd-pbkdf2.c: New file.
1427 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1428
42841caa
VS
14292010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 Fix descent and ascent calculation.
1432
1433 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1434 (options): New option "asce".
1435 (usage): Likewise.
1436 (add_char): Ignore invalid glyphs for descent calculation.
1437 Calculate ascent from actual content.
1438 (print_glyphs): Use 'asce'.
1439 (write_font): Likewise. Allow ascent override.
1440 (main): Handle "asce" option.
1441
e7730de7 14422010-01-06 Carles Pina i Estany <carles@pina.cat>
1443
1444 * kern/err.c: Include `<grub/i18n.h>'.
1445 (grub_print_error): Add full stop. Gettextizze.
1446 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1447 (grub_bsd_load_elf): Capitalise ELF.
1448 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1449 (grub_cmd_freebsd_module): Likewise.
1450 (grub_cmd_freebsd_module_elf): Likewise.
1451 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1452
40e3a41f 14532010-01-06 Carles Pina i Estany <carles@pina.cat>
1454
1455 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1456 * commands/search_file.c (HELP_MESSAGE): New macro.
1457 * commands/search_label.c (HELP_MESSAGE): Likewise.
1458 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1459 * po/POTFILES: Add `commands/search_file.c',
1460 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1461 `commands/search.c'.
1462
83507e68
RM
14632010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1464
1465 * config.rpath: Update from Gnulib.
1466
465c787b
YB
14672010-01-05 Yves Blusseau <blusseau@zetam.org>
1468
1469 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1470
6581dd3a
YB
14712010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1472
1473 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1474
3bff18c5
CW
14752010-01-05 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1478 arguments to fread so that we get a return value in bytes, rather
1479 than something that will normally be rounded down to 0.
1480 Adjust error handling to avoid producing garbage when size_t is not
1481 the same size as long long.
1482
a1368118
CW
14832010-01-05 Colin Watson <cjwatson@ubuntu.com>
1484
1485 * util/mkisofs/write.c (padblock_write): Check return value of
1486 fread.
1487
7c302978
RM
14882010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1489
1490 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1491 floppy images now.
1492
1493 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1494
e33ace06
RM
14952010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1496
1497 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1498 instead of manual alignment.
1499 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1500 verbose). Avoid attempts to read past end of the device
1501 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1502 but GRUB_DISK_CACHE_SIZE may exceed that).
1503
4b856776
RM
15042010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1505
1506 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1507 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1508 it to upper layer.
1509
52c2d97f
VS
15102010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1513 New constant.
1514 (grub_efi_piwg_device_path): New structure
1515 (grub_efi_piwg_device_path_t): New type.
1516 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1517 (devpath_1): Transform to a structure. All users updated.
1518 (devpath_2): Likewise.
1519 (devpath_3): Likewise.
1520 (devpath_4): Likewise.
1521 (devpath_5): Likewise.
1522
98ff6a54
VS
15232010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * loader/efi/appleloader.c: Restored. Update all users.
1526
3a73dcb6
RM
15272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1528
1529 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1530
1531 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1532 (struct boot_blocklist): Move from here ...
1533 * include/grub/i386/pc/boot.h [ASM_FILE]
1534 (struct grub_boot_blocklist): ... to here. Update all users.
1535 (setup): Only initialize `start' member of `first_block'
1536 structure. Add assert() calls to verify the other members.
1537
1538 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1539 (generate_image): Fix broken blocklist length initialization.
1540 Add assert() call to verify blocklist `segment' field.
1541
ab0eeb0c
RM
15422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1543
1544 * loader/efi/appleloader.c: Remove. Update all users.
1545
58bc8bd5
RM
15462010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1547
1548 * boot/i386/pc/boot.S: Update copyright year.
1549 * boot/i386/pc/cdboot.S: Likewise.
1550 * boot/i386/pc/diskboot.S: Likewise.
1551 * boot/i386/pc/lnxboot.S: Likewise.
1552 * boot/i386/pc/pxeboot.S: Likewise.
1553 * bus/pci.c: Likewise.
1554 * commands/cmp.c: Likewise.
1555 * commands/help.c: Likewise.
1556 * commands/hexdump.c: Likewise.
1557 * commands/i386/pc/halt.c: Likewise.
1558 * commands/i386/pc/play.c: Likewise.
1559 * commands/i386/pc/vbeinfo.c: Likewise.
1560 * commands/ls.c: Likewise.
1561 * commands/test.c: Likewise.
1562 * disk/dmraid_nvidia.c: Likewise.
1563 * disk/i386/pc/biosdisk.c: Likewise.
1564 * disk/ieee1275/nand.c: Likewise.
1565 * disk/ieee1275/ofdisk.c: Likewise.
1566 * disk/lvm.c: Likewise.
1567 * disk/raid.c: Likewise.
1568 * disk/raid6_recover.c: Likewise.
1569 * disk/scsi.c: Likewise.
1570 * fs/affs.c: Likewise.
1571 * fs/cpio.c: Likewise.
1572 * fs/ext2.c: Likewise.
1573 * fs/hfs.c: Likewise.
1574 * fs/iso9660.c: Likewise.
1575 * fs/ntfs.c: Likewise.
1576 * fs/sfs.c: Likewise.
1577 * fs/udf.c: Likewise.
1578 * fs/ufs.c: Likewise.
1579 * fs/xfs.c: Likewise.
1580 * gencmdlist.sh: Likewise.
1581 * genmk.rb: Likewise.
1582 * include/grub/disk.h: Likewise.
1583 * include/grub/efi/api.h: Likewise.
1584 * include/grub/efi/efi.h: Likewise.
1585 * include/grub/efi/pe32.h: Likewise.
1586 * include/grub/elf.h: Likewise.
1587 * include/grub/fs.h: Likewise.
1588 * include/grub/i386/at_keyboard.h: Likewise.
1589 * include/grub/i386/pc/memory.h: Likewise.
1590 * include/grub/i386/pc/vbe.h: Likewise.
1591 * include/grub/i386/pci.h: Likewise.
1592 * include/grub/i386/tsc.h: Likewise.
1593 * include/grub/ieee1275/ieee1275.h: Likewise.
1594 * include/grub/ntfs.h: Likewise.
1595 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1596 * include/grub/sparc64/libgcc.h: Likewise.
1597 * include/grub/symbol.h: Likewise.
1598 * include/grub/types.h: Likewise.
1599 * include/multiboot2.h: Likewise.
1600 * io/gzio.c: Likewise.
1601 * kern/device.c: Likewise.
1602 * kern/disk.c: Likewise.
1603 * kern/efi/efi.c: Likewise.
1604 * kern/efi/mm.c: Likewise.
1605 * kern/elf.c: Likewise.
1606 * kern/file.c: Likewise.
1607 * kern/i386/dl.c: Likewise.
1608 * kern/i386/pc/init.c: Likewise.
1609 * kern/i386/pc/startup.S: Likewise.
1610 * kern/ieee1275/ieee1275.c: Likewise.
1611 * kern/ieee1275/init.c: Likewise.
1612 * kern/main.c: Likewise.
1613 * kern/mm.c: Likewise.
1614 * kern/powerpc/dl.c: Likewise.
1615 * kern/sparc64/dl.c: Likewise.
1616 * kern/x86_64/dl.c: Likewise.
1617 * lib/hexdump.c: Likewise.
1618 * loader/efi/appleloader.c: Likewise.
1619 * loader/i386/ieee1275/linux.c: Likewise.
1620 * loader/i386/pc/chainloader.c: Likewise.
1621 * loader/i386/pc/linux.c: Likewise.
1622 * loader/i386/pc/multiboot2.c: Likewise.
1623 * loader/ieee1275/multiboot2.c: Likewise.
1624 * loader/multiboot2.c: Likewise.
1625 * loader/multiboot_loader.c: Likewise.
1626 * loader/powerpc/ieee1275/linux.c: Likewise.
1627 * normal/completion.c: Likewise.
1628 * normal/menu_entry.c: Likewise.
1629 * partmap/apple.c: Likewise.
1630 * util/grub.d/10_hurd.in: Likewise.
1631 * util/hostfs.c: Likewise.
1632 * video/readers/png.c: Likewise.
1633
e2d70b5c
CW
16342010-01-03 Colin Watson <cjwatson@ubuntu.com>
1635
1636 * include/grub/misc.h (GNUC_PREREQ): New macro.
1637 (ATTRIBUTE_ERROR): New macro.
1638 * include/grub/list.h (grub_bad_type_cast_real): Use
1639 ATTRIBUTE_ERROR.
1640
a173283f 16412010-01-03 Carles Pina i Estany <carles@pina.cat>
1642
1643 * normal/menu_text.c (print_message): Change messages.
1644
7fa7ff74 16452010-01-03 Carles Pina i Estany <carles@pina.cat>
1646
1647 * normal/menu_entry.c (store_completion): Gettextizze.
1648
136d24f6 16492010-01-03 Carles Pina i Estany <carles@pina.cat>
1650
1651 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1652
f936862e 16532010-01-03 Carles Pina i Estany <carles@pina.cat>
1654
1655 * po/POTFILES: Sort correctly.
1656
29c44ad1 16572010-01-03 Carles Pina i Estany <carles@pina.cat>
1658
1659 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1660 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1661 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1662 full stop.
1663 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1664 summary. Gettextizze the strings.
1665 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1666 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1667 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1668 full stop.
1669 (GRUB_MOD_INIT): Remove command name from summary.
1670 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1671 summary.
1672 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1673 * term/i386/pc/serial.c (options): Add full stops.
1674 (GRUB_MOD_INIT): Remove command name from the summary.
1675
77a79592 16762010-01-03 Carles Pina i Estany <carles@pina.cat>
1677
1678 * commands/acpi.c: Gettextizze help strings and/or options. Include
1679 `grub/i18n.h' if needed.
1680 * commands/blocklist.c: Likewise.
1681 * commands/boot.c: Likewise.
1682 * commands/cat.c: Likewise.
1683 * commands/cmp.c: Likewise.
1684 * commands/configfile.c: Likewise.
1685 * commands/crc.c: Likewise.
1686 * commands/date.c: Likewise.
1687 * commands/echo.c: Likewise.
1688 * commands/efi/fixvideo.c: Likewise.
1689 * commands/efi/loadbios.c: Likewise.
1690 * commands/gptsync.c: Likewise.
1691 * commands/halt.c: Likewise.
1692 * commands/handler.c: Likewise.
1693 * commands/hdparm.c: Likewise.
1694 * commands/hexdump.c: Likewise.
1695 * commands/i386/cpuid.c: Likewise.
1696 * commands/i386/pc/drivemap.c: Likewise.
1697 * commands/i386/pc/halt.c: Likewise.
1698 * commands/i386/pc/pxecmd.c: Likewise.
1699 * commands/i386/pc/vbeinfo.c: Likewise.
1700 * commands/i386/pc/vbetest.c: Likewise.
1701 * commands/ieee1275/suspend.c: Likewise.
1702 * commands/keystatus.c: Likewise.
1703 * commands/loadenv.c: Likewise.
1704 * commands/ls.c: Likewise.
1705 * commands/lsmmap.c: Likewise.
1706 * commands/lspci.c: Likewise.
1707 * commands/memrw.c: Likewise.
1708 * commands/minicmd.c: Likewise.
1709 * commands/parttool.c: Likewise.
1710 * commands/password.c: Likewise.
1711 * commands/probe.c: Likewise.
1712 * commands/read.c: Likewise.
1713 * commands/reboot.c: Likewise.
1714 * commands/search.c: Likewise.
1715 * commands/sleep.c: Likewise.
1716 * commands/test.c: Likewise.
1717 * commands/true.c: Likewise.
1718 * commands/usbtest.c: Likewise.
1719 * commands/videotest.c: Likewise.
1720 * commands/xnu_uuid.c: Likewise.
1721 * disk/loopback.c: Likewise.
1722 * hello/hello.c: Likewise.
1723 * loader/i386/bsd.c: Likewise.
1724 * term/i386/pc/serial.c: Likewise.
1725 * po/POTFILES: Add new files.
1726
da8d5c53
CW
17272010-01-02 Colin Watson <cjwatson@ubuntu.com>
1728
1729 * term/i386/pc/at_keyboard.c
1730 (keyboard_controller_wait_untill_ready): Rename to ...
1731 (keyboard_controller_wait_until_ready): ... this. Update all users.
1732
33937904 17332010-01-01 Carles Pina i Estany <carles@pina.cat>
1734
1735 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
1736 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
1737 string using string width.
1738 * normal/menu_text.c (grub_print_message_indented): Use
1739 grub_print_spaces and not print_spaces.
1740 (print_timeout): Likewise.
1741 (print_spaces): Move to...
1742 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
1743
3fd3b8d8
RM
17442010-01-01 Robert Millan <rmh.grub@aybabtu.com>
1745
1746 Import from Gnulib.
1747
1748 * gnulib/getdelim.c: New file.
1749 * gnulib/getline.c: Likewise.
1750
33433555
VS
17512009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
1752
1753 * include/grub/list.h (grub_assert_fail): Removed.
1754 (grub_bad_type_cast_real): New function.
1755 (grub_bad_type_cast): New macro.
1756 (GRUB_AS_LIST): Use grub_bad_type_cast.
1757 (GRUB_AS_LIST_P): Likewise.
e44721e8 1758 (GRUB_AS_NAMED_LIST): Likewise.
33433555 1759 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 1760 (GRUB_AS_PRIO_LIST): Likewise.
33433555 1761 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 1762 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 1763
f5a51306
VS
17642009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
1767 Fix syntax error.
1768
90d1e879
RM
17692009-12-29 Robert Millan <rmh.grub@aybabtu.com>
1770
1771 * configure.ac: Check for TARGET_CFLAGS initialization before we
1772 initialize it ourselves (sigh).
1773 Move a few modifications to TARGET_CFLAGS to be unconditional
1774 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
1775 eh_frame)
1776
1777 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
1778 * term/i386/pc/at_keyboard.c
1779 (keyboard_controller_wait_untill_ready): Likewise.
1780 (keyboard_controller_led): Rename `led_status' paramter to avoid
1781 name conflict.
1782
465b5a81 17832009-12-28 Carles Pina i Estany <carles@pina.cat>
1784
1785 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
1786 quotes.
1787
c181849b
VS
17882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
1791
9c8739a4
VS
17922009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * normal/menu_text.c (grub_print_message_indented): Prevent
1795 past-the-end-of-array dereference.
1796
3e74249c
VS
17972009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
1800 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
1801
64fd18ed 18022009-12-27 Carles Pina i Estany <carles@pina.cat>
1803
1804 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
1805 * normal/main.c (grub_normal_read_line): Remove a space from the
1806 default prompt.
1807
714af9b9 18082009-12-27 Carles Pina i Estany <carles@pina.cat>
1809
1810 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
1811 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1812 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1813 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1814 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1815 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1816 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1817
82f3e412 18182009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 1819
1820 * video/readers/jpeg.c (cmd): Declare.
1821 (grub_cmd_jpegtest): Use `grub_command_t' type.
1822 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1823 Assign to `cmd'.
1824 (GRUB_MOD_FINI): Use `cmd' to unregister.
1825 * video/readers/png.c (cmd): Declare.
1826 (grub_cmd_pngtest): Use `grub_command_t' type.
1827 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1828 Assign to `cmd'.
1829 (GRUB_MOD_FINI): Use `cmd' to unregister.
1830 * video/readers/tga.c (cmd): Declare.
1831 (grub_cmd_tgatest): Use `grub_command_t' type.
1832 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1833 Assign to `cmd'.
1834 (GRUB_MOD_FINI): Use `cmd' to unregister.
1835
82f3e412 18362009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 1837
1838 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
1839 stops.
1840 * kern/corecmd.c (grub_register_core_commands): Likewise.
1841 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
1842 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1843 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
1844 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1845 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1846 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
1847 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1848 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
1849 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1850 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1851 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1852 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1853 * normal/handler.c (insert_handler): Likewise.
1854 * normal/main.c (GRUB_MOD_INIT): Likewise.
1855 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1856
fdcdbb66 18572009-12-26 Carles Pina i Estany <carles@pina.cat>
1858
1859 * commands/help.c (grub_cmd_help): Print the command name before the
1860 summary.
1861 (GRUB_MOD_INIT): Remove command name from the summary.
1862 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 1863 string as summary.
fdcdbb66 1864 * lib/arg.c (find_long): Print the command name before the summary.
1865 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
1866 summary.
1867 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
1868 * commands/cat.c (GRUB_MOD_INIT): Likewise.
1869 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
1870 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
1871 * commands/crc.c (GRUB_MOD_INIT): Likewise.
1872 * commands/date.c (GRUB_MOD_INIT): Likewise.
1873 * commands/echo.c (GRUB_MOD_INIT): Likewise.
1874 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
1875 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1876 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1877 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
1878 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
1879 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
1880 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
1881 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1882 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
1883 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
1884 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
1885 * commands/ls.c (GRUB_MOD_INIT): Likewise.
1886 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1887 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1888 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1889 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
1890 * commands/password.c (GRUB_MOD_INIT): Likewise.
1891 * commands/probe.c (GRUB_MOD_INIT): Likewise.
1892 * commands/read.c (GRUB_MOD_INIT): Likewise.
1893 * commands/search.c (GRUB_MOD_INIT): Likewise.
1894 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
1895 * commands/test.c (GRUB_MOD_INIT): Likewise.
1896 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
1897 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1898 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1899 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
1900 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1901 * lib/arg.c (GRUB_MOD_INIT): Likewise.
1902 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
1903 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1904 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1905 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1906 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1907 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
1908 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
1909 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
1910
9c288be2
VS
19112009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Use search command for preliminar UUID search.
1914
1915 * commands/search.c: Split into ...
1916 * commands/search_wrap.c: ...this
1917 * commands/search.c: ...and this.
1918 * commands/search_file.c: New file.
1919 * commands/search_label.c: New file.
1920 * commands/search_uuid.c: New file.
1921 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
1922 Add commands/search_wrap.c, commands/search_file.c,
1923 commands/search_label.c and commands/search_uuid.c.
1924 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
1925 (search_mod_SOURCES): Set to commands/search_wrap.c.
1926 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
1927 search_label.mod.
1928 (search_fs_file_mod_SOURCES): New variable.
1929 (search_fs_file_mod_CFLAGS): Likewise.
1930 (search_fs_file_mod_LDFLAGS): Likewise.
1931 (search_label_mod_SOURCES): Likewise.
1932 (search_label_mod_CFLAGS): Likewise.
1933 (search_label_mod_LDFLAGS): Likewise.
1934 (search_fs_uuid_mod_SOURCES): New variable.
1935 (search_fs_uuid_mod_CFLAGS): Likewise.
1936 (search_fs_uuid_mod_LDFLAGS): Likewise.
1937 (fs_file_mod_SOURCES): Removed.
1938 (fs_file_mod_CFLAGS): Likewise.
1939 (fs_file_mod_LDFLAGS): Likewise.
1940 (fs_uuid_mod_SOURCES): Removed.
1941 (fs_uuid_mod_CFLAGS): Likewise.
1942 (fs_uuid_mod_LDFLAGS): Likewise.
1943 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
1944 Set to util/grub-install.in.
1945 * disk/fs_file.c: Removed.
1946 * disk/fs_uuid.c: Likewise.
1947 * include/grub/search.h: New file.
1948 * util/grub-install.in: Handle sparc64.
1949 Create and use load.cfg.
1950 * util/sparc64/ieee1275/grub-install.in: Removed.
1951
db943399
VS
19522009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
1955 Ignore return status if CF is cleared.
1956 (grub_biosdisk_get_diskinfo_standard): Likewise.
1957
3fdae612
RM
19582009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1959
1960 * term/i386/pc/at_keyboard.c
1961 (keyboard_controller_wait_untill_ready): New function.
1962 (grub_keyboard_controller_write, grub_keyboard_controller_read)
1963 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
1964 for keyboard polling, rather than duplicate the same loop. This
1965 saves a few bytes in code size.
1966
7ebaa2b4
VS
19672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Support for (pxe[:server[:gateway]]) syntax and
1970 use environment variable for PXE.
1971
1972 * commands/i386/pc/pxecmd.c (options): Removed.
1973 (print_ip): Removed.
1974 (grub_cmd_pxe): Removed
1975 (grub_cmd_pxe_unload): New function.
1976 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
1977 (grub_pxe_your_ip): Made static.
1978 (grub_pxe_default_server_ip): Likewise.
1979 (grub_pxe_default_gateway_ip): Likewise.
1980 (grub_pxe_blksize): Likewise.
1981 (parse_ip): New function.
1982 (grub_pxe_open): Support server and gateway specification.
1983 (grub_pxe_close): Free disk->data.
1984 (grub_pxefs_open): Use disk->data.
1985 (grub_pxefs_read): Likewise.
1986 (grub_env_write_readonly): New function.
1987 (set_mac_env): Likewise.
1988 (set_env_limn_ro): Likewise.
1989 (parse_dhcp_vendor): Likewise.
1990 (grub_pxe_detect): Set the environment variables.
1991 (set_ip_env): New function.
1992 (write_ip_env): Likewise.
1993 (grub_env_write_pxe_default_server): Likewise.
1994 (grub_env_write_pxe_default_gateway): Likewise.
1995 (grub_env_write_pxe_blocksize): Likewise.
1996 (GRUB_MOD_INIT(pxe)): Set environment variables.
1997 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
1998 (grub_pxe_mac_addr_t): ... this. All users updated.
1999 (grub_pxe_your_ip): Removed.
2000 (grub_pxe_server_ip): Likewise.
2001 (grub_pxe_gateway_ip): Likewise.
2002 (grub_pxe_blksize): Likewise.
2003
ec5f98ab 20042009-12-25 Carles Pina i Estany <carles@pina.cat>
2005
2006 * commands/help.c: Include `<grub/i18n.h>'.
2007 (grub_cmd_help): Gettextizze.
2008 (GRUB_MOD_INIT): Likewise.
2009 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2010 (GRUB_MOD_INIT): Gettextizze.
2011 * commands/search.c: Include `<grub/i18n.h>'.
2012 (options): Gettextizze.
2013 (GRUB_MOD_INIT): Gettextizze.
2014 * lib/arg.c: Include `<grub/i18n.h>'.
2015 (help_options): Gettextizze.
2016 (find_long): Likewise.
2017 (grub_arg_show_help): Likewise.
2018 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2019 (read_command_list): Gettextizze.
2020 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2021 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2022
22815526
RM
20232009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2024
2025 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2026 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2027 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2028 (led_status): New variable.
2029 (keyboard_controller_led): New function.
2030 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2031 update led status for caps lock, num lock and scroll lock.
2032
0ad46fd7
FZ
20332009-12-25 Felix Zielcke <fzielcke@z-51.de>
2034
2035 * util/hostdisk.c (open_device): Fix a comment.
2036
d0e158c2
RM
20372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2038
2039 * util/grub-install.in (host_os): New variable.
2040 * util/i386/efi/grub-install.in (host_os): Likewise.
2041
401c0ad6
RM
20422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2043
2044 * util/mkisofs/write.c (padblock_write): Abort when given an
2045 excedingly large embed image, instead of silently truncating it.
2046
d14d3370
RM
20472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2048
2049 * include/multiboot.h: Indentation fixes.
2050
eeed10b4
RM
20512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2052
2053 * include/multiboot.h (struct multiboot_aout_symbol_table)
2054 (struct multiboot_elf_section_header_table): New structure
2055 declarations (stolen from GRUB Legacy).
2056 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2057 table information.
2058
2059 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2060 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2061 type aliases.
2062
681c70ab
RM
20632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2064
2065 * include/multiboot.h: Make comments src2texi-friendly.
2066
e4d47d8d
RM
20672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2068
2069 For consistency with [multiboot]/docs/boot.S.
2070
2071 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2072 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2073 (MULTIBOOT_MAGIC2): Rename from this ...
2074 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2075
a0b70bda
RM
20762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2077
2078 * include/multiboot.h: Remove `<grub/types.h>'.
2079 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2080 types. Update all users.
2081
61ba42be 20822009-12-25 Carles Pina i Estany <carles@pina.cat>
2083
2084 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2085 `couldn't' and `can not' by `cannot'.
2086 * commands/i386/pc/drivemap.c: Likewise.
2087 * disk/ata.c: Likewise.
2088 * disk/ieee1275/nand.c: Likewise.
2089 * fs/affs.c: Likewise.
2090 * fs/fat.c: Likewise.
2091 * fs/hfs.c: Likewise.
2092 * fs/hfsplus.c: Likewise.
2093 * fs/iso9660.c: Likewise.
2094 * fs/jfs.c: Likewise.
2095 * fs/minix.c: Likewise.
2096 * fs/reiserfs.c: Likewise.
2097 * fs/sfs.c: Likewise.
2098 * fs/udf.c: Likewise.
2099 * fs/ufs.c: Likewise.
2100 * fs/xfs.c: Likewise.
2101 * loader/powerpc/ieee1275/linux.c: Likewise.
2102 * loader/sparc64/ieee1275/linux.c: Likewise.
2103 * util/grub-probe.c: Likewise.
2104 * util/misc.c: Likewise.
2105
7fd0baee 21062009-12-24 Carles Pina i Estany <carles@pina.cat>
2107
2108 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2109 grub_errno calls.
2110 * commands/acpi.c: Likewise.
2111 * commands/blocklist.c: Likewise.
2112 * commands/efi/loadbios.c: Likewise.
2113 * commands/i386/pc/drivemap.c: Likewise.
2114 * commands/loadenv.c: Likewise.
2115 * commands/memrw.c: Likewise.
2116 * commands/password.c: Likewise.
2117 * commands/videotest.c: Likewise.
2118 * disk/ata.c: Likewise.
2119 * disk/ata_pthru.c: Likewise.
2120 * disk/dmraid_nvidia.c: Likewise.
2121 * disk/ieee1275/nand.c: Likewise.
2122 * disk/ieee1275/ofdisk.c: Likewise.
2123 * disk/loopback.c: Likewise.
2124 * disk/lvm.c: Likewise.
2125 * disk/mdraid_linux.c: Likewise.
2126 * disk/raid.c: Likewise.
2127 * disk/raid6_recover.c: Likewise.
2128 * disk/scsi.c: Likewise.
2129 * efiemu/main.c: Likewise.
2130 * efiemu/mm.c: Likewise.
2131 * efiemu/pnvram.c: Likewise.
2132 * efiemu/symbols.c: Likewise.
2133 * font/font.c: Likewise.
2134 * fs/cpio.c: Likewise.
2135 * fs/hfsplus.c: Likewise.
2136 * fs/iso9660.c: Likewise.
2137 * fs/jfs.c: Likewise.
2138 * fs/minix.c: Likewise.
2139 * fs/ntfs.c: Likewise.
2140 * fs/ntfscomp.c: Likewise.
2141 * fs/reiserfs.c: Likewise.
2142 * fs/ufs.c: Likewise.
2143 * fs/xfs.c: Likewise.
2144 * gettext/gettext.c: Likewise.
2145 * include/grub/auth.h: Likewise.
2146 * kern/elf.c: Likewise.
2147 * kern/file.c: Likewise.
2148 * kern/ieee1275/init.c: Likewise.
2149 * kern/ieee1275/mmap.c: Likewise.
2150 * kern/ieee1275/openfw.c: Likewise.
2151 * kern/powerpc/dl.c: Likewise.
2152 * kern/sparc64/dl.c: Likewise.
2153 * lib/arg.c: Likewise.
2154 * loader/i386/bsd.c: Likewise.
2155 * loader/i386/bsdXX.c: Likewise.
2156 * loader/i386/efi/linux.c: Likewise.
2157 * loader/i386/efi/xnu.c: Likewise.
2158 * loader/i386/ieee1275/linux.c: Likewise.
2159 * loader/i386/linux.c: Likewise.
2160 * loader/i386/multiboot.c: Likewise.
2161 * loader/i386/pc/linux.c: Likewise.
2162 * loader/i386/pc/multiboot2.c: Likewise.
2163 * loader/i386/xnu.c: Likewise.
2164 * loader/ieee1275/multiboot2.c: Likewise.
2165 * loader/macho.c: Likewise.
2166 * loader/machoXX.c: Likewise.
2167 * loader/multiboot2.c: Likewise.
2168 * loader/multiboot_loader.c: Likewise.
2169 * loader/powerpc/ieee1275/linux.c: Likewise.
2170 * loader/sparc64/ieee1275/linux.c: Likewise.
2171 * loader/xnu.c: Likewise.
2172 * loader/xnu_resume.c: Likewise.
2173 * mmap/i386/pc/mmap.c: Likewise.
2174 * normal/menu_viewer.c: Likewise.
2175 * partmap/acorn.c: Likewise.
2176 * partmap/amiga.c: Likewise.
2177 * partmap/apple.c: Likewise.
2178 * script/lexer.c: Likewise.
2179 * term/gfxterm.c: Likewise.
2180 * term/i386/pc/serial.c: Likewise.
2181 * term/i386/pc/vga.c: Likewise.
2182 * term/ieee1275/ofconsole.c: Likewise.
2183 * term/terminfo.c: Likewise.
2184 * video/bitmap.c: Likewise.
2185 * video/efi_gop.c: Likewise.
2186 * video/efi_uga.c: Likewise.
2187 * video/fb/video_fb.c: Likewise.
2188 * video/i386/pc/vbe.c: Likewise.
2189 * video/readers/tga.c: Likewise.
2190 * video/video.c: Likewise.
2191
0ad46fd7 21922009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2193
2194 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2195 * commands/lspci.c: Likewise.
2196 * commands/probe.c: Likewise.
2197 * commands/xnu_uuid.c: Likewise.
2198 * conf/i386-coreboot.rmk: Likewise.
2199 * conf/i386-efi.rmk: Likewise.
2200 * conf/i386-ieee1275.rmk: Likewise.
2201 * conf/i386-pc.rmk: Likewise.
2202 * conf/powerpc-ieee1275.rmk: Likewise.
2203 * conf/sparc64-ieee1275.rmk: Likewise.
2204 * conf/x86_64-efi.rmk: Likewise.
2205 * fs/i386/pc/pxe.c: Likewise.
2206 * gettext/gettext.c: Likewise.
2207 * include/grub/efi/graphics_output.h: Likewise.
2208 * include/grub/i386/pc/memory.h: Likewise.
2209 * kern/env.c: Likewise.
2210 * kern/i386/qemu/startup.S: Likewise.
2211 * lib/i386/pc/biosnum.c: Likewise.
2212 * lib/i386/relocator.c: Likewise.
2213 * lib/i386/relocator_asm.S: Likewise.
2214 * lib/relocator.c: Likewise.
2215 * loader/i386/bsd.c: Likewise.
2216 * loader/i386/multiboot.c: Likewise.
2217 * loader/i386/pc/chainloader.c: Likewise.
2218 * loader/i386/xnu.c: Likewise.
2219 * loader/xnu.c: Likewise.
2220 * normal/main.c: Likewise.
2221 * normal/menu_text.c: Likewise.
2222 * util/getroot.c: Likewise.
2223 * util/grub-mkconfig_lib.in: Likewise.
2224 * util/grub.d/00_header.in: Likewise.
2225 * util/i386/pc/grub-mkimage.c: Likewise.
2226 * util/mkisofs/eltorito.c: Likewise.
2227 * util/mkisofs/exclude.h: Likewise.
2228 * util/mkisofs/hash.c: Likewise.
2229 * util/mkisofs/iso9660.h: Likewise.
2230 * util/mkisofs/joliet.c: Likewise.
2231 * util/mkisofs/mkisofs.c: Likewise.
2232 * util/mkisofs/mkisofs.h: Likewise.
2233 * util/mkisofs/multi.c: Likewise.
2234 * util/mkisofs/name.c: Likewise.
2235 * util/mkisofs/rock.c: Likewise.
2236 * util/mkisofs/tree.c: Likewise.
2237 * util/mkisofs/write.c: Likewise.
2238 * video/efi_gop.c: Likewise.
2239
009ec743
VS
22402009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2243 size counting.
2244
0ad46fd7 22452009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2246
2247 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2248 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2249
d3d30ea0
VS
22502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2253 (GRUB_MOD_INIT(memrw)): Update help line.
2254
a34f5c70
VS
22552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2258 Use grub_extcmd_t. All users updated.
2259 (options): New variable.
2260 (grub_cmd_read): Restructure for readability. Support "-v" option.
2261 (grub_cmd_write): Restructure for readability.
2262
0ad46fd7 22632009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2264
2265 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2266
0ad46fd7 22672009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2268
2269 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2270 with the actual contents of the correspondending make variable.
2271 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2272 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2273 specifying `*.lst' and `efiemu??.o'
2274
0ad46fd7 22752009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2276
2277 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2278 after function name.
2279 Noticed by Rene Engelhard <rene@debian.org>.
2280
dc77a799
VS
22812009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2284 (options): New variable.
2285 (iospace): Likewise.
2286 (grub_lspci_iter): List IO spaces if "-i" was given.
2287 (grub_cmd_lspci): Parse options.
2288 (GRUB_MOD_INIT(lspci)): Use extcmd.
2289 (GRUB_MOD_FINI(lspci)): Likewise.
2290
0ad46fd7 22912009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2292
2293 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2294 `function' keyword.
2295 Patch by Tony Mancill <tmancill@debian.org>.
2296
b5d5993b
VS
22972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2300 (grub_uhci_portstatus): Likewise.
2301 (grub_uhci_portstatus): Add necessary delay.
11d18281 2302 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2303
941903f2 23042009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2305
941903f2 2306 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2307 (GRUB_MOD_INIT): Likewise.
2308 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2309 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2310 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2311 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2312 (enable_rom_area): Likewise.
2313 (GRUB_MOD_INIT): Likewise.
2314 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2315 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2316 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2317 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2318 * commands/hexdump.c (options): Likewise.
2319 * commands/i386/cpuid.c (options): Likewise.
2320 (GRUB_MOD_INIT): Likewise.
2321 * commands/i386/pc/drivemap.c (options): Likewise.
2322 (GRUB_MOD_INIT): Likewise.
2323 * commands/i386/pc/halt (options): Likewise.
2324 (GRUB_MOD_INIT): Likewise.
2325 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2326 * commands/i386/pc/pxecmd.c (options): Likewise.
2327 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2328 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2329 * commands/keystatus.c (options): Likewise.
2330 (GRUB_MOD_INIT): Likewise.
2331 * commands/loadenv.c (options): Likewise.
2332 * commands/ls.c (options): Likewise.
2333 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2334 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2335 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2336 * commands/parttool.c (helpmsg): Likewise.
2337 * commands/probe.c (options): Likewise.
2338 * commands/read.c (GRUB_MOD_INIT): Likewise.
2339 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2340 * commands/search.c (options): Likewise.
2341 * commands/sleep.c (options): Likewise.
2342 * commands/test.c (GRUB_MOD_INIT): Likewise.
2343 * commands/true.c (GRUB_MOD_INIT): Likewise.
2344 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2345 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2346 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2347 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2348 `$(XGETTEXT)'.
98a50553 2349 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2350
0ad46fd7 23512009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2352
ef3c2c3a 2353 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2354 instead of specifying them explicit.
2355
7922f68b
RM
23562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2357
2358 * NEWS: Add grub-probe support for GNU/Hurd.
2359
537ce47f
RM
23602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2361
2362 * NEWS: gettext was added after 1.97.
2363
9b214e3a
RM
23642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2365
2366 * util/mkisofs/msdos_partition.h: New file (based on
2367 include/grub/msdos_partition.h).
2368 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2369 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2370 (ld_options, main): Recognize --protective-msdos-label.
2371 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2372 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2373 (padblock_write): If `use_protective_msdos_label' is set, patch a
2374 protective DOS-style label in the output image.
2375
2376 * util/grub-mkrescue.in: Use --protective-msdos-label.
2377
e9309813
RM
23782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2379
2380 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2381 boot.
2382
0ae56929
RM
23832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2384
2385 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2386 variables.
2387 (ld_options, main): Recognize `--embedded-boot'.
2388 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2389 declarations.
2390 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2391 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2392 (padblock_write): Likewise. Rewrite to support embedded boot image.
2393
2394 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2395 for BIOS-based disk boot instead of only ElTorito.
2396
b15937b1
RM
23972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2398
2399 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2400 build (not needed for bootstrap).
2401
52cc3ce0
RM
24022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2403
2404 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2405 from i386-pc build (not needed for bootstrap).
2406 Rewrite a pair of strings.
2407
36f5ff04
RM
24082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2409
2410 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2411
973c6c85 24122009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2413
2414 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2415
05d21547
AB
24162009-12-21 Andreas Born <futur.andy@googlemail.com>
2417
2418 * kern/env.c (grub_env_context_open): Mark exported variable for
2419 reexport.
2420
0175d51f
AB
24212009-12-21 Andreas Born <futur.andy@googlemail.com>
2422
2423 * kern/env.c (grub_env_export): Create nonexistent variables before
2424 exporting.
2425
7f39d92f 24262009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2427
7f39d92f 2428 * include/grub/auth.h: Include `<grub/i18n.h>'.
2429 (GRUB_GET_PASSWORD): Gettextizze string.
2430 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2431 menu_text.c.
2432 (grub_utf8_to_ucs4_alloc): Fix indentation.
2433 (grub_print_ucs4): Likewise.
2434 (grub_getstringwidth): Likewise.
2435 (print_message_indented): New declaration.
2436 * normal/auth.c: Include `<grub/i18n.h>'.
2437 (grub_auth_check_authentication): Gettexttize string.
2438 * normal/cmdline.c: Include `<grub/i18n.h>'.
2439 (grub_cmdline_get): Gettextizze.
2440 * normal/color.c: Include `<grub/i18n.h>'.
2441 (grub_parse_color_name_pair): Gettexttize strings.
2442 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2443 string (use `print_message_indented').
2444 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2445 `include/grub/normal.h'.
2446 (print_message_indented): Renamed to ...
2447 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2448 used in normal/main.c).
2449 (print_message): Use `grub_print_message_indented' instead of
2450 `print_message_indented'.
2451 (print_timeout): Likewise.
2452 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2453 (grub_normal_print_device_info): Gettexttize strings.
2454 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2455
3041d898
VS
24562009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2459 of arguments. Return number of tokens and not arguments. All users
2460 updated.
2461
de15bf8e
VS
24622009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2465 non-MSDOS paritions.
2466
e0a6ca52
VS
24672009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * include/grub/types.h (UNUSED): Removed since it conflicts with
2470 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2471 Reported by Grégoire Sutre.
2472
b99518d1 24732009-12-19 Carles Pina i Estany <carles@pina.cat>
2474
2475 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2476 (grub_print_ucs4_alloc): Likewise.
2477 (grub_getstringwidth): Likewise.
2478 * normal/main.c (grub_normal_init_page): Gettextize version string.
2479 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2480 (getstringwidth): Renamed to ...
2481 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2482 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2483 (grub_print_ucs4): Remove `static' qualifer (now used in
2484 normal/main.c).
2485 * po/POTFILES: Add normal/main.c.
2486
bfd5e52b 24872009-12-19 Carles Pina i Estany <carles@pina.cat>
2488
2489 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2490 (print_message_indented): Add `margin_left' and `margin_right'
2491 parameters.
2492 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2493 strings.
2494 (print_timeout): Use `print_message_indented' to print the message.
2495 Deletes `second_stage' parameter.
2496 (run_menu): Update `print_timeout' calls.
2497
5a1ad2b9
VS
24982009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Fix console palette on OpenFirmware.
2501
2502 * term/ieee1275/ofconsole.c (MAX): Removed.
2503 (colors): Redone based on VGA palette.
2504 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2505 colors are supported.
2506 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2507
b045f00a
VS
25082009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Fix potential EfiEmu double prepare.
2511
2512 * efiemu/main.c (prepared): New variable
2513 (grub_efiemu_unload): Set prepare to '0'.
2514 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2515
2516 set_virtual_address_map support.
2517
2518 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2519 prototype.
2520 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2521 prototype.
2522 (grub_efiemu_crc32): Likewise.
2523 (grub_efiemu_crc64): Likewise.
2524 (grub_efiemu_set_virtual_address_map): Likewise.
2525 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2526 New definition.
2527 (grub_autoefi_set_virtual_address_map): Likewise.
2528 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2529 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2530 Restructure flow to accomodate it.
2531 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2532 (grub_efiemu_crc): Recompute CRC32.
2533 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2534 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2535 * efiemu/symbols.c (relocated_handle): New variable.
2536 (grub_efiemu_free_syms): Free relocated_handle.
2537 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2538 (grub_efiemu_write_sym_markers): New function.
2539 (grub_efiemu_set_virtual_address_map): Likewise.
2540
2541 Newer XNU parameters.
2542
2543 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2544 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2545 (grub_xnu_fill_devicetree): New prototype.
2546 (grub_xnu_heap_real_start): New variable.
2547 * loader/xnu.c (get_name_ptr): New function.
2548 (grub_xnu_load_driver): Fill namelen and name.
2549
2550 64-bit xnu support.
2551
2552 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2553 and 'loader/macho64.c'.
2554 * conf/i386-pc.rmk: Likewise.
2555 * conf/x86_64-efi.rmk: Likewise.
2556 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2557 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2558 * include/grub/macho.h (grub_macho_segment64): New structure.
2559 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2560 (grub_macho_size32): ... to this.
2561 (grub_macho32_get_entry_point): Renamed from ...
2562 (grub_macho_get_entry_point32): ... to this.
2563 (grub_macho_contains_macho64): New prototype.
2564 (grub_macho_size64): Likewise.
2565 (grub_macho_get_entry_point64): Likewise.
2566 (grub_macho32_load): Renamed from ...
2567 (grub_macho_load32): ... to this.
2568 (grub_macho32_filesize): Renamed from ...
2569 (grub_macho_filesize32): ... to this.
2570 (grub_macho32_readfile): Renamed from ...
2571 (grub_macho_readfile32): ... to this.
2572 (grub_macho_filesize64): New prototype.
2573 (grub_macho_readfile64): Likewise.
2574 (grub_macho_parse32): Likewise.
2575 (grub_macho_parse64): Likewise.
2576 * loader/macho.c: Split into ...
2577 * loader/machoXX.c: ... and this. Replace 32 with XX.
2578 * loader/macho32.c: New file.
2579 * loader/macho64.c: Likewise.
2580 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2581 (grub_cmd_xnu_kernel): Make 32-bit only.
2582 (grub_cmd_xnu_kernel64): New function.
2583 (grub_xnu_load_driver): Support Mach-O 64.
2584 (grub_cmd_xnu_mkext): Likewise.
2585 * util/grub.d/30_os-prober.in (osx_entry): New function.
2586 Generate entries for 64-bit boot too.
2587
2588 Eliminate ad-hoc tree format in XNU and EfiEmu.
2589
2590 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2591 * efiemu/pnvram.c: Rewritten to use environment variables.
2592 All users updated.
2593
2594 Inline utf16_to_utf8.
2595
2596 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2597 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2598 All users updated.
2599 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2600
2601 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2602 * commands/usbtest.c (grub_usb_get_string): ... move here.
2603 (usb_print_str): Fix error handling.
2604 * include/grub/usb.h (grub_usb_get_string): Remove.
2605
2606 UTF-8 to UTF-16 transformation.
2607
2608 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2609 (charset_mod_SOURCES): New variable.
2610 (charset_mod_CFLAGS): Likewise.
2611 (charset_mod_LDFLAGS): Likewise.
2612 * include/grub/utf.h: New file.
2613 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2614
2615 Support for device properties.
2616
2617 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2618 (grub_xnu_devprop_device_header): Likewise.
2619 (grub_xnu_devprop_device_descriptor): Likewise.
2620 (grub_xnu_devprop_add_device): New prototype.
2621 (grub_xnu_devprop_remove_device): Likewise.
2622 (grub_xnu_devprop_remove_property): Likewise.
2623 (grub_xnu_devprop_add_property_utf8): Likewise.
2624 (grub_xnu_devprop_add_property_utf16): Likewise.
2625 (grub_cpu_xnu_init): Likewise.
2626 (grub_cpu_xnu_fini): Likewise.
2627 (grub_cpu_xnu_unload): Likewise.
2628 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2629 (property_descriptor): Likewise.
2630 (devices): New variable.
2631 (grub_xnu_devprop_remove_property): New function.
2632 (grub_xnu_devprop_add_device): Likewise.
2633 (grub_xnu_devprop_remove_device): Likewise.
2634 (grub_xnu_devprop_add_property): Likewise.
2635 (grub_xnu_devprop_add_property_utf8): Likewise.
2636 (grub_xnu_devprop_add_property_utf16): Likewise.
2637 (hextoval): Likewise.
2638 (grub_cpu_xnu_fill_devprop): Likewise.
2639 (grub_cmd_devprop_load): Likewise.
2640 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2641 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2642 (cmd_devprop_load): New variable.
2643 (grub_cpu_xnu_init): New function.
2644 (grub_cpu_xnu_fini): Likewise.
2645 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2646 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2647 (grub_cmd_xnu_devtree): Likewise.
2648 (hextoval): New function.
2649 (unescape): Likewise.
2650 (grub_xnu_fill_devicetree): Likewise.
2651
2652 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2653 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2654
0945f181
VS
26552009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 Workaround for broken ATI VBE.
2658
2659 * video/i386/pc/vbe.c (last_set_mode): New variable.
2660 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2661 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2662 (grub_video_vbe_setup): Don't check for reserved flag.
2663
0ad46fd7 26642009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2665
2666 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2667 the `find' command.
2668
c179ebe4
VS
26692009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 UUID support for HFS.
2672
2673 * fs/hfs.c (grub_hfs_uuid): New function.
2674 (grub_hfs_fs): New value .uuid.
2675 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2676
0ad46fd7 26772009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2678
2679 Fix a segfault with parsing unknown long options.
2680
2681 * util/grub-mkrelpath.c (options): Zero terminate it.
2682
c4a3e41a
CPE
26832009-12-13 Carles Pina i Estany <carles@pina.cat>
2684
2685 * include/grub/misc.h (grub_puts): New declaration.
2686 (grub_puts_): Likewise.
a22008a6 2687 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2688 (grub_puts_): Likewise.
2689
2e8a7602
RM
26902009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2691
2692 * util/grub-probe.c (probe): Improve error message.
2693
b50b77b9
RM
26942009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2695
2696 * loader/i386/multiboot_elfxx.c
2697 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2698 initialization.
2699
27002009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Relocator framework
2703
2704 * loader/i386/xnu_helper.S: Removed. All users updated.
2705 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2706 (relocator_mod_SOURCES): New variable.
2707 (relocator_mod_CFLAGS): Likewise.
2708 (relocator_mod_LDFLAGS): Likewise.
2709 (relocator_mod_ASFLAGS): Likewise.
2710 * conf/x86_64.rmk: Likewise.
2711 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2712 (grub_multiboot_payload_entry_offset): Likewise.
2713 (grub_multiboot_forward_relocator): Likewise.
2714 (grub_multiboot_forward_relocator_end): Likewise.
2715 (grub_multiboot_backward_relocator): Likewise.
2716 (grub_multiboot_backward_relocator_end): Likewise.
2717 (grub_multiboot_payload_eip): New variable.
2718 (grub_multiboot_payload_orig): Likewise.
2719 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2720 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2721 * include/grub/i386/memory.h
2722 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2723 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2724 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2725 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2726 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
2727 * include/grub/i386/relocator.h: New file.
2728 * include/grub/x86_64/relocator.h: Likewise.
2729 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
2730 (XNU_RELOCATOR): New macro.
2731 (grub_xnu_launcher_start): Remove.
2732 (grub_xnu_launcher_end): Likewise.
2733 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
2734 (grub_xnu_heap_real_start): Remove.
2735 (grub_xnu_heap_start): Change to void *. All users updated.
2736 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
2737 * lib/i386/relocator.c: New file.
2738 * lib/i386/relocator_asm.S: Likewise.
2739 * lib/i386/relocator_backward.S: Likewise.
2740 * lib/mips/relocator.c: Likewise.
2741 * lib/mips/relocator_asm.S: Likewise.
2742 * lib/relocator.c: Likewise.
2743 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
2744 (entry): Removed.
2745 (playground): Likewise.
2746 (grub_multiboot_payload_orig): New variable.
2747 (grub_multiboot_payload_dest): Likewise.
2748 (grub_multiboot_payload_size): Likewise.
2749 (grub_multiboot_payload_eip): Likewise.
2750 (grub_multiboot_payload_esp): Likewise.
2751 (grub_multiboot_boot): Use grub_relocator32_boot.
2752 (grub_multiboot_unload): Free relocators.
2753 (grub_multiboot): Setup stack. Use relocators.
2754 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
2755 (grub_multiboot_load_elfXX): Use relocators.
2756 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
2757 (grub_multiboot_payload_size): Likewise.
2758 (grub_multiboot_payload_dest): Likewise.
2759 (grub_multiboot_payload_entry_offset): Likewise.
2760 (grub_multiboot_forward_relocator): Likewise.
2761 (grub_multiboot_backward_relocator): Likewise.
2762 (grub_multiboot_real_boot): Likewise.
2763 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
2764 (grub_xnu_entry_point): Likewise.
2765 (grub_xnu_arg1): Likewise.
2766 (grub_xnu_stack): Likewise.
2767 (grub_xnu_launch): Removed.
2768 (grub_xnu_boot_resume): New function.
2769 (grub_xnu_boot): Use relocators.
2770 * loader/i386/xnu_helper.S: Removed.
2771 * loader/xnu.c (grub_xnu_heap_start): New variable.
2772 (grub_xnu_heap_size): Likewise.
2773 (grub_xnu_heap_malloc): Use relocators.
2774 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
2775
29eb90c6
VS
27762009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
2779 anything.
2780
31027430
CPE
27812009-12-13 Carles Pina i Estany <carles@pina.cat>
2782
2783 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
2784 GRUB_ERR_NONE before calling grub_env_set.
2785
dc0c71d9
RM
27862009-12-12 Robert Millan <rmh@aybabtu.com>
2787
2788 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
2789 * genmk.rb (video): New variable.
2790 (CLEANFILES, VIDEOFILES): Add #{video}.
2791 (#{video}): New target rule.
2792 * genvideolist.sh: New file.
2793 * Makefile.in (pkglib_DATA): Add video.lst.
2794 (video.lst): New target rule.
2795 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
2796 `video.lst'.
2797 * util/grub.d/30_os-prober.in: Replace `vbe' with
2798 ${GRUB_VIDEO_BACKEND}.
2799
2a4bfcf0
RM
28002009-12-11 Robert Millan <rmh.grub@aybabtu.com>
2801
2802 * THANKS: Add David Miller.
2803
2a3aa4d5
RM
28042009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 libpciaccess support.
2807
2808 * Makefile.in (LIBPCIACCESS): New variable.
2809 (enable_grub_emu_pci): Likewise.
2810 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
2811 util/pci.c and commands/lspci.c.
2812 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
2813 * configure.ac (grub-emu-pci): New option.
2814 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
2815 (grub_pci_device_unmap_range): Likewise.
2816 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
2817 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
2818 (grub_pci_address_t) [!GRUB_UTIL]: New type.
2819 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
2820 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
2821 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
2822 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
2823 * include/grub/pciutils.h: New file.
2824 * util/pci.c: Likewise.
2825
0ad46fd7 28262009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
2827
2828 * util/misc.c: Don't include <errno.h> twice.
2829
0ad46fd7 28302009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
2831
2832 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
2833 name in an error message.
2834 (grub_biosdisk_rw): Likewise.
2835
2e59983c
VS
28362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 Eliminate NTFS 4Gib barrier.
2839
2840 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
2841 (read_run_data): Likewise.
2842 (grub_ntfs_read_run_list): Likewise.
2843 (grub_ntfs_read_block): Likewise.
2844 (grub_ntfs_iterate_dir): Likewise.
2845 (read_mft): Likewise.
2846 (read_data): Likewise.
2847 Use COM_LOG_LEN.
2848 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
2849 to avoid 64-bit division
2850 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
2851 (grub_ntfs_rlst): Use grub_disk_addr_t.
2852
71ee178a
VS
28532009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Eliminate grub-fstest 4Gib barrier.
2856
2857 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
2858 (read_file): Fix error reporting.
2859
2520d4b8
VS
28602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Eliminate hexdump 4Gib barrier.
2863
2864 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
2865 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
2866
e1f27065
VS
28672009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
2870 Fixes amarsh bug.
2871
1a0f7f45
RM
28722009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
2873
2874 Remove miscellaneous files in distclean target.
2875
2876 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2877
c631d9fb
CW
28782009-12-09 Colin Watson <cjwatson@ubuntu.com>
2879
2880 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
2881 if they're already set. This resolves the conflict between my
2882 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
2883 fixing the --grub-probe option again.
2884 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
2885 change on 2009-10-06, so that we now once again source
2886 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2887
7c7b6106
RM
28882009-12-08 Robert Millan <rmh.grub@aybabtu.com>
2889
2890 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
2891 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
2892 `util/devicemap.c'.
2893
e3069ec1
CPE
28942009-12-08 Carles Pina i Estany <carles@pina.cat>
2895
2896 * include/grub/misc.h (grub_printf_): New declaration.
2897 * kern/misc.c (grub_printf_): New definition.
2898 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
2899 instead of `grub_printf' and `_'.
2900 * normal/menu_entry.c (store_completion): Likewise.
2901 (run): Likewise.
2902 (grub_menu_entry_run): Likewise.
2903 * normal/menu_text.c (grub_wait_after_message): Likewise.
2904 (notify_booting): Likewise.
2905 (notify_fallback): Likewise.
2906 (notify_execution_failure): Likewise.
2907
d6ceebf1
CW
29082009-12-07 Colin Watson <cjwatson@ubuntu.com>
2909
2910 * configure.ac: Check for vasprintf.
2911 * util/misc.c (asprintf): Move allocation from here ...
2912 (vasprintf): ... to here. New function.
2913 (xasprintf): New function.
2914 * include/grub/util/misc.h (vasprintf, xasprintf): Add
2915 prototypes.
2916 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2917 * util/grub-mkfont.c (write_font): Likewise.
2918 * util/grub-probe.c (probe): Likewise.
2919 * util/hostdisk.c (make_device_name): Likewise.
2920
de6daa8b
DM
29212009-12-06 David S. Miller <davem@sunset.davemloft.net>
2922
2923 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
2924 anything even prefixed with 'cdrom' as a cdrom.
2925
0ad46fd7 29262009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
2927
2928 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
2929 mount points.
2930
98d3dc02
CPE
29312009-12-05 Carles Pina i Estany <carles@pina.cat>
2932
2933 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
2934 grub_gettext_msg_list.
2935 (grub_gettext_gettranslation_from_position): Return const char *
2936 and not char *.
a2c1332b 2937 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
2938 returns from the list if existing there.
2939 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
2940 (grub_gettext_delete_list): Delete the list.
2941 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
2942 lang environment variable is changed.
2943 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
2944
b283f108
VS
29452009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Rename kernel.mod to kernel.img.
2948
2949 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
2950 (kernel_mod_EXPORTS): Rename to ...
2951 (kernel_img_EXPORTS): ... this.
2952 (kernel_mod_SOURCES): Rename to ...
2953 (kernel_img_SOURCES): ... this.
2954 (kernel_mod_HEADERS): Rename to ...
2955 (kernel_img_HEADERS): ... this. All users updated.
2956 (kernel_mod_CFLAGS): Rename to ...
2957 (kernel_img_CFLAGS): ... this.
2958 (kernel_mod_ASFLAGS): Rename to ...
2959 (kernel_img_ASFLAGS): ... this.
2960 (kernel_mod_LDFLAGS): Rename to ...
2961 (kernel_img_LDFLAGS): ... this.
2962 * conf/x86_64-efi.rmk: Likewise.
2963 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
2964 (read_kernel_image): ... this. All users updated.
2965 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
2966
69055f8a
CPE
29672009-12-05 Carles Pina i Estany <carles@pina.cat>
2968
2969 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
2970 (print_spaces): New function.
2971 (grub_print_ucs4): New function.
2972 (getstringwidth): New function.
2973 (print_message_indented): New function.
2974 (print_message): Gettexttize strings using print_message_indented.
2975 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
2976 width.
2977 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 2978 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
2979 Gettextize.
2980 * normal/menu_entry.c (store_completion): Cleanup the gettextized
2981 string.
2982 (run): Likewise.
2983 (grub_menu_entry_run): Likewise.
2984 * PO/POTFILES: Add normal/menu_entry.c.
2985
f616f51c
VS
29862009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
2989
57bbe3be
CPE
29902009-12-05 Carles Pina i Estany <carles@pina.cat>
2991
2992 * util/grub-install.in: Install gettext .mo files.
2993 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
2994
013d67a1
CPE
29952009-12-05 Carles Pina i Estany <carles@pina.cat>
2996
2997 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
2998 grub_dprintf.
2999
fb954db0
RM
30002009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3001
3002 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3003 non-firmware-dependant one in realmode.S takes precedence.
3004
6b8474f8
RM
30052009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3006
3007 * commands/halt.c: Replace misc arch-specific headers with
3008 `<grub/misc.h>'.
3009 * commands/reboot.c: Likewise.
3010 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3011 `<grub/misc.h>'.
3012 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3013 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3014 (kernel_img_SOURCES): ... to here.
3015
3016 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3017 * include/grub/i386/pc/init.h: Likewise.
3018 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3019 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3020
3021 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3022
3023 * include/grub/i386/halt.h: Remove.
3024 * include/grub/i386/reboot.h: Likewise.
3025
3026 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3027
4b2e6ca2
DM
30282009-12-03 David S. Miller <davem@sunset.davemloft.net>
3029
3030 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3031 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3032 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3033 "progname.h"
3034 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3035 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3036 (usage): Add missing comma in printf.
3037
5239348f
RM
30382009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3039
3040 Use the same reboot approach on i386 coreboot and qemu as we do on
3041 BIOS.
3042
3043 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3044 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3045 * kern/i386/reboot.c: Remove.
3046 * include/grub/i386/reboot.h (grub_reboot): Export function.
3047 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3048 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3049 0xf000:0xfff0 instead of 0xffff:0x0000.
3050 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3051 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3052
ef34cbd4
RM
30532009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3054
3055 Fix $srcdir != $objdir build.
3056
3057 * Makefile.in (po/%.po): Rewrite as ...
3058 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3059
dc9837ea
ST
30602009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3061
3062 Fix GNU/Hurd grub-install crash.
3063 * util/grub-probe.c (probe): Try to access `path' only when it is not
3064 NULL.
3065
2f857f98
VS
30662009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 Correct module naming.
3069
3070 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3071 (GRUB_MOD_INIT(efi_uga)): ... to this
3072 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3073 (GRUB_MOD_FINI(efi_uga)): ... to this
3074 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3075 (GRUB_MOD_INIT(efi_gop)): ... to this
3076 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3077 (GRUB_MOD_FINI(efi_gop)): ... to this
3078
c5448046
RM
30792009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3080
3081 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3082 translatable.
3083 (usage): Translate `arg' strings using gettext().
3084 Thanks to Jordi Mallach for the suggestion.
3085
c85184ad
VS
30862009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 GOP support. Based on patch from Bean
3089 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3090
3091 * video/efi_gop.c: New file.
3092 * include/grub/efi/graphics_output.h: Likewise.
3093 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3094 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3095 variables.
3096 * conf/x86_64-efi.rmk: Likewise.
3097
8a4c48d8
VS
30982009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Rename efi_fb to efi_uga.
3101
3102 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3103 'efi_uga.mod'.
3104 (efi_fb_mod_SOURCES): Rename this ...
3105 (efi_uga_mod_SOURCES): ... to this.
3106 (efi_fb_mod_CFLAGS): Rename this ...
3107 (efi_uga_mod_CFLAGS): ... to this.
3108 (efi_fb_mod_LDFLAGS): Rename this ...
3109 (efi_uga_mod_LDFLAGS): ... to this.
3110 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3111 'efi_uga.mod'.
3112 (efi_fb_mod_SOURCES): Rename this ...
3113 (efi_uga_mod_SOURCES): ... to this.
3114 (efi_fb_mod_CFLAGS): Rename this ...
3115 (efi_uga_mod_CFLAGS): ... to this.
3116 (efi_fb_mod_LDFLAGS): Rename this ...
3117 (efi_uga_mod_LDFLAGS): ... to this.
3118 * video/efi_fb.c: Move this ...
3119 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3120
fb6c1a7b
RM
31212009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3122
3123 * po/README: New file. Explain our PO file workflow.
3124
3bc7896c
RM
31252009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3126
3127 * po/ChangeLog: Remove. Move relevant entries back to ...
3128 * ChangeLog: ... here.
3129 * po/ca.po: Remove (now handled by TLP).
3130 * po/id.po: Likewise.
3131 * po/zh_CN.po: Likewise.
3132 * Makefile.in (LINGUAS): Initialize in a way that supports
3133 empty set.
3134
9ed4841d
RM
31352009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3136
3137 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3138 reliing on po/LINGUAS.
3139 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3140 (po/%.po): ... this.
3141
0ad46fd7 31422009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3143
3144 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3145 (main): Use `program_name' instead of nonexistent `progname'.
3146
e30dd392
FZ
31472009-11-26 Felix Zielcke <fzielcke@z-51.de>
3148
3149 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3150 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3151
7656de4f
RM
31522009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3153
3154 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3155 commit.
3156 * conf/i386-efi.rmk: Likewise.
3157 * conf/i386-ieee1275.rmk: Likewise.
3158 * conf/powerpc-ieee1275.rmk: Likewise.
3159 * conf/sparc64-ieee1275.rmk: Likewise.
3160 * conf/x86_64-efi.rmk: Likewise.
3161
db77c4d4
FZ
31622009-11-26 Felix Zielcke <fzielcke@z-51.de>
3163
3164 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3165
a755bb04
FZ
31662009-11-26 Felix Zielcke <fzielcke@z-51.de>
3167
3168 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3169
8a4c07fd
RM
31702009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3171
3172 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3173 (grub_mkdevicemap_SOURCES): New variable.
3174 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3175 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3176 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3177 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3178 (grub_mkdevicemap_SOURCES): Remove.
3179 * conf/i386-efi.rmk: Likewise.
3180 * conf/i386-ieee1275.rmk: Likewise.
3181 * conf/i386-pc.rmk: Likewise.
3182 * conf/powerpc-ieee1275.rmk: Likewise.
3183 * conf/sparc64-ieee1275.rmk: Likewise.
3184 * conf/x86_64-efi.rmk: Likewise.
3185 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3186 (usage): Fix strings to use `program_name'.
3187 (main): Initialize gettext.
3188 * util/grub-editenv.c: Likewise.
3189 * util/grub-emu.c: Likewise.
3190 * util/grub-fstest.c: Likewise.
3191 * util/grub-mkdevicemap.c: Likewise.
3192 * util/grub-mkfont.c: Likewise.
3193 * util/grub-mkrelpath.c: Likewise.
3194 * util/grub-pe2elf.c: Likewise.
3195 * util/grub-probe.c: Likewise.
3196 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3197 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3198 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3199
3200 * util/misc.c: Include `"progname.h"'.
3201 (progname): Remove variable.
3202 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3203
6f61ed55
FZ
32042009-11-25 Felix Zielcke <fzielcke@z-51.de>
3205
3206 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3207 printf and print a newline after the menuentry header line.
3208 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3209
f022876b
FZ
32102009-11-25 Felix Zielcke <fzielcke@z-51.de>
3211
3212 autoconf >= 2.60 support $(localedir).
3213
3214 * INSTALL: Note that autoconf 2.60 is required.
3215 * configure.ac (AC_PREREQ): Bump to 2.60.
3216 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3217 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3218
6717926e
YB
32192009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3220
3221 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3222 aclocal is run.
3223
08806a54
RM
32242009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3225
3226 * normal/main.c (grub_normal_read_line): Fix off-by-one
3227 buffer overflow.
3228
13b33fba
RM
32292009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3230
3231 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3232 "parser.grub" in grub_command_execute() call.
3233
4a8572e9
CPE
32342009-11-24 Carles Pina i Estany <carles@pina.cat>
3235
3236 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3237 * conf/i386-efi.rmk: Likewise.
3238 * conf/i386-ieee1275.rmk: Likewise.
3239 * conf/i386-pc.rmk: Likewise.
3240 * conf/powerpc-ieee1275.rmk: Likewise.
3241 * conf/sparc64-ieee1275.rmk: Likewise.
3242 * conf/x86_64-efi.rmk: Likewise.
3243 * gettext/gettex.c: Include <grub/i18n.h>.
3244 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3245 here ...
3246 * include/grub/i18n.h: ... to here
3247 * include/grub/i18n.h: ... to here.
3248 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3249 (grub_gettext_dummy): Move above user.
4a8572e9 3250
bee48093
FZ
32512009-11-24 Felix Zielcke <fzielcke@z-51.de>
3252
3253 * util/Makefile.in (install-local): Convert a `for' into a normal
3254 shell expansion.
3255
a031e91c
RM
32562009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3257
3258 * autogen.sh: Add automake call.
3259 * config.guess: Remove.
3260 * config.sub: Likewise.
3261 * install-sh: Likewise.
3262
26bec39d
FZ
32632009-11-24 Felix Zielcke <fzielcke@z-51.de>
3264
3265 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3266
8e2532fd
FZ
32672009-11-24 Felix Zielcke <fzielcke@z-51.de>
3268
3269 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3270 function to a normal shell `for'.
3271
fefa1b7d
FZ
32722009-11-24 Felix Zielcke <fzielcke@z-51.de>
3273
3274 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3275
4501250b
FZ
32762009-11-24 Felix Zielcke <fzielcke@z-51.de>
3277
3278 * util/grub-mkrelpath.c: New file.
3279 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3280 (grub_mkrelpath_SOURCES): New variable.
3281 * include/grub/util/misc.h: New function prototype.
3282 * util/misc.c (make_system_path_relative_to_its_root): New function.
3283
3284 * util/grub-mkconfig_lib.in (bindir): New variable.
3285 (grub_mkrelpath): Likewise.
3286 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3287
3288 * util/probe.c (probe): Make the file path relative to its root.
3289 Change a info message to use the GRUB path. Enable again the
3290 check if we can read the file with GRUB facilities.
3291
3292 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3293 to its root.
3294
11d9778b
FZ
32952009-11-24 Felix Zielcke <fzielcke@z-51.de>
3296
3297 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3298 platform.
3299
4465287d
FZ
33002009-11-24 Felix Zielcke <fzielcke@z-51.de>
3301
3302 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3303 strncmp().
3304
62b47f22
FZ
33052009-11-24 Felix Zielcke <fzielcke@z-51.de>
3306
3307 * util/getroot.c (grub_util_is_dmraid): New function.
3308 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3309 devices as normal ones, not as LVM.
3310
1eafb9b9 33112009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3312
3313 * conf/common.rmk: Add grub-gettext_lib target and updates
3314 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3315 LDFLAGS.
3316 * gettext/gettext.c: New file. (Reads mo files).
3317 * include/grub/file.h (grub_file_pread): New prototype.
3318 * include/grub/i18n.h (_): New prototype.
3319 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3320 prototypes.
3321 * kern/misc.c (grub_gettext_dummy): New function.
3322 * normal/menu_text.c: Include <grub/i18n.h>.
3323 * normal/menu_text.c (print_timeout): Gettexttize string.
3324 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3325 * po/POTFILES: Add `normal/menu_text.c'.
3326 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3327 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3328 gettext module and defines locale_dir and lang in grub.cfg.
3329 * NEWS: Add gettext support.
3330
0fdb2568
RM
33312009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3332
3333 * util/hostdisk.c: Include `<grub/i18n.h>'.
3334 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3335 (make_device_name): Rewrite using asprintf.
3336 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3337 (find_system_device): If a device is not found, generate one just
3338 by reusing the OS path name.
3339 (read_device_map): Make it permissible for device.map not to exist.
3340
f515aa62
RM
33412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3342
3343 * script/sh/execute.c: Move from here ...
3344 * script/execute.c: ... to here. Update all users.
3345 * script/sh/function.c: Move from here ...
3346 * script/function.c: ... to here. Update all users.
3347 * script/sh/lexer.c: Move from here ...
3348 * script/lexer.c: ... to here. Update all users.
3349 * script/sh/main.c: Move from here ...
3350 * script/main.c: ... to here. Update all users.
3351 * script/sh/parser.y: Move from here ...
3352 * script/parser.y: ... to here. Update all users.
3353 * script/sh/script.c: Move from here ...
3354 * script/script.c: ... to here. Update all users.
3355
f84b481b
RM
33562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3357
3358 * configure.ac: Detect all `emu' platforms. Define
3359 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3360 --enable-grub-emu logic. Disable include/grub/machine
3361 symlink on `emu' platforms.
3362
3363 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3364 * gensymlist.sh.in: Likewise.
3365
3366 * include/grub/i386/coreboot/machine.h: Remove file.
3367 * include/grub/i386/efi/machine.h: Likewise.
3368 * include/grub/i386/ieee1275/machine.h: Likewise.
3369 * include/grub/i386/pc/machine.h: Likewise.
3370 * include/grub/i386/qemu/machine.h: Likewise.
3371 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3372 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3373 * include/grub/x86_64/efi/machine.h: Likewise.
3374
3375 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3376 * commands/halt.c: Likewise.
3377 * commands/reboot.c: Likewise.
3378 * include/grub/autoefi.h: Likewise.
3379 * include/grub/i386/at_keyboard.h: Likewise.
3380 * include/grub/i386/kernel.h: Likewise.
3381 * include/grub/i386/loader.h: Likewise.
3382 * include/grub/i386/pc/memory.h: Likewise.
3383 * kern/dl.c: Likewise.
3384 * kern/i386/coreboot/init.c: Likewise.
3385 * loader/i386/bsd.c: Likewise.
3386 * loader/i386/linux.c: Likewise.
3387 * loader/multiboot_loader.c: Likewise.
3388 * term/i386/pc/serial.c: Likewise.
3389 * term/usb_keyboard.c: Likewise.
3390
3391 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3392 `<grub/machine/machine.h>'
3393 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3394 * util/misc.c: Remove `<grub/machine/machine.h>' and
3395 `<grub/machine/time.h>'.
3396
3397 * Makefile.in (enable_grub_emu): Remove variable.
3398 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3399
3400 * conf/any-emu.rmk: New file.
3401 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3402 (grub_emu_init.c): Move from here ...
3403 * conf/any-emu.rmk: ... to here.
3404
3405 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3406 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3407 * conf/any-emu.rmk: ... to here.
3408
4efeab03
RM
34092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3410
3411 * include/grub/parser.h (grub_parser_register): Document need
3412 of `name' parameter.
3413 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3414 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3415 "sh" to "grub".
3416
ea1dd8bf
RM
34172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3418
3419 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3420 `$(XGETTEXT)'.
3421 * include/grub/i18n.h (N_): New macro.
3422 * util/mkisofs/mkisofs.h: Likewise.
3423 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3424 around N_().
3425 (usage): Use gettext() to translate help strings when printing them.
3426
0c140626
RM
34272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3428
3429 Based on patch from Bean
3430 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3431
3432 * video/efi_fb.c: New file.
3433 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3434 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3435 variables.
3436 * conf/x86_64-efi.rmk: Likewise.
3437
87d58298
RM
34382009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3439
3440 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3441 * util/i386/pc/grub-setup.c: Likewise.
3442
994cc3a3
ST
34432009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3444
3445 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3446 <hurd/fs.h>
3447 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3448 file_get_storage_info to implement grub_guess_root_device.
3449
26a61d6a
FZ
34502009-11-21 Felix Zielcke <fzielcke@z-51.de>
3451
3452 * Makefile.in (target): Use make's builtin $(shell) function
3453 instead of calling directly $(SHELL) to create the locale directories,
3454 inside the $(foreach) function.
3455
74ff1dd5
FZ
34562009-11-21 Felix Zielcke <fzielcke@z-51.de>
3457
3458 * util/grub-mkrescue.in: Print an error and usage if output option
3459 has not been given.
3460
0b787d0e
FZ
34612009-11-21 Felix Zielcke <fzielcke@z-51.de>
3462
3463 Patch from Loïc Minier <loic.minier@ubuntu.com>.
3464 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3465 root and /boot are on different devices.
3466
1164b270
RM
34672009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3468
3469 Fix build for srcdir != objdir.
3470
3471 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3472 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3473 $(srcdir).
3474 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3475 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3476 reference for input.
3477
13774a2f
RM
34782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3479
3480 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3481 or hardlinking it). Remove -J option, Joliet is not compatible with
3482 multiple source directories.
3483
efda854e
RM
34842009-11-21 Carles Pina i Estany <carles@pina.cat>
34852009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3486
3487 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3488 (process_input_dir): New function. Process an arbitrary input
3489 directory.
3490 Misc adjustments to support both "override mode" and system-wide mode.
3491
6c09890c
FZ
34922009-11-20 Felix Zielcke <fzielcke@z-51.de>
3493
3494 * configure.ac (UNIFONT_BDF): Rename to ...
3495 (FONT_SOURCE): ... this. Update all users.
3496
a797824f
FZ
34972009-11-20 Felix Zielcke <fzielcke@z-51.de>
3498
3499 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3500 to the list of unifont files to look for.
3501
cd4f42b0
RM
35022009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3503
3504 Patch from Joe Auricchio <jauricchio@gmail.com>
3505 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3506 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3507 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3508
393c783d
FZ
35092009-11-19 Felix Zielcke <fzielcke@z-51.de>
3510
3511 * Makefile.in (install-local): Add a missing backslash.
3512
b2f1e327
FZ
35132009-11-19 Felix Zielcke <fzielcke@z-51.de>
3514
3515 * include/grub/x86_64/io.h: New file.
3516
f577f7a0
RM
35172009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3518
3519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3520 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3521 Include `"progname.h"'.
3522 (main): Initialize gettext.
3523 * util/i386/pc/grub-setup.c: Gettexttize.
3524 * util/i386/pc/grub-mkimage.c: Likewise.
3525
3526 * Makefile.in (po/*.po): Redefine as ...
3527 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3528
3bc7896c
RM
3529 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3530
c37943b6
RM
35312009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3532
3533 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3534 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3535 (program_name): Remove.
3536 (main): Initialize gettext support.
6323f705
RM
3537 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3538 Include `<libintl.h>'.
3539 (_): New macro.
c37943b6
RM
3540
3541 * util/mkisofs/eltorito.c: Gettexttize.
3542 * util/mkisofs/joliet.c: Likewise.
3543 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3544 * util/mkisofs/multi.c: Likewise.
3545 * util/mkisofs/rock.c: Likewise.
3546 * util/mkisofs/tree.c: Likewise.
3547 * util/mkisofs/write.c: Likewise.
3548
3bc7896c
RM
3549 * po/POTFILES: Update with new files.
3550
5ce77c6e
RM
35512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3552
3553 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3554 * util/mkisofs/iso9660.h: Likewise.
3555 * util/mkisofs/joliet.c: Likewise.
3556 * util/mkisofs/mkisofs.c: Likewise.
3557 * util/mkisofs/mkisofs.h: Likewise.
3558 * util/mkisofs/rock.c: Likewise.
3559 * util/mkisofs/tree.c: Likewise.
3560 * util/mkisofs/write.c: Likewise.
3561
3562 * util/mkisofs/eltorito.c (rcsid): Remove.
3563 * util/mkisofs/hash.c: Likewise.
3564 * util/mkisofs/joliet.c: Likewise.
3565 * util/mkisofs/name.c: Likewise.
3566 * util/mkisofs/rock.c: Likewise.
3567 * util/mkisofs/tree.c: Likewise.
3568 * util/mkisofs/write.c: Likewise.
3569
1dabbc77
RM
35702009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3571
3572 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3573 instead of static allocation.
3574 * util/mkisofs/match.h: Likewise.
3575
633877cb
RM
35762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3577
3bc7896c
RM
3578 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3579 and `util/grub.d/10_linux.in'.
633877cb
RM
3580 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3581 translatable Shell files.
3582
af1c0c85
RM
35832009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3584
3585 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3586
769ae37b
RM
35872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3588
3589 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3590 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3591 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3592 Add gettext initialization.
3593 (kfreebsd_entry): Make menuentry output translatable.
3594
35952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3596
3597 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3598 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3599 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3600 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3601 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3602 * po/LINGUAS: New file.
769ae37b
RM
3603
36042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3605
3606 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3607 other things).
3608 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3609 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3610 bindtextdomain() calls for gettext initialization.
3611
36122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3613
3614 * gnulib/progname.c: New file (imported from Gnulib).
3615 * gnulib/progname.h: Likewise.
3616 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3617 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3618 (usage): Replace `progname' with `program_name'.
3619 (main): Use set_program_name() for program name initialization.
3620
36212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3622
3623 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3624 from here ...
3625 * Makefile.in (CPPFLAGS): ... to here.
3626
36272009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3628
3629 * aclocal.m4: Move from here ...
3630 * acinclude.m4: ... to here.
3631 * autogen.sh: Add call to `aclocal'.
3632 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3633
36342009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3635
3636 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3637 (LINGUAS): New variable.
3638 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3639 (install-local): Install MO files.
3640 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3641 * include/grub/i18n.h: New file.
3bc7896c
RM
3642 * po/POTFILES: New file.
3643 * po/ca.po: New file.
769ae37b
RM
3644 * util/grub.d/10_linux.in (bindir): New variable.
3645 Add gettext initialization.
3646 (linux_entry): Make menuentry output translatable.
3647 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3648 (usage): Make --help output translatable.
3649 (main): Initialize gettext.
3650
02c0a6ad
RM
36512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3652
3653 * import_gcry.py: New file (written by Vladimir with minor
3654 adjustments).
3655 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3656 ciphers.
3657 * INSTALL: Document that Python is required for bootstrap.
3658
36592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3660
3661 Import ciphers from libgcrypt 1.4.4.
3662
3663 * lib/libgcrypt/cipher/ChangeLog
3664 * lib/libgcrypt/cipher/ac.c
3665 * lib/libgcrypt/cipher/arcfour.c
3666 * lib/libgcrypt/cipher/bithelp.h
3667 * lib/libgcrypt/cipher/blowfish.c
3668 * lib/libgcrypt/cipher/camellia-glue.c
3669 * lib/libgcrypt/cipher/camellia.c
3670 * lib/libgcrypt/cipher/camellia.h
3671 * lib/libgcrypt/cipher/cast5.c
3672 * lib/libgcrypt/cipher/cipher.c
3673 * lib/libgcrypt/cipher/crc.c
3674 * lib/libgcrypt/cipher/des.c
3675 * lib/libgcrypt/cipher/dsa.c
3676 * lib/libgcrypt/cipher/ecc.c
3677 * lib/libgcrypt/cipher/elgamal.c
3678 * lib/libgcrypt/cipher/hash-common.c
3679 * lib/libgcrypt/cipher/hash-common.h
3680 * lib/libgcrypt/cipher/hmac-tests.c
3681 * lib/libgcrypt/cipher/md.c
3682 * lib/libgcrypt/cipher/md4.c
3683 * lib/libgcrypt/cipher/md5.c
3684 * lib/libgcrypt/cipher/primegen.c
3685 * lib/libgcrypt/cipher/pubkey.c
3686 * lib/libgcrypt/cipher/rfc2268.c
3687 * lib/libgcrypt/cipher/rijndael-tables.h
3688 * lib/libgcrypt/cipher/rijndael.c
3689 * lib/libgcrypt/cipher/rmd.h
3690 * lib/libgcrypt/cipher/rmd160.c
3691 * lib/libgcrypt/cipher/rsa.c
3692 * lib/libgcrypt/cipher/seed.c
3693 * lib/libgcrypt/cipher/serpent.c
3694 * lib/libgcrypt/cipher/sha1.c
3695 * lib/libgcrypt/cipher/sha256.c
3696 * lib/libgcrypt/cipher/sha512.c
3697 * lib/libgcrypt/cipher/tiger.c
3698 * lib/libgcrypt/cipher/twofish.c
3699 * lib/libgcrypt/cipher/whirlpool.c
3700
af2f93ac
RM
37012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3702
3703 Fix build for systems without error().
3704
3705 * gnulib/error.c: New file (imported from Gnulib).
3706 * gnulib/error.h: Likewise.
3707 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3708 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3709 (this variable is now used by error()).
3710
73fb3dd5
FZ
37112009-11-16 Felix Zielcke <fzielcke@z-51.de>
3712
814f5e96
FZ
3713 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3714 instead of relying that char is signed.
73fb3dd5 3715
a691ca33
VS
37162009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3719 blocksize different from specified.
3720 (grub_pxefs_read): Likewise.
3721
2af8f0f4
FZ
37222009-11-16 Felix Zielcke <fzielcke@z-51.de>
3723
3724 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3725
3726 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
3727 (grub_ata_readwrite): Likewise. Update 2 format strings.
3728 (grub_atapi_read): Likewise.
3729
3730 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
3731 * conf/i386.rmk (pkglib_MODULES): ... to here ...
3732 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
3733 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
3734 (ata_mod_LDFLAGS): Move from here ...
3735 * conf/i386.rmk: ... to here ...
3736 * conf/x86_64-efi.rmk: ... and here.
3737 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
3738 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
3739
83bdecaf
RM
37402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3741
3742 Relicense multiboot.h, with RMS' blessing.
3743
3744 * include/multiboot.h: Change to X11 license.
3745
fd6fd3d7
RM
37462009-11-15 Robert Millan <rmh.grub@aybabtu.com>
3747
3748 Support --version in grub-mkisofs.
3749
3750 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
3751 (OPTION_VERSION): New macro.
3752 (ld_options): Recognize --version.
3753 (usage): Move `program_name' from here ...
3754 (program_name): ... to here. Add `static' qualifier.
3755 (main): Recognize `OPTION_VERSION'.
3756
16a88c49
FZ
37572009-11-15 Felix Zielcke <fzielcke@z-51.de>
3758
3759 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
3760 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
3761
a4158476
RM
37622009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3763
3764 Fix help2man generation for mkisofs.
3765
3766 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
3767 (usage): Send output to stdout (rather than stderr).
3768
fc2208b0
RM
37692009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3770
3771 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
3772 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3773 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
3774 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3775 (bin_SCRIPTS): Add `grub-mkfloppy'.
3776 (grub_mkfloppy_SOURCES): New variable.
3777
3778 * util/grub-mkrescue.in: New file.
3779 * util/i386/pc/grub-mkfloppy.in: New file.
3780
3781 * util/i386/coreboot/grub-mkrescue.in: Remove.
3782 * util/i386/pc/grub-mkrescue.in: Remove.
3783
8d0edf4a
RM
37842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3785
3786 * include/grub/multiboot.h (struct grub_multiboot_header): Move
3787 from here ...
3788 * include/multiboot.h (struct multiboot_header): ... to here. Update
3789 all users.
3790 * include/grub/multiboot.h (struct grub_multiboot_info): Move
3791 from here ...
3792 * include/multiboot.h (struct multiboot_info): ... to here. Update
3793 all users.
3794 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
3795 from here ...
3796 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
3797 Update all users.
3798 * include/grub/multiboot.h (struct grub_mod_list): Move
3799 from here ...
3800 * include/multiboot.h (struct multiboot_mod_list): ... to here.
3801 Update all users.
3802
a73f5969
RM
38032009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3804
3805 * include/multiboot2.h (multiboot_word): Rename from this ...
3806 (multiboot2_word): ... to this. Update all users.
3807 (multiboot_header): Rename from this ...
3808 (multiboot2_header): ... to this. Update all users.
3809 (multiboot_tag_header): Rename from this ...
3810 (multiboot2_tag_header): ... to this. Update all users.
3811 (multiboot_tag_start): Rename from this ...
3812 (multiboot2_tag_start): ... to this. Update all users.
3813 (multiboot_tag_name): Rename from this ...
3814 (multiboot2_tag_name): ... to this. Update all users.
3815 (multiboot_tag_module): Rename from this ...
3816 (multiboot2_tag_module): ... to this. Update all users.
3817 (multiboot_tag_memory): Rename from this ...
3818 (multiboot2_tag_memory): ... to this. Update all users.
3819 (multiboot_tag_unused): Rename from this ...
3820 (multiboot2_tag_unused): ... to this. Update all users.
3821 (multiboot_tag_end): Rename from this ...
3822 (multiboot2_tag_end): ... to this. Update all users.
3823
1c8927f0
RM
38242009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3825
3826 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
3827 this platform we should support Multiboot1 first.
3828
3829 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3830 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
3831 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
3832
6e1e0d89
RM
38332009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3834
3835 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
3836 of write calls (converting them to fwrite() if they aren't already).
3837 (get_torito_desc): Likewise.
3838 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
3839
7f2b34d8
RM
38402009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3841
3842 * util/i386/pc/grub-install.in: Move from here ...
3843 * util/grub-install.in: ... to here. Update all users.
3844
c0ef3311
CW
38452009-11-11 Colin Watson <cjwatson@ubuntu.com>
3846
3847 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
3848
e1f240ff
RM
38492009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3850
3851 Support for El Torito without floppy emulation.
3852
3853 * util/mkisofs/eltorito.c: Include `<errno.h>'.
3854 (init_boot_catalog): Improve error handling.
3855 (get_torito_desc): Don't use floppy emulation unless requested by
3856 user. Patch boot information table when requested via
3857 `-boot-info-table'.
3858 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
3859 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
3860 (use_boot_info_table): New variables.
3861 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
3862 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
3863 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
3864 `--eltorito-emul-floppy'.
3865 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
3866 and `OPTION_ELTORITO_EMUL_FLOPPY'.
3867 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
3868 (use_boot_info_table, get_731): New prototypes.
3869 * util/mkisofs/write.c (get_731): New function.
3870
af7d4de5
FZ
38712009-11-11 Felix Zielcke <fzielcke@z-51.de>
3872
3873 Fix the generation of the man page.
3874
3875 * util/pc/i386/grub-install.in: Source
3876 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3877
2c55dbc0
RM
38782009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3879
3880 Large file support for grub-mkisofs.
3881
3882 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
3883 * util/mkisofs/mkisofs.c (next_extent, last_extent)
3884 (session_start): Upgrade type to `uint64_t'. Update all users.
3885 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
3886 (struct directory_entry): Upgrade type of `starting_block' and
3887 `size' to `uint64_t'. Update all users.
3888 (struct deferred): Remove unused structure.
3889 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
3890 Update all users.
3891 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
3892 file is larger than `UINT32_MAX'.
3893 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
3894 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
3895 return value.
3896 (struct deferred_write): Upgrade type of `extent' and `size' to
3897 `uint64_t'. Update all users.
3898 (last_extent_written): Upgrade type to `uint64_t'. Update all
3899 users.
3900 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
3901 Update all users. Upgrade type of `remain' to `int64_t' and
3902 `use' to `size_t'. Use error() to handle fread() errors.
3903 (write_files): Rely on write_one_file() rather than calling
3904 xfwrite() directly.
3905
6a9cead5
FZ
39062009-11-09 Felix Zielcke <fzielcke@z-51.de>
3907
3908 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
3909
4825d790
RM
39102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3911
3912 * util/mkisofs/fnmatch.c: Remove.
3913 * util/mkisofs/getopt1.c: Likewise.
3914 * util/mkisofs/getopt.c: Likewise.
3915 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
3916 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
3917 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
3918 `gnulib/getopt1.c' and `gnulib/getopt.c'.
3919 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
3920
3921 * configure.ac: Detect `mingw32msvc' host_os.
3922 Check for lstat(), getuid() and getgid().
3923
3924 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
3925 instances of `u_char' with `uint8_t'.
3926
3927 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
3928 [!HAVE_GETUID] (getuid): New function (stub).
3929 [!HAVE_GETGID] (getgid): Likewise.
3930 [!HAVE_LSTAT] (lstat): Likewise.
3931 [!S_IROTH] (S_IROTH): New macro (dummy).
3932 [!S_IRGRP] (S_IRGRP): Likewise.
3933
84b860d8
RM
39342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3935
3936 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
3937 conditional expression).
3938
66e9b712
RM
39392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3940
3941 Import from Gnulib.
3942
3943 * gnulib/fnmatch.c: New file.
3944 * gnulib/fnmatch.h: Likewise.
3945 * gnulib/fnmatch_loop.c: Likewise.
3946 * gnulib/getopt.c: Likewise.
3947 * gnulib/getopt.h: Likewise.
3948 * gnulib/getopt1.c: Likewise.
3949 * gnulib/getopt_int.h: Likewise.
3950 * gnulib/gettext.h: Likewise.
3951
34f4a5b0
RM
39522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3953
3954 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
3955 * normal/handler.c (read_handler_list): Likewise.
3956
ac451143
RM
39572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3958
3959 Misc cleanup.
3960
3961 * kern/command.c (grub_register_command_prio): Use
3962 grub_zalloc() instead of explicitly zeroing data.
3963 * kern/list.c: Include `<grub/mm.h>'.
3964 (grub_named_list_find): Replace `0' with `NULL'.
3965 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
3966 (fs_module_list): Change type to `grub_named_list_t'. Update all
3967 users.
3968 * normal/dyncmd.c (read_command_list): Add space between function
3969 call and parenthesis.
3970 * normal/handler.c (read_handler_list): Likewise.
3971
4089b167
RM
39722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3973
3974 * normal/auth.c (punishment_delay): Moved from here ...
3975 (grub_auth_strcmp): ... to here (inside function).
3976
325f5037
RM
39772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3978
3979 * include/grub/list.h (struct grub_named_list): Remove `const'
3980 qualifier from `name'.
3981 (struct grub_prio_list): Likewise.
3982
7aea29a3
RM
39832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3984
3985 * normal/auth.c: Include `<grub/time.h>'.
3986 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
3987
3fd6f044
RM
39882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3989
3990 * normal/auth.c (punishment_delay): New variable.
3991 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
3992 (grub_auth_check_authentication): Punish failed login attempts with
3993 an incremental (2^N) delay.
3994
a4cd68e4
RM
39952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3996
3997 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
3998 path with $(srcdir).
3999
7ad12f43
VS
40002009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4003
c1129f03
RM
40042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4005
4006 * util/i386/coreboot/grub-mkrescue.in: New file.
4007 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4008 variables.
4009
4010 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4011 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4012 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4013 requirements.
4014 * util/mkisofs/defaults.h: New file.
4015 * util/mkisofs/eltorito.c: Likewise.
4016 * util/mkisofs/exclude.h: Likewise.
4017 * util/mkisofs/fnmatch.c: Likewise.
4018 * util/mkisofs/getopt.c: Likewise.
4019 * util/mkisofs/getopt1.c: Likewise.
4020 * util/mkisofs/hash.c: Likewise.
4021 * util/mkisofs/include/fctldefs.h: Likewise.
4022 * util/mkisofs/include/mconfig.h: Likewise.
4023 * util/mkisofs/include/prototyp.h: Likewise.
4024 * util/mkisofs/include/statdefs.h: Likewise.
4025 * util/mkisofs/iso9660.h: Likewise.
4026 * util/mkisofs/joliet.c: Likewise.
4027 * util/mkisofs/match.c: Likewise.
4028 * util/mkisofs/match.h: Likewise.
4029 * util/mkisofs/mkisofs.c: Likewise.
4030 * util/mkisofs/mkisofs.h: Likewise.
4031 * util/mkisofs/multi.c: Likewise.
4032 * util/mkisofs/name.c: Likewise.
4033 * util/mkisofs/rock.c: Likewise.
4034 * util/mkisofs/tree.c: Likewise.
4035 * util/mkisofs/write.c: Likewise.
4036
ec8bb77d
VS
40372009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4040 being insecure.
4041
3716b12c
RM
40422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4043
4044 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4045 `grub-mkimage' (and use $0 when possible).
4046
b97b7b91
RM
40472009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4048
4049 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4050 error message for excessively large memory map.
4051
04114812
RM
40522009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4053
4054 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4055 executable bit.
4056
e4eb2373
RM
40572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4058
4059 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4060 message for coreboot users.
4061
c926e1d5 40622009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4063
4064 Fix build with GNU gold.
4065
4066 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4067 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4068 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4069 link addresses.
4070 * aclocal.m4: Likewise.
4071
86e5b1db 40722009-11-04 Felix Zielcke <fzielcke@z-51.de>
4073
4074 * configure.ac (AC_PREREQ): Bump to 2.59d.
4075 * INSTALL: Make it more clear when Autoconf and Ruby are
4076 needed and when to run `./autogen.sh'.
4077
246cd78f 40782009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4079
4080 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4081 OSes.
4082
4f9dfb37 40832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4084
4085 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4086
b82bd5e1 40872009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4088
4089 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4090 giving it to GNU Mach.
4091
ff1a9bca 40922009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4093
4094 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4095 GNU partition number to get internal GRUB partition number.
4096
61697d9c 40972009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4098
4099 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4100 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4101
a50569e1 41022009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4103
4104 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4105 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4106 case.
4107
5b153867 41082009-11-01 Felix Zielcke <fzielcke@z-51.de>
4109
4110 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4111
d9e2cd70 41122009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4113
4114 Fix build problem.
4115
4116 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4117 `-isystem=$(srcdir)/include'.
4118
805111a4 41192009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4120
4121 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4122 checked (grub-install doesn't currently rely on it).
4123
fa6e945f 41242009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4125
4126 Revert SVN r2660.
4127
4128 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4129 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4130 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4131 * conf/i386-ieee1275.rmk: Likewise.
4132 * conf/i386-pc.rmk: Likewise.
4133 * conf/powerpc-ieee1275.rmk: Likewise.
4134 * conf/sparc64-ieee1275.rmk: Likewise.
4135 * conf/x86_64-efi.rmk: Likewise.
4136
cee15086 41372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4138
4139 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4140
95b9239e 41412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4142
4143 * include/grub/misc.h: Stop checking for APPLE_CC.
4144
2ed19dfd 41452009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4146
4147 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4148 doesn't cause an infinite call loop.
4149
fdcdde19 41502009-10-28 Felix Zielcke <fzielcke@z-51.de>
4151
4152 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4153 strings.
4154
cefabfe1 41552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4156
4157 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4158 variable.
4159 * Makefile.in: Likewise.
4160
ed96ab6d 41612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4162
4163 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4164
0579b753 41652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4166
4167 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4168
478df409 41692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4170
4171 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4172
083d1679 41732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4174
4175 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4176 from here ...
4177 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4178
5947ae32 41792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4180
4181 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4182 in $(MAKEINFO) invocation. This makes it clear in output that
4183 errors are being ignored.
4184
94180ff6 41852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4186
4187 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4188 from here ...
4189 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4190 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4191 * conf/i386-ieee1275.rmk: Likewise.
4192 * conf/i386-pc.rmk: Likewise.
4193 * conf/powerpc-ieee1275.rmk: Likewise.
4194 * conf/sparc64-ieee1275.rmk: Likewise.
4195 * conf/x86_64-efi.rmk: Likewise.
4196
9031b03a 41972009-10-26 Colin Watson <cjwatson@ubuntu.com>
4198
4199 * util/grub-editenv.c (main): If only a command is given, use
4200 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4201 (usage): FILENAME is now optional and has a default.
4202
e4f6809b 42032009-10-26 Colin Watson <cjwatson@ubuntu.com>
4204
4205 Improve grub-mkconfig performance when there are several menu
4206 entries on a single filesystem.
4207
4208 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4209 prepare_grub_to_access_device.
4210 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4211 * util/grub.d/30_os-prober.in: Likewise.
4212
67937d4d 42132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4214
4215 * util/grub.d/10_freebsd.in: Remove.
4216 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4217 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4218
ee3756cc 42192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4220
5c35048e 4221 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4222
4dea1c6f 42232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4224
4225 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4226 grub_util_error() call.
4227
042484d7 42282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4229
4230 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4231 `reserved_first_sector' member.
4232 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4233 `reserved_first_sector' to 1.
4234 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4235 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4236 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4237 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4238 filesystems which begin at first sector.
4239 (options): New option --skip-fs-probe.
4240 (main): Handle --skip-fs-probe and pass it to setup().
4241
d64448a7 42422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4243
4244 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4245 (memset): Fix function prototype.
4246
508d42ec 42472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
42482009-10-25 Vasily Averin <vvs@parallels.com>
4249
4250 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4251 `dirent.direntlen == 0'.
4252
b240e30c 42532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4254
4255 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4256 `cpio'.
4257 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4258
346e7fbe 42592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4260
4261 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4262 `__trampoline_setup' and `__ucmpdi2'.
4263 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4264 that libgcc provides.
4265
cdb308b0 42662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4267
4268 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4269 * include/grub/sparc64/libgcc.h (memset): Likewise.
4270 * include/grub/misc.h (memset, memcmp): New function prototypes.
4271
fb26abc2 42722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4273
4274 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4275 `cpio'.
4276 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4277
f6693890 42782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4279
4280 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4281 * docs/grub.cfg: Compensate for recent change in multiboot
4282 loader (since 2009-08-14 it won't pass filename to payload).
4283 * util/grub.d/10_hurd.in: Likewise.
4284
0933cdc0 42852009-10-21 Felix Zielcke <fzielcke@z-51.de>
4286
4287 * config.guess: Update to latest version from config git
4288 repository.
4289 * config.sub: Likewise.
4290
3b2fe8c2 42912009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4292
4293 Fix build on sparc64.
4294
4295 * configure.ac: Perform checks for libgcc symbols before
4296 adding `-nostdlib' to LDFLAGS.
4297
46695a62 42982009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 Let user specify OpenBSD root device.
4301
4302 * loader/i386/bsd.c (openbsd_root): New variable.
4303 (openbsd_opts): New option 'root'.
4304 (OPENBSD_ROOT_ARG): New macro.
4305 (grub_openbsd_boot): Use 'openbsd_root'.
4306 (grub_cmd_openbsd): Fill 'openbsd_root'.
4307
d2b6b7fc 43082009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4309
4310 * NEWS: Misc adjustments.
4311
421bd7ac 43122009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4315
f1d29d87 43162009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4317
4318 * configure.ac: Bump version to 1.97.
4319
6f3cd880 43202009-10-16 Colin Watson <cjwatson@ubuntu.com>
4321
4322 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4323 -mno-3dnow on x86 architectures. Some toolchains enable these
4324 features by default, but they rely on registers that aren't enabled
4325 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4326
035f7122 43272009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4328
4329 Make entry text a bit more readable.
4330
4331 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4332
44998e58 43332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4336
cd2851b3 43372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4340 operations.
4341
c6f3b249 43422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * configure.ac: Add missing dollar.
4345
6b5886ba 43462009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4349
4350 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4351 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4352 exports.
4353 * include/grub/sparc64/libgcc.h: Likewise. Use
4354 preprocessor conditionals.
4355
e9d66f6d 43562009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4357
4358 * conf/common.rmk (grub-dumpbios): Remove rule.
4359 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4360 * util/grub-dumpbios.in: Remove file.
4361
9155bc17 43622009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4363
4364 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4365 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4366
4367 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4368 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4369 users.
4370
4371 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4372 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4373 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4374 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4375 users.
4376
bf7f7a18 43772009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4378
4379 * term/tparm.c: Switch to GPLv3.
4380
86564c26 43812009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4382
4383 * include/grub/i386/cpuid.h: Add header protection.
4384
5c936493 43852009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4386
4387 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4388
4389 * include/grub/i386/cpuid.h: New file.
4390 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4391 (has_longmode): Rename to ...
4392 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4393 `static' attribute.
4394 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4395 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4396 on a CPU that doesn't implement AMD64 instruction set.
4397
186e7cf2 43982009-10-06 Colin Watson <cjwatson@ubuntu.com>
4399
4400 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4401 that version.texi is rebuilt on version number changes.
4402
83b65c4a 44032009-10-06 Colin Watson <cjwatson@ubuntu.com>
4404
4405 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4406 Fixes bug #27602.
4407
d244281c 44082009-10-06 Colin Watson <cjwatson@ubuntu.com>
4409
4410 * util/i386/pc/grub-install.in: Source
4411 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4412 that the --grub-probe option will work.
4413 * util/sparc64/ieee1275/grub-install.in: Likewise.
4414
da25306d 44152009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4416
4417 * configure.ac: Bump version to 1.97~beta4.
4418
e8ee83c0 44192009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4420
4421 Resync grub-mkdevicemap in x86_64-efi.
4422
4423 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4424 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4425 `util/devicemap.c'.
4426
50dcabcf 44272009-10-01 Colin Watson <cjwatson@ubuntu.com>
4428
4429 * util/grub-editenv.c (create_envblk_file): Write new block with a
4430 .new suffix and then rename it into place, to ensure atomic
4431 creation.
4432
0e51c3a7 44332009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4434
4435 Do not automatically install headers.
4436
4437 * Makefile.in (include_DATA): Remove. Update all users.
4438
31299a95 44392009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4440
4441 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4442 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4443
4444 * util/osdetect.lua: Remove.
4445 * script/lua/lauxlib.c: Likewise.
4446 * script/lua/ldebug.c: Likewise.
4447 * script/lua/grub_main.c: Likewise.
4448 * script/lua/lauxlib.h: Likewise.
4449 * script/lua/ldebug.h: Likewise.
4450 * script/lua/ltablib.c: Likewise.
4451 * script/lua/liolib.c: Likewise.
4452 * script/lua/lstrlib.c: Likewise.
4453 * script/lua/lualib.h: Likewise.
4454 * script/lua/ldo.c: Likewise.
4455 * script/lua/ldump.c: Likewise.
4456 * script/lua/ldo.h: Likewise.
4457 * script/lua/loslib.c: Likewise.
4458 * script/lua/lundump.c: Likewise.
4459 * script/lua/grub_lib.c: Likewise.
4460 * script/lua/ldblib.c: Likewise.
4461 * script/lua/lundump.h: Likewise.
4462 * script/lua/lmem.c: Likewise.
4463 * script/lua/grub_lib.h: Likewise.
4464 * script/lua/lmathlib.c: Likewise.
4465 * script/lua/lstate.c: Likewise.
4466 * script/lua/ltm.c: Likewise.
4467 * script/lua/lvm.c: Likewise.
4468 * script/lua/lmem.h: Likewise.
4469 * script/lua/lstate.h: Likewise.
4470 * script/lua/ltm.h: Likewise.
4471 * script/lua/ltable.c: Likewise.
4472 * script/lua/lvm.h: Likewise.
4473 * script/lua/llex.c: Likewise.
4474 * script/lua/lgc.c: Likewise.
4475 * script/lua/grub_lua.h: Likewise.
4476 * script/lua/loadlib.c: Likewise.
4477 * script/lua/lfunc.c: Likewise.
4478 * script/lua/lopcodes.c: Likewise.
4479 * script/lua/lparser.c: Likewise.
4480 * script/lua/ltable.h: Likewise.
4481 * script/lua/llex.h: Likewise.
4482 * script/lua/lgc.h: Likewise.
4483 * script/lua/lfunc.h: Likewise.
4484 * script/lua/lbaselib.c: Likewise.
4485 * script/lua/lopcodes.h: Likewise.
4486 * script/lua/lparser.h: Likewise.
4487 * script/lua/lzio.c: Likewise.
4488 * script/lua/linit.c: Likewise.
4489 * script/lua/lobject.c: Likewise.
4490 * script/lua/llimits.h: Likewise.
4491 * script/lua/lstring.c: Likewise.
4492 * script/lua/lzio.h: Likewise.
4493 * script/lua/lapi.c: Likewise.
4494 * script/lua/lcode.c: Likewise.
4495 * script/lua/lua.h: Likewise.
4496 * script/lua/lobject.h: Likewise.
4497 * script/lua/lstring.h: Likewise.
4498 * script/lua/lapi.h: Likewise.
4499 * script/lua/lcode.h: Likewise.
4500 * script/lua/luaconf.h: Likewise.
4501
cb8a2c38 45022009-09-26 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * docs/grub.texi (Command-line and menu entry commands): Document
4505 date and echo commands.
4506
6b9b6276 45072009-09-24 Pavel Roskin <proski@gnu.org>
4508
4509 * include/grub/kernel.h (struct grub_module_header): Remove
4510 `grub_module_header_types'. Make `type' unsigned. Make `size'
4511 32-bit on all platforms.
4512 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4513 8-bit field. Use grub_host_to_target32() for `size'.
4514 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4515 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4516 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4517
4e5a02a7 45182009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 Fix "lost keypress" bug in at_keyboard.
4521
4522 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4523 Checks for readyness of input buffer (without flushing it).
4524 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4525 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4526
c6dcedf6 45272009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4528
4529 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4530 size check within GRUB_MACHINE_PCBIOS section.
4531
74c958b1 45322009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4533
4534 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4535 return value.
4536 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4537 KEYBOARD_ISREADY check.
4538 (grub_at_keyboard_checkkey): Rename to ...
4539 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4540 Remove gratuitous cast.
4541
ff420223 45422009-09-23 Colin Watson <cjwatson@ubuntu.com>
4543
4544 * configure.ac: Call AC_PROG_MKDIR_P.
4545 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4546 version.texi in $(builddir) rather than $(srcdir).
4547 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4548 to makeinfo's @include search path.
4549
d96875df 45502009-09-23 Felix Zielcke <fzielcke@z-51.de>
4551
4552 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4553
9b3f8365 45542009-09-23 Felix Zielcke <fzielcke@z-51.de>
4555
4556 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4557 for `*.dpkg-new'.
4558
c44c90db 45592009-09-21 Colin Watson <cjwatson@ubuntu.com>
4560
4561 Build info documentation. Some code borrowed from Automake.
4562
4563 * configure.ac: Check for makeinfo.
4564 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4565 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4566 docs/version.texi.
4567 (MOSTLYCLEANFILES): Add vti.tmp.
4568 (docs/version.texi, docs/stamp-vti): Update automatically.
4569 (docs/grub.info): Build info documentation. Use --force and ignore
4570 errors for now.
4571 (all-local): Add $(INFOS).
4572 (install-local): Install info files.
4573 (uninstall): Uninstall info files.
4574 * docs/version.texi: Remove from revision control. This file is
4575 automatically generated on build now.
4576 * gendistlist.sh: Add `*.info'.
4577
e0b37bb5 45782009-09-21 Felix Zielcke <fzielcke@z-51.de>
4579
4580 * kern/term.c: Fix indentation.
4581
5a78865b 45822009-09-21 Felix Zielcke <fzielcke@z-51.de>
4583
4584 * util/hostdisk.c: Fix a comment.
4585
dace7e8a 45862009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4587
4588 Fix regression introduced in r2539.
4589
4590 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4591 to 0xA1.
4592
a83d079b 45932009-09-19 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4596 os-prober. Under normal operation, it does not print anything to
4597 stderr; if it does, we need to debug it, and throwing away stderr
4598 makes that excessively difficult.
a83d079b 4599
be94a509 46002009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4603
63f745e8 46042009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4605
4606 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4607 AC_LANG_PROGRAM from autoconf.
4608 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4609 prototypes (fixes warning).
4610
4611 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4612 `--disable-werror' was used.
4613
bbb2a70f 46142009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4615
4616 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4617 uninitialized `lastaddr'.
4618
77c24f1d 46192009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4620
0f0b8c87 4621 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4622
07197f23 46232009-09-14 Colin Watson <cjwatson@ubuntu.com>
4624
4625 * commands/test.c (get_fileinfo): Return immediately if
4626 grub_fs_probe fails.
4627
dabf1798 46282009-09-14 José Martínez <xosemp@gmail.com>
4629
4630 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4631
d52109a7 46322009-09-14 Colin Watson <cjwatson@ubuntu.com>
4633
4634 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4635 output.
4636
56532179 46372009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4638
4639 * configure.ac: Remove --enable-grub-pe2elf. Only build
4640 grub-pe2elf when needed by the build system itself.
4641 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4642
8ef070f5 46432009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4644
4645 * configure.ac: Bump version to 1.97~beta3.
4646 * docs/version.texi: Likewise.
4647
61229557 46482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4649
4650 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4651 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4652 from here ...
4653 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4654 (grub_linux_setup_video): ... to here (with some adjustments).
4655
5c9f8d84 46562009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4657
4658 Fix memory corruption issue (spotted by Colin Watson).
4659
4660 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4661 causing returned size to be stored in an incorrect memory location.
4662 Fix use of uninitialized value when storing the returned size.
4663
e8f5d6e9 46642009-09-12 Yves Blusseau <blusseau@zetam.org>
4665
4666 Change clean rules to properly remove files
4667
4668 * genmk.rb: add new clean rules
4669 * Makefile.in (clean): add the new targets
4670 (mostlyclean): likewise
4671
cda2a409 46722009-09-11 Colin Watson <cjwatson@ubuntu.com>
4673
4674 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4675 to grub_uint64_t.
4676 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4677 non-resident files.
4678
86695375 46792009-09-11 Colin Watson <cjwatson@ubuntu.com>
4680
4681 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4682 part of bug #27349.
4683
8aa1541a 46842009-09-10 Felix Zielcke <fzielcke@z-51.de>
4685
4686 * util/grub-mkconfig.in: Make the created config mode 400 and
4687 print a warning if it fails.
4688
48d9bb0a 46892009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4690
4691 * util/grub.d/40_custom.in: Ask user to type custom entries below
4692 comment, rather than below 'exec tail' line.
4693
3b0521be 46942009-09-10 Colin Watson <cjwatson@ubuntu.com>
4695
4696 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4697 visible in grub.cfg.
4698
50051d55 46992009-09-10 Colin Watson <cjwatson@ubuntu.com>
4700
4701 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4702 file.
4703
c0d34387 47042009-09-10 Felix Zielcke <fzielcke@z-51.de>
4705
4706 * docs/grub.cfg: Add an example menu entry for memtest86+.
4707
80a608f3 47082009-09-09 Felix Zielcke <fzielcke@z-51.de>
4709
a2094832 4710 * config.guess: Update to latest version from config git.
80a608f3 4711 * config.sub: Likewise.
4712
99423078 47132009-09-08 Colin Watson <cjwatson@ubuntu.com>
4714
4715 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4716 unknown-command case. Fixes bug #27320.
4717
44454e4c 47182009-09-08 Felix Zielcke <fzielcke@z-51.de>
4719
4720 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4721 `help' if the command exists.
4722
e30d87ad 47232009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4724
4725 * INSTALL: Require GCC 4.1.3 or later.
4726
9a86f1ec 47272009-09-06 Yves Blusseau <blusseau@zetam.org>
4728
4729 * Makefile.in (RMKFILES): add i386-qemu.rmk
4730 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
4731 $(srcdir)/stamp-h.in
4732
7f26d466 47332009-09-05 Robert Millan <rmh.grub@aybabtu.com>
4734
4735 * util/grub-probe.c (probe): Comment out buggy codepath, which
4736 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
4737 should be re-enabled after 1.97.
4738
3a613259 47392009-09-05 Felix Zielcke <fzielcke@z-51.de>
4740
4741 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
4742 find searches for.
4743
197f76c7 47442009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
4747 unnecessary calls to grub_error.
4748
70ba68ce 47492009-09-04 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * NEWS: Mention `keystatus' and Unicode fonts.
4752
4ff0d7a4 47532009-09-04 Robert Millan <rmh.grub@aybabtu.com>
4754
4755 * configure.ac: Bump version to 1.97~beta2.
4756 * docs/version.texi: Likewise.
4757
77c55a87 47582009-09-03 Colin Watson <cjwatson@ubuntu.com>
4759
4760 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
4761 containing unwind information in some cases where it previously did
4762 not. Use -fno-dwarf2-cfi-asm if available to restore the old
4763 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
4764 discussion.
4765
f79572cd 47662009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
4767
4768 Embedding loadenv module into grub-emu
4769
4770 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
4771 commands/loadenv.c
4772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
4773 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
4774 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
4775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
4776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
4777 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
4778
93a81088 47792009-09-03 Magnus Granberg <zorry@ume.nu>
4780
4781 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
4782 include -fPIE in the default specs.
4783 * configure.ac: Check if pie_possible is yes and add -fno-PIE
4784 to TARGET_CFLAGS.
4785
160034b2 47862009-09-03 Felix Zielcke <fzielcke@z-51.de>
4787
4788 * INSTALL: Note that GNU Bison 2.3 or later is required.
4789
087c07c4 47902009-09-03 Colin Watson <cjwatson@ubuntu.com>
4791
4792 * kern/i386/pc/startup.S: Fix typo.
4793
cbf978c0 47942009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
4797 according to GCS.
4798
47992009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 4800
4801 * docs/grub.texi (Naming convention): Describe one-based partition
4802 numbering.
4803 (Device syntax): Likewise.
4804 (File name syntax): Likewise.
4805 (Block list syntax): Likewise.
4806 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
4807 menu.lst.
4808 (File name syntax): Likewise.
4809 (Command-line and menu entry commands): Document acpi, blocklist,
4810 crc, export, insmod, keystatus, ls, set, and unset commands.
4811
f3e8cdfd 48122009-09-02 Colin Watson <cjwatson@ubuntu.com>
4813
4814 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
4815 to avoid implying that only one of --shift, --ctrl, or --alt may be
4816 used.
4817
c0bc232b 48182009-09-02 Colin Watson <cjwatson@ubuntu.com>
4819
4820 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
4821 rather than comparing against S_IFREG, which will almost never work.
4822
aa0f752d 48232009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
4826 (write_blocklists): Likewise.
4827
ecb3166a 48282009-09-01 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * script/lua/grub_lua.h (fputs): Supply a format string as the first
4831 argument to grub_printf.
4832
c403a125 48332009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 4834
4835 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 4836 non GNU test.
31aba781 4837
b5e7312c 48382009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * kern/file.c (grub_file_read): Spelling fix
4841
fe00f472 48422009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
4845 loading of headers in some cases.
4846
cc55302e 48472009-08-30 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * configure.ac: Bump version to 1.97~beta1.
4850 * docs/version.texi: Likewise.
4851
5c90cdd2 48522009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 4853
4854 * include/grub/i386/xnu.h: Add license header.
4855 include grub/err.h explicitly.
4856
c90edae4 48572009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4858
4859 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
4860 to `ufs' in the vfs.root.mountfrom kernel parameter.
4861
d8888b5c 48622009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4863
4864 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
4865
4866 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
4867 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
4868
4869 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
4870 `ARRAY_SIZE' macro.
4871
6f07b921 48722009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * kern/file.c (grub_file_read): Check offset.
4875 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
4876 * fs/jfs.c (grub_jfs_read_file): Likewise.
4877 * fs/ntfs.c (grub_ntfs_read): Likewise.
4878 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
4879 * fs/minix.c (grub_minix_read_file): Correct offset check.
4880 * fs/ufs.c (grub_ufs_read_file): Likewise.
4881
b4f34077 48822009-08-28 Colin Watson <cjwatson@ubuntu.com>
4883
4884 * term/i386/pc/console.c (bios_data_area): Cast
4885 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
4886
e7c69859 48872009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 1-bit optimised blitters.
4890
4891 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
4892 prototype.
4893 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4894 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4895 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4896 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4897 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4898 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4899 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
4900 function.
4901 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4902 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4903 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4904 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4905 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4906 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4907 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
4908 when possible.
4909 * video/video.c (grub_video_get_blit_format): Return
4910 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
4911
a57da43f 49122009-08-28 Colin Watson <cjwatson@ubuntu.com>
4913
4914 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
4915 the first argument to grub_printf.
4916
4cbe67e5 49172009-08-28 Colin Watson <cjwatson@ubuntu.com>
49182009-08-28 Robert Millan <rmh.grub@aybabtu.com>
4919
4920 Add `getkeystatus' terminal method. Add a new `keystatus' command
4921 to query it.
4922
4923 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
4924 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
4925 modifier key bitmasks.
4926 (struct grub_term_input): Add `getkeystatus' member.
4927 (grub_getkeystatus): Add prototype.
4928 * kern/term.c (grub_getkeystatus): New function.
4929
4930 * include/grub/i386/pc/memory.h
4931 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
4932 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
4933 Data Area layout.
4934 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
4935 (grub_console_term_input): Set `getkeystatus' member.
4936 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
4937 constants.
4938 (grub_usb_keyboard_getreport): Likewise.
4939 (grub_usb_keyboard_checkkey): Likewise.
4940 (grub_usb_keyboard_getkeystatus): New function.
4941 (grub_usb_keyboard_term): Set `getkeystatus' member.
4942
4943 * commands/keystatus.c: New file.
4944 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
4945 (keystatus_mod_SOURCES): New variable.
4946 (keystatus_mod_CFLAGS): Likewise.
4947 (keystatus_mod_LDFLAGS): Likewise.
4948 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
4949 commands/keystatus.c.
4950 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4951 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4952 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4954 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4955 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 4956
6e2a9085 49572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Split befs.mod and afs.mod into *_be.mod and *.mod
4960
4961 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
4962 (grub_fstest_SOURCES): Likewise.
4963 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
4964 (afs_be_mod_SOURCES): New variable.
4965 (afs_be_mod_CFLAGS): Likewise.
4966 (afs_be_mod_LDFLAGS): Likewise.
4967 (befs_be_mod_SOURCES): Likewise.
4968 (befs_be_mod_CFLAGS): Likewise.
4969 (befs_be_mod_LDFLAGS): Likewise.
4970 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
4971 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4972 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4973 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4974 (grub_emu_SOURCES): Likewise.
4975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4976 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4977 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4978 * fs/afs_be.c: New file.
4979 * fs/befs_be.c: New file.
4980 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
4981 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
4982 (U16): Replaced with ...
4983 (grub_afs_to_cpu16): ...this. All users updated.
4984 (U32): Replaced with ...
4985 (grub_afs_to_cpu32): ...this. All users updated.
4986 (U64): Replaced with ...
4987 (grub_afs_to_cpu64): ...this. All users updated.
4988 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
4989 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 4990 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 4991 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4992 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4993 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4994 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4995 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4996 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4997 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4998 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4999
32a71655 50002009-08-26 Bean <bean123ch@gmail.com>
5001
5002 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5003 64-bit number.
5004 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5005 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5006 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5007
552bf6c5 50082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 NetBSD memory map support.
5011
5012 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5013 (grub_netbsd_btinfo_mmap_header): New structure.
5014 (grub_netbsd_btinfo_mmap_entry): Likewise.
5015 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5016
1ae2078c 50172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Enable bsd.mod on coreboot.
5020
5021 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5022 (bsd_mod_SOURCES): New variable.
5023 (bsd_mod_CFLAGS): Likewise.
5024 (bsd_mod_LDFLAGS): Likewise.
5025 (bsd_mod_ASFLAGS): Likewise.
5026 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5027 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5028
beefc598 50292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 Cleanup NetBSD root support.
5032
5033 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5034 grub_bsd_get_device.
5035 Fix typo.
5036
3b76e68b 50372009-08-25 Felix Zielcke <fzielcke@z-51.de>
5038
5039 * util/grub.d/00_header.in: Move check for the video backend of
5040 gfxterm from here ...
5041 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5042 a suitable video backend.
5043
aea664ea 50442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Fix breakage in grub-setup.
5047
5048 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5049 "msdos_partition_map".
5050
ff747d50 50512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Fix breakage in normal/auth.c.
5054
5055 * normal/auth.c (grub_iswordseparator): New function.
5056
e7e1f93f 50572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Authentication support.
5060
5061 * commands/password.c: New file.
5062 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5063 (password_mod_SOURCES): New variable.
5064 (password_mod_CFLAGS): Likewise.
5065 (password_mod_LDFLAGS): Likewise.
5066 (normal_mod_SOURCES): Add normal/auth.c.
5067 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5068 normal/auth.c.
5069 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5071 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5073 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5074 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5075 * include/grub/auth.h: New file.
5076 * include/grub/err.h (grub_err_t): New enum value
5077 GRUB_ERR_ACCESS_DENIED.
5078 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5079 'users'.
5080 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5081 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5082 users updated.
5083 * normal/auth.c: New file.
5084 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5085 (grub_cmdline_run): Don't allow to go to command line without
5086 authentication.
5087 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5088 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5089 menuentry without superuser rights.
5090 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5091 user isn't a superuser.
5092
70f1161d 50932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Save space by inlining misc.c functions.
5096
5097 * kern/misc.c (grub_iswordseparator): Made static.
5098 * kern/misc.c (grub_strcat): Moved from here ...
5099 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5100 * kern/misc.c (grub_strncat): Moved from here ...
5101 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5102 * kern/misc.c (grub_strcasecmp): Moved from here ...
5103 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5104 * kern/misc.c (grub_strncasecmp): Moved from here ...
5105 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5106 * kern/misc.c (grub_isalpha): Moved from here ...
5107 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5108 * kern/misc.c (grub_isdigit): Moved from here ...
5109 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5110 * kern/misc.c (grub_isgraph): Moved from here ...
5111 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5112 * kern/misc.c (grub_tolower): Moved from here ...
5113 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5114
48e40bff 51152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * script/sh/function.c (grub_script_function_find): Cut error message
5118 not to flood terminal.
5119 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5120 limit.
5121 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5122
c385bfc3 51232009-08-24 Colin Watson <cjwatson@ubuntu.com>
5124
5125 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5126 `report' grub_uint8_t *.
5127 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5128 Use a 50-millisecond timeout rather than just repeating
5129 grub_usb_keyboard_getreport 50 times.
5130 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5131
2d21e3e8 51322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 Rename *_partition_map to part_*
5135
5136 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5137 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5138 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5139 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5140 All users updated.
5141 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5142 All users updated.
5143 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5144 * util/grub-probe.c (probe_partmap): Don't transform partition name
5145 to get module name.
5146
dd103c4e 51472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Fix OpenBSD and NetBSD support.
5150
5151 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5152 memory address conflict.
5153 (OPENBSD_MMAP_ACPI): New definition.
5154 (OPENBSD_MMAP_NVS): Likewise.
5155 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5156 and OPENBSD_MMAP_NVS.
5157 Add memory map terminator
5158 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5159 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5160
16c84d74 51612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 Let user specify NetBSD root device.
5164
5165 * loader/i386/bsd.c (netbsd_root): New variable.
5166 (netbsd_opts): New option 'root'.
5167 (NETBSD_ROOT_ARG): New macro.
5168 (grub_netbsd_boot): Use 'netbsd_root'.
5169 (grub_bsd_unload): Free 'netbsd_root'.
5170 (grub_cmd_netbsd): Fill 'netbsd_root'.
5171
adb29902 51722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Support for 64-bit NetBSD.
5175
5176 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5177 point when booting non-FreeBSD.
5178
f5ae9f74 51792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Support --no-smp and --no-acpi for NetBSD.
5182
5183 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5184 (NETBSD_AB_NOACPI): Likewise.
5185 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5186 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5187
de74f136 51882009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5191 errors.
5192 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5193 errors. Call grub_error when needed.
5194
e9a925da 51952009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * commands/search.c (search_fs): Try searching without autoload first.
5198 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5199 filesystem module explicitly for faster booting.
5200
5174302b 52012009-08-23 Colin Watson <cjwatson@ubuntu.com>
5202
5203 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5204
c8c80635 52052009-08-23 Colin Watson <cjwatson@ubuntu.com>
5206
5207 * util/grub.d/30_os-prober.in: Disable os-prober if
5208 `GRUB_DISABLE_OS_PROBER' was set to true.
5209
71acf5e5 52102009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5211
5212 * partmap/pc.c: Rename to ...
5213 * partmap/msdos.c: ... this. Update all users.
5214 (grub_pc_partition_map): Rename to ...
5215 (grub_msdos_partition_map): ... this. Update all users.
5216
5217 * parttool/pcpart.c: Rename to ...
5218 * parttool/msdospart.c: ... this. Update all users.
5219
5220 * include/grub/pc_partition.h: Rename to ...
5221 * include/grub/msdos_partition.h: ... this. Update all users.
5222 (grub_pc_partition_bsd_entry): Rename to ...
5223 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5224 (grub_pc_partition_disk_label): Rename to ...
5225 (grub_msdos_partition_disk_label): ... this. Update all users.
5226 (grub_pc_partition_entry): Rename to ...
5227 (grub_msdos_partition_entry): ... this. Update all users.
5228 (grub_pc_partition_mbr): Rename to ...
5229 (grub_msdos_partition_mbr): ... this. Update all users.
5230 (grub_pc_partition): Rename to ...
5231 (grub_msdos_partition): ... this. Update all users.
5232 (grub_pc_partition_is_empty): Rename to ...
5233 (grub_msdos_partition_is_empty): ... this. Update all users.
5234 (grub_pc_partition_is_extended): Rename to ...
5235 (grub_msdos_partition_is_extended): ... this. Update all users.
5236 (grub_pc_partition_is_bsd): Rename to ...
5237 (grub_msdos_partition_is_bsd): ... this. Update all users.
5238
5239 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5240 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5241 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5242 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5243 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5244 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5245 (gpt_mod_LDFLAGS): Rename to ...
5246 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5247 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5248 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5249 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5250 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5251 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5252 (part_gpt_mod_LDFLAGS): ... this.
5253 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5254 `pcpart.mod' to `msdospart.mod'.
5255 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5256 to ...
5257 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5258 (msdospart_mod_LDFLAGS): ... this.
5259
c11fded5 52602009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5263 (openbsd_opts): Likewise.
5264 (netbsd_opts): Likewise.
5265 (freebsd_flags): Added 0 terminator.
5266 (openbsd_flags): Likewise.
5267 (netbsd_flags): Likewise.
5268 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5269 (grub_cmd_freebsd): Transformed into extended command.
5270 (grub_cmd_openbsd): Likewise.
5271 (grub_cmd_netbsd): Likewise.
5272 (cmd_freebsd): Changed type to grub_extcmd_t.
5273 (cmd_openbsd): Likewise.
5274 (cmd_netbsd): Likewise.
5275 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5276 grub_cmd_openbsd as extended commands.
5277 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5278 cmd_netbsd and cmd_openbsd
5279
11d1c769 52802009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5283
7a9094e5 52842009-08-21 Pavel Roskin <proski@gnu.org>
5285
5496c37e 5286 * Makefile.in (install-local): When checking if a file is in the
5287 build directory, use "test -e" to detect symlinks.
5288
7a9094e5 5289 * Makefile.in (install-local): Remove all files in
5290 $(DESTDIR)$(pkglibdir) before installing new files there.
5291
e53cea11 52922009-08-18 Felix Zielcke <fzielcke@z-51.de>
5293
5294 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5295 grub-mkelfimage.
5296
9aced544 52972009-08-18 Felix Zielcke <fzielcke@z-51.de>
5298
5299 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5300 explicitly specified by the user.
5301
b7da6bab 53022009-08-18 Pavel Roskin <proski@gnu.org>
5303
5304 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5305 grub_uint8_t pointer for data.
5306 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5307 Likewise.
5308 * video/fb/fbutil.c: Remove unnecessary casts.
5309
19f1b335 53102009-08-17 Michal Suchanek <hramrach@centrum.cz>
5311
5312 VBE cleanup.
5313
5314 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5315 (grub_vbe_set_video_mode): Save active mode info
5316 only after setting the mode.
5317 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5318 second argument.
5319
2f467aa9 53202009-08-17 Michal Suchanek <hramrach@centrum.cz>
5321
5322 Rename variables for clarity.
5323
5324 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5325 (active_vbe_mode_info): ... this. All users updated.
5326 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5327 All users updated.
5328 (initial_mode): Rename to ...
5329 (initial_vbe_mode): ... this. All users updated.
5330 (mode_in_use): Rename to ..
5331 (vbe_mode_in_use): ... this. All users updated.
5332 (mode_list): Rename to ..
5333 (vbe_mode_list): ... this. All users updated.
5334 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5335 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5336 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5337 'mode_list_size' to 'vbe_mode_list_size'.
5338 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5339 'best_mode_info' to 'best_vbe_mode_info' and
5340 'best_mode' to 'best_vbe_mode'
5341
6025fcd7 53422009-08-17 Michal Suchanek <hramrach@centrum.cz>
5343
5344 Remove duplicate grub_video_fb_get_video_ptr.
5345
5346 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5347 (grub_video_fb_get_video_ptr): ... this.
5348 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5349 * video/fb/fbutil.c: Add comment about addressing.
5350 (get_data_ptr): Rename to ...
5351 (grub_video_fb_get_video_ptr): ... this. All users updated.
5352 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5353
cc8c6faf 53542009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5355
5356 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5357 grub_dprintf() that was just added.
5358
08aa61f0 53592009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5360
5361 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5362 (DEFAULT_VIDEO_MODE): Remove macros.
5363 (grub_linux_boot): Remove assumption that Linux has FB support,
5364 and use "text" as default video mode.
5365
7cef4f75 53662009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5369 grub_dprintf.
5370 * fs/fat.c (grub_fat_read_data): Likewise.
5371
e1f39873 53722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5375 payload.
5376 (grub_module): Likewise.
5377
c166d79e 53782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5381 mbi->cmdline but free playground.
5382
c60cee8e 53832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 Handle group offset on UFS1.
5386
5387 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5388 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5389
c0d8b5d4 53902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Split ufs.mod into ufs1.mod and ufs2.mod.
5393
5394 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5395 (grub_fstest_SOURCES): Likewise.
5396 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5397 (ufs_mod_SOURCES): Remove.
5398 (ufs_mod_CFLAGS): Likewise.
5399 (ufs_mod_LDFLAGS): Likewise.
5400 (ufs1_mod_SOURCES): New variable.
5401 (ufs1_mod_CFLAGS): Likewise.
5402 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5403 (ufs2_mod_SOURCES): New variable.
5404 (ufs2_mod_CFLAGS): Likewise.
5405 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5406 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5407 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5408 Likewise.
5409 (grub_emu_SOURCES): Likewise.
5410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5411 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5412 (grub_setup_SOURCES): Likewise.
5413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5414 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5415 (grub_setup_SOURCES): Likewise.
5416 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5417 Likewise.
5418 * fs/ufs2.c: New file.
5419 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5420
d3539132 54212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Framebuffer split.
5424
5425 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5426 subsystem at the end.
5427 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5428 (video_fb_mod_SOURCES): New variable.
5429 (video_fb_mod_CFLAGS): Likewise.
5430 (video_fb_mod_LDFLAGS): Likewise.
5431 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5432 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5433 * video/i386/pc/vbeblit.c: Moved from here ...
5434 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5435 * video/i386/pc/vbefill.c: Moved from here ...
5436 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5437 * video/i386/pc/vbeutil.c: Moved from here ...
5438 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5439 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5440 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5441 * include/grub/i386/pc/vbefill.h: Moved from here ...
5442 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5443 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5444 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5445 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5446 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5447 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5448 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5449 (grub_video_adapter): Added 'get_info_and_fini'.
5450 (grub_video_get_info_and_fini): New prototype.
5451 (grub_video_set_mode): make modestring const char *.
5452 * loader/i386/linux.c (grub_linux_setup_video): Use
5453 grub_video_get_info_and_fini.
5454 (grub_linux_boot): Move modesetting just before booting.
5455 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5456 grub_video_get_info_and_fini.
5457 * video/i386/pc/vbe.c: Moved framebuffer part ...
5458 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5459 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5460 grub_video_fbstd_colors and grub_video_fb_set_palette.
5461 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5462 grub_video_fb_init.
5463 (grub_video_vbe_fini): Use grub_video_fb_fini.
5464 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5465 render_target and use grub_video_fb_set_active_render_target and
5466 grub_video_fb_set_palette.
5467 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5468 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5469 (grub_video_vbe_adapter): Use framebuffer.
5470 * video/video.c (grub_video_get_info_and_fini): New function.
5471 (grub_video_set_mode): Make modestring const char *.
5472 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5473 values are already initialised.
5474
d404ee56 54752009-08-14 Pavel Roskin <proski@gnu.org>
5476
5477 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5478 ABS and APPLE_CC.
5479 * boot/i386/pc/diskboot.S: Likewise.
5480 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5481 sectors allow compilation on MacOSX.
5482 * conf/i386-pc.rmk: Enable unconditional compilation of
5483 lnxboot.img.
5484
9a10df16 54852009-08-13 Colin Watson <cjwatson@ubuntu.com>
5486
5487 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5488 * util/grub.d/00_header.in: Enter interruptible sleep if
5489 GRUB_HIDDEN_TIMEOUT is set.
5490
be3c9ca7 54912009-08-13 Yves Blusseau <blusseau@zetam.org>
5492
5493 * include/grub/symbol.h: Add the LOCAL macro.
5494 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5495 starting with "L_".
5496
1f9e557e 54972009-08-13 Pavel Roskin <proski@gnu.org>
5498
9ca62843 5499 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5500 any modern compilers we support.
5501
1f9e557e 5502 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5503 Use local labels starting with "L_" so that Apple assembler
5504 knows they are local.
5505
81623db6 55062009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5507
5508 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5509 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5510 (bsd_kernel_types): ... this enum.
5511
5512 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5513 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5514 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5515
5516 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5517 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5518 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5519 messages.
5520
f5d35e7a 55212009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5522
5523 * util/grub-dumpdevtree: Moved from here ...
5524 * util/i386/efi/grub-dumpdevtree: ... to here.
5525 (hexify): New function. Converts a string to its hex version.
5526 Generate hex versions of "efi" and "device-properties" by calling
5527 hexify() on the ASCII strings rather than by hardcoding numbers.
5528
d1e1d527 55292009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5530
5531 * fs/jfs.c: Update copyright year.
5532
1ebbe064 55332009-08-08 Felix Zielcke <fzielcke@z-51.de>
5534
5535 * util/grub.d/00_header.in: Fix a comment.
5536 * util/grub.d/10_linux.in: Likewise.
5537 * util/grub.d/10_windows.in: Likewise.
5538 * util/grub.d/10_hurd.in: Likewise.
5539
a78c8d24 55402009-08-08 Felix Zielcke <fzielcke@z-51.de>
5541
5542 * util/grub-mkconfig.in: Allow the user to specify the used font
5543 with GRUB_FONT.
5544
29a6b9e8 55452009-08-08 Pavel Roskin <proski@gnu.org>
5546
b5f16cc4 5547 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5548 available, xfs.mod needs it now.
5549
2f5cb827 5550 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5551 the "g" modifier in sed when the intention is to strip something
5552 once. This fixes comparison of kernels with multiple dashes.
5553
29a6b9e8 5554 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5555 on it. Add missing space before closing bracket. Fix
5556 misleading formatting.
5557
892a3d98 55582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5559
5560 * docs/grub.texi: Major overhaul. Remove all sections that are
5561 specific to GRUB Legacy, or mostly composed of Legacy-specific
5562 information.
5563
ed94253f 55642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5565
5566 * docs/version.texi: New file. Provides version information for
5567 grub.texi.
5568
126d6628 55692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5570
5571 * docs/grub.texi: Update CVS information to SVN.
5572 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5573
998b5aa9 55742009-08-07 Felix Zielcke <fzielcke@z-51.de>
5575
5576 * util/grub-mkconfig.in: Remove a wrong `fi'.
5577
818e094a 55782009-08-07 Felix Zielcke <fzielcke@z-51.de>
5579
5580 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5581 (grub_jfs_uuid): New function.
5582 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5583
b969c52f 55842009-08-07 Felix Zielcke <fzielcke@z-51.de>
5585
5586 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5587 of it to ...
5588 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5589 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5590
7a4894cc 55912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5592
5593 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5594 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5595 Update all users.
5596
5597 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5598 not just "vmlinu[zx]".
5599 Moved from here ...
5600 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5601 all users.
5602
5603 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5604 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5605 all users.
5606
4e2171f8 56072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5608
5609 * util/grub.d/10_freebsd.in: Use an absolute device path for
5610 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5611
6dcfcb32 56122009-08-06 Felix Zielcke <fzielcke@z-51.de>
5613
5614 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5615 handling of multiple abstraction modules.
5616
f56a8756 56172009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5618
5619 Fix a bug resulting in black screen when loading Linux using a
5620 packed video mode.
5621
5622 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5623 function.
5624
5625 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5626 (grub_vbe_bios_getset_dac_palette_width): New function.
5627 (grub_vbe_bios_get_dac_palette_width)
5628 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5629 grub_vbe_bios_getset_dac_palette_width()).
5630
5631 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5632 check for return status.
5633 (grub_vbe_get_video_mode_info): When getting information for a packed
5634 mode (<= 8 bpp), obtain DAC palette width using
5635 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5636 {red,green,blue}_mark_size.
5637
222671b2 56382009-08-04 Felix Zielcke <fzielcke@z-51.de>
5639
ecb1a6d9 5640 * commands/search.c (options): Fix help output to match actual code.
222671b2 5641
f84114f5 56422009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5645 of homegrown code.
5646
bd288a20 56472009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5648
5649 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5650 on XFS or ReiserFS.
5651
8aab5e25 56522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Support Apple partition map with sector size different from 512 bytes.
5655
5656 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5657 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5658 and 'apart.partmap_size'.
5659
6ad6258a 56602009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
56612009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5662
5663 Fix cpuid command.
5664
5665 * commands/i386/cpuid.c (options): New variable.
5666 (grub_cmd_cpuid): Return real error.
5667 (GRUB_MOD_INIT(cpuid)): Declare options.
5668
67459bc6 56692009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5672 valid.
5673
fbc6ab54 56742009-07-31 Bean <bean123ch@gmail.com>
5675
5676 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5677 log2_inode.
5678 (grub_fshelp_node): Move inode field to the end.
5679 (grub_xfs_data): Remove inode field.
5680 (grub_xfs_inode_block): Calculate inode size using sblock.
5681 (grub_xfs_inode_offset): Likewise.
5682 (grub_xfs_read_inode): Calculate inode size using sblock.
5683 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5684 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5685 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5686 to match inode size.
5687 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5688 not accessible when data is null.
5689 (grub_xfs_open): Likewise.
5690
f45d6cfc 56912009-07-31 Bean <bean123ch@gmail.com>
5692
5693 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5694 Don't change pv->disk if it's already set.
5695
5696 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5697 (grub_raid_register): ... here.
5698 (grub_raid_rescan): Removed.
5699
5700 * include/grub/raid.h (grub_raid_rescan): Removed.
5701
5702 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5703 (fstest): Replace grub_raid_rescan with module fini function followed
5704 by init function.
5705
5706 * util/grub-probe.c: Add include file <grub/raid.h>.
5707 (probe_raid_level): New function.
5708 (probe): Detect abstraction by walking the disk device, support two
5709 level of abstraction (LVM on RAID) when detecting partition map.
5710
24443b5a 57112009-07-31 Pavel Roskin <proski@gnu.org>
5712
5713 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5714 to grub_zalloc(), it was erroneous.
5715 Reported by Bean <bean123ch@gmail.com>
5716
a275d9e7 57172009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5720 embedding zone, not only the first one.
a275d9e7 5721
56c5a47f 57222009-07-29 Joe Auricchio <jauricchio@gmail.com>
5723
5724 * term/gfxterm.c (clear_char): New function.
5725 (grub_virtual_screen_setup): Use clear_char.
5726 (scroll_up): Likewise.
5727 (grub_virtual_screen_cls): Likewise.
5728
67bb323a 57292009-07-29 Felix Zielcke <fzielcke@z-51.de>
5730
5731 * util/deviceiter.c (get_acceleraid_disk_name): New static
5732 function.
5733 (grub_util_iterate_devices): Handle Accelraid devices.
5734 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
5735
388a7c75 57362009-07-28 Robert Millan <rmh.grub@aybabtu.com>
5737
5738 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
5739 separator for the suggested gfxpayload string (';' collides with the
5740 parser and needs escaping).
5741
3bb7abcf 57422009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
5745 Clear direction flag before jumping to OS.
5746 (grub_multiboot2_real_boot): Likewise.
5747
2ddd36d7 57482009-07-28 Felix Zielcke <fzielcke@z-51.de>
5749
5750 * util/i386/pc/grub-install: Fix parsing of --disk-module
5751 option.
5752
c521b62b 57532009-07-28 Felix Zielcke <fzielcke@z-51.de>
5754
5755 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
5756 when embedding.
5757
880e0a0c 57582009-07-26 Felix Zielcke <fzielcke@z-51.de>
5759
5760 * util/grub-mkconfig.in (package_version): New variable.
5761 Use it do display the version.
5762
2366e356 57632009-07-25 Felix Zielcke <fzielcke@z-51.de>
5764
5765 * kern/file.c (grub_file_open): Revert to previous check with
5766 grub_errno.
5767
7ad8c80e 57682009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
5771 from help line. It's out of sync with code.
5772
72b9658b 57732009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
5776 entries on failed boot.
5777
77435277 57782009-07-25 Felix Zielcke <fzielcke@z-51.de>
5779
5780 * kern/file.c (grub_file_open): Fix an error check.
5781
fcaa8b21 57822009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
5783
35d16c74 5784 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
5785 partition map couldn't be identified.
fcaa8b21 5786
48904cd1 57872009-07-23 Pavel Roskin <proski@gnu.org>
5788
ef3c317f 5789 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
5790 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
5791 case of little endian words becomes just an optimization.
5792 Respect const modifier.
ad8ea1f4 5793 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 5794
48904cd1 5795 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
5796 to avoid loss of upper bits if align is unsigned and shorter
5797 than addr.
5798
260c9a89 57992009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 UUID support for UFS
5802
5803 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
5804 (grub_ufs_uuid): New function.
5805 (grub_ufs_fs): add .uuid
5806
f76ce889 58072009-07-21 Pavel Roskin <proski@gnu.org>
5808
5809 * kern/dl.c (grub_dl_check_header): Make static.
5810
6a6cbcaf 58112009-07-21 Felix Zielcke <fzielcke@z-51.de>
5812
5813 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
5814 add drivemap for Vista. It breaks Windows 7.
5815
cffcddb2 58162009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
5819 128 bytes
5820
1ef44b80 58212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Add BFS support
5824
5825 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
5826 (grub_fstest_SOURCES): Likewise.
5827 (pkglib_MODULES): Add befs.mod.
5828 (befs_mod_SOURCES): New variable.
5829 (befs_mod_CFLAGS): Likewise.
5830 (befs_mod_LDFLAGS): Likewise.
5831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5832 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5833 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5834 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5835 (grub_setup_SOURCES): Likewise.
5836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5838 (grub_setup_SOURCES): Likewise.
5839 * fs/befs.c: New file.
5840 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
5841 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
5842 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
5843 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
5844 (B_KEY_INDEX_ALIGN): New declaration.
5845 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
5846 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
5847 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
5848 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
5849 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
5850 (grub_afs_mount) [MODE_BFS]: Likewise.
5851 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
5852 (grub_afs_fs): Use GRUB_AFS_FSNAME
5853 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
5854 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
5855 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
5856 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
5857
4f253044 58582009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
5859
5860 * util/getroot.c (find_root_device): Add support for MacOSX.
5861 * util/hostdisk.c: Likewise.
5862
57a55913 58632009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * font/font.c (find_glyph): Check whether a font is present to avoid
5866 segmentation fault.
75421ca9 5867
58682009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 5869
5870 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
5871
e98cd0c2 58722009-07-20 Pavel Roskin <proski@gnu.org>
5873
5874 * configure.ac: Trim excessively wordy excuses.
5875
1d2d169a 58762009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 Add symlink, mtime and label support to AtheFS.
5879
5880 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
5881 (grub_afs_iterate_dir): Handle symlinks.
5882 (grub_afs_open): Use grub_afs_read_symlink.
5883 (grub_afs_dir): Likewise.
5884 Pass mtime.
5885 (grub_afs_label): New function.
5886 (grub_afs_fs): Add grub_afs_label.
5887 (grub_afs_read_symlink): New function.
5888
186f3189 58892009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Fix AtheFS support.
5892
5893 * fs/afs.c: Fix comments style.
5894 (grub_afs_blockrun): Declare as packed.
5895 (grub_afs_datastream): Likewise.
5896 (grub_afs_bnode): Likewise.
5897 (grub_afs_btree): Likewise.
5898 (grub_afs_sblock): Likewise.
5899 Declare `name' as char.
5900 (grub_afs_inode): Declare as packed.
5901 Change void *vnode to grub_uint32_t unused.
5902 (grub_afs_iterate_dir): Check that key_size is positive.
5903 (grub_afs_mount): Don't read superblock twice.
75421ca9 5904 (grub_afs_dir): Don't free node in case of error,
186f3189 5905 grub_fshelp_find_file already handles this.
5906 (grub_afs_open): Likewise.
5907
5680109e 59082009-07-19 Pavel Roskin <proski@gnu.org>
5909
5910 * Makefile.in: Remove LIBLZO and enable_lzo.
5911 * conf/i386-pc.rmk: Remove lzo support.
5912 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
5913 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
5914 support.
5915 * kern/i386/pc/lzo1x.S: Remove.
5916 * kern/i386/pc/startup.S: Remove lzo support.
5917 * util/i386/pc/grub-mkimage.c: Likewise.
5918
ac70fa32 59192009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
5922 * fs/xfs.c (grub_xfs_dir): Likewise.
5923 * fs/afs.c (grub_afs_dir): Likewise.
5924 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5925 (grub_iso9660_open): Likewise.
5926 * fs/jfs.c (grub_jfs_open): Likewise.
5927 * fs/ext2.c (grub_ext2_dir): Likewise.
5928 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
5929 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 5930
eab58da2 59312009-07-16 Pavel Roskin <proski@gnu.org>
5932
d2838156 5933 * configure.ac: Never add "-c" to CFLAGS.
5934
55c70904 5935 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
5936
43e6200c 5937 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
5938 grub_cv_cc_efiemu should be used.
5939
ce7a733d 5940 * configure.ac: Typo fixes.
5941
eab58da2 5942 * kern/mm.c (grub_zalloc): New function.
5943 (grub_debug_zalloc): Likewise.
5944 * include/grub/mm.h: Declare grub_zalloc() and
5945 grub_debug_zalloc().
5946 * util/misc.c (grub_zalloc): New function.
5947 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
5948 instead of grub_malloc(), remove unneeded initializations.
5949 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
5950 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
5951 * commands/parttool.c (grub_cmd_parttool): Likewise.
5952 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5953 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
5954 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
5955 * disk/usbms.c (grub_usbms_finddevs): Likewise.
5956 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
5957 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
5958 (grub_cmd_efiemu_pnvram): Likewise.
5959 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
5960 * fs/iso9660.c (grub_iso9660_mount): Likewise.
5961 (grub_iso9660_iterate_dir): Likewise.
5962 * fs/jfs.c (grub_jfs_opendir): Likewise.
5963 * fs/ntfs.c (list_file): Likewise.
5964 (grub_ntfs_mount): Likewise.
5965 * kern/disk.c (grub_disk_open): Likewise.
5966 * kern/dl.c (grub_dl_load_core): Likewise.
5967 * kern/elf.c (grub_elf_file): Likewise.
5968 * kern/env.c (grub_env_context_open): Likewise.
5969 (grub_env_set): Likewise.
5970 (grub_env_set_data_slot): Likewise.
5971 * kern/file.c (grub_file_open): Likewise.
5972 * kern/fs.c (grub_fs_blocklist_open): Likewise.
5973 * loader/i386/multiboot.c (grub_module): Likewise.
5974 * loader/xnu.c (grub_xnu_create_key): Likewise.
5975 (grub_xnu_create_value): Likewise.
5976 * normal/main.c (grub_normal_add_menu_entry): Likewise.
5977 (read_config_file): Likewise.
5978 * normal/menu_entry.c (make_screen): Likewise.
5979 * partmap/sun.c (sun_partition_map_iterate): Likewise.
5980 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
5981 * script/sh/script.c (grub_script_parse): Likewise.
5982 * video/bitmap.c (grub_video_bitmap_create): Likewise.
5983 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5984 * video/readers/png.c (grub_png_output_byte): Likewise.
5985 (grub_video_reader_png): Likewise.
5986
830afef7 59872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 5988
5989 Enable all targets that can be built by default
5990
830afef7 5991 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 5992 grub-mkfont and grub-fstest if they can be built
5993
ee293aee 59942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 Fix hang and segmentation fault in grub-emu-usb
5997
5998 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
5999 * util/usb.c (grub_libusb_devices): likewise
6000 (grub_libusb_init): rename to ...
6001 (GRUB_MOD_INIT (libusb)):...this
6002 (grub_libusb_fini): rename to ..
6003 (GRUB_MOD_FINI (libusb)):...this
6004 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6005 * include/grub/disk.h (grub_raid_init): removed, it's useless
6006 (grub_raid_fini): likewise
6007 (grub_lvm_init): likewise
6008 (grub_lvm_fini): likewise
6009 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6010 by grub_init_all
6011
94414221 60122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 Fix libusb
6015
6016 * Makefile.in (LIBUSB): new macro
6017 * genmk.rb (Utility/print_tail): new method
6018 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6019 (top level): call util.print_tail at the end.
6020
59ade63d 60212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Make FreeBSD accept zpool.cache
6024
6025 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6026 type is /boot/zfs/zpool.cache
6027
a58da8c7 60282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 Fix 64-bit efiemu
6031
6032 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6033 correct wrong typedef
6034 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6035
20591577 60362009-07-15 Pavel Roskin <proski@gnu.org>
6037
560ca572 6038 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6039 * kern/disk.c (struct grub_disk_cache): Likewise.
6040
e8e8e4fd 6041 * commands/probe.c (options): Typo fix.
6042
fde24e10 6043 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6044 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6045 accordingly.
6046 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6047
379c54c1 6048 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6049 the end of "Error" to make the message more readable.
6050
7bd8f5bf 6051 * boot/i386/pc/boot.S (kernel_segment): Remove.
6052 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6053 for destination.
6054
40b132c5 6055 * boot/i386/pc/boot.S (boot_version): Remove.
6056 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6057 Remove.
6058
20591577 6059 * include/grub/i386/pc/boot.h: Sort all offsets.
6060 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6061 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6062 * boot/i386/pc/boot.S: Assert location of every offset listed in
6063 include/grub/i386/pc/boot.h.
6064
2df32b2c 60652009-07-13 Pavel Roskin <proski@gnu.org>
6066
44b5d879 6067 * include/grub/i386/coreboot/machine.h: Rename
6068 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6069 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6070 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6071
17dc3751 6072 * kern/dl.c: Force native word size to suppress warnings when
6073 compiling grub-emu.
6074
2df32b2c 6075 * kern/device.c (grub_device_iterate): Change struct part_ent to
6076 hold the name, not a pointer to it. Use one grub_malloc() per
6077 partition, not two. Free partition_name if grub_malloc() fails.
6078 Set ents to NULL only before grub_partition_iterate() is called.
6079
75c59f59 60802009-07-11 Bean <bean123ch@gmail.com>
6081
6082 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6083 childname.
6084
0ae1bf88 60852009-07-10 Bean <bean123ch@gmail.com>
60862009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6087
6088 * kern/ieee1275/openfw.c (grub_children_iterate)
6089 (grub_devalias_iterate): Fix size evaluation for property or path
6090 strings, which was broken since r2132.
6091
8279cade 60922009-07-07 Pavel Roskin <proski@gnu.org>
6093
7d8a52d3 6094 * commands/search.c (search_file): Merge into ...
6095 (search_fs): ... this. Accept search type as argument.
6096 (grub_cmd_search): Pass search type to search_fs().
6097
25f9a05a 6098 * include/grub/util/console.h: New file.
6099 * util/console.c: Use it instead of grub/machine/console.h.
6100 * util/grub-emu.c: Likewise.
6101
8279cade 6102 * lib/arg.c (find_long_option): Remove.
6103 (find_long): Add `len' argument, make `s' const char *.
6104 (grub_arg_parse): Parse long options in place, not in a
6105 temporary buffer.
6106
4a11b60f 61072009-07-06 Pavel Roskin <proski@gnu.org>
6108
99f68041 6109 * commands/search.c (search_fs): Fix potential NULL pointer
6110 dereference.
6111
4a11b60f 6112 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6113 function pointer.
6114
e110f4de 61152009-07-06 Daniel Mierswa <impulze@impulze.org>
6116
6117 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6118 comparison.
6119
46eeb6a2 61202009-07-05 Pavel Roskin <proski@gnu.org>
6121
bab74958 6122 * include/grub/i386/linux.h (struct linux_kernel_params):
6123 Restore padding3, it's still needed.
6124
46eeb6a2 6125 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6126 FreeBSD.
6127 * util/osdetect.lua: Likewise.
6128
b4a1dc79 61292009-07-05 Bean <bean123ch@gmail.com>
6130
6131 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6132
6133 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6134 (grub_lua_getenv): Likewise.
6135 (grub_lua_setenv): Likewise.
6136 (save_errno): New function.
6137 (push_result): Likewise.
6138 (grub_lua_enum_device): Likewise.
6139 (grub_lua_enum_file): Likewise.
6140 (grub_lua_file_open): Likewise.
6141 (grub_lua_file_close): Likewise.
6142 (grub_lua_file_seek): Likewise.
6143 (grub_lua_file_read): Likewise.
6144 (grub_lua_file_getline): Likewise.
6145 (grub_lua_file_getsize): Likewise.
6146 (grub_lua_file_getpos): Likewise.
6147 (grub_lua_file_eof): Likewise.
6148 (grub_lua_file_exist): Likewise.
6149 (grub_lua_add_menu): Likewise.
6150
6151 * script/lua/grub_lua.h (isupper): New inline function.
6152 (islower): Likewise.
6153 (ispunct): Likewise.
6154 (isxdigit): Likewise.
6155 (strcspn): Change to normal function.
6156 (strpbkr): New function declaration.
6157 (memchr): Likewise.
6158
6159 * script/lua/grub_main.c (scan_str): New function.
6160 (strcspn): Likewise.
6161 (strpbrk): Likewise.
6162 (memchr): Likewise.
6163
6164 * script/lua/linit.c (lualibs): Enable the string library.
6165
6166 * util/osdetect.lua: New file.
6167
2da92295 61682009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6169
6170 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6171 `capabilities' member.
6172
b2582ec9 61732009-07-02 Pavel Roskin <proski@gnu.org>
6174
6175 * genparttoollist.sh: Add missing newline at the end.
6176
32622956 61772009-07-01 Pavel Roskin <proski@gnu.org>
6178
87a7339e 6179 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6180
d23af54e 6181 * util/hostdisk.c (open_device): Remove `const' from
6182 `sysctl_size', as sysctlbyname() can change it (in this case it
6183 doesn't actually happen).
6184
c94b18a9 6185 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6186 using signed long int constants.
6187
c6cd3ef0 6188 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6189 constant to avoid a warning on FreeBSD.
6190
0df63420 6191 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6192 where it's needed.
6193
999577f1 6194 * Makefile.in: Install include/grub/machine symlink.
6195
6f41557f 6196 * Makefile.in: When installing symlinks, use "cp -fR", which
6197 works on FreeBSD and MacOSX.
6198 From Yves Blusseau <cl7m42e02@sneakemail.com>
6199
c8d22988 6200 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6201 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6202
1b96e952 6203 * util/misc.c: Move grub_reboot() and grub_halt() ...
6204 * util/grub-emu.c: ... here. Make main_env static.
6205 * include/grub/util/misc.h: Remove main_env.
6206
2ef0084d 6207 * kern/mm.c: Use correct format to print size_t.
6208
32622956 6209 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6210 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6211 * kern/powerpc/dl.c: Likewise.
6212 * kern/sparc64/dl.c: Likewise.
6213 * kern/x86_64/dl.c: Likewise.
6214
3f7f0cd0 62152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6216
6217 Fix grub-emu build on sparc64-ieee1275.
6218
75421ca9 6219 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6221
211d06b5 62222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6223
6224 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6225 (grub_reboot, grub_halt): New functions.
6226
6227 * util/i386/pc/misc.c: Delete. Update all users.
6228 * util/sparc64/ieee1275/misc.c: Likewise.
6229 * util/powerpc/ieee1275/misc.c: Likewise.
6230
aaf53e3c 62312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6232
6233 * conf/i386.rmk (setjmp_mod_SOURCES)
6234 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6235 * conf/common.rmk (setjmp_mod_SOURCES)
6236 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6237 to use $(target_cpu).
6238 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6239 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6240 * conf/powerpc-ieee1275.rmk: Likewise.
6241 * conf/sparc64-ieee1275.rmk: Likewise.
6242
6243 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6244 $(target_cpu) for kern/$(target_cpu)/dl.c.
6245 * conf/i386-efi.rmk: Likewise.
6246 * conf/i386-ieee1275.rmk: Likewise.
6247 * conf/x86_64-efi.rmk: Likewise.
6248 * conf/i386-coreboot.rmk: Likewise.
6249 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6250 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6251 kern/$(target_cpu)/cache.S.
6252 * conf/sparc64-ieee1275.rmk: Likewise.
6253
a337130b 62542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6255
6256 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6257 type to `grub_uint8_t', and adjust `padding9' accordingly.
6258
c6fe4d53 62592009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6260
b09db61d 6261 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6262
c6fe4d53 6263 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6264 assembly in final jump, using register constraints.
6265
b09db61d 6266 (grub_linux_boot): For text mode, initialize `have_vga' using
6267 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6268
6269 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6270 right before the final jump.
6271
6272 Set `video_mode' to 0x3.
6273
6274 Document initialization of `video_page', `video_mode' and
6275 `video_ega_bx'.
6276
28333ad0 62772009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6278
6279 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6280 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6281 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6282
02164e1b 62832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6284
6285 Fix build on Debian / sparc.
6286
6287 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6288
18b6c557 62892009-06-28 Pavel Roskin <proski@gnu.org>
6290
85f2aab6 6291 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6292 fix a warning.
6293
18b6c557 6294 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6295
ad760f81 62962009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6297
6298 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6299 `err'.
6300
87a4623b 63012009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6302
6303 Revert r2338.
6304
6305 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6306 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6307 grub_errno / grub_errmsg appropriately.
87a4623b 6308 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6309
8231fb77 63102009-06-27 Pavel Roskin <proski@gnu.org>
63112009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6312
6313 * include/grub/dl.h: Include grub/elf.h.
6314 (struct grub_dl): Add symtab field.
6315 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6316 GRUB_MODULES_MACHINE_READONLY.
6317 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6318 of the header for read-only modules.
6319 (grub_dl_unload): Free mod->symtab for read-only modules.
6320 * kern/i386/dl.c: Use mod->symtab.
6321 * kern/powerpc/dl.c: Likewise.
6322 * kern/sparc64/dl.c: Likewise.
6323 * kern/x86_64/dl.c: Likewise.
6324
6325 * conf/i386-qemu.rmk: New file.
6326 * kern/i386/qemu/startup.S: Likewise.
6327 * kern/i386/qemu/mmap.c: Likewise.
6328 * boot/i386/qemu/boot.S: Likewise.
6329 * include/grub/i386/qemu/time.h: Likewise.
6330 * include/grub/i386/qemu/serial.h: Likewise.
6331 * include/grub/i386/qemu/kernel.h: Likewise.
6332 * include/grub/i386/qemu/console.h: Likewise.
6333 * include/grub/i386/qemu/boot.h: Likewise.
6334 * include/grub/i386/qemu/init.h: Likewise.
6335 * include/grub/i386/qemu/machine.h: Likewise.
6336 * include/grub/i386/qemu/loader.h: Likewise.
6337 * include/grub/i386/qemu/memory.h: Likewise.
6338
6339 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6340 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6341 [qemu] (pkglib_IMAGES): Add `boot.img'.
6342 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6343 [qemu] (boot_img_FORMAT): New variables.
6344 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6345 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6346 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6347 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6348 [qemu] (kernel_img_FORMAT): New variables.
6349
6350 * configure.ac: Recognise `i386-qemu'.
6351
6352 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6353 (for no compression).
6354 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6355 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6356 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6357 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6358 ifdefs).
6359
97fe384e 63602009-06-27 Pavel Roskin <proski@gnu.org>
6361
6362 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6363 read.
6364 * efiemu/prepare32.c: Likewise.
6365 * efiemu/prepare64.c: Likewise.
6366
c402ab17 63672009-06-26 Pavel Roskin <proski@gnu.org>
6368
6369 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6370 * include/grub/elf.h: Define symbols without "32" or "64" based
6371 on GRUB_TARGET_WORDSIZE.
6372 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6373 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6374 ELF definitions.
6375 * efiemu/loadcore64.c: Likewise.
6376 * loader/i386/bsd32.c: Likewise.
6377 * loader/i386/bsd64.c: Likewise.
6378 * kern/dl.c: Remove own ELF definitions.
6379 * util/i386/efi/grub-mkimage.c: Likewise.
6380
9bbdfd4d 63812009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6382
6383 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6384 segment 0x0 unconditionally, because the reference generated by
6385 GAS is an absolute address.
6386
a42ce6e9 63872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6388
6389 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6390 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6391
c952cf92 63922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6393
6394 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6395 indexes. Check for -f explicitly.
cc3752ad 6396 (search_file): Improve error message.
6397 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6398
132a0a59 63992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6400
6401 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6402 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6403
387a140c 64042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6405
6406 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6407 * conf/i386-ieee1275.rmk: Likewise.
6408 * conf/i386-coreboot.rmk: Likewise.
6409
6410 * kern/i386/pc/startup.S (grub_stop): Remove function.
6411 * kern/i386/ieee1275/startup.S: Likewise.
6412 * kern/i386/coreboot/startup.S: Likewise.
6413 * kern/i386/misc.S (grub_stop): New function.
6414
41da9665 64152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6416
6417 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6418 * kern/i386/realmode.S (real_to_prot): ... to here.
6419
bf337234 64202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6421
6422 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6423 with `kernel.img'.
6424 (kernel_elf_SOURCES): Rename to ...
6425 (kernel_img_SOURCES): ... this.
6426 (kernel_elf_HEADERS): Rename to ...
6427 (kernel_img_HEADERS): ... this. Update all users.
6428 (kernel_elf_ASFLAGS): Rename to ...
6429 (kernel_img_ASFLAGS): ... this.
6430 (kernel_elf_CFLAGS): Rename to ...
6431 (kernel_img_CFLAGS): ... this.
6432 (kernel_elf_LDFLAGS): Rename to ...
6433 (kernel_img_LDFLAGS): ... this.
6434 * conf/i386-coreboot.rmk: Likewise.
6435 * conf/powerpc-ieee1275.rmk: Likewise.
6436
6437 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6438 with "kernel.img".
6439
f52196ff 64402009-06-21 Pavel Roskin <proski@gnu.org>
6441
c3cee413 6442 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6443 to match nested functions.
6444 * loader/sparc64/ieee1275/linux.c: Likewise.
6445
f52196ff 6446 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6447
58750afc 64482009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6449
6450 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6451 all i386 platforms.
6452
15355c7d 64532009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6454
6455 Fix asm file handling on ELF, and remove workarounds.
6456
6457 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6458 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6459 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6460 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6461
3f3ec72b 64622009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 Load BSD ELF modules
6465
6466 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6467 and loader/i386/bsd64.c
6468 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6469 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6470 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6471 (grub_freebsd_load_elfmodule32): New declaration
6472 (grub_freebsd_load_elfmoduleobj64): Likewise
6473 (grub_freebsd_load_elf_meta32): Likewise
6474 (grub_freebsd_load_elf_meta64): Likewise
6475 (grub_freebsd_add_meta): Likewise
6476 (grub_freebsd_add_meta_module): Likewise
6477 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6478 (grub_freebsd_add_meta_module): Likewise and move module-specific
6479 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6480 (grub_cmd_freebsd): Add elf-kernel specific parts
6481 based on grub_freebsd_add_meta_module
6482 (grub_cmd_freebsd_module): Add type parsing moved from
6483 grub_freebsd_add_meta_module
6484 (grub_cmd_freebsd_module_elf): New function
6485 (cmd_freebsd_module_elf): New variable
6486 (GRUB_MOD_INIT): Register freebsd_module_elf
6487 * loader/i386/bsd32.c: New file
6488 * loader/i386/bsd64.c: Likewise
6489 * loader/i386/bsdXX.c: Likewise
6490 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6491 (grub_elf64_load): Likewise
6492 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6493 All users updated
6494 (grub_elf64_load_hook_t): Likewise
6495
0db15301 64962009-06-21 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6499 variable.
6500 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6501 don't write a menu entry for recovery mode.
6502
546796c1 65032009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6504
6505 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6506 after it's no longer needed.
6507
cd7310d5 65082009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6509
6510 * include/grub/i386/loader.h (grub_linux_prot_size)
6511 (grub_linux_tmp_addr, grub_linux_real_addr)
6512 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6513 GRUB_MACHINE_PCBIOS.
6514 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6515 common grub_util_info() call to ...
6516 (generate_image): ... here.
6517 Fix use of uninitialized memory, comparison of signed with
6518 unsigned integers and memory leak.
6519 Remove bogus module address message.
6520
ab32d3b5 65212009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6524 grub_raid_register
6525 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6526
024ef597 65272009-06-19 Pavel Roskin <proski@gnu.org>
6528
6529 * configure.ac: Remove stray AC_MSG_CHECKING.
6530
3ac72b51 65312009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6534
e14cd814 65352009-06-18 Pavel Roskin <proski@gnu.org>
6536
6537 * conf/common.rmk: Add fs_file.mod.
6538 * disk/fs_file.c: New file.
6539 * include/grub/disk.h (enum grub_disk_dev_id): Add
6540 GRUB_DISK_DEVICE_FILE_ID.
6541
26586d98 65422009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 Fix build with Apple's toolchain. Part 2
6545
6546 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6547 a fake start
6548
26de2bcd 65492009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Fix build with Apple's toolchain. Part 1
6552
6553 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6554 for long calls
6555 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6556 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6557 Apple's toolchain
6558
09b3490b 65592009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 Fix warnings
6562
6563 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6564 (decomp_block): initialize ch
6565 use grub_memcpy instead of memcpy
6566
c22a006a 65672009-06-17 Pavel Roskin <proski@gnu.org>
6568
d3638678 6569 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6570 version, use declarations needed to use vga_text as the startup
6571 console.
6572
c22a006a 6573 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6574 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6575 the kernel.
6576 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6577 and grub_at_keyboard_fini(), it's done on module load and
6578 unload.
6579
05b129e0 65802009-06-17 Felix Zielcke <fzielcke@z-51.de>
6581
6582 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6583 file can't be found.
6584 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6585
cf24ed9e 65862009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Fix newline handling
6589
6590 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6591 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6592 (grub_script_yylex): don't segfault on unterminated script
6593 newline terminates command and variable
6594
74aa8e4b 65952009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 avoid double grub_adjust_range call. Bug reported by David Simner
6598
6599 * kern/disk.c (grub_disk_write): change to raw disk access before
6600 calling disk_read
6601
1bd265f3 66022009-06-17 Colin Watson <cjwatson@ubuntu.com>
6603
6604 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6605 spaces, for the benefit of help2man.
6606 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6607
a2d08c06 66082009-06-16 Pavel Roskin <proski@gnu.org>
6609
6610 * kern/i386/halt.c: Include grub/machine/init.h.
6611 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6612
b97bcb19 66132009-06-16 Felix Zielcke <fzielcke@z-51.de>
6614
6615 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6616 drivemap menuentry.
6617
0644f96c 66182009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6619
6620 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6621 `echo' command.
6622
3ef17a2e 66232009-06-16 Pavel Roskin <proski@gnu.org>
6624
6625 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6626 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6627 save %dx, we only need %dl and we never change it.
6628 * boot/i386/pc/cdboot.S: Don't set the root drive.
6629 * boot/i386/pc/pxeboot.S: Likewise.
6630 * include/grub/i386/pc/boot.h: Remove
6631 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6632 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6633 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6634 * kern/i386/pc/init.c (make_install_device): Remove references
6635 to grub_root_drive.
6636 * kern/i386/pc/startup.S: Likewise.
6637 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6638
693fe637 66392009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 xnu_uuid command
6642
6643 * commands/xnu_uuid.c: new file
6644 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6645 (xnu_uuid_mod_SOURCES): new variable
6646 (xnu_uuid_mod_CFLAGS): likewise
6647 (xnu_uuid_mod_LDFLAGS): likewise
6648 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6649 * conf/i386-ieee1275.rmk: likewise
6650 * conf/i386-pc.rmk: likewise
6651 * conf/powerpc-ieee1275.rmk: likewise
6652 * conf/sparc64-ieee1275.rmk: likewise
6653 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6654
c9da87d0 66552009-06-16 Pavel Roskin <proski@gnu.org>
6656
6657 * configure.ac: Avoid '==' in test command, it's not portable.
6658
9c6f4596 66592009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 Probe command
6662
6663 * commands/probe.c: new file
6664 * conf/common.rmk (pkglib_MODULES): add probe.mod
6665 (probe_mod_SOURCES): new variable
6666 (probe_mod_CFLAGS): likewise
6667 (probe_mod_LDFLAGS): likewise
6668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6669 * conf/i386-ieee1275.rmk: likewise
6670 * conf/i386-pc.rmk: likewise
6671 * conf/powerpc-ieee1275.rmk: likewise
6672 * conf/sparc64-ieee1275.rmk: likewise
6673
70b7f9fd 66742009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Fix handling of string like \"hello\" and "a
6677 b"
6678
6679 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6680 (grub_script_yylex): fix parsing of quoting, escaping and newline
6681
71c79a6b 66822009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6683
dd74360c 6684 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6685 handling
dd74360c 6686
0644f96c 66872009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6688
6689 * util/grub-mkconfig.in: Fix parsing of --output option.
6690
e40893c3 66912009-06-12 Pavel Roskin <proski@gnu.org>
6692
6693 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6694 genmk.rb don't need to be generated or installed.
6695
3a1acfe2 66962009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * commands/i386/pc/drivemap_int13h.S: add more comments
6699
3a4575d4 67002009-06-11 Pavel Roskin <proski@gnu.org>
6701
0658e928 6702 * Makefile.in (uninstall): Uninstall manuals.
6703
ca0388f0 6704 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6705 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6706 and update-grub_lib in two places.
6707 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6708
e3b27c39 6709 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6710 a compiler warning.
6711
3a4575d4 6712 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6713 `entry_lo' to fix variable shadowing.
6714
af1f4f55 67152009-06-11 Christian Franke <franke@computer.org>
6716
6717 * kern/misc.c (__enable_execute_stack): Add missing return type
6718 to prevent gcc warning.
6719
5225e649 67202009-06-11 Felix Zielcke <fzielcke@z-51.de>
6721
6722 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6723
7d83bd47 67242009-06-11 Pavel Roskin <proski@gnu.org>
6725
c1cb63ba 6726 * Makefile.in: Don't rely on any scripts being executable.
6727 Always use $(SHELL) to run shell scripts.
6728
7d83bd47 6729 * configure.ac: Always define ___main if using -nostdlib. This
6730 fixes tests on Cygwin.
6731
948f48e7 67322009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
6733
6734 UDF fix
6735
7d83bd47 6736 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 6737 is in bytes and not in blocks
7d83bd47 6738
8ada9bc1 67392009-06-11 Pavel Roskin <proski@gnu.org>
6740
6741 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
6742 warning.
6743
25ad2323 67442009-06-11 Felix Zielcke <fzielcke@z-51.de>
6745
6746 * util/grub.d/30_os-prober.in: Fix a comment. Source
6747 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
6748 to set the root device. Place drivemap command in the generated
6749 chain entry.
6750
e65acb0c 67512009-06-11 Pavel Roskin <proski@gnu.org>
6752
6753 * configure.ac: Remove host_m32. Issues with 64-bit utilities
6754 have long been resolved.
6755
f285fe2d 67562009-06-11 Colin Watson <cjwatson@ubuntu.com>
6757
bd47b0b5 6758 * util/grub.d/10_linux.in: Capitalise "Linux".
6759
f285fe2d 6760 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
6761
a0c62e4e 67622009-06-11 Pavel Roskin <proski@gnu.org>
6763
b6783cb2 6764 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
6765 fix a gcc warning and ensure that the function won't ever exit.
6766
dde032e8 6767 * kern/i386/ieee1275/init.c: Add missing prototype for
6768 grub_stop_floppy().
6769
22cd079d 6770 * loader/ieee1275/multiboot2.c [__i386__]: Include
6771 grub/cpu/multiboot.h.
6772
a0c62e4e 6773 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
6774 casts to short - they are not portable and cause warnings. Fix
6775 use of uninitialized values in input_buf. Use ARRAY_SIZE.
6776
63963d17 67772009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 Drivemap fixes
6780
6781 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
6782 new function
6783 (grub_get_root_biosnumber_saved): new variable
6784 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
6785 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 6786 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 6787 %dx after the call if necessary
6788 * conf/common.rmk (pkglib_MODULES): remove boot.mod
6789 (boot_mod_SOURCES): remove
6790 (boot_mod_CFLAGS): remove
6791 (boot_mod_LDFLAGS): remove
6792 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
6793 (boot_mod_SOURCES): new variable
6794 (boot_mod_CFLAGS): likewise
6795 (boot_mod_LDFLAGS): likewise
6796 * conf/i386-efi.rmk: likewise
6797 * conf/i386-ieee1275.rmk: likewise
6798 * conf/i386-pc.rmk: likewise
6799 * conf/powerpc-ieee1275.rmk: likewise
6800 * conf/sparc64-ieee1275.rmk: likewise
6801 * conf/x86_64-efi.rmk: likewise
6802 * include/grub/i386/pc/biosnum.h: new file
6803 * lib/i386/pc/biosnum.c: likewise
6804 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
6805 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
6806 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 6807
33abf7ae 68082009-06-10 Pavel Roskin <proski@gnu.org>
6809
5ac35b35 6810 * io/gzio.c (test_header): Don't reuse one buffer for all data.
6811 Use separate variables. Read only the file size at the end, but
6812 not the checksum that we don't use.
6813
5c5215d5 6814 * kern/file.c (grub_file_read): Use void pointer for the buffer.
6815 Adjust all callers.
6816
27d5fef7 6817 * kern/ieee1275/openfw.c: Remove libc includes.
6818 * kern/ieee1275/cmain.c: Likewise.
6819 * include/grub/ieee1275/ieee1275.h: Likewise.
6820
33abf7ae 6821 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
6822 compiler warnings.
6823
19d50c2b 68242009-06-10 Felix Zielcke <fzielcke@z-51.de>
6825
6826 * Makefile.in: Remove all trailing whitespace.
6827 * conf/i386-pc.rmk: Likewise.
6828 * conf/powerpc-ieee1275.rmk: Likewise.
6829 * conf/sparc64-ieee1275.rmk: Likewise.
6830 * docs/grub.texi: Likewise.
6831 * docs/texinfo.tex: Likewise.
6832 * disk/fs_uuid.c: Likewise.
6833 * disk/lvm.c: Likewise.
6834 * disk/scsi.c: Likewise.
6835 * disk/ata.c: Likewise.
6836 * disk/ieee1275/ofdisk.c: Likewise.
6837 * disk/i386/pc/biosdisk.c: Likewise.
6838 * disk/host.c: Likewise.
6839 * disk/raid.c: Likewise.
6840 * disk/efi/efidisk.c: Likewise.
6841 * disk/usbms.c: Likewise.
6842 * disk/memdisk.c: Likewise.
6843 * disk/loopback.c: Likewise.
6844 * kern/powerpc/dl.c: Likewise.
6845 * kern/device.c: Likewise.
6846 * kern/dl.c: Likewise.
6847 * kern/sparc64/dl.c: Likewise.
6848 * kern/ieee1275/ieee1275.c: Likewise.
6849 * kern/term.c: Likewise.
6850 * kern/fs.c: Likewise.
6851 * kern/i386/dl.c: Likewise.
6852 * kern/i386/pc/startup.S: Likewise.
6853 * kern/i386/pc/init.c: Likewise.
6854 * kern/i386/pc/mmap.c: Likewise.
6855 * kern/i386/pc/lzo1x.S: Likewise.
6856 * kern/i386/ieee1275/init.c: Likewise.
6857 * kern/i386/realmode.S: Likewise.
6858 * kern/i386/tsc.c: Likewise.
6859 * kern/partition.c: Likewise.
6860 * kern/corecmd.c: Likewise.
6861 * kern/file.c: Likewise.
6862 * kern/efi/efi.c: Likewise.
6863 * kern/efi/init.c: Likewise.
6864 * kern/efi/mm.c: Likewise.
6865 * kern/main.c: Likewise.
6866 * kern/err.c: Likewise.
6867 * kern/env.c: Likewise.
6868 * kern/disk.c: Likewise.
6869 * kern/generic/millisleep.c: Likewise.
6870 * kern/generic/rtc_get_time_ms.c: Likewise.
6871 * kern/misc.c: Likewise.
6872 * kern/parser.c: Likewise.
6873 * genmk.rb: Likewise.
6874 * configure.ac: Likewise.
6875 * boot/i386/pc/diskboot.S: Likewise.
6876 * boot/i386/pc/pxeboot.S: Likewise.
6877 * boot/i386/pc/boot.S: Likewise.
6878 * boot/i386/pc/lnxboot.S: Likewise.
6879 * boot/i386/pc/cdboot.S: Likewise.
6880 * parttool/pcpart.c: Likewise.
6881 * video/readers/tga.c: Likewise.
6882 * video/video.c: Likewise.
6883 * video/bitmap.c: Likewise.
6884 * lib/envblk.c: Likewise.
6885 * lib/i386/setjmp.S: Likewise.
6886 * fs/xfs.c: Likewise.
6887 * fs/afs.c: Likewise.
6888 * fs/fat.c: Likewise.
6889 * fs/ntfs.c: Likewise.
6890 * fs/udf.c: Likewise.
6891 * fs/affs.c: Likewise.
6892 * fs/iso9660.c: Likewise.
6893 * fs/hfs.c: Likewise.
6894 * fs/fshelp.c: Likewise.
6895 * fs/ext2.c: Likewise.
6896 * fs/jfs.c: Likewise.
6897 * fs/reiserfs.c: Likewise.
6898 * fs/hfsplus.c: Likewise.
6899 * fs/minix.c: Likewise.
6900 * fs/cpio.c: Likewise.
6901 * fs/sfs.c: Likewise.
6902 * fs/ufs.c: Likewise.
6903 * efiemu/prepare.c: Likewise.
6904 * efiemu/loadcore_common.c: Likewise.
6905 * efiemu/runtime/efiemu.sh: Likewise.
6906 * efiemu/runtime/efiemu.S: Likewise.
6907 * efiemu/runtime/efiemu.c: Likewise.
6908 * efiemu/pnvram.c: Likewise.
6909 * efiemu/main.c: Likewise.
6910 * efiemu/i386/pc/cfgtables.c: Likewise.
6911 * efiemu/i386/loadcore64.c: Likewise.
6912 * efiemu/i386/loadcore32.c: Likewise.
6913 * efiemu/loadcore.c: Likewise.
6914 * efiemu/symbols.c: Likewise.
6915 * efiemu/mm.c: Likewise.
6916 * include/grub/autoefi.h: Likewise.
6917 * include/grub/datetime.h: Likewise.
6918 * include/grub/term.h: Likewise.
6919 * include/grub/hfs.h: Likewise.
6920 * include/grub/lvm.h: Likewise.
6921 * include/grub/i386/tsc.h: Likewise.
6922 * include/grub/i386/linux.h: Likewise.
6923 * include/grub/i386/xnu.h: Likewise.
6924 * include/grub/i386/efiemu.h: Likewise.
6925 * include/grub/i386/pc/biosdisk.h: Likewise.
6926 * include/grub/i386/pc/memory.h: Likewise.
6927 * include/grub/i386/pc/vbe.h: Likewise.
6928 * include/grub/parttool.h: Likewise.
6929 * include/grub/video.h: Likewise.
6930 * include/grub/memory.h: Likewise.
6931 * include/grub/fs.h: Likewise.
6932 * include/grub/partition.h: Likewise.
6933 * include/grub/xnu.h: Likewise.
6934 * include/grub/efi/api.h: Likewise.
6935 * include/grub/efi/pe32.h: Likewise.
6936 * include/grub/efi/memory.h: Likewise.
6937 * include/grub/multiboot.h: Likewise.
6938 * include/grub/usbdesc.h: Likewise.
6939 * include/grub/multiboot2.h: Likewise.
6940 * include/grub/acpi.h: Likewise.
6941 * include/grub/efiemu/efiemu.h: Likewise.
6942 * include/grub/disk.h: Likewise.
6943 * include/grub/ieee1275/ieee1275.h: Likewise.
6944 * include/grub/net.h: Likewise.
6945 * include/grub/machoload.h: Likewise.
6946 * include/grub/macho.h: Likewise.
6947 * include/multiboot.h: Likewise.
6948 * genmoddep.awk: Likewise.
6949 * normal/main.c: Likewise.
6950 * normal/menu_entry.c: Likewise.
6951 * normal/menu_viewer.c: Likewise.
6952 * normal/completion.c: Likewise.
6953 * normal/cmdline.c: Likewise.
6954 * normal/misc.c: Likewise.
6955 * normal/datetime.c: Likewise.
6956 * bus/usb/usbtrans.c: Likewise.
6957 * bus/usb/ohci.c: Likewise.
6958 * bus/usb/uhci.c: Likewise.
6959 * bus/usb/usb.c: Likewise.
6960 * mmap/efi/mmap.c: Likewise.
6961 * mmap/i386/pc/mmap_helper.S: Likewise.
6962 * mmap/i386/pc/mmap.c: Likewise.
6963 * mmap/i386/mmap.c: Likewise.
6964 * mmap/i386/uppermem.c: Likewise.
6965 * mmap/mmap.c: Likewise.
6966 * commands/acpi.c: Likewise.
6967 * commands/echo.c: Likewise.
6968 * commands/blocklist.c: Likewise.
6969 * commands/loadenv.c: Likewise.
6970 * commands/usbtest.c: Likewise.
6971 * commands/boot.c: Likewise.
6972 * commands/parttool.c: Likewise.
6973 * commands/search.c: Likewise.
6974 * commands/cat.c: Likewise.
6975 * commands/i386/pc/play.c: Likewise.
6976 * commands/i386/pc/drivemap.c: Likewise.
6977 * commands/i386/pc/vbeinfo.c: Likewise.
6978 * commands/i386/pc/acpi.c: Likewise.
6979 * commands/i386/pc/vbetest.c: Likewise.
6980 * commands/ls.c: Likewise.
6981 * commands/cmp.c: Likewise.
6982 * commands/test.c: Likewise.
6983 * commands/efi/acpi.c: Likewise.
6984 * commands/gptsync.c: Likewise.
6985 * commands/help.c: Likewise.
6986 * partmap/amiga.c: Likewise.
6987 * partmap/apple.c: Likewise.
6988 * partmap/acorn.c: Likewise.
6989 * partmap/pc.c: Likewise.
6990 * partmap/sun.c: Likewise.
6991 * partmap/gpt.c: Likewise.
6992 * script/sh/lexer.c: Likewise.
6993 * script/sh/function.c: Likewise.
6994 * font/font.c: Likewise.
6995 * font/font_cmd.c: Likewise.
6996 * loader/powerpc/ieee1275/linux.c: Likewise.
6997 * loader/efi/chainloader.c: Likewise.
6998 * loader/multiboot_loader.c: Likewise.
6999 * loader/macho.c: Likewise.
7000 * loader/i386/multiboot.c: Likewise.
7001 * loader/i386/linux.c: Likewise.
7002 * loader/i386/pc/linux.c: Likewise.
7003 * loader/i386/pc/multiboot2.c: Likewise.
7004 * loader/i386/pc/chainloader.c: Likewise.
7005 * loader/i386/pc/xnu.c: Likewise.
7006 * loader/i386/bsd_trampoline.S: Likewise.
7007 * loader/i386/efi/linux.c: Likewise.
7008 * loader/i386/multiboot_elfxx.c: Likewise.
7009 * loader/i386/bsd_helper.S: Likewise.
7010 * loader/i386/bsd.c: Likewise.
7011 * loader/i386/linux_trampoline.S: Likewise.
7012 * loader/i386/xnu_helper.S: Likewise.
7013 * loader/i386/xnu.c: Likewise.
7014 * loader/i386/bsd_pagetable.c: Likewise.
7015 * loader/i386/multiboot_helper.S: Likewise.
7016 * loader/xnu.c: Likewise.
7017 * loader/xnu_resume.c: Likewise.
7018 * io/gzio.c: Likewise.
7019 * term/efi/console.c: Likewise.
7020 * term/terminfo.c: Likewise.
7021 * term/ieee1275/ofconsole.c: Likewise.
7022 * term/i386/pc/serial.c: Likewise.
7023 * term/i386/pc/vesafb.c: Likewise.
7024 * term/i386/pc/vga.c: Likewise.
7025 * term/usb_keyboard.c: Likewise.
7026 * term/gfxterm.c: Likewise.
7027 * aclocal.m4: Likewise.
7028 * util/lvm.c: Likewise.
7029 * util/grub.d/30_os-prober.in: Likewise.
7030 * util/grub.d/10_hurd.in: Likewise.
7031 * util/console.c: Likewise.
7032 * util/grub-macho2img.c: Likewise.
7033 * util/grub-probe.c: Likewise.
7034 * util/hostfs.c: Likewise.
7035 * util/i386/pc/grub-mkimage.c: Likewise.
7036 * util/i386/pc/grub-setup.c: Likewise.
7037 * util/i386/efi/grub-mkimage.c: Likewise.
7038 * util/grub-mkconfig.in: Likewise.
7039 * util/raid.c: Likewise.
7040 * util/resolve.c: Likewise.
7041 * util/grub-mkdevicemap.c: Likewise.
7042 * util/grub-emu.c: Likewise.
7043 * util/getroot.c: Likewise.
7044 * util/hostdisk.c: Likewise.
7045 * util/usb.c: Likewise.
7046 * util/grub-editenv.c: Likewise.
7047 * util/misc.c: Likewise.
7048
d2d49665 70492009-06-10 Felix Zielcke <fzielcke@z-51.de>
7050
7051 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7052 `genparttoollist.sh'.
7053 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7054 Add `*.sh' to the list find searches for and change `mdate.sh'
7055 to `mdate-sh'.
7056
fe052e37 70572009-06-10 Pavel Roskin <proski@gnu.org>
7058
2763ac18 7059 * include/grub/multiboot2.h: Provide compatibility defines for
7060 multiboot2.h.
7061 * include/multiboot2.h: Include stdint.h only if needed, using
7062 angle brackets.
7063 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7064 grub/multiboot2.h.
7065 * loader/ieee1275/multiboot2.c: Likewise.
7066 * loader/multiboot2.c: Likewise.
7067 * loader/multiboot_loader.c: Likewise.
7068
437e6adc 7069 * configure.ac: Use -nostdlib when probing for the target. It
7070 should not be required to have libc for the target.
7071
06a6836c 7072 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7073 they fail without libc headers for the target.
7074 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7075 exports.
7076 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7077 preprocessor conditionals.
7078
fe052e37 7079 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7080 build system doesn't need to be aware of the tar.c internals.
7081
afd22553 70822009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7083
afd22553 7084 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7085
6b787c4f 70862009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7087
7088 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7089 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7090
70912009-06-09 Felix Zielcke <fzielcke@z-51.de>
7092
7093 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7094 aren't available if ata.mod gets used.
6b787c4f 7095
473d1e45 70962009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7097
473d1e45 7098 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7099 initialising controller.
473d1e45 7100 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7101
255a27d4 71022009-06-08 Felix Zielcke <fzielcke@z-51.de>
7103
7104 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7105 to choose between ata and biosdisk module on i386-pc.
7106
473d1e45 71072009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7108
d55842d8 7109 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7110 Subclass and Programming Interface fields in terms of the 3 byte
7111 Class Code register.
7112 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7113
fa5db0b1 7114 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7115 interface is OHCI. Add grub_dprintf for symmetry with
7116 bus/usb/uhci.c.
7117 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7118 interface is UHCI. Add interf variable for programming
7119 interface. Print interface with class/subclass.
7120
c0947beb 7121 * bus/usb/ohci.c: Set interf with correct field.
7122
69da8877 7123 * bus/usb/uhci.c: Remove unneeded doubled lines.
7124 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7125 Remove whitespace inside comment.
7126
9e172e30 71272009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7128
7129 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7130 as fallback an equivalent option without depth.
7131
de65ee2b 71322009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 Not fail if unable to retrieve C/H/S on LBA disks
7135
473d1e45 7136 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7137 if unable to retrieve C/H/S on LBA disks
7138
b57ea2c9 71392009-06-08 Pavel Roskin <proski@gnu.org>
7140
7141 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7142 about aliasing.
7143
af361263 71442009-06-08 Felix Zielcke <fzielcke@z-51.de>
7145
7146 * Makefile.in (uninstall): Remove all $lib_DATA files.
7147
4c9ec6b3 71482009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 Bugfix: install on partitionless device
7151
7152 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7153 is a whole disk
7154
e76fc924 71552009-06-08 Felix Zielcke <fzielcke@z-51.de>
7156
7157 * Makefile.in (uninstall): Remove all $include_DATA files.
7158
ba5a0d05 71592009-06-08 Felix Zielcke <fzielcke@z-51.de>
7160
7161 * commands/true.c: New file. Implement the true and false commands.
7162 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7163 (true_mod_SOURCES): New variable.
7164 (true_mod_CFLAGS): Likewise.
7165 (true_mod_LDFLAGS): Likewise.
7166
c8048e32 71672009-06-05 Colin D Bennett <colin@gibibit.com>
7168
7169 Optimized font character lookup using binary search instead of linear
7170 search. Fonts now are required to have the character index ordered by
7171 code point.
7172
7173 * font/font.c (load_font_index): Verify that fonts have ordered
7174 character indices.
7175 (find_glyph): Use binary search instead of linear search to find a
7176 character in a font.
7177
408305be 71782009-06-05 Michael Scherer <misc@mandriva.org>
7179
7180 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7181 uses case sensitive btree.
7182 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7183 only for case insensitive filesystems.
7184
8ee1e0d9 71852009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7188 * conf/common.rmk (search_mod_CFLAGS): likewise
7189
a9966eb1 71902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7191
473d1e45 7192 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7193 compensate a compiler bug
7194
9e7100fb 71952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7196
473d1e45 7197 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7198 instead of '\b'
473d1e45 7199
ede21d71 72002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Definitions for creating asm symbols with Apple's CC
7203
7204 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7205 [APPLE_CC] (VARIABLE): likewise
7206
9dbf7653 72072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Disable lnxboot.img when compiled
7210 with Apple's CC
7211
7212 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7213 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7214 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7215 [! APPLE_CC] (CODE_LENG): skip
7216 [! APPLE_CC] (setup_sects): likewise
7217 [! APPLE_CC]: skip filling
473d1e45 7218
e93cdc3d 72192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Address in trampolines based on 32-bit registers when compiled
7222 with Apple's CC
7223
473d1e45 7224 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7225 for addresses
7226 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7227
6c688477 72282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7231
7232 * kern/misc.c [APPLE_CC] (memcpy): new function
7233 [APPLE_CC] (memmove): likewise
7234 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7235 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7236 (memset): likewise
7237 (abort): likewise
7238 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7239 APPLE_CC are defined
7240 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7241 (grub_assert_fail): make prototype conditional
7242
e37ffc5c 72432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7246
473d1e45 7247 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7248 grub-macho2img
e37ffc5c 7249 (CLEANFILES): add grub-macho2img
7250 (grub_macho2img_SOURCES): new variable
7251 * kern/i386/pc/startup.S (bss_start): new variable
7252 (bss_end): likewise
7253 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7254 * util/grub-macho2img.c: new file
7255
cf00df31 72562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 Use objconv when compiling with Apple's CC
7259
7260 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7261 (efiemu64.o): likewise
7262 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7263 when compiling with Apple's CC
7264 (efiemu64_s.o): likewise
7265 * configure.ac: check for objconv when compiling with Apple's CC
7266 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7267
d119a20c 72682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 Define segment as well as section when compiling with
7271 Apple's CC
7272
7273 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7274 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7275 (efiemu_convert_pointer): likewise
7276 (efiemu_set_virtual_address_map): likewise
7277 (efiemu_convert_pointer): likewise
7278 (efiemu_getcrc32): likewise
7279 (init_crc32_table): likewise
7280 (reflect): likewise
7281 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7282 (GRUB_MOD_DEP): likewise
473d1e45 7283
c8600122 72842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Allow a compilation without -mcmodel=large
7287
7288 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7289 when compiled without -mcmodel=large
473d1e45 7290 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7291 without -mcmodel=large
473d1e45 7292 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7293 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7294
e8df1d4e 72952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Remove nested functions in efiemu core
7298
7299 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7300
cc6c3ac1 73012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7304
7305 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7306 temporary storage
473d1e45 7307 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7308 using Apple's CC
cc6c3ac1 7309 (grub_cpu_is_tsc_supported): likewise
7310 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7311
3e325901 73122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Absolute addressing through constant with Apple's cc
7315
7316 * kern/i386/pc/startup.S: Define necessary constants
7317 and address through it when using ABS with Apple's CC
7318 * boot/i386/pc/diskboot.S: likewise
7319 * boot/i386/pc/boot.S: likewise
7320 * boot/i386/pc/lnxboot.S: likewise
7321 * boot/i386/pc/cdboot.S: likewise
7322 * mmap/i386/pc/mmap_helper.S: likewise
7323 * commands/i386/pc/drivemap_int13h.S: likewise
7324
2b167a72 73252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 Check if compiler is apple cc
7328
7329 * Makefile.in (ASFLAGS): new variable
7330 (TARGET_ASFLAGS): likewise
7331 (TARGET_MODULE_FORMAT): likewise
7332 (TARGET_APPLE_CC): likewise
7333 (OBJCONV): likewise
7334 (TARGET_IMG_CFLAGS): likewise
7335 (TARGET_CPPFLAGS): add includedir
7336 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7337 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7338 Check for linker script only if compiler isn't Apple's CC
7339 (TARGET_MODULE_FORMAT): set
7340 (TARGET_APPLE_CC): likewise
7341 (TARGET_ASFLAGS): likewise
7342 (ASFLAGS): likewise
7343 Check for objcopy only if compiler isn't Apple's CC
7344 Check for BSS symbol only if compiler isn't Apple's CC
7345 * genmk.rb: adapt nm options if we use Apple's utils
7346 * aclocal.m4 (grub_apple_cc): new test
7347 (grub_apple_target_cc): likewise
473d1e45 7348
fb14123e 73492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 Simplify sed expressions and improve awk
7352
7353 * Makefile.in (install-local): simplify sed expression
7354 * gencmdlist.sh: likewise
7355 * genmoddep.awk: avoid adding module as a dependency of itself
7356
5b889789 73572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 Add missing start symbols
7360
7361 * boot/i386/pc/boot.S: add start
fb14123e 7362 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7363
fd2bf2e3 73642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7367
7368 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7369 (relocate_addresses): consider both r_addend and value at offset
7370 (make_mods_section): zerofill modinfo and header
7371 (convert_elf): write prefix here
473d1e45 7372
5389763d 73732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 Use .asciz instead of .string
7376
7377 * i386/pc/diskboot.S: use .asciz instead of .string
7378 * i386/pc/boot.S: likewise
7379 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7380 (GRUB_MOD_NAME): likewise
473d1e45 7381
3eb5ed4e 73822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 gfxpayload support
7385
7386 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7387 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7388 (grub_video_setup): remove
7389 (grub_video_set_mode): new prototype
7390 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7391 (vid_mode): remove
7392 (linux_vesafb_res): compile only on PCBIOS
7393 (grub_linux_boot): support gfxpayload
7394 * loader/i386/pc/xnu.c (video_hook): new function
7395 (grub_xnu_set_video): support gfxpayload
7396 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7397 (DEFAULT_VIDEO_HEIGHT): likewise
7398 (DEFAULT_VIDEO_FLAGS): likewise
7399 (DEFAULT_VIDEO_MODE): new definition
7400 (video_hook): new function
7401 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7402 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7403 loading xnu
7404 * video/video.c (grub_video_setup): removed
473d1e45 7405 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7406 grub_video_setup
7407
4b0e1143 74082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 Avoid calling biosdisk in drivemap
7411
7412 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7413 (revparse_biosdisk): likewise
7414 (list_mappings): derive name from id directly
7415 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7416
fda6cb98 74172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 Script fixes
7420
7421 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7422 (grub_lexer_param): add tokenonhold
7423 (grub_script_create_cmdline): remove cmdline. All callers updated
7424 (grub_script_function_create): make functionname
7425 grub_script_arg. All callers updated
7426 (grub_script_execute_argument_to_string): new prototype
7427 * kern/parser.c (state_transitions): reorder
7428 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7429 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7430 make global
7431 (grub_script_execute_cmdline): use new format
7432 * script/sh/function.c (grub_script_function_create): make functionname
7433 grub_script_arg. All callers updated
473d1e45 7434 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7435 (grub_script_yylex): remove
7436 (grub_script_yylex2): renamed to ...
7437 (grub_script_yylex): ...renamed
7438 parse the expressions like a${b}c
7439 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7440 (GRUB_PARSER_TOKEN_VAR): remove
7441 (GRUB_PARSER_TOKEN_NAME): likewise
7442 ("if"): declare as typeless
7443 ("while"): likewise
7444 ("function"): likewise
7445 ("else"): likewise
7446 ("then"): likewise
7447 ("fi"): likewise
7448 (text): remove
7449 (argument): likewise
7450 (script): accept empty scripts and make exit on error
7451 (arguments): use GRUB_PARSER_TOKEN_ARG
7452 (function): likewise
7453 (command): move error handling to script
7454 (menuentry): move grub_script_lexer_ref before
473d1e45 7455 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7456 argument. All callers updated
7457
f4448a07 74582009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7459
7460 Prevent GRUB from probing floppies during boot.
7461
7462 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7463 * commands/search.c (options): Add --no-floppy.
7464 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7465 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7466 --no-floppy when searching for UUIDs.
7467
2bf5885a 74682009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7469
7470 Simplify the code duplication in commands/search.c.
7471
7472 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7473 (search_fs): ... this. Update all users.
7474
f6fd460a 74752009-06-03 Felix Zielcke <fzielcke@z-51.de>
7476
7477 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7478
cbb3c83e 74792009-05-28 Pavel Roskin <proski@gnu.org>
7480
57788cfd 7481 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7482 Remove the original symlink explicitly.
7483
cbb3c83e 7484 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7485 just one slash. That's how grub_fshelp_find_file() does it.
7486
cd0d5e30 74872009-05-26 Pavel Roskin <proski@gnu.org>
7488
f0f8bbe2 7489 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7490 to `str'.
7491
cd0d5e30 7492 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7493 possibly unused.
7494
8c2cab51 74952009-05-25 Christian Franke <franke@computer.org>
7496
7497 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7498 register.
7499 (grub_atapi_identify): Add wait after drive select.
7500 (grub_ata_identify): Do more strict status register check before
7501 calling grub_atapi_identify (). Suppress error message if status
7502 register is 0x00 after command failure. Add status register
7503 check after PIO read to avoid bogus identify due to stuck DRQ.
7504 Thanks to Pavel Roskin for testing.
7505 (grub_device_initialize): Remove unsafe status register check.
7506 Thanks to 'phcoder' for problem report and patch.
7507 Prevent sign extension in debug message.
7508
230c0ad6 75092009-05-23 Colin D Bennett <colin@gibibit.com>
7510
7511 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7512 definition file, and functions defined in `normal/menu.c' have had
7513 their prototypes moved to `include/grub/menu.h' for consistency.
7514
7515 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7516 from normal.h.
7517 (grub_menu_get_entry): Likewise.
7518 (grub_menu_get_timeout): Likewise.
7519 (grub_menu_set_timeout): Likewise.
7520 (grub_menu_execute_entry): Likewise.
7521 (grub_menu_execute_with_fallback): Likewise.
7522 (grub_menu_entry_run): Likewise.
7523
7524 * include/grub/normal.h: Re-ordered and grouped function
7525 prototypes by file that the function is defined in.
7526 (grub_menu_execute_callback): Removed; moved to menu.h.
7527 (grub_menu_get_entry): Likewise.
7528 (grub_menu_get_timeout): Likewise.
7529 (grub_menu_set_timeout): Likewise.
7530 (grub_menu_execute_entry): Likewise.
7531 (grub_menu_execute_with_fallback): Likewise.
7532 (grub_menu_entry_run): Likewise.
7533 (grub_menu_addentry): Renamed from this ...
7534 (grub_normal_add_menu_entry): ... to this.
7535
7536 * normal/main.c (grub_menu_addentry): Renamed from this ...
7537 (grub_normal_add_menu_entry): ... to this.
7538
7539 * script/sh/execute.c (grub_script_execute_menuentry): Update
7540 reference to renamed grub_menu_addentry function.
7541
861f03a5 75422009-05-23 Felix Zielcke <fzielcke@z-51.de>
7543
7544 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7545
96b1619a 75462009-05-22 Pavel Roskin <proski@gnu.org>
7547
bf6a5fb2 7548 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7549 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7550 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7551 compiling for the i386 targets, but not for the utilities.
7552
96b1619a 7553 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7554 to grub_uint8_t.
7555 (grub_root_drive): Likewise.
7556 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7557 remove alignment.
7558 (grub_root_drive): Change size to byte.
7559 (grub_start_addr): Remove.
7560 (grub_end_addr): Likewise.
7561 (grub_apm_bios_info): Likewise.
7562
b729776b 75632009-05-21 Felix Zielcke <fzielcke@z-51.de>
7564
7565 * normal/i386: Remove.
7566 * normal/powerpc: Likewise.
7567 * normal/sparc64: Likewise.
7568 * normal/x86_64: Likewise.
7569
0a15ce80 75702009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7573 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7574 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7575
33db9015 75762009-05-18 Colin D Bennett <colin@gibibit.com>
7577
d6da58e6 7578 Display error messages when parsing a Lua statement fails.
7579 Previously, executing a syntactically invalid statement like
7580 ")foo" or "bar;" would silently fail.
33db9015 7581
7582 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7583 (grub_lua_parse_line): Improved reporting of Lua parser and
7584 execution errors.
33db9015 7585
46422c89 75862009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 Remove -Werror which causes build to fail on some systems
7589
7590 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7591 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7592 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7593
22f53a96 75942009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 trampoline for linux on 64-bit platform
7597
18f547ad 7598 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7599 loader/i386/efi/linux_trampoline.S
7600 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7601 declaration
d6da58e6 7602 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7603 here
22f53a96 7604 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7605 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7606 trampoline
22f53a96 7607 (jumpvector): removed
7608 (grub_linux_trampoline_start): new declaration
7609 (grub_linux_trampoline_end): likewise
7610 (grub_linux_boot): use trampoline when on 64-bit platform
7611 * loader/i386/linux.c: likewise
7612
cb5a0f40 76132009-05-16 Pavel Roskin <proski@gnu.org>
7614
7615 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7616 const to avoid a warning.
7617 (grub_lua_setenv): Likewise.
7618 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7619 lmsg to fix a warning.
7620
334f2c28 76212009-05-16 Felix Zielcke <fzielcke@z-51.de>
7622
7623 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7625 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7626 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7627 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7628 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7629 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7630 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7631
59e5d3ec 76322009-05-16 Felix Zielcke <fzielcke@z-51.de>
7633
7634 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7635
9d87a1ba 76362009-05-16 Bean <bean123ch@gmail.com>
7637
7638 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7639 (lua_mod_SOURCES): New variable.
7640 (lua_mod_CFLAGS): Likewise.
7641 (lua_mod_LDFLAGS): Likewise.
7642
7643 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7644 (setjmp_mod_SOURCES): New variable.
7645 (setjmp_mod_CFLAGS): Likewise.
7646 (setjmp_LDFLAGS): Likewise.
7647
7648 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7649 (setjmp_mod_SOURCES): New variable.
7650 (setjmp_mod_CFLAGS): Likewise.
7651 (setjmp_LDFLAGS): Likewise.
7652
7653 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7654 (setjmp_mod_SOURCES): New variable.
7655 (setjmp_mod_CFLAGS): Likewise.
7656 (setjmp_LDFLAGS): Likewise.
7657
7658 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7659 (setjmp_mod_SOURCES): New variable.
7660 (setjmp_mod_CFLAGS): Likewise.
7661 (setjmp_LDFLAGS): Likewise.
7662
7663 * normal/i386/setjmp.S: Moved from here ...
7664 * lib/i386/setjmp.S: ... Moved here
7665 * normal/x86_64/setjmp.S: Moved from here ...
7666 * lib/x86_64/setjmp.S: ... Moved here
7667 * normal/powerpc/setjmp.S: Moved from here ...
7668 * lib/powerpc/setjmp.S: ... Moved here
7669 * normal/sparc64/setjmp.S: Moved from here ...
7670 * lib/sparc64/setjmp.S: ... Moved here
7671
7672 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7673 returns_twice in mingw.
7674
7675 * script/lua/grub_lib.c: New file.
7676 * script/lua/grub_lib.h: Likewise.
7677 * script/lua/grub_lua.h: Likewise.
7678 * script/lua/grub_main.c: Likewise.
7679 * script/lua/lapi.c: Likewise.
7680 * script/lua/lapi.h: Likewise.
7681 * script/lua/lauxlib.c: Likewise.
7682 * script/lua/lauxlib.h: Likewise.
7683 * script/lua/lbaselib.c: Likewise.
7684 * script/lua/lcode.c: Likewise.
7685 * script/lua/lcode.h: Likewise.
7686 * script/lua/ldblib.c: Likewise.
7687 * script/lua/ldebug.c: Likewise.
7688 * script/lua/ldebug.h: Likewise.
7689 * script/lua/ldo.c: Likewise.
7690 * script/lua/ldo.h: Likewise.
7691 * script/lua/ldump.c: Likewise.
7692 * script/lua/lfunc.c: Likewise.
7693 * script/lua/lfunc.h: Likewise.
7694 * script/lua/lgc.c: Likewise.
7695 * script/lua/lgc.h: Likewise.
7696 * script/lua/linit.c: Likewise.
7697 * script/lua/liolib.c: Likewise.
7698 * script/lua/llex.c: Likewise.
7699 * script/lua/llex.h: Likewise.
7700 * script/lua/llimits.h: Likewise.
7701 * script/lua/lmathlib.c: Likewise.
7702 * script/lua/lmem.c: Likewise.
7703 * script/lua/lmem.h: Likewise.
7704 * script/lua/loadlib.c: Likewise.
7705 * script/lua/lobject.c: Likewise.
7706 * script/lua/lobject.h: Likewise.
7707 * script/lua/lopcodes.c: Likewise.
7708 * script/lua/lopcodes.h: Likewise.
7709 * script/lua/loslib.c: Likewise.
7710 * script/lua/lparser.c: Likewise.
7711 * script/lua/lparser.h: Likewise.
7712 * script/lua/lstate.c: Likewise.
7713 * script/lua/lstate.h: Likewise.
7714 * script/lua/lstring.c: Likewise.
7715 * script/lua/lstring.h: Likewise.
7716 * script/lua/lstrlib.c: Likewise.
7717 * script/lua/ltable.c: Likewise.
7718 * script/lua/ltable.h: Likewise.
7719 * script/lua/ltablib.c: Likewise.
7720 * script/lua/ltm.c: Likewise.
7721 * script/lua/ltm.h: Likewise.
7722 * script/lua/lua.h: Likewise.
7723 * script/lua/luaconf.h: Likewise.
7724 * script/lua/lualib.h: Likewise.
7725 * script/lua/lundump.c: Likewise.
7726 * script/lua/lundump.h: Likewise.
7727 * script/lua/lvm.c: Likewise.
7728 * script/lua/lvm.h: Likewise.
7729 * script/lua/lzio.c: Likewise.
7730 * script/lua/lzio.h: Likewise.
7731
5e898c9d 77322009-05-16 Bean <bean123ch@gmail.com>
7733
7734 * include/grub/kernel.h (grub_module_header_types): Add type
7735 OBJ_TYPE_CONFIG.
7736
7737 * kern/main.c (grub_load_config): New function.
7738 (grub_main): Call grub_load_config to read boot config.
7739
7740 * grub-mkimage (generate_image): New parameter config_path.
7741 (options): New option --config.
7742 (main): Parse --config option, and pass it to generate_image.
7743
cf353a47 77442009-05-14 Christian Franke <franke@computer.org>
7745
7746 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
7747 This fixes build on Cygwin.
7748
3834887f 77492009-05-14 Pavel Roskin <proski@gnu.org>
7750
7751 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
7752 jump. This saves two bytes, so the typical case of 2 swapped
7753 drives would fit 32 bytes.
7754
8090fc01 77552009-05-13 Pavel Roskin <proski@gnu.org>
7756
ac963883 7757 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
7758 grub_uint32_t to avoid a warning.
7759
8090fc01 7760 * loader/i386/linux.c (allocate_pages): When assigning
7761 real_mode_mem, cast through grub_size_t to fix a warning. The
7762 code already makes sure that the value would fit a pointer.
7763 (grub_linux_setup_video): Cast render_target->data to
7764 grub_size_t to fix a warning.
7765
18f547ad 77662009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 7767
7768 * commands/i386/pc/drivemap.c: New file - implement drivemap
7769 command.
7770 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
7771 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
7772
6f6a8b28 77732009-05-13 Pavel Roskin <proski@gnu.org>
7774
7775 * util/i386/pc/grub-setup.c (setup): Remove unused variable
7776 embedding_area_exists.
7777
15fbf4c4 77782009-05-13 Robert Millan <rmh.grub@aybabtu.com>
7779
7780 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
7781 it easier to understand / work with.
59978c8a 7782 Improve warning messages for cases where there's no embedding area,
7783 or when it is too small (or core.img too large).
15fbf4c4 7784
238e871f 77852009-05-13 Pavel Roskin <proski@gnu.org>
7786
0ab3a9a4 7787 * loader/i386/pc/multiboot2.c: Add necessary includes for
7788 grub_multiboot2_real_boot().
7789
a2c8c5f8 7790 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
7791 PX record is always little-endian. We only need the lower 2
7792 bytes of the mode.
7793
faec96af 7794 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
7795 facilitate code reuse.
7796 (grub_cpio_mount): Use "struct head", not a char buffer. This
7797 fixes a warning reported by gcc 4.4.
7798
238e871f 7799 * kernel/disk.c (grub_disk_read): Use void pointer for the
7800 buffer.
7801 (grub_disk_write): Use const void pointer for the buffer.
7802 Adjust all callers. Remove unnecessary casts.
7803
901d2f0c 78042009-05-10 Robert Millan <rmh.grub@aybabtu.com>
7805
7806 * util/i386/pc/grub-install.in: Update copyright year.
7807
18f547ad 78082009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 7809
7810 gptsync
7811
7812 * commands/gptsync.c: new file
7813 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
7814 (gptsync_mod_SOURCES): new variable
7815 (gptsync_mod_CFLAGS): likewise
7816 (gptsync_mod_LDFLAGS): likewise
18f547ad 7817 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 7818 new definition
7819 (GRUB_PC_PARTITION_TYPE_HFS): likewise
7820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
7821 * conf/i386-ieee1275.rmk: likewise
7822 * conf/i386-pc.rmk: likewise
7823 * conf/powerpc-ieee1275.rmk: likewise
7824
b4ba690a 78252009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Fixed grub-emu
7828
7829 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
7830 (grub_dl_ref): likewise
7831
317e1a44 78322009-05-08 Robert Millan <rmh.grub@aybabtu.com>
7833
7834 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
7835 split in two functions (one for msdos and one for gpt).
7836
041b8094 78372009-05-08 Pavel Roskin <proski@gnu.org>
7838
752473c2 7839 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
7840 not modified.
7841
041b8094 7842 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
7843 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
7844 Initialize them with -1. Add sanity check for bad1. Eliminate
7845 nerr variable.
7846
172800ce 78472009-05-08 David S. Miller <davem@davemloft.net>
7848
7849 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
7850
29aa5e81 78512009-05-06 Robert Millan <rmh.grub@aybabtu.com>
7852
7853 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 7854 existence.
29aa5e81 7855
96613b62 78562009-05-05 Felix Zielcke <fzielcke@z-51.de>
7857
7858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 7859 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 7860
eef73c8a 78612009-05-05 David S. Miller <davem@davemloft.net>
7862
7863 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
7864
119494b5 78652009-05-05 Pavel Roskin <proski@gnu.org>
7866
7867 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
7868 of grub_dl_ref() and grub_dl_unref().
7869 * commands/parttool.c: Remove preprocessor conditionals around
7870 grub_dl_ref() and grub_dl_unref().
7871 * fs/affs.c: Likewise.
7872 * fs/afs.c: Likewise.
7873 * fs/cpio.c: Likewise.
7874 * fs/ext2.c: Likewise.
7875 * fs/fat.c: Likewise.
7876 * fs/hfs.c: Likewise.
7877 * fs/hfsplus.c: Likewise.
7878 * fs/iso9660.c: Likewise.
7879 * fs/jfs.c: Likewise.
7880 * fs/minix.c: Likewise.
7881 * fs/ntfs.c: Likewise.
7882 * fs/reiserfs.c: Likewise.
7883 * fs/sfs.c: Likewise.
7884 * fs/udf.c: Likewise.
7885 * fs/ufs.c: Likewise.
7886 * fs/xfs.c: Likewise.
7887 * include/grub/dl.h: Likewise.
7888 * loader/xnu.c: Likewise.
7889
de5fd76e 78902009-05-04 Pavel Roskin <proski@gnu.org>
7891
7892 * commands/acpi.c: Remove unused variable my_mod.
7893 * partmap/amiga.c: Likewise.
7894 * partmap/apple.c: Likewise.
7895 * partmap/gpt.c: Likewise.
7896 * partmap/pc.c: Likewise.
7897 * partmap/sun.c: Likewise.
7898 * term/gfxterm.c: Likewise.
7899 * term/i386/pc/vesafb.c: Likewise.
7900 * term/i386/pc/vga.c: Likewise.
7901
983598ad 79022009-05-04 David S. Miller <davem@davemloft.net>
7903
7904 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
7905 pointer args to grub_ieee1275_get_property().
7906
8aadec43 7907 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
7908
9554b15e 7909 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
7910 devices, and do not traverse down under controller nodes.
7911
67e23c90 7912 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
7913 (grub_ofdisk_open): Use it to un-escape "," characters.
7914 * kern/disk.c (find_part_sep): New.
7915 (grub_disk_open): Use it to find the first non-escaped ','
7916 character in the disk name.
7917 * util/ieee1275/devicemap.c (escape_of_path): New.
7918 (grub_util_emit_devicemap_entry): Use it.
7919 * util/sparc64/ieee1275/grub-install.in: Update script to
7920 strip partition specifiers properly by not triggering on
7921 '\' escaped ',' characters.
7922
74bfdd2f 79232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7924
7925 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
7926 to 0x300.
7927 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
7928 resolutions.
7929 (linux_vesafb_modes): Add a lot of additional modes to the list (based
7930 on documentation from Wikipedia).
7931
4241d2b1 79322009-05-04 Pavel Roskin <proski@gnu.org>
7933
7934 * disk/ata.c: Spelling fixes.
7935 * disk/raid.c: Likewise.
7936 * disk/usbms.c: Likewise.
7937 * disk/dmraid_nvidia.c: Likewise.
7938 * kern/ieee1275/openfw.c: Likewise.
7939 * kern/ieee1275/init.c: Likewise.
7940 * kern/ieee1275/cmain.c: Likewise.
7941 * boot/i386/pc/cdboot.S: Likewise.
7942 * video/readers/png.c: Likewise.
7943 * video/i386/pc/vbe.c: Likewise.
7944 * fs/udf.c: Likewise.
7945 * fs/hfs.c: Likewise.
7946 * fs/reiserfs.c: Likewise.
7947 * efiemu/runtime/efiemu.c: Likewise.
7948 * efiemu/main.c: Likewise.
7949 * efiemu/mm.c: Likewise.
7950 * include/grub/elf.h: Likewise.
7951 * include/grub/xnu.h: Likewise.
7952 * include/grub/usbdesc.h: Likewise.
7953 * include/grub/usb.h: Likewise.
7954 * include/grub/script_sh.h: Likewise.
7955 * include/grub/lib/LzmaEnc.h: Likewise.
7956 * include/grub/efiemu/efiemu.h: Likewise.
7957 * include/grub/command.h: Likewise.
7958 * normal/menu.c: Likewise.
7959 * normal/main.c: Likewise.
7960 * normal/datetime.c: Likewise.
7961 * bus/usb/uhci.c: Likewise.
7962 * mmap/i386/uppermem.c: Likewise.
7963 * mmap/mmap.c: Likewise.
7964 * commands/acpi.c: Likewise.
7965 * commands/test.c: Likewise.
7966 * partmap/apple.c: Likewise.
7967 * font/font.c: Likewise.
7968 * loader/sparc64/ieee1275/linux.c: Likewise.
7969 * loader/macho.c: Likewise.
7970 * loader/i386/bsd_trampoline.S: Likewise.
7971 * loader/i386/bsd.c: Likewise.
7972 * loader/xnu.c: Likewise.
7973 * term/i386/pc/vesafb.c: Likewise.
7974 * term/usb_keyboard.c: Likewise.
7975 * util/resolve.c: Likewise.
7976 * util/getroot.c: Likewise.
7977
0cfc0083 79782009-05-04 Felix Zielcke <fzielcke@z-51.de>
7979
7980 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
7981
7c1d00cd 79822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7983
7984 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
7985 build error.
7986
b01f0548 79872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7988
7989 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
7990 parameter only available on BIOS.
7991
ecc3eb22 79922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 Removed wrong semicolon in declaration
7995
7996 * grub/misc.h (grub_dprintf): remove semicolon
7997
112972a9 79982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7999
8000 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8001 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8002 is done by grub_cmd_linux() now).
8003 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8004 restore video to text mode.
8005 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8006 indicates lack of "vga=" parameter. "vga=0" is mapped to
8007 `GRUB_LINUX_VID_MODE_NORMAL'.
8008
afd5c115 80092009-05-04 Felix Zielcke <fzielcke@z-51.de>
8010
8011 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8012 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8013 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8014 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8015 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8016 `grub_script.tab.c'.
8017
8018 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8023
faa517ce 8024 * Makefile.in: Remove duplicated 2008 in Copyright line.
8025
ae0c0bdc 80262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8027
473d1e45 8028 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8029 unconditionally.
8030 * include/grub/util/misc.h (grub_util_warn): New declaration.
8031
8032 * util/i386/pc/grub-install.in: Understand --force and pass it down
8033 to grub-setup.
8034
8035 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8036 down to setup().
8037 (setup): Improve error messages and add warnings when requested to
8038 install in odd layouts. Refuse to install using blocklists unless
8039 --force was set.
8040
18f547ad 80412009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8042
8043 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8044
6d260daa 80452009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Updated copyright year
8048
8049 * fs/hfsplus.c: updated copyright year
18f547ad 8050
69f853f8 80512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 HFS+ UUID
8054
18f547ad 8055 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8056 in the space previously used by unused3
8057 (grub_hfsplus_uuid): new function
8058 (grub_hfsplus_fs): added uuid field
8059
4c402e73 80602009-05-03 Pavel Roskin <proski@gnu.org>
8061
8062 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8063 suppress warnings. It's no longer needed.
8064 * disk/host.c: Likewise.
8065 * disk/ata_pthru.c: Likewise.
8066 * disk/loopback.c: Likewise.
8067 * hook/datehook.c: Likewise.
8068 * parttool/pcpart.c: Likewise.
8069 * fs/i386/pc/pxe.c: Likewise.
8070 * fs/ntfscomp.c: Likewise.
8071 * efiemu/main.c: Likewise.
8072 * mmap/mmap.c: Likewise.
8073 * commands/crc.c: Likewise.
8074 * commands/hexdump.c: Likewise.
8075 * commands/hdparm.c: Likewise.
8076 * commands/acpi.c: Likewise.
8077 * commands/echo.c: Likewise.
8078 * commands/minicmd.c: Likewise.
8079 * commands/blocklist.c: Likewise.
8080 * commands/memrw.c: Likewise.
8081 * commands/loadenv.c: Likewise.
8082 * commands/usbtest.c: Likewise.
8083 * commands/lsmmap.c: Likewise.
8084 * commands/boot.c: Likewise.
8085 * commands/parttool.c: Likewise.
8086 * commands/configfile.c: Likewise.
8087 * commands/search.c: Likewise.
8088 * commands/ieee1275/suspend.c: Likewise.
8089 * commands/cat.c: Likewise.
8090 * commands/i386/pc/pxecmd.c: Likewise.
8091 * commands/i386/pc/play.c: Likewise.
8092 * commands/i386/pc/halt.c: Likewise.
8093 * commands/i386/pc/vbeinfo.c: Likewise.
8094 * commands/i386/pc/vbetest.c: Likewise.
8095 * commands/lspci.c: Likewise.
8096 * commands/date.c: Likewise.
8097 * commands/handler.c: Likewise.
8098 * commands/ls.c: Likewise.
8099 * commands/test.c: Likewise.
8100 * commands/cmp.c: Likewise.
8101 * commands/efi/loadbios.c: Likewise.
8102 * commands/efi/fixvideo.c: Likewise.
8103 * commands/halt.c: Likewise.
8104 * commands/help.c: Likewise.
8105 * commands/reboot.c: Likewise.
8106 * hello/hello.c: Likewise.
8107 * script/sh/main.c: Likewise.
8108 * loader/xnu.c: Likewise.
8109 * term/terminfo.c: Likewise.
8110 * term/i386/pc/serial.c: Likewise.
8111 * term/usb_keyboard.c: Likewise.
8112
515b5079 81132009-05-03 David S. Miller <davem@davemloft.net>
8114
8115 * normal/menu.c: Include grub/parser.h
8116
dfc31a22 81172009-05-03 Pavel Roskin <proski@gnu.org>
8118
2fee74f1 8119 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8120 not char*.
8121 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8122 Suggested by Javier Martín <lordhabbit@gmail.com>
8123
dfc31a22 8124 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8125 efiemu??.o doesn't exist.
8126 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8127 copying.
8128
18f547ad 81292009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8130
8131 FreeBSD 64-bit support
8132
18f547ad 8133 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8134 and loader/i386/bsd_trampoline.S
8135 (bsd_mod_ASFLAGS): new variable
8136 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8137 (FREEBSD_MODTYPE_KERNEL64): likewise
8138 (grub_bsd64_trampoline_start): likewise
8139 (grub_bsd64_trampoline_end): likewise
8140 (grub_bsd64_trampoline_selfjump): likewise
8141 (grub_bsd64_trampoline_gdt): likewise
8142 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8143 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8144 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8145 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8146 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8147 of "attrib" member
8148 * loader/i386/bsd_pagetable.c: new file
8149 * loader/i386/bsd_trampoline.S: likewise
8150 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8151 (ALIGN_VAR): likewise
8152 (entry_hi): new variable
8153 (kern_end_mdofs): likewise
8154 (is_64bit): likewise
8155 (grub_freebsd_add_meta): use ALIGN_VAR
8156 (grub_e820_mmap): new declaration
8157 (grub_freebsd_add_mmap): new function
8158 (grub_freebsd_add_meta_module): support 64 bit kernels
8159 (grub_freebsd_list_modules): use ALIGN_VAR
8160 (gdt_descriptor): new declaration
8161 (grub_freebsd_boot): support 64 bit kernels
8162 (grub_bsd_elf64_hook): new function
8163 (grub_bsd_load_elf): support elf64
8164
038c5720 81652009-05-03 Bean <bean123ch@gmail.com>
8166
8167 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8168 after we get the result of if statement.
8169
fc45fb58 81702009-05-03 Bean <bean123ch@gmail.com>
8171
8172 * Makefile.in (enable_efiemu): New variable.
8173
8174 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8175 set.
8176 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8177 path.
8178 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8179 path, add -mno-red-zone option.
8180 (efiemu64_s.o): Likewise.
8181 (efiemu64.o): Use macro $^ for source file.
8182
8183 * configure.ac (--enable-efiemu): New option.
8184
bbee0f2b 81852009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 xnu support
8188
8189 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8190 (pkglib_MODULES): add xnu.mod
8191 (xnu_mod_SOURCES): new variable
8192 (xnu_mod_CFLAGS): likewise
8193 (xnu_mod_LDFLAGS): likewise
8194 (xnu_mod_ASFLAGS): likewise
8195 * conf/i386-pc.rmk: likewise
8196 * conf/x86_64-efi.rmk: likewise
7dd4a573 8197 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8198 new declaration
8199 * include/grub/i386/macho.h: new file
8200 * include/grub/i386/xnu.h: likewise
8201 * include/grub/macho.h: likewise
8202 * include/grub/machoload.h: likewise
8203 * include/grub/x86_64/macho.h: likewise
8204 * include/grub/x86_64/xnu.h: likewise
8205 * include/grub/xnu.h: likewise
8206 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8207 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8208 * loader/i386/efi/xnu.c: new file
8209 * loader/i386/pc/xnu.c: likewise
8210 * loader/i386/xnu.c: likewise
8211 * loader/i386/xnu_helper.S: likewise
8212 * loader/macho.c: likewise
8213 * loader/xnu.c: likewise
8214 * loader/xnu_resume.c: likewise
8215 * util/grub-dumpdevtree: likewise
8216 * include/grub/i386/pit.h: include grub/err.h
8217 (grub_pit_wait): export
8218 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8219
5caf964d 82202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Efiemu
7dd4a573 8223
5caf964d 8224 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8225 _linux_efi, linux_efi.
8226 new files in grub-emu
5caf964d 8227 new targets efiemu32.o and efiemu64.o
8228 * loader/linux_normal_efiemu.c: likewise
8229 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8230 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8231 files to copy
8232 * include/grub/autoefi.h: new file
7dd4a573 8233 * include/grub/i386/efiemu.h: likewise
5caf964d 8234 * include/grub/i386/pc/efiemu.h: likewise
8235 * include/grub/efi/api.h: add LL suffix when necessary
8236 new definitions relating to tables
8237 * include/grub/efiemu/efiemu.h: new file
8238 * include/grub/efiemu/runtime.h: likewise
8239 * efiemu/prepare.c: likewise
8240 * efiemu/loadcore_common.c: likewise
8241 * efiemu/loadcore64.c: likewise
8242 * efiemu/runtime/efiemu.sh: likewise
8243 * efiemu/runtime/efiemu.S: likewise
8244 * efiemu/runtime/efiemu.c: likewise
8245 * efiemu/runtime/config.h: likewise
8246 * efiemu/prepare32.c: likewise
8247 * efiemu/main.c: likewise
8248 * efiemu/modules/pnvram.c: likewise
8249 * efiemu/modules/i386: likewise
8250 * efiemu/modules/i386/pc: likewise
8251 * efiemu/modules/acpi.c: likewise
8252 * efiemu/i386/pc/cfgtables.c: likewise
8253 * efiemu/i386/loadcore64.c: likewise
8254 * efiemu/i386/loadcore32.c: likewise
8255 * efiemu/prepare64.c: likewise
8256 * efiemu/loadcore.c: likewise
8257 * efiemu/symbols.c: likewise
8258 * efiemu/mm.c: likewise
8259 * efiemu/loadcore32.c: likewise
7dd4a573 8260
82612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8262
8263 ACPI spoofing
8264
8265 * commands/acpi.c: new file
8266 * commands/i386/pc/acpi.c: likewise
8267 * commands/efi/acpi.c: likewise
8268 * include/grub/acpi.h: likewise
8269 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8270 (acpi_mod_SOURCES): new variable
8271 (acpi_mod_CFLAGS): likewise
8272 (acpi_mod_LDFLAGS): likewise
8273 * conf/i386-efi.rmk: likewise
8274 * conf/x86_64-efi.rmk: likewise
8275
7dd4a573 82762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8277
8278 Missing part from mmap patch
8279
8280 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8281 (grub_mmap_unregister)
8282 (grub_mmap_free_and_unregister): use grub_mmap_register
8283
7dd4a573 82842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8285
8286 Mmap services
8287
8288 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8289 * loader/i386/linux.c (find_mmap_size): likewise
8290 (allocate_pages): likewise
8291 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8292 (grub_fill_multiboot_mmap): likewise
8293 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8294 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8295 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8296 (OPENBSD_MMAP_RESERVED): likewise
8297 * include/grub/i386/pc/memory.h: include grub/memory.h
8298 (grub_lower_mem): removed
8299 (grub_upper_mem): likewise
8300 (GRUB_MACHINE_MEMORY_ACPI): new definition
8301 (GRUB_MACHINE_MEMORY_NVS): likewise
8302 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8303 (GRUB_MACHINE_MEMORY_HOLE): likewise
8304 (grub_machine_mmap_register): likewise
8305 (grub_machine_mmap_unregister): likewise
8306 (grub_machine_get_upper): likewise
8307 (grub_machine_get_lower): likewise
8308 (grub_machine_get_post64): likewise
8309 * include/grub/i386/efi/memory.h: new file
8310 * include/grub/x86_64/efi/memory.h: likewise
8311 * include/grub/efi/memory.h: likewise
8312 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8313 (mmap_mod_SOURCES): new variable
8314 (mmap_mod_LDFLAGS): likewise
8315 (mmap_mod_ASFLAGS): likewise
8316 * conf/i386-coreboot.rmk: likewise
8317 * conf/i386-ieee1275.rmk: likewise
8318 * conf/i386-efi.rmk: likewise
8319 * conf/x86_64-efi.rmk: likewise
8320 * include/grub/types.h (UINT_TO_PTR): new macro
8321 (PTR_TO_UINT32): likewise
8322 (PTR_TO_UINT64): likewise
8323 * include/grub/memory.h: new file
8324 * mmap/i386/pc/mmap.c: likewise
8325 * mmap/i386/pc/mmap_helper.S: likewise
8326 * mmap/i386/uppermem.c: likewise
8327 * mmap/mmap.c: likewise
8328 * mmap/efi/mmap.c: likewise
7dd4a573 8329 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8330 grub_upper_mem
8331 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8332 (grub_upper_mem): likewise
8333 (grub_machine_init): don't use grub_upper_mem,
8334 make grub_lower_mem local
8335 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8336 grub_mmap_iterate and grub_mmap_get_upper
8337 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8338
d558e6b5 83392009-05-02 Bean <bean123ch@gmail.com>
8340
8341 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8342 script/sh/parser.y.
8343 (pkglib_MODULES): Add normal.mod and sh.mod.
8344 (normal_SOURCES): New variable.
8345 (normal_mod_CFLAGS): Likewise.
8346 (normal_mod_LDFLAGS): Likewise.
8347 (sh_mod_SOURCES): Likewise.
8348 (sh_mod_CFLAGS): Likewise.
8349 (sh_mod_LDFLAGS): Likewise.
8350
8351 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8352 script/sh/lexer.c_DEPENDENCIES.
8353 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8354 kern/rescue_reader.c and kern/rescue_parser.c.
8355 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8356 (grub_emu_SOURCES): Change source files.
8357 (pkglib_MODULES): Remove normal.mod.
8358 (normal_SOURCES): Removed.
8359 (normal_mod_CFLAGS): Likewise.
8360 (normal_mod_LDFLAGS): Likewise.
8361 * conf/i386-coreboot.rmk: Likewise.
8362 * conf/i386-efi.rmk: Likewise.
8363 * conf/i386-ieee1276.rmk: Likewise.
8364 * conf/powerpc-ieee1275.rmk: Likewise.
8365 * conf/sparc64-ieee1275.rmk: Likewise.
8366 * conf/x86_64-efi.rmk: Likewise.
8367
8368 * include/grub/command.h (grub_command_execute): New inline function.
8369
8370 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8371
8372 * include/grub/normal.h: Remove <grub/setjmp.h>.
8373 (grub_fs_module_list): Moved to normal/autofs.c.
8374 (grub_exit_env): Removed.
8375 (grub_command_execute): Likewise.
8376 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8377 parameter script.
8378 (read_command_list): New function declaration.
8379 (read_fs_list): Likewise.
8380
8381 * include/parser.h: Include <grub/reader.h>.
8382 (grub_parser_split_cmdline): Change type of getline parameter.
8383 (grub_parser): New structure.
8384 (grub_parser_class): New variable.
8385 (grub_parser_execute): New function declaration.
8386 (grub_register_rescue_parser): Likewise.
8387 (grub_parser_register): New inline function.
8388 (grub_parser_unregister): Likewise.
8389 (grub_parser_get_current): Likewise.
8390 (grub_parser_set_current): Likewise.
8391
8392 * include/grub/reader.h: New file.
8393 * kern/reader.c: Likewise.
8394 * kern/rescue_parser.c: Likewise.
8395 * kern/rescue_reader.c: Likewise.
8396 * normal/autofs.c: Likewise.
8397 * normal/dyncmd.c: Likewise.
8398
8399 * include/grub/rescue.h: Removed.
8400 * normal/command.h: Likewise.
8401
8402 * include/grub/script.h: Moved to ...
8403 * include/grub/script_sh.h: ... Moved here.
8404 * normal/execute.c: Moved to ...
8405 * script/sh/execute.c: ... Moved here.
8406 * normal/function.c: Moved to ...
8407 * script/sh/function.c: ... Moved here.
8408 * normal/lexer.c: Moved to ...
8409 * script/sh/lexer.c: ... Moved here.
8410 * normal/parser.y: Moved to ...
8411 * script/sh/parser.y: ... Moved here.
8412 * normal/script.c: Moved to ...
8413 * script/sh/script.c: ... Moved here.
8414
8415 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8416 <grub/reader.h>.
8417 (grub_exit_env): Removed.
8418 (fs_module_list): Moved to normal/autofs.c.
8419 (grub_file_getline): Don't handle comment here.
8420 (free_menu): Skip removed field entry->commands.
8421 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8422 script parameter.
8423 (read_config_file): Removed nested parameter, change getline function.
8424 (grub_enter_normal_mode): Removed.
8425 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8426 (read_command_list): Likewise.
8427 (autoload_fs_module): Moved to normal/autofs.c.
8428 (read_fs_list): Likewise.
8429 (reader_nested): New variable.
8430 (grub_normal_execute): Run parser.sh to switch to sh parser.
8431 (grub_cmd_rescue): Removed.
8432 (cmd_normal): Removed.
8433 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8434 rescue command.
8435 (grub_cmdline_run): New function.
8436 (grub_normal_reader_init): Likewise.
8437 (grub_normal_read_line): Likewise.
8438 (grub_env_write_pager): Likewise.
8439 (cmdline): New variable.
8440 (grub_normal_reader): Likewise.
8441 (GRUB_MOD_INIT): Register normal reader and set as current, register
8442 pager hook, register normal command with grub_register_command_prio,
8443 so that it won't show up in command.lst.
8444 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8445 grub_fs_autoload_hook.
8446
8447 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8448 (grub_menu_execute_entry): Replace grub_script_execute with
8449 grub_parser_execute, change parameter to grub_command_execute.
8450
8451 * normal/menu_text.c: Remove <grub/script.h>.
8452
8453 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8454 and <grub/parser.h>.
8455 (run): Change editor_getline to use new parser interface. Change
8456 parameter to grub_command_execute.
8457
8458 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8459 <grub/reader.h> and <grub/parser.h>.
8460 (grub_load_normal_mode): Execute normal command.
8461 (grub_main): Call grub_register_core_commands,
8462 grub_register_rescue_parser and grub_register_rescue_reader, use
8463 grub_reader_loop to enter input loop.
8464
7dd4a573 8465 * kern/parser.c (grub_parser_split_cmdline): Change type of
8466 getline parameter.
d558e6b5 8467 (grub_parser_class): New variable.
8468 (grub_parser_execute): New function.
8469
8470 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8471 * loader/multiboot2.c: Likewise.
8472 * loader/sparc64/ieee1275/linux.c: Likewise.
8473
8474 * util/grub-emu.c (read_command_list): New dummy function.
8475
18db813d 84762009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8477
8478 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8479 count to 16 for CCISS and IDA.
8480
6c67de15 84812009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8482
8483 * normal/menu_text.c (grub_wait_after_message): Print a newline
8484 after waiting for user input.
8485
8486 * loader/i386/linux.c: Include `<grub/normal.h>'.
8487 (grub_cmd_linux): Improve the error message about `ask' mode, by
8488 waiting for user input so it's not missed (we can do this, since
8489 user requested interaction).
8490
d9dc87b0 84912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Added missing lst to grub-mkrescue
8494
8495 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8496 and ${input_dir}/parttool.lst
8497
ac8a2baa 84982009-04-30 David S. Miller <davem@davemloft.net>
8499
ad22a610 8500 * util/hostdisk.c (device_is_wholedisk): New function.
8501 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8502 zero only if device_is_wholedisk() returns true.
8503
6966215d 8504 * util/hostdisk.c (convert_system_partition_to_system_disk):
8505 Handle virtual disk devices named /dev/vdiskX as found on sparc
8506 and powerpc.
8507
ac8a2baa 8508 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8509 lettered partition specifier is found, convert to numbered.
8510
979b4fb4 85112009-04-29 David S. Miller <davem@davemloft.net>
8512
e2bf39b2 8513 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8514 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8515
3c64e104 8516 * normal/command.c: Add missing newline at end of file.
8517
979b4fb4 8518 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8519 warnings.
8520 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8521 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8522 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8523 ihandles have a 32-bit type but need to be stored in a "void *".
8524
136d9f82 85252009-04-28 Pavel Roskin <proski@gnu.org>
8526
9459c306 8527 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8528 not disk. Adjust all dependencies.
2e08a26a 8529 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8530 grub_disk_close().
8531
136d9f82 8532 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8533 parent's partition, don't copy it by reference, as it gets freed
8534 on close.
8535
7dd4a573 85362009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8537
8538 Preboot hooks support
8539
8540 * commands/boot.c (struct grub_preboot_t): new declaration
8541 (preboots_head): new variable
8542 (preboots_tail): likewise
8543 (grub_loader_register_preboot_hook): new function
8544 (grub_loader_unregister_preboot_hook): likewise
8545 (grub_loader_set): launch preboot hooks
8546 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8547 (grub_loader_register_preboot_hook): new declaration
8548 (grub_loader_unregister_preboot_hook): likewise
8549
5af922b5 85502009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Warning fix
8553
7dd4a573 8554 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8555 calling grub_dprintf
8556
a5562c30 85572009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Bug and warning fixes
8560
7dd4a573 8561 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8562 declaration
8563 * commands/test.c (test_parse): fixed bug with file tests and corrected
8564 declaration of find_file
8565
4006f85c 85662009-04-26 Pavel Roskin <proski@gnu.org>
8567
8568 * Makefile.in: Don't install empty manual pages if help2man is
8569 missing. Use help2man option for output, not shell redirection.
8570
5c77c3de 85712009-04-26 David S. Miller <davem@davemloft.net>
8572
8573 * util/grub-mkdevicemap.c (make_device_map): Add missing
8574 NESTED_FUNC_ATTR to process_device().
8575
033b10a8 85762009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Test command
8579
8580 * commands/test.c: rewritten to use bash-like test
8581
e4343593 85822009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Parttool autoloading and improvements
8585
7dd4a573 8586 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8587 (parttool.lst): new target
8588 * genmk.rb: generate parttool-*
8589 (CLEANFILES): add #{parttool}
8590 (PARTTOOLFILES): new variable
8591 * genparttoollist.sh: new file
7dd4a573 8592 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8593 (grub_pcpart_type): likewise
8594 * commands/parttool.c (helpmsg): new variable
8595 (grub_cmd_parttool): output help if not enough arguments are supplied
8596 autoload modules
8597 (GRUB_MOD_INIT(parttool)): use helpmsg
8598
0d312500 85992009-04-24 David S. Miller <davem@davemloft.net>
8600
7dd4a573 8601 Avoiding opening same device multiple times in device iterator.
0d312500 8602
8603 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8604 and use it to build a list of partitions in iterate_disk() and
0d312500 8605 iterate_partition().
8606
ac20caff 8607 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8608 on disk->data.
8609
0dcf7495 8610 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8611 grub_devalias_iterate() result instead of unconditional 0.
8612 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8613 Also, capture hook return value, either directly or via
8614 grub_children_iterate(), and propagate to caller.
8615 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8616 grub_children_iterate): Return value is now 'int' instead of
8617 'grub_err_t'.
8618 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8619 like a proper iterator, stopping when hooks return non-zero.
8620 (grub_devalias_iterate): Likewise.
8621
c8c08833 86222009-04-23 David S. Miller <davem@davemloft.net>
8623
8624 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8625
f01005a8 86262009-04-22 David S. Miller <davem@davemloft.net>
8627
8628 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8629 is larger than address_cells, use that value for address_cells too.
8630
4e8269da 8631 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8632 IEEE1275_MAX_PATH_LEN): Define.
8633 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8634 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8635 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8636 'devtype'. Explicitly NULL terminate devalias expansion.
8637
a1447506 8638 * util/sparc64/ieee1275/misc.c: New file.
8639 * util/sparc64/ieee1275/grub-setup.c: New file.
8640 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8641 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8642 * util/sparc64/ieee1275/grub-install.in: New file.
8643 * util/ieee1275/ofpath.c: New file.
8644 * util/ieee1275/devicemap.c: New file.
8645 * util/devicemap.c: New file.
8646 * util/deviceiter.c: New file.
8647 * kern/sparc64/ieee1275/init.c: New file.
8648 * include/grub/util/ofpath.h: New file.
8649 * include/grub/util/deviceiter.h: New file.
8650 * util/grub-mkdevicemap.c: Include deviceiter.h.
8651 Implement using grub_util_emit_devicemap_entry and
8652 grub_util_iterate_devices.
8653 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8654 util/devicemap.c into grub-mkdevicemap
8655 * conf/i386-efi.rmk: Likewise.
8656 * conf/i386-ieee1275.rmk: Likewise.
8657 * conf/i386-pc.rmk: Likewise.
8658 * conf/powerpc-ieee1275.rmk: Likewise.
8659 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8660 images and installation utilities. Build kernel as image
8661 instead of as elf binary. Use common rules as much as possible.
8662
7dd4a573 86632009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8664
8665 Correct GPT definition
8666
7dd4a573 8667 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8668 of "attrib" member
8669
c6c5219f 86702009-04-19 Felix Zielcke <fzielcke@z-51.de>
8671
8672 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8673
0552ff9f 86742009-04-19 David S. Miller <davem@davemloft.net>
8675
8676 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8677 (grub_rescue_cmd_linux): Rename to...
8678 (grub_cmd_linux): and fix prototype.
8679 (grub_rescue_cmd_initrd): Rename to...
8680 (grub_cmd_initrd): and fix prototype.
8681 (cmd_linux, cmd_initrd): New.
8682 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8683 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8684
d1a282fc 86852009-04-17 Pavel Roskin <proski@gnu.org>
8686
07c5039f 8687 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8688 format.
8689 (grub_ohci_transfer): Likewise.
8690
b012002d 8691 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8692
1bc09c35 8693 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8694 return without a value. Fix inconsistent indentation.
8695
e0ff9126 8696 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8697 match struct grub_fs.
8698
d1a282fc 8699 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8700 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8701 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8702 * commands/lspci.c (grub_lspci_iter): Likewise.
8703
a96df3f2 87042009-04-16 Bean <bean123ch@gmail.com>
8705
8706 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8707 value.
8708
41bb0fe9 87092009-04-15 Pavel Roskin <proski@gnu.org>
8710
8711 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8712 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8713 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8714 definitions.
8715
596c6970 87162009-04-15 Felix Zielcke <fzielcke@z-51.de>
8717
8718 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8719 that no multiple data or metadata areas are supported and `Unknown
596c6970 8720 metadata header'.
8721
7dd4a573 87222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8723
8724 Move loader out of the kernel
8725
8726 * kern/loader.c: moved to ...
8727 * commands/boot.c: ... moved here
8728 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
8729 * commands/boot.c (grub_cmd_boot): moved here. All users updated
8730 * include/grub/kernel.h (grub_machine_fini): export
8731 * include/grub/loader.h (grub_loader_is_loaded): update declaration
8732 (grub_loader_set): likewise
8733 (grub_loader_unset): likewise
8734 (grub_loader_boot): likewise
8735 * conf/common.rmk: new module boot.mod
8736 (pkglib_MODULES): add boot.mod
8737 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
8738 (grub_emu_SOURCES): likewise
8739 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
8740 (grub_emu_SOURCES): likewise
8741 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
8742 (grub_emu_SOURCES): likewise
8743 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
8744 (grub_emu_SOURCES): likewise
8745 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
8746 (grub_emu_SOURCES): likewise
7dd4a573 8747 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
8748 (grub_emu_SOURCES): likewise
0d5d5653 8749 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 8750 (grub_emu_SOURCES): likewise
0d5d5653 8751
7dd4a573 87522009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 8753
8754 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 8755
5999d619 8756 * kern/misc.c (grub_itoa): Removed function
8757 (grub_ltoa): likewise
8758 (grub_vsprintf): use grub_lltoa
8759
7dd4a573 87602009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 8761
8762 Restore grub-emu
8763
8764 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
8765 * conf/i386-coreboot.rmk: likewise
8766 * conf/i386-ieee1275.rmk: likewise
8767 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8768
20318222 87692009-04-15 Felix Zielcke <fzielcke@z-51.de>
8770
8771 * INSTALL: Add that `./autogen.sh' needs to be run before
8772 `./configure.'.
8773
d05f0df3 87742009-04-14 Bean <bean123ch@gmail.com>
8775
8776 * Makefile.in (pkglib_DATA): Add handler.lst.
8777 (handler.lst): New rule.
8778
8779 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
8780 * conf/i386-coreboot.rmk: Likewise.
8781 * conf/i386-ieee1275.rmk: Likewise.
8782 * conf/i386-efi.rmk: Likewise.
8783 * conf/x86_64-efi.rmk: Likewise.
8784 * conf/powerpc-ieee1275.rmk: Likewise.
8785 * conf/sparc64-ieee1275.rmk: Likewise.
8786
8787 * genhandlerlist.sh: New file.
8788
8789 * genmk.rb: Add rules to generate handler.lst.
8790
8791 * include/grub/normal.h (grub_file_getline): New function definition.
8792 (read_handler_list): Likewise.
8793 (free_handler_list): Likewise.
8794
8795 * include/grub/term.h (grub_term_register_input): Add name parameter
8796 for auto generation of handler.lst.
8797 (grub_term_register_output): Likewise.
8798
8799 * normal/handler.c: New file.
8800
8801 * normal/main.c (get_line): Renamed to grub_file_getline.
8802 (read_config_file): Use the newly renamed grub_file_getline.
8803 (read_command_list): Likewise.
8804 (read_fs_list): Likewise.
8805 (grub_normal_execute): Call read_handler_list to parse handler.lst.
8806 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
8807
8808 * term/efi/console.c (grub_console_init): Add name parameter for auto
8809 generation of handler.lst.
8810 * term/gfxterm.c: Likewise.
8811 * term/i386/pc/at_keyboard.c: Likewise.
8812 * term/i386/pc/console.c: Likewise.
8813 * term/i386/pc/serial.c: Likewise.
8814 * term/i386/pc/vesafb.c: Likewise.
8815 * term/i386/pc/vga.c: Likewise.
8816 * term/i386/pc/vga_text.c: Likewise.
8817 * term/ieee1275/ofconsole.c: Likewise.
8818 * term/usb_keyboard.c: Likewise.
8819
33c846be 88202009-04-14 Bean <bean123ch@gmail.com>
8821
8822 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
8823 properly with null character.
8824
4484e01e 88252009-04-14 Felix Zielcke <fzielcke@z-51.de>
8826
8827 * configure: Remove.
8828 * config.h.in: Likewise.
f93d668e 8829 * stamp-h.in: Likewise.
4484e01e 8830 * DISTLIST: Likewise.
8831 * conf/common.mk: Likewise.
8832 * conf/i386-coreboot.mk: Likewise.
8833 * conf/i386-efi.mk: Likewise.
8834 * conf/i386-ieee1275.mk: Likewise.
8835 * conf/i386.mk: Likewise.
8836 * conf/i386-pc.mk: Likewise.
8837 * conf/powerpc-ieee1275.mk: Likewise.
8838 * conf/sparc64-ieee1275.mk: Likewise.
8839 * conf/x86_64-efi.mk: Likewise.
8840
8841 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
8842 develop on GRUB.
8843
7dd4a573 88442009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 8845 David S. Miller <davem@davemloft.net>
8846
8847 * util/hostdisk.c (make_device_name): Fix buffer length
8848 calculations.
8849
e25b5a8c 88502009-04-14 Felix Zielcke <fzielcke@z-51.de>
8851
8852 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
8853 <sys/param.h> and <sys/sysctl.h>.
8854 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
8855 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
8856 opening the device and reset them afterwards.
8857
1f1f580c 88582009-04-13 Pavel Roskin <proski@gnu.org>
8859
8860 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
8861 Reported by John Stanley <jpsinthemix@verizon.net>
8862
7ebc2d6b 88632009-04-13 Robert Millan <rmh@aybabtu.com>
8864
8865 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 8866 that name for menuentries when appropriate.
7ebc2d6b 8867
d8ba3667 88682009-04-13 Felix Zielcke <fzielcke@z-51.de>
8869
8870 * util/grub.d/10_freebsd.in: Add a missing `fi'.
8871
cba416eb 88722009-04-13 Robert Millan <rmh@aybabtu.com>
8873
8874 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
8875 to Linux, simply abort telling the user it's no longer supported.
8876
a547a745 88772009-04-13 Felix Zielcke <fzielcke@z-51.de>
8878
8879 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 8880 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 8881 `freebsd_loadenv' only when devices.hints exist.
8882
232a769c 88832009-04-13 Pavel Roskin <proski@gnu.org>
8884
8885 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
8886
c3012039 88872009-04-13 Felix Zielcke <fzielcke@z-51.de>
8888
8889 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
8890 partition number.
8891 (grub_drive): Likewise.
8892
234022fe 88932009-04-13 David S. Miller <davem@davemloft.net>
8894
8895 * kern/sparc64/ieee1275/ieee1275.c: New file.
8896 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
8897 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
8898 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
8899 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
8900 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
8901 grub_ieee1275_alloc_physmem): Declare new exported functions.
8902
d8e1836c 8903 * include/grub/sparc64/ieee1275/loader.h: New file.
8904 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8905 * include/grub/sparc64/kernel.h: Likewise.
8906 * loader/sparc64/ieee1275/linux.c: Likewise.
8907
96bd81ec 8908 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
8909 (grub_fstest_SOURCES): Likewise.
8910
6a4737e5 8911 * util/hostdisk.c (make_device_name): Do not make any assumptions
8912 about the length of drive names.
8913
1d7a72fd 8914 * kern/dl.c (grub_dl_load_file): Close file immediately when
8915 we are done using it.
8916
56bc2471 89172009-04-12 David S. Miller <davem@davemloft.net>
8918
8919 * kern/misc.c (grub_ltoa): Fix cast when handling negative
8920 values. Noticed by Pavel Roskin.
8921
df38d0bb 8922 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
8923 target compiler.
7dd4a573 8924
e382e93a 8925 * genmk.rb: Add more flexible image type specification, also
8926 pass --strip-unneeded to objcopy.
8927 * conf/i386-pc.rmk: Use *_FORMAT.
8928 * conf/i386-pc.mk: Rebuilt.
8929
f5dbbca9 8930 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
8931 (OFDISK_HASH_SZ): Define.
8932 (ofdisk_hash): New hash table.
8933 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
8934 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
8935 instead of device phandle which is not unique.
8936
91c88b12 8937 * kern/sparc64/ieee1275/init.c: Delete, replace with...
8938 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
8939 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
8940 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
8941 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
8942 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
8943 GRUB_KERNEL_MACHINE_DATA_END): Define.
8944 (grub_kernel_image_size, grub_total_module_size): Declare.
8945
5b5d4aa5 89462009-04-12 Pavel Roskin <proski@gnu.org>
8947
7dd4a573 8948 * configure.ac: Change the logic when we check for target tools.
8949 Do it when the target is specified and it's different from the
8950 specified value of the host.
5b5d4aa5 8951
c91e1793 89522009-04-11 Felix Zielcke <fzielcke@z-51.de>
8953
8954 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
8955 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
8956 GNU/kFreeBSD. Check if a device is a character device. Use
8957 DIOCGMEDIASIZE to get the size.
8958 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
8959 support for GNU/kFreeBSD.
8960 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
8961 is a character device instead of a block device. Add support for
8962 FreeBSD device names.
8963
8964 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
8965 is a character device instead of a block device.
8966
8967 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
8968 is a character device instead of a block device.
8969
b1ac8644 89702009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
8971
8972 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
8973 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
8974 FreeBSD. Check if a device is a character device. Use
8975 DIOCGMEDIASIZE to get the size.
8976 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
8977 support for FreeBSD.
8978 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
8979 is a character device instead of a block device. Add support for
8980 FreeBSD device names.
8981
8982 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
8983 a character device instead of a block device.
8984 (grub_util_check_char_device): New function.
8985
8986 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
8987 a character device instead of a block device.
8988
8989 * include/grub/util/getroot.h (grub_util_check_char_device): New
8990 prototype.
8991
a3f7515a 89922009-04-11 David S. Miller <davem@davemloft.net>
8993
8994 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
8995 static libgcc.
8996 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
8997 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
8998 function, if present.
8999 (__bswapdi2): Likewise.
9000
0d44993d 9001 * include/grub/sparc64/ieee1275/boot.h: New file.
9002 * boot/sparc64/ieee1275/boot.S: Likewise.
9003 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9004
ed3d2bc2 9005 * kern/misc.c (grub_ltoa): New function.
9006 (grub_vsprintf): Use it to format 'long' integers.
9007
d3bfb59c 90082009-04-10 David S. Miller <davem@davemloft.net>
9009
9010 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9011 slots are of type grub_ieee1275_cell_t.
9012 (grub_nand_read): Likewise.
9013 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9014 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9015 macros are used to compare values in arg/ret block of the call.
9016 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9017 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9018 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9019 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9020 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9021 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9022 grub_ieee1275_close, grub_ieee1275_set_property,
9023 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9024 grub_ieee1275_cell_t.
9025 * kern/ieee1275/openfw.c (grub_map): Likewise.
9026 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9027 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9028
450e2238 9029 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9030 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9031 (grub_devalias_iterate): Likewise.
9032
7dd4a573 90332009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9034
9035 UFS improvements
9036
9037 * fs/ufs.c (INODE_NBLOCKS): new definition
9038 (struct grub_ufs_dirent): added fields for non-BSD dirents
9039 (grub_ufs_get_file_block): fixed double indirect handling
9040 (grub_ufs_lookup_symlink): use more robust way to determine whether
9041 symlink is inline
9042 (grub_ufs_find_file): support for non-BSD dirents
9043 (grub_ufs_dir): support for non-BSD dirents
9044
e7e6862a 90452009-04-10 Bean <bean123ch@gnail.com>
9046
9047 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9048 attribute, otherwise the size would be wrong for i386 platform.
9049
9050 * include/grub/pci.h (grub_pci_read_word): New inline function.
9051 (grub_pci_read_byte): Likewise.
9052 (grub_pci_write): Likewise.
9053 (grub_pci_write_word): Likewise.
9054 (grub_pci_write_byte): Likewise.
9055
9056 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9057
9058 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9059 (find_framebuf): Scan pci to locate the frame buffer address.
9060
9061 * commands/efi/fixvideo.c: New file.
9062
9063 * commands/efi/loadbios.c: Likewise.
9064
9065 * commands/memrw.c: Likewise.
9066
9067 * util/grub-dumpbios.in: Likewise.
9068
9069 * conf/common.rmk (grub-dumpbios): New utility.
9070 (pkglib_MODULES): New module memrw.mod.
9071 (memrw_mod_SOURCE): New macro.
9072 (memrw_mod_CFLAGS): Likewise.
9073 (memrw_mod_LDFLAGS): Likewise.
9074
7dd4a573 9075 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9076 fixvideo.mod.
9077 (loadbios_mod_SOURCE): New macro.
9078 (loadbios_mod_CFLAGS): Likewise.
9079 (loadbios_mod_LDFLAGS): Likewise.
9080 (fixvideo_mod_SOURCE): Likewise.
9081 (fixvideo_mod_CFLAGS): Likewise.
9082 (fixvideo_mod_LDFLAGS): Likewise.
9083
7dd4a573 9084 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9085 fixvideo.mod.
9086 (loadbios_mod_SOURCE): New macro.
9087 (loadbios_mod_CFLAGS): Likewise.
9088 (loadbios_mod_LDFLAGS): Likewise.
9089 (fixvideo_mod_SOURCE): Likewise.
9090 (fixvideo_mod_CFLAGS): Likewise.
9091 (fixvideo_mod_LDFLAGS): Likewise.
9092
af63ada2 90932009-04-08 Felix Zielcke <fzielcke@z-51.de>
9094
9095 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9096
c2cdde70 90972009-04-07 David S. Miller <davem@davemloft.net>
9098
9099 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9100 support for R_SPARC_OLO10 relocations. Fix compile warning for
9101 R_SPARC_WDISP30 case.
ea3f72cf 9102 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9103
761319cf 91042009-04-06 Pavel Roskin <proski@gnu.org>
9105
1007d1f5 9106 * include/grub/misc.h (ARRAY_SIZE): New macro.
9107 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9108 New macro.
9109 * loader/i386/linux.c (allocate_pages): Use free_pages().
9110 (grub_linux_unload): Don't use free_pages().
9111 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9112 wrong index. Treat all other modes as text modes.
9113 (grub_cmd_linux): Initialize vid_mode unconditionally to
9114 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9115
761319cf 9116 * commands/help.c (print_command_help): Use cmd->prio, not
9117 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9118
ea761d40 91192009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9120
ea761d40 9121 Parttool
9122
9123 * parttool/pcpart.c: new file
9124 * commands/parttool.c: likewise
9125 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9126 (parttool_mod_SOURCES): new variable
9127 (parttool_mod_CFLAGS): likewise
9128 (parttool_mod_LDFLAGS): likewise
9129 (pcpart_mod_SOURCES): likewise
9130 (pcpart_mod_CFLAGS): likewise
9131 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9132 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9133 and parttool/pcpart.c
9134 * conf/i386-efi.rmk: likewise
9135 * conf/i386-ieee1275.rmk: likewise
9136 * conf/i386-pc.rmk: likewise
9137 * conf/powerpc-ieee1275.rmk: likewise
9138 * conf/sparc64-ieee1275.rmk: likewise
9139 * conf/x86_64-ieee1275.rmk: likewise
9140
05aaebfb 91412009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 Support for mtime and further expandability of dir command
9144
9145 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9146 * include/grub/datetime.h: ... moved here and added
05aaebfb 9147 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9148 * include/grub/fs.h: new syntax for dir and mtime functions in
9149 struct grub_fs
05aaebfb 9150 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9151 and GRUB_FSHELP_FLAGS_MASK
9152 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9153 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9154 (grub_ext2_mtime): new function
9155 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9156 (grub_hfsplus_mtime): new function
9157 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9158 (GRUB_UFS_ATTR_FILE): likewise
9159 (GRUB_UFS_ATTR_LNK): likewise
9160 (struct grub_ufs_sblock): new fields mtime
9161 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9162 all users updated
9163 (grub_ufs_dir): mtime support
9164 (grub_ufs_mtime): new function
9165 * fs/affs.c (grub_affs_dir): use new dir syntax
9166 * fs/afs.c (grub_afs_dir): likewise
9167 * fs/cpio.c (grub_cpio_dir): likewise
9168 * fs/fat.c (grub_fat_find_dir): likewise
9169 * fs/hfs.c (grub_hfs_dir): likewise
9170 * fs/iso9660.c (grub_iso9660_dir): likewise
9171 * fs/jfs.c (grub_jfs_dir): likewise
9172 * fs/minix.c (grub_minix_dir): likewise
9173 * fs/ntfs.c (grub_ntfs_dir): likewise
9174 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9175 * fs/sfs.c (grub_sfs_dir): likewise
9176 * fs/xfs.c (grub_xfs_dir): likewise
9177 * util/hostfs.c (grub_hostfs_dir): likewise
9178 * lib/datetime.c: moved to ...
9179 * normal/datetime.c: ... moved here
9180 (grub_unixtime2datetime): new function
9181 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9182 * normal/completion.c (iterate_dir): use new dir syntax
9183 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9184 last modification time of a volume
7dd4a573 9185 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9186 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9187 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9188 (normal_mod_SOURCES): likewise
9189 (datetime_mod_SOURCES): Removed lib/datetime.c
9190 * conf/i386-efi.rmk: likewise
7dd4a573 9191 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9192 * conf/i386-pc.rmk: likewise
9193 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9194 * conf/sparc64-ieee1275.rmk: likewise
9195 * conf/x86_64-efi.rmk: likewise
05aaebfb 9196
8a7e1a14 91972009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9200
9201 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9202 on grub_fat_find_dir
9203 (grub_fat_find_dir): use grub_fat_iterate_dir
9204 (grub_fat_label): likewise
9205
04186a9c 92062009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9207
7dd4a573 9208 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9209 and command.h
9210 remove extraneous kernel_elf_HEADERS
9211
da4c0bb6 92122009-04-04 Bean <bean123ch@gnail.com>
9213
9214 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9215
9216 * util/misc.c: Likewise.
9217
54ad9555 92182009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9219
9220 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9221 instead of grub_printf.
9222
7a6bf9f2 92232009-04-03 Robert Millan <rmh@aybabtu.com>
9224
9225 * loader/i386/linux.c (grub_linux_setup_video): Fill
9226 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9227 values from `mode info' structure instead of hardcoded
9228 values.
9229
3fcc2083 92302009-04-01 Pavel Roskin <proski@gnu.org>
9231
9232 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9233 unused now.
9234 * genmk.rb: Likewise.
9235 * configure.ac: Likewise.
9236
5ec9740b 92372009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9238
9239 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9240 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9241
5270cec8 92422009-04-01 David S. Miller <davem@davemloft.net>
9243
9244 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9245 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9246 (grub_setjmp): Mark with 'returns_twice' attribute.
9247 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9248 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9249 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9250
9c3dd854 92512009-04-01 Robert Millan <rmh@aybabtu.com>
9252
9253 Reapply fix from 2008-07-28 which was accidentally reverted; also
9254 perform the same fix to a similar check in same function.
9255
9256 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9257 with the same number are found, just use issue a warning with
9258 grub_dprintf(), as this error has been reported to be non-fatal.
9259
0d818b7e 92602009-03-31 Pavel Roskin <proski@gnu.org>
9261
9262 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9263 for cross-compilation.
9264
95646d92 92652009-03-30 Robert Millan <rmh@aybabtu.com>
9266
9267 Fix i386-ieee1275 build.
9268
9269 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9270 Remove declaration.
9271
6a003ed1 92722009-03-30 Pavel Roskin <proski@gnu.org>
9273
9274 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9275 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9276 zero-terminated, rely only on the strlen value. Fix comparison
9277 of strings differing in length.
9278
92f33540 92792009-03-30 Robert Millan <rmh@aybabtu.com>
9280
9281 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9282 checking for abi version. Improve error messages on BIOS to notify
9283 user about `linux16' command.
9284
a8c48fd5 92852009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9286
f968172e 9287 Leak fixes
a8c48fd5 9288
f968172e 9289 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9290 in case of collision
9291 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9292
9c323f09 92932009-03-29 Robert Millan <rmh@aybabtu.com>
9294
9295 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9296 set `vid_mode' accordingly.
9297 (grub_linux_boot): Process `vid_mode' and set video mode.
9298
ae68f423 92992009-03-29 Robert Millan <rmh@aybabtu.com>
9300
9301 * util/grub.d/10_linux.in (linux_entry): New function.
9302 Factorize generation of Linux boot entries.
9303
5709cfc4 93042009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9305
9306 Make the format of Environment Block plain text. The boot loader
9307 part is not tested well yet.
7dd4a573 9308
5709cfc4 9309 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9310 (buffer): Removed.
9311 (envblk): Likewise.
9312 (usage): Remove "info" and "clear". Add "unset". Update the
9313 description of "set", as this does not delete variables any
9314 longer.
9315 (create_envblk_file): Complete rewrite.
9316 (open_envblk_file): Likewise.
9317 (cmd_info): Removed.
9318 (cmd_list): Likewise.
9319 (cmd_set): Likewise.
9320 (cmd_clear): Likewise.
9321 (list_variables): New function.
9322 (write_envblk): Likewise.
9323 (set_variables): Likewise.
9324 (unset_variables): Likewise.
9325 (main): Complete rewrite.
9326
9327 * commands/loadenv.c (buffer): Removed.
9328 (envblk): Likewise.
9329 (open_envblk_file): New function.
9330 (read_envblk_file): Complete rewrite.
9331 (grub_cmd_load_env): Likewise.
9332 (grub_cmd_list_env): Likewise.
9333 (struct blocklist): New struct.
9334 (free_blocklists): New function.
9335 (check_blocklists): Likewise.
9336 (write_blocklists): Likewise.
9337 (grub_cmd_save_env): Complete rewrite.
9338
9339 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9340 a plain text signature.
9341 (GRUB_ENVBLK_MAXLEN): Removed.
9342 (struct grub_envblk): Complete rewrite.
9343 (grub_envblk_find): Removed.
9344 (grub_envblk_insert): Likewise.
9345 (grub_envblk_open): New prototype.
9346 (grub_envblk_set): Likewise.
9347 (grub_envblk_delete): Put const to VALUE.
9348 (grub_envblk_iterate): Put const to NAME and VALUE.
9349 (grub_envblk_close): New prototype.
9350 (grub_envblk_buffer): New inline function.
9351 (grub_envblk_size): Likewise.
9352
9353 * lib/envblk.c: Include grub/mm.h.
9354 (grub_env_find): Removed.
9355 (grub_envblk_open): New function.
9356 (grub_envblk_close): Likewise.
9357 (escaped_value_len): Likewise.
9358 (find_next_line): Likewise.
9359 (grub_envblk_insert): Removed.
9360 (grub_envblk_set): New function.
9361 (grub_envblk_delete): Complete rewrite.
9362 (grub_envblk_iterate): Likewise.
9363
a9368fd3 93642009-03-28 Robert Millan <rmh@aybabtu.com>
9365
9366 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9367 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9368 variables. Use 16-bit loader.
9369 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9370 loader.
9371 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9372 (grub_linux16_boot): ... this. Update all users.
9373 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9374 (grub_linux_boot): ... this. Update all users.
9375
9376 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9377 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9378 commands to `linux16' and `initrd16'.
9379 (GRUB_MOD_FINI(linux)): Rename to ...
9380 (GRUB_MOD_FINI(linux16)): ... this.
9381
e4dd5a7e 93822009-03-24 Pavel Roskin <proski@gnu.org>
9383
9384 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9385 not just for compilation.
9386
c04d6e05 93872009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 Move multiboot helper out of kernel
9390
9391 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9392 `loader/i386/multiboot_helper.S'.
9393 * conf/i386-coreboot.rmk: Likewise
9394 * conf/i386-ieee1275.rmk: Likewise
9395
9396 * kern/i386/loader.S: Move multiboot helpers from here...
9397 * loader/i386/multiboot_helper.S: ...moved here
9398 * include/grub/i386/loader.h: Move declarations of multiboot
9399 helpers from here...
9400 * include/grub/i386/multiboot.h: ...moved here
9401 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9402
42a5b3fc 94032009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9404
9405 * kern/env.c (grub_env_context_open): Added an argument to specify
9406 whether a new context inherits exported variables from current
9407 one. This is useful when making a sandbox to interpret a config
9408 file.
9409 All callers updated.
9410
9411 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9412
b28bbc4e 94132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9414
9415 * kern/env.c (grub_env_context_close): Fix memory leaks.
9416
f04f02e4 94172009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9418
9419 * normal/main.c (grub_normal_execute): Added an argument
9420 BATCH to specify if an interactive interface should be provided
9421 after reading a config file.
9422 All callers updated.
9423 (read_command_list): Prevent being executed twice.
9424 (read_fs_list): Likewise.
9425
42a5b3fc 9426 * include/grub/normal.h (grub_normal_execute): Updated the
9427 prototype.
f04f02e4 9428
41473ac2 94292009-03-22 Pavel Roskin <proski@gno.org>
9430
fbc00b0c 9431 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9432 _start.
9433 * kern/i386/pc/startup.S: Likewise.
9434 * kern/i386/efi/startup.S: Likewise.
9435 * kern/i386/ieee1275/startup.S: Likewise.
9436 * kern/i386/coreboot/startup.S: Likewise.
9437 * kern/x86_64/efi/startup.S: Likewise.
9438
41473ac2 9439 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9440 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9441 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9442
2274cc8f 94432009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9446
9447 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9448 limit detection.
9449 Use vaddr of correct segment for entry_point.
9450
b1b797cb 94512009-03-21 Bean <bean123ch@gmail.com>
9452
9453 * commands/blocklist.c: Add include file <grub/command.h>, remove
9454 <grub/normal.h> and <grub/arg.h>.
9455 (grub_cmd_blocklist): Use the new command interface.
9456 (GRUB_MOD_INIT): Likewise.
9457 (GRUB_MOD_FINI): Likewise.
9458 * commands/boot.c: Likewise.
9459 * commands/cat.c: Likewise.
9460 * commands/cmp.c: Likewise.
9461 * commands/configfile.c: Likewise.
9462 * commands/crc.c: Likewise.
9463 * commands/echo.c: Likewise.
9464 * commands/halt.c: Likewise.
9465 * commands/handler.c: Likewise.
9466 * commands/hdparm.c: Likewise.
9467 * commands/help.c: Likewise.
9468 * commands/hexdump.c: Likewise.
9469 * commands/loadenv.c: Likewise.
9470 * commands/ls.c: Likewise.
9471 * commands/lsmmap.c: Likewise.
9472 * commands/lspci.c: Likewise.
9473 * commands/loadenv.c: Likewise.
9474 * commands/read.c: Likewise.
9475 * commands/reboot.c: Likewise.
9476 * commands/search.c: Likewise.
9477 * commands/sleep.c: Likewise.
9478 * commands/test.c: Likewise.
9479 * commands/usbtest.c: Likewise.
9480 * commands/videotest.c: Likewise.
9481 * commands/i386/cpuid.c: Likewise.
9482 * commands/i386/pc/halt.c: Likewise.
9483 * commands/i386/pc/play.c: Likewise.
9484 * commands/i386/pc/pxecmd.c: Likewise.
9485 * commands/i386/pc/vbeinfo.c: Likewise.
9486 * commands/i386/pc/vbetest.c: Likewise.
9487 * commands/ieee1275/suspend.c: Likewise.
9488 * disk/loopback.c: Likewise.
9489 * font/font_cmd.c: Likewise.
9490 * hello/hello.c: Likewise.
9491 * loader/efi/appleloader.c: Likewise.
9492 * loader/efi/chainloader.c: Likewise.
9493 * loader/i386/bsd.c: Likewise.
9494 * loader/i386/efi/linux.c: Likewise.
9495 * loader/i386/ieee1275/linux.c: Likewise.
9496 * loader/i386/linux.c: Likewise.
9497 * loader/i386/pc/chainloader.c: Likewise.
9498 * loader/i386/pc/linux.c: Likewise.
9499 * loader/powerpc/ieee1275/linux.c: Likewise.
9500 * loader/multiboot_loader.c: Likewise.
9501 * term/gfxterm.c: Likewise.
9502 * term/i386/pc/serial.c: Likewise.
9503 * term/terminfo.c: Likewise.
9504
9505 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9506 * term/i386/pc/vga.c: Likewise.
9507 * video/readers/jpeg.c: Likewise.
9508 * video/readers/png.c: Likewise.
9509 * video/readers/tga.c: Likewise.
9510
9511 * util/grub-fstest (cmd_loopback): Removed.
9512 (cmd_blocklist): Likewise.
9513 (cmd_ls): Likewise.
9514 (grub_register_command): Likewise.
9515 (grub_unregister_command): Likewise.
9516 (execute_command): Use grub_command_find to locate command and execute
9517 it.
9518
9519 * include/grub/efi/chainloader.h: Removed.
9520 * loader/efi/chainloader_normal.c: Likewise.
9521 * loader/i386/bsd_normal.c: Likewise.
9522 * loader/i386/pc/chainloader_normal.c: Likewise.
9523 * loader/i386/pc/multiboot_normal.c: Likewise.
9524 * loader/linux_normal.c: Likewise.
9525 * loader/multiboot_loader_normal.c: Likewise.
9526 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9527
9528 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9529 and grub_register_command_p1.
9530
9531 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9532 kern/command.c, lib/arg.c and commands/extcmd.c.
9533 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9534 (minicmd_mod_SOURCES): New variable.
9535 (minicmd_mod_CFLAGS): Likewise.
9536 (minicmd_mod_LDFLAGS): Likewise.
9537 (extcmd_mod_SOURCES): Likewise.
9538 (extcmd_mod_CFLAGS): Likewise.
9539 (extcmd_mod_LDFLAGS): Likewise.
9540 (boot_mod_SOURCES): Removed.
9541 (boot_mod_CFLAGS): Likewise.
9542 (boot_mod_LDFLAGS): Likewise.
9543
9544 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9545 kern/corecmd.c.
9546 (kernel_img_HEADERS): Add command.h.
9547 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9548 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9549 and lib/arg.c.
9550 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9551 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9552 remove the corresponding normal mode command.
9553 (normal_mod_SOURCES): Remove normal/arg.c.
9554 * conf/i386-coreboot.rmk: Likewise.
9555 * conf/i386-efi.rmk: Likewise.
9556 * conf/i386-ieee1275.rmk: Likewise.
9557 * conf/powerpc-ieee1275.rmk: Likewise.
9558 * conf/x86_64-efi.rmk: Likewise.
9559
9560 * include/grub/arg.h: Move from here ...
9561 * include/grub/lib/arg.h: ... to here.
9562
9563 * normal/arg.c: Move from here ...
9564 * lib/arg.c: ... to here.
9565
9566 * commands/extcmd.c: New file.
9567 * commands/minicmd.c: Likewise.
9568 * include/grub/command.h: Likewise.
9569 * include/grub/extcmd.h: Likewise.
9570 * kern/command.c: Likewise.
9571 * kern/corecmd.c: Likewise.
9572
9573 * kern/list.c (grub_list_iterate): Return int instead of void.
9574 (grub_list_insert): New function.
9575 (grub_prio_list_insert): Likewise.
9576
9577 * kern/rescue.c (grub_rescue_command): Removed.
9578 (grub_rescue_command_list): Likewise.
9579 (grub_rescue_register_command): Likewise.
9580 (grub_rescue_unregister_command): Likewise.
9581 (grub_rescue_cmd_boot): Move to minicmd.c
9582 (grub_rescue_cmd_help): Likewise.
9583 (grub_rescue_cmd_info): Likewise.
9584 (grub_rescue_cmd_boot): Likewise.
9585 (grub_rescue_cmd_testload): Likewise.
9586 (grub_rescue_cmd_dump): Likewise.
9587 (grub_rescue_cmd_rmmod): Likewise.
9588 (grub_rescue_cmd_lsmod): Likewise.
9589 (grub_rescue_cmd_exit): Likewise.
9590 (grub_rescue_print_devices): Moved to corecmd.c.
9591 (grub_rescue_print_files): Likewise.
9592 (grub_rescue_cmd_ls): Likewise.
9593 (grub_rescue_cmd_insmod): Likewise.
9594 (grub_rescue_cmd_set): Likewise.
9595 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9596 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9597 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9598 commands, remove grub_rescue_register_command calls.
b1b797cb 9599
7d074e3c 9600 * normal/command.c (grub_register_command): Removed.
b1b797cb 9601 (grub_unregister_command): Likewise.
9602 (grub_command_find): Likewise.
9603 (grub_iterate_commands): Likewise.
9604 (rescue_command): Likewise.
9605 (export_command): Moved to corecmd.c.
9606 (set_command): Removed.
9607 (unset_command): Likewise.
9608 (insmod_command): Likewise.
9609 (rmmod_command): Likewise.
9610 (lsmod_command): Likewise.
9611 (grub_command_init): Likewise.
9612
9613 * normal/completion.c (iterate_command): Use cmd->prio to check for
9614 active command.
9615 (complete_arguments): Use grub_extcmd_t structure to find options.
9616 (grub_normal_do_completion): Change function grub_iterate_commands to
9617 grub_command_iterate.
9618
9619 * normal/execute.c (grub_script_execute_cmd): No need to parse
9620 argument here.
9621
9622 * normal/main.c (grub_dyncmd_dispatcher): New function.
9623 (read_command_list): Register unload commands as dyncmd.
9624 (grub_cmd_normal): Use new command interface, register rescue,
9625 unregister normal at entry, register normal, unregister rescue at exit.
9626
9627 * include/grub/list.h (grub_list_test_t): New type.
9628 (grub_list_iterate): Return int instead of void.
9629 (grub_list_insert): New function.
9630 (GRUB_AS_NAMED_LIST_P): New macro.
9631 (GRUB_AS_PRIO_LIST): Likewise.
9632 (GRUB_AS_PRIO_LIST_P): Likewise.
9633 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9634 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9635 (grub_prio_list): New structure.
9636 (grub_prio_list_insert): New function.
9637 (grub_prio_list_remove): New inline function.
9638
9639 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9640 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9641 (GRUB_COMMAND_FLAG_MENU): Likewise.
9642 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9643 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9644 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9645 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9646 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9647 (grub_command): Likewise.
9648 (grub_register_command): Likewise.
9649 (grub_command_find): Likewise.
9650 (grub_iterate_commands): Likewise.
9651 (grub_command_init): Likewise.
9652 (grub_arg_parse): Likewise.
9653 (grub_arg_show_help): Likewise.
9654
9655 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9656 (grub_rescue_unregister_command): Likewise.
9657
9658 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9659 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9660 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9661
9662 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9663 grub_rescue_cmd_initrd.
9664 * include/grub/i386/loader.h: Likewise.
9665 * include/grub/x86_64/loader.h: Likewise.
9666
9667 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9668
1f4147aa 96692009-03-21 Bean <bean123ch@gmail.com>
9670
9671 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9672 instead of stat in mingw environment.
9673
9674 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9675
9676 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9677
9678 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9679 AC_CONFIG_LINKS.
9680
2156d5ba 96812009-03-21 Bean <bean123ch@gmail.com>
9682
9683 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9684 out of range error.
9685
177b82ca 96862009-03-18 Michel Dänzer <michel@daenzer.net>
9687
9688 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9689 checking inode flags for EXT4_EXTENTS_FLAG.
9690
14aad807 96912009-03-18 Robert Millan <rmh@aybabtu.com>
9692
9693 * loader/i386/linux.c: Include `<grub/video.h>' and
9694 `<grub/i386/pc/vbe.h>'..
9695 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9696 (grub_linux32_boot): Attempt to configure video settings with
9697 grub_linux_setup_video().
9698 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9699 to avoid grub_console_fini() which would step out of graphical mode
9700 unconditionally.
9701
8cf83a27 97022009-03-14 Robert Millan <rmh@aybabtu.com>
9703
9704 Fix build on powerpc.
9705 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9706
40164e75 97072009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9710 background image command.
9711
c58bc32a 97122009-03-12 Colin D Bennett <colin@gibibit.com>
9713
9714 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9715 (grub_gfxterm_putchar): Extract pairs of identical calls to
9716 draw_cursor out of conditional blocks.
9717
5415144a 97182009-03-11 Pavel Roskin <proski@gnu.org>
9719
9720 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9721 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9722
6394042e 97232009-03-11 Robert Millan <rmh@aybabtu.com>
9724
9725 * loader/i386/multiboot_elfxx.c
9726 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
9727
b7b50e5f 97282009-03-11 Felix Zielcke <fzielcke@z-51.de>
9729
9730 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
9731 `kern/handler.c'.
9732
1ca7fc96 97332009-03-11 Robert Millan <rmh@aybabtu.com>
9734
9735 * loader/i386/multiboot.c (code_size): New variable.
9736 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 9737 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 9738 4-byte alignment to MBI and others by increasing
7d074e3c 9739 `boot_loader_name_length' appropriately.
1ca7fc96 9740
9741 * loader/i386/multiboot_elfxx.c
9742 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
9743
a83ea1d2 97442009-03-09 Felix Zielcke <fzielcke@z-51.de>
9745
9746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
9747 `fs/ext2.c'.
9748
aa9f3bff 97492009-03-08 Robert Millan <rmh@aybabtu.com>
9750
9751 Make loader/i386/linux.c usable on i386-pc again.
9752
9753 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
9754 memory to heap.
9755 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
9756 `#error' stanza.
9757
d8b3b60e 97582009-03-07 Bean <bean123ch@gmail.com>
9759
9760 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
9761 allocation.
9762
b362c9e9 97632009-03-06 Robert Millan <rmh@aybabtu.com>
9764
9765 Fix display issue on terminals with screen size other than 80x25
9766 (e.g. gfxterm with resolution higher than 640x480).
9767
9768 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 9769 position relative to the center of the terminal instead of relying
b362c9e9 9770 on a hardcoded offset.
9771
9304eef1 97722009-03-04 Robert Millan <rmh@aybabtu.com>
9773
9774 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
9775 installed.
9776
9777 * Makefile.in (host_kernel): New variable.
9778 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
9779 scripts instead of just the windows one.
9780 * configure.ac: Initialize and AC_SUBST `host_kernel'.
9781
eabc95fb 97822009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 9783
9784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
9785 `kern/handler.c'.
9786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9787 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9788 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9790 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9791 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9792
ceb1223c 97932009-03-04 Felix Zielcke <fzielcke@z-51.de>
9794
9795 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
9796 or if there's no space for the disk label and print the partition number on a
9797 invalid magic.
9798
4910684a 97992009-03-04 Felix Zielcke <fzielcke@z-51.de>
9800
9801 * util/misc.c: Include <time.h>.
9802 (grub_millisleep): New function.
9803
7e9ca17a 98042009-03-04 Bean <bean123ch@gmail.com>
9805
9806 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
9807 another option -mno-red-zone.
9808
9809 * commands/handler.c: Change module description.
9810
9811 * kern/handler.c: Add missing space at the end of description line.
9812
9813 * kern/list.c: Likewise.
9814
f501677c 98152009-03-03 Robert Millan <rmh@aybabtu.com>
9816
9817 Move more components to the relocation area, and fix mbi pointer
9818 handling to use the destination rather than the origin (thanks to
9819 Vladimir Serbinenko for spotting).
9820
9821 * loader/i386/multiboot.c (mbi_dest): New variable.
9822 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
9823 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
9824 relocation area.
9825
9902d047 98262009-03-01 Bean <bean123ch@gmail.com>
9827
50fb7002 9828 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 9829 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
9830 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
9831 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
9832
9833 * loader/i386/efi/linux.c (acpi_guid): New variable.
9834 (acpi_guid): Likewise.
9835 (EBDA_SEG_ADDR): New constant.
9836 (LOW_MEM_ADDR): Likewise.
9837 (FAKE_EBDA_SEG): Likewise.
9838 (fake_bios_data): New function.
9839 (grub_linux_boot): Call fake_bios_data.
9840
71b9f361 98412009-03-01 Bean <bean123ch@gmail.com>
9842
9843 * commands/terminal.c: Removed.
9844
9845 * commands/handler.c: New file.
9846
9847 * include/grub/list.h: Likewise.
9848
9849 * include/grub/handler.h: Likewise.
9850
9851 * kern/list.c: Likewise.
9852
9853 * kern/handler.c: Likewise.
9854
9855 * kern/term.h: Include header file <grub/handler.h>.
9856 (grub_term_input): Move next field to the beginning.
9857 (grub_term_output): Likewise.
9858 (grub_term_input_class): New variable.
9859 (grub_term_output_class): Likewise.
9860 (grub_term_register_input): Changed to inline function.
9861 (grub_term_register_output): Likewise.
9862 (grub_term_unregister_input): Likewise.
9863 (grub_term_unregister_output): Likewise.
9864 (grub_term_set_current_input): Likewise.
9865 (grub_term_set_current_output): Likewise.
9866 (grub_term_get_current_input): Likewise.
9867 (grub_term_get_current_output): Likewise.
9868 (grub_term_iterate_input): Removed.
9869 (grub_term_iterate_output): Likewise.
9870
9871 * kern/term.c (grub_term_list_input): Removed.
9872 (grub_term_list_output): Likewise.
9873 (grub_term_input_class): New variable.
9874 (grub_term_output_class): Likewise.
50fb7002 9875 (grub_cur_term_input): Change variable as macro.
71b9f361 9876 (grub_cur_term_output): Likewise.
9877 (grub_term_register_input): Removed.
9878 (grub_term_register_output): Likewise.
9879 (grub_term_unregister_input): Likewise.
9880 (grub_term_unregister_output): Likewise.
9881 (grub_term_set_current_input): Likewise.
9882 (grub_term_set_current_output): Likewise.
9883 (grub_term_iterate_input): Likewise.
9884 (grub_term_iterate_output): Likewise.
9885 (grub_term_get_current_input): Likewise.
9886 (grub_term_get_current_output): Likewise.
9887
9888 * util/grub-editenv.c: Include header file <grub/handler.h>.
9889 (grub_term_get_current_input): Removed.
9890 (grub_term_get_current_output): Likewise.
9891 (grub_term_input_class): New variable.
50fb7002 9892 (grub_term_output_class): Likewise.
71b9f361 9893
9894 * util/grub-fstest.c (grub_term_get_current_input): Removed.
9895 (grub_term_get_current_output): Likewise.
9896 (grub_term_input_class): New variable.
50fb7002 9897 (grub_term_output_class): Likewise.
71b9f361 9898
9899 * util/grub-probe.c (grub_term_get_current_input): Removed.
9900 (grub_term_get_current_output): Likewise.
9901 (grub_term_input_class): New variable.
50fb7002 9902 (grub_term_output_class): Likewise.
71b9f361 9903
9904 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
9905 (grub_term_get_current_output): Likewise.
9906 (grub_term_input_class): New variable.
50fb7002 9907 (grub_term_output_class): Likewise.
71b9f361 9908
9909 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
9910 (terminal_mod_SOURCES): Likewise.
9911 (terminal_mod_CFLAGS): Likewise.
9912 (terminal_mod_LDFLAGS): Likewise.
9913
9914 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
9915 handler.c.
9916 (kernel_img_SOURCES): Add list.c and handler.c.
9917 (kernel_img_HEADERS): Add list.h and handler.h.
9918
9919 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9920 handler.c.
9921 (kernel_mod_SOURCES): Add list.c and handler.c.
9922 (kernel_mod_HEADERS): Add list.h and handler.h.
9923
9924 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
9925 handler.c.
9926 (kernel_elf_SOURCES): Add list.c and handler.c.
9927 (kernel_elf_HEADERS): Add list.h and handler.h.
9928
9929 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9930 handler.c.
9931 (kernel_elf_SOURCES): Add list.c and handler.c.
9932 (kernel_elf_HEADERS): Add list.h and handler.h.
9933
9934 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9935 handler.c.
9936 (kernel_mod_SOURCES): Add list.c and handler.c.
9937 (kernel_mod_HEADERS): Add list.h and handler.h.
9938
9939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9940 handler.c.
9941 (kernel_elf_SOURCES): Add list.c and handler.c.
9942 (kernel_elf_HEADERS): Add list.h and handler.h.
9943
8a31787f 99442009-02-27 Robert Millan <rmh@aybabtu.com>
9945
9946 Factorize elf32 / elf64 code in Multiboot loader. This will
9947 prevent it from getting out of sync again.
9948
9949 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
9950 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
9951 grub_multiboot_load_elf64): Move from here ...
9952 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
9953 grub_multiboot_load_elf): ... to here (new file).
9954
51cd3dfc 99552009-02-27 Robert Millan <rmh@aybabtu.com>
9956
9957 * util/grub.d/10_linux.in: Rename "single-user mode" to
9958 "recovery mode".
9959
6e8c9c3a 99602009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Don't leak in SCSI code.
9963 * disk/scsi.c (grub_scsi_close): free `scsi'.
9964
4b6bf4f9 99652009-02-27 Robert Millan <rmh@aybabtu.com>
9966
9967 * loader/i386/pc/multiboot.c: Move from here ...
9968 * loader/i386/multiboot.c: ... to here. Update all users.
9969
b9413424 99702009-02-27 Robert Millan <rmh@aybabtu.com>
9971
9972 Patch from Alexandre Bique <bique.alexandre@gmail.com>
9973 * util/i386/pc/grub-setup.c (setup): Fix directory path.
9974
50fb7002 99752009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 9976
9977 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
9978 b-tree.
9979
8cc50345 99802009-02-27 Robert Millan <rmh@aybabtu.com>
9981
9982 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
9983 `0x' qualifier as 0 when base is specified as parameter).
9984
6e09b8b7 99852009-02-24 Bean <bean123ch@gmail.com>
9986
9987 * configure.ac: Check for -mcmodel=large in x86_64 target.
9988
9989 * include/grub/efi/api.h (efi_call_10): New macro.
9990 (efi_wrap_10): New function.
9991
9992 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
9993 (GRUB_PE32_REL_BASED_HIGH): Likewise.
9994 (GRUB_PE32_REL_BASED_LOW): Likewise.
9995 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
9996 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
9997 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
9998 (GRUB_PE32_REL_BASED_SECTION): Likewise.
9999 (GRUB_PE32_REL_BASED_REL): Likewise.
10000 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10001 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10002 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10003
10004 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10005 issue.
10006
10007 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10008 (efi_wrap_10): New function.
10009
10010 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10011
10012 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10013 MB/MBP model (NV chipset).
10014 (devdata_devs): Add devpath_5 to the list.
10015
10016 * load/i386/efi/linux.c (video_base): Remove variable.
10017 (RGB_MASK): New macro.
10018 (RGB_MAGIC): Likewise.
10019 (LINE_MIN): Likewise.
10020 (LINE_MAX): Likewise.
10021 (FBTEST_STEP): Likewise.
10022 (FBTEST_COUNT): Likewise.
10023 (fb_list): New variable.
10024 (grub_find_video_card): Remove function.
10025 (find_framebuf): New function.
10026 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10027 line length.
10028
10029 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10030 problem for x86_64.
10031
74b21bee 100322009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10033
10034 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10035
10036 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10037 coding tool name.
10038
a455f472 100392009-02-22 Robert Millan <rmh@aybabtu.com>
10040
10041 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10042 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10043 in our relocation, instead of using it directly from heap. Also
10044 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10045
6374daf3 100462009-02-21 Robert Millan <rmh@aybabtu.com>
10047
10048 Implement USB keyboard support (based on patch by Marco Gerards)
10049
10050 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10051 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10052 (usb_keyboard_mod_LDFLAGS): New variables.
10053
10054 * term/usb_keyboard.c: New file.
10055
8fa4ea70 100562009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Corrected wrong declaration
10059
10060 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10061
353976ac 100622009-02-14 Christian Franke <franke@computer.org>
10063
10064 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10065 (grub_lspci_iter): Print class code and programming interface byte.
10066
6aa1169b 100672009-02-14 Christian Franke <franke@computer.org>
10068
10069 * gendistlist.sh: Ignore `.svn' directories.
10070
265372ca 100712009-02-14 Felix Zielcke <fzielcke@z-51.de>
10072
10073 * fs/fat.c: Add 2009 to Copyright line.
10074
9ff516f3 100752009-02-14 Christian Franke <franke@computer.org>
10076
10077 * commands/hdparm.c: New file. Provides `hdparm' command
10078 which sends ATA commands via grub_disk_ata_pass_through ().
10079
10080 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10081
10082 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10083 and <grub/cpu/io.h> to include/grub/ata.h.
10084 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10085 (GRUB_CDROM_SECTOR_SIZE): Remove.
10086 (GRUB_ATA_*): Move to include/grub/ata.h.
10087 (GRUB_ATAPI_*): Likewise.
10088 (enum grub_ata_commands): Likewise.
10089 (enum grub_ata_timeout_milliseconds): Likewise.
10090 (struct grub_ata_device): Likewise.
10091 (grub_ata_regset): Likewise.
10092 (grub_ata_regget): Likewise.
10093 (grub_ata_regset2): Likewise.
10094 (grub_ata_regget2): Likewise.
10095 (grub_ata_check_ready): Likewise.
10096 (grub_ata_wait_not_busy): Remove static, exported in
10097 include/grub/ata.h.
10098 (grub_ata_wait_drq): Likewise.
10099 (grub_ata_pio_read): Likewise.
10100
10101 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10102 function for hdparm.mod.
10103
10104 * include/grub/ata.h: New file, contains declarations from
10105 disk/ata.c.
10106 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10107
10108 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10109 (grub_disk_ata_pass_through): New exported variable.
10110
10111 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10112
772e23da 101132009-02-13 Colin D Bennett <colin@gibibit.com>
10114
10115 Support multiple fallback entries, and provide an API to support
10116 executing default+fallback menu entries. Renamed the `terminal' menu
10117 viewer to `text'.
10118
10119 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10120 variable declaration.
10121 (grub_menu_execute_callback): New structure declaration.
10122 (grub_menu_execute_callback_t): New typedef.
10123 (grub_menu_execute_with_fallback): New function declaration.
10124 (grub_menu_get_entry): Likewise.
10125 (grub_menu_get_timeout): Likewise.
10126 (grub_menu_set_timeout): Likewise.
10127
10128 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10129
10130 * normal/menu.c (grub_wait_after_message): Moved to
10131 `normal/menu_text.c'.
10132 (draw_border): Likewise.
10133 (print_message): Likewise.
10134 (print_entry): Likewise.
10135 (print_entries): Likewise.
10136 (grub_menu_init_page): Likewise.
10137 (get_entry_number): Likewise.
10138 (print_timeout): Likewise.
10139 (run_menu): Likewise.
10140 (grub_menu_execute_entry): Likewise.
10141 (show_text_menu): Likewise.
10142 (get_and_remove_first_entry_number): New function.
10143 (grub_menu_execute_with_fallback): Likewise.
10144 (get_entry): Renamed to ...
10145 (grub_menu_get_entry): .. this and made it global.
10146 (get_timeout): Renamed to ...
10147 (grub_menu_get_timeout): ... this and made it global.
10148 (set_timeout): Renamed to ...
10149 (grub_menu_set_timeout): ... this and made it global.
10150 (grub_normal_terminal_menu_viewer): Renamed to ...
10151 (grub_normal_text_menu_viewer): ... this.
10152
10153 * normal/menu_text.c: New file. Extracted text-menu-specific code
10154 from normal/menu.c.
10155
10156 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10157 (normal_mod_SOURCES): Likewise.
10158
10159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10160 (normal_mod_SOURCES): Likewise.
10161
10162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10163 (normal_mod_SOURCES): Likewise.
10164
10165 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10166 (normal_mod_SOURCES): Likewise.
10167
10168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10169 (normal_mod_SOURCES): Likewise.
10170
10171 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10172 (normal_mod_SOURCES): Likewise.
10173
10174 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10175 (normal_mod_SOURCES): Likewise.
10176
16ac430e 101772009-02-11 Robert Millan <rmh@aybabtu.com>
10178
10179 * util/grub.d/00_header.in: Update old reference to `font' command.
10180
06ff20fc 101812009-02-10 Felix Zielcke <fzielcke@z-51.de>
10182
10183 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10184
10185 Based on patch from Javier Martín.
10186
96da9407 101872009-02-09 Felix Zielcke <fzielcke@z-51.de>
10188
10189 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10190 to avoid false positives with FAT.
96da9407 10191 (grub_fstest_SOURCES): Likewise.
10192 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10193 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10195 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10197 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10198
6dca6fe4 101992009-02-09 Felix Zielcke <fzielcke@z-51.de>
10200
06ff20fc 10201 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10202 bpb.version_specific.fat12_or_fat16.fstype and
10203 bpb.version_specific.fat32.fstype.
10204
2550c62f 102052009-02-08 Robert Millan <rmh@aybabtu.com>
10206
be110b30 10207 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10208
56978920 102092009-02-08 Robert Millan <rmh@aybabtu.com>
10210
10211 * Makefile.in (host_os, host_cpu): New variables.
10212 (target_os): Remove. Update all users.
10213
d64399b5 102142009-02-08 Marco Gerards <marco@gnu.org>
10215
10216 * Makefile.in (enable_grub_emu_usb): New variable.
10217 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10218 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10219 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10220 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10221 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10222 `usbtest.mod' and `usbms.mod'.
10223 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10224 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10225 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10226 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10227 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10228 variables.
10229
10230 * disk/usbms.c: New file.
10231
10232 * include/grub/usb.h: Likewise.
10233
10234 * include/grub/usbtrans.h: Likewise.
10235
10236 * include/grub/usbdesc.h: Likewise.
10237
10238 * bus/usb/usbtrans.c: Likewise.
10239
10240 * bus/usb/ohci.c: Likewise.
10241
10242 * bus/usb/uhci.c: Likewise.
10243
10244 * bus/usb/usbhub.c: Likewise.
10245
10246 * bus/usb/usb.c: Likewise.
10247
10248 * commands/usbtest.c: Likewise.
10249
10250 * util/usb.c: Likewise.
50fb7002 10251
d64399b5 10252 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10253
10254 * configure.ac: Test for libusb presence.
50fb7002 10255
d64399b5 10256 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10257
2b40d6bb 102582009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10259
10260 * kern/mm.c: Add more comments.
10261
73a4ce81 102622009-02-08 Robert Millan <rmh@aybabtu.com>
10263
10264 Patch from Javier Martín.
10265 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10266 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10267
f821ce59 102682009-02-08 Robert Millan <rmh@aybabtu.com>
10269
10270 * fs/cpio.c: Split tar functionality to ...
10271 * fs/tar.c: ... here (new file). Update all users.
10272
aebfc4b0 102732009-02-07 Robert Millan <rmh@aybabtu.com>
10274
10275 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10276 backward-incompatible features.
10277
10278 Based on patch from Javier Martín, with some adjustments.
10279
50fb7002 102802009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10281
10282 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10283
0bb5115e 102842009-02-07 Robert Millan <rmh@aybabtu.com>
10285
10286 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10287 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10288 after the RAID stuff.
10289
38a0f8e7 102902009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10291
50fb7002 10292 Fixes problem when running vbetest command as reported by
38a0f8e7 10293 Vladimir Serbinenko <phcoder@gmail.com>.
10294
10295 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10296
3143cc1c 102972009-02-04 Felix Zielcke <fzielcke@z-51.de>
10298
10299 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10300 /dev/md/NpN style mdraid devices.
10301
9cba6fce 103022009-02-03 Felix Zielcke <fzielcke@z-51.de>
10303
10304 * util/unifont2pff.rb: Remove.
10305
e507a2c1 103062009-02-03 Felix Zielcke <fzielcke@z-51.de>
10307
10308 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10309 `#'.
10310
d2c2b4cd 103112009-02-03 Felix Zielcke <fzielcke@z-51.de>
10312
10313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10314 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10315 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10318 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10319 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10320
b4315fb0 103212009-02-02 Christian Franke <franke@computer.org>
10322
10323 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10324
de3aa260 103252009-02-01 Felix Zielcke <fzielcke@z-51.de>
10326
7c3ff286 10327 * INSTALL: Note that we now require at least autoconf 2.59 and
10328 that LZO is optional.
de3aa260 10329
825a182b 103302009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10331
10332 Base on patch on bug #24154 created by Tomas Tintera
10333 <trosos@seznam.cz>.
10334
10335 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10336
a69ef770 103372009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10338
7c3ff286 10339 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10340 <bero@arklinux.org>.
10341
10342 * normal/parser.y (script_init): Add missing semicolon.
10343
6fa42fa6 103442009-01-31 Colin D Bennett <colin@gibibit.com>
10345
7c3ff286 10346 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10347 (free_menu_entry_classes): Added.
10348 (grub_normal_menu_addentry): Added class property handling.
10349 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10350 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10351
10352 * normal/menu_viewer.c: New file.
10353
10354 * normal/menu.c (run_menu_entry): Renamed to ...
10355 (grub_menu_execute_entry): ... this and made it as global.
10356 (grub_menu_run): Renamed to ...
10357 (show_text_menu): ... this and made it local.
10358 (show_text_menu): Adapt to new function names.
10359 (grub_normal_terminal_menu_viewer): New global variable.
10360
10361 * include/grub/menu.h: New file.
10362
10363 * include/grub/menu_viewer.h: New file.
10364
10365 * include/grub/normal.h: Added include to grub/menu.h.
10366 (grub_menu_entry): Moved to include/grub/menu.h.
10367 (grub_menu_entry_t): Likewise.
10368 (grub_menu): Likewise.
10369 (grub_menu_t): Likewise.
10370 (grub_normal_terminal_menu_viewer): Added.
10371 (grub_menu_execute_entry): Likewise.
10372 (grub_menu_run): Removed.
10373
10374 * DISTLIST: Added include/grub/menu.h.
10375 Added include/grub/menu_viewer.h.
10376 Added normal/menu_viewer.c.
10377
103782009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10379
10380 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10381 arglist for menutitle arguments.
10382
10383 * normal/main.c (grub_normal_menu_addentry): Likewise.
10384
10385 * normal/parser.y (menuentry): Likewise.
10386
10387 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10388
10389 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10390 (grub_script_create_cmdmenu): Likewise.
10391
10392 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10393
10394 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10395 changes.
10396
10397 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10398
10399 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10400
10401 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10402
10403 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10404
10405 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10406
10407 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10408
56192c23 104092009-01-30 Christian Franke <franke@computer.org>
10410
10411 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10412 in option help text.
10413
d72521b3 104142009-01-27 Pavel Roskin <proski@gnu.org>
10415
10416 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10417
994b5e84 104182009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10419
10420 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10421
10422 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10423
10424 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10425 unregister function.
10426
6a7eab2c 104272009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10428
10429 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10430
10431 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10432
10433 * util/grub-mkfont.c (usage): Fix typo.
10434
10435 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10436
1806b56e 104372009-01-26 Daniel Mierswa <impulze@impulze.org>
10438
3fb18f09 10439 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10440
336e1fb9 10441 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10442
1806b56e 10443 * kern/misc.c (grub_strcasecmp): New function.
10444 (grub_strcasecmp): Use grub_size_t instead of int for length.
10445 Fix return value.
10446 * include/grub/misc.h: Update function prototypes.
10447
580b2a0f 104482009-01-26 Robert Millan <rmh@aybabtu.com>
10449
10450 * configure.ac: Fix cross-compilation check.
ef257b36 10451
d31c24f1 104522009-01-22 Christian Franke <franke@computer.org>
10453
10454 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10455 (precision) digit string. Allow `.format2' without `format1' (width).
10456 Limit input chars for `%s' output to `format2' if specified. This is
10457 compatible with standard printf ().
10458
3138b44c 104592009-01-22 Christian Franke <franke@computer.org>
10460
10461 * disk/ata.c (grub_ata_wait_status): Replace by ...
10462 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10463 other status bits may be invalid while BSY is asserted.
10464 (grub_ata_check_ready): New function.
10465 (grub_ata_cmd): Removed.
10466 (grub_ata_wait_drq): New function.
10467 (grub_ata_strncpy): Remove inline.
10468 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10469 and error check now done by grub_ata_wait_drq ().
10470 (grub_ata_pio_write): Likewise.
10471 (grub_atapi_identify): Set DEV before check for !BSY. Use
10472 grub_ata_wait_drq () to wait for data.
10473 (grub_ata_device_initialize): Add status register check to
10474 detect missing SATA slave devices. Add debug messages.
10475 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10476 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10477 transfer loop by grub_ata_pio_write ().
10478 (grub_ata_identify): Set DEV before check for !BSY. Use
10479 grub_ata_wait_drq () to wait for data.
ef257b36 10480 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10481 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10482 read/write in one loop. Fix invalid command on write. Fix incomplete
10483 command on (size % batch) == 0. Add missing error check after write of
10484 last block. Add debug messages.
10485 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10486
59a64ef6 104872009-01-19 Christian Franke <franke@computer.org>
10488
10489 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10490 (GRUB_ATAPI_IREASON_*): Likewise.
10491 (grub_ata_pio_write): Fix timeout error return.
10492 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10493 (grub_atapi_wait_drq): New function.
10494 (grub_atapi_packet): New parameter `size'.
10495 Use grub_atapi_wait_drq () and direct write instead of
10496 grub_ata_pio_write ().
10497 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10498 reads the number of bytes requested by the device for each DRQ
10499 assertion.
10500 (grub_atapi_write): Remove old implementation, return not
10501 implemented instead.
10502
1cfe20b3 105032009-01-19 Christian Franke <franke@computer.org>
10504
10505 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10506 of 512 to calculate data size.
10507 (grub_scsi_read12): Likewise.
10508 (grub_scsi_write10): Likewise.
10509 (grub_scsi_write12): Likewise.
10510 (grub_scsi_read): Adjust size according to blocksize.
10511 Add checks for invalid blocksize and unaligned transfer.
10512
bee5fe5d 105132009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10514
10515 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10516
ef257b36 10517 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10518 width glyphs.
10519
3e643f8c 105202009-01-19 Robert Millan <rmh@aybabtu.com>
10521
10522 * config.guess: Update to latest version from config git.
10523 * config.sub: Likewise.
10524
4fa80998 105252009-01-17 Felix Zielcke <fzielcke@z-51.de>
10526
10527 * Makefile.in: Change font compilation to use new grub-mkfont instead
10528 of java version.
10529
10530 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10531 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10532 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10533 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10534 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10535 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10536 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10537 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10538 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10539
7086085b 105402009-01-16 Christian Franke <franke@computer.org>
10541
10542 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10543 (enum grub_ata_timeout_milliseconds): New enum.
10544 (grub_ata_wait_status): Add parameter milliseconds.
10545 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10546 recovery from timed-out commands.
10547 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10548 return grub_errno instead of REG_ERROR.
10549 (grub_ata_pio_write): Add parameter milliseconds.
10550 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10551 Pass milliseconds to grub_ata_wait_status () and
10552 grub_ata_pio_read ().
10553 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10554 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10555 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10556 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10557 It is not suitable for device detection, because DEV bit is ignored,
10558 the command may run too long, and not all devices set the signature
10559 properly.
10560 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10561 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10562 Fix device selection, DEV bit must be set first to address the registers
10563 of the correct device.
10564 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10565 grub_ata_pio_read/write ().
10566 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10567 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10568
4a412913 105692009-01-13 Carles Pina i Estany <carles@pina.cat>
10570
10571 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10572
7795c55e 105732009-01-13 Bean <bean123ch@gmail.com>
d913988c 10574
10575 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10576
7795c55e 105772009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10578
10579 * Makefile.in: (enable_grub_mkfont): New variable.
10580 (freetype_cflags): Likewise.
10581 (freetype_libs): Likewise.
10582
10583 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10584 (grub_mkfont_SOURCES): New variable.
10585 (grub_mkfont_CFLAGS): Likewise.
10586 (grub_mkfont_LDFLAGS): Likewise.
10587
10588 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10589 library if `--enable-grub-mkfont' is requested.
10590 (enable_grub_mkfont): New variable.
10591 (freetype_cflags): Likewise.
10592 (freetype_libs): Likewise.
10593
10594 * util/grub-mkfont.c: New file.
10595
093af1fe 105962009-01-12 Christian Franke <franke@computer.org>
10597
10598 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10599 mode check. Fix setting of compat_use[].
10600
f36cc108 106012009-01-10 Robert Millan <rmh@aybabtu.com>
10602
10603 Update a few copyright years which we forgot to do in 2008 (only for
10604 files whose changes made in 2008 were copyright-significant)
10605
10606 * Makefile.in: Add 2008 to Copyright line.
10607 * disk/ieee1275/ofdisk.c: Likewise.
10608 * disk/efi/efidisk.c: Likewise.
10609 * kern/dl.c: Likewise.
10610 * kern/sparc64/ieee1275/init.c: Likewise.
10611 * kern/mm.c: Likewise.
10612 * kern/efi/mm.c: Likewise.
10613 * boot/i386/pc/boot.S: Likewise.
10614 * genfslist.sh: Likewise.
10615 * fs/iso9660.c: Likewise.
10616 * fs/hfs.c: Likewise.
10617 * fs/jfs.c: Likewise.
10618 * fs/minix.c: Likewise.
10619 * fs/ufs.c: Likewise.
10620 * gensymlist.sh.in: Likewise.
10621 * genkernsyms.sh.in: Likewise.
10622 * include/grub/misc.h: Likewise.
10623 * include/grub/types.h: Likewise.
10624 * include/grub/symbol.h: Likewise.
10625 * include/grub/elf.h: Likewise.
10626 * include/grub/kernel.h: Likewise.
10627 * include/grub/disk.h: Likewise.
10628 * include/grub/dl.h: Likewise.
10629 * include/grub/i386/linux.h: Likewise.
10630 * include/grub/i386/pc/biosdisk.h: Likewise.
10631 * include/grub/efi/api.h: Likewise.
10632 * include/grub/efi/pe32.h: Likewise.
10633 * include/grub/util/misc.h: Likewise.
10634 * normal/execute.c: Likewise.
10635 * normal/arg.c: Likewise.
10636 * normal/completion.c: Likewise.
10637 * normal/lexer.c: Likewise.
10638 * normal/parser.y: Likewise.
10639 * normal/misc.c: Likewise.
10640 * commands/i386/pc/vbeinfo.c: Likewise.
10641 * commands/hexdump.c: Likewise.
10642 * commands/terminal.c: Likewise.
10643 * commands/ls.c: Likewise.
10644 * commands/help.c: Likewise.
10645 * partmap/pc.c: Likewise.
10646 * loader/efi/chainloader.c: Likewise.
10647 * loader/multiboot_loader.c: Likewise.
10648 * loader/i386/pc/multiboot2.c: Likewise.
10649 * term/efi/console.c: Likewise.
10650 * term/i386/pc/serial.c: Likewise.
10651 * util/lvm.c: Likewise.
10652 * util/console.c: Likewise.
10653 * util/i386/efi/grub-mkimage.c: Likewise.
10654 * util/raid.c: Likewise.
10655
7f02114b 106562009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10657
10658 * commands/videotest.c: Removed include to grub/machine/memory.h.
10659
10660 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10661 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10662 (video_mod_SOURCES): Removed.
10663 (video_mod_CFLAGS): Likewise.
10664 (video_mod_LDFLAGS): Likewise.
10665 (gfxterm_mod_SOURCES): Likewise.
10666 (gfxterm_mod_CFLAGS): Likewise.
10667 (gfxterm_mod_LDFLAGS): Likewise.
10668 (videotest_mod_SOURCES): Likewise.
10669 (videotest_mod_CFLAGS): Likewise.
10670 (videotest_mod_LDFLAGS): Likewise.
10671 (bitmap_mod_SOURCES): Likewise.
10672 (bitmap_mod_CFLAGS): Likewise.
10673 (bitmap_mod_LDFLAGS): Likewise.
10674 (tga_mod_SOURCES): Likewise.
10675 (tga_mod_CFLAGS): Likewise.
10676 (tga_mod_LDFLAGS): Likewise.
10677 (jpeg_mod_SOURCES): Likewise.
10678 (jpeg_mod_CFLAGS): Likewise.
10679 (jpeg_mod_LDFLAGS): Likewise.
10680 (png_mod_SOURCES): Likewise.
10681 (png_mod_CFLAGS): Likewise.
10682 (png_mod_LDFLAGS): Likewise.
10683
10684 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10685 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10686 (video_mod_SOURCES): Added.
10687 (video_mod_CFLAGS): Likewise.
10688 (video_mod_LDFLAGS): Likewise.
10689 (videotest_mod_SOURCES): Likewise.
10690 (videotest_mod_CFLAGS): Likewise.
10691 (videotest_mod_LDFLAGS): Likewise.
10692 (bitmap_mod_SOURCES): Likewise.
10693 (bitmap_mod_CFLAGS): Likewise.
10694 (bitmap_mod_LDFLAGS): Likewise.
10695 (tga_mod_SOURCES): Likewise.
10696 (tga_mod_CFLAGS): Likewise.
10697 (tga_mod_LDFLAGS): Likewise.
10698 (jpeg_mod_SOURCES): Likewise.
10699 (jpeg_mod_CFLAGS): Likewise.
10700 (jpeg_mod_LDFLAGS): Likewise.
10701 (png_mod_SOURCES): Likewise.
10702 (png_mod_CFLAGS): Likewise.
10703 (png_mod_LDFLAGS): Likewise.
10704 (gfxterm_mod_SOURCES): Likewise.
10705 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10706 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10707
10708 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10709 grub/machine/console.h.
10710
644fff97 107112009-01-04 Jerone Young <jerone@gmail.com>
10712
10713 Make on screen instructions clearer
10714
10715 Based on patch created by Jidanni <jidanni@jidanni.org>
10716
10717 * normal/menu.c: print clearer instructions on the screen
10718
1e901a75 107192009-01-02 Colin D Bennett <colin@gibibit.com>
10720
10721 New font engine.
34c44600 10722
1e901a75 10723 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10724 build system and fixed gfxterm.c to work with different sized fonts.
10725
10726 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 10727
1e901a75 10728 * configure: Re-generated.
34c44600 10729
1e901a75 10730 * DISTLIST: Removed font/manager.c.
10731 Added font/font.c.
10732 Added font/font_cmd.c.
34c44600 10733
1e901a75 10734 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
10735 compilation.
34c44600 10736
1e901a75 10737 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 10738
10739 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 10740
10741 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 10742
1e901a75 10743 * normal/menu.c: Likewise.
34c44600 10744
1e901a75 10745 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
10746 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 10747
1e901a75 10748 * include/grub/font.h: Replaced with new file.
34c44600 10749
1e901a75 10750 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
10751 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
10752 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
10753 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
10754 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 10755 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 10756 fg_red, fg_green, fg_blue, fg_alpha.
10757 (grub_video_adapter): Removed blit_glyph.
34c44600 10758 (grub_video_blit_glyph): Removed.
10759
1e901a75 10760 * font/manager.c: Removed file.
34c44600 10761
10762 * font/font.c: New file.
10763
1e901a75 10764 * font/font_cmd.c: Likewise.
34c44600 10765
1e901a75 10766 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 10767
1e901a75 10768 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
10769 (grub_video_vbe_map_rgba): Likewise.
10770 (grub_video_vbe_unmap_color_int): Likewise.
10771 (grub_video_vbe_blit_glyph): Removed.
10772 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 10773
1e901a75 10774 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
10775 (get_pixel): Likewise.
34c44600 10776 (set_pixel): Likewise.
10777
1e901a75 10778 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 10779
1e901a75 10780 * term/gfxterm.c: Adapted to new font engine.
34c44600 10781
1e901a75 10782 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 10783
1e901a75 10784 * term/i386/pc/vga.c: Likewise.
34c44600 10785
1e901a75 10786 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 10787
1e901a75 10788 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 10789
1e901a75 10790 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10791
1e901a75 10792 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10793
1e901a75 10794 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 10795
1e901a75 10796 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 10797
1e901a75 10798 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 10799
1e901a75 10800 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 10801
1e901a75 10802 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10803
10804 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 10805
1e901a75 10806 * util/grub-mkconfig_lib.in: Changed font extension.
10807
278922e8 108082008-12-28 Felix Zielcke <fzielcke@z-51.de>
10809
10810 * util/getroot.c (grub_util_get_grub_dev): Add support for
10811 /dev/md/dNNpNN style partitionable mdraid devices.
10812
3ced05cf 108132008-12-12 Alex Smith <alex@alex-smith.me.uk>
10814
10815 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
10816 at a time limit of the PXE TFTP API correctly.
10817 (grub_pxefs_close): Likewise.
10818
7fd0ee30 108192008-11-29 Robert Millan <rmh@aybabtu.com>
10820
34c44600 10821 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 10822 grub_ata_device_initialize() calls.
10823
34c44600 108242008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 10825
10826 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
10827 iteration failed.
10828 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
10829
89313780 108302008-11-28 Robert Millan <rmh@aybabtu.com>
10831
10832 Fix build on powerpc-ieee1275. Based on patch created by
10833 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
10834 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10835 `kern/ieee1275/mmap.c'.
10836 * include/grub/powerpc/ieee1275/memory.h: New file.
10837
15257703 10838 Provide grub-install on coreboot.
10839 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
10840 (grub_install_SOURCES): New variable.
10841 * util/i386/pc/grub-install.in: Add a few condition checks to make it
10842 usable on coreboot.
10843
9fc5388a 108442008-11-25 Felix Zielcke <fzielcke@z-51.de>
10845
10846 * util/grub-fstest.c (grub_term_get_current_input): Change return type
10847 to `grub_term_input_t'.
10848 (grub_term_get_current_output): Change return type to
10849 `grub_term_output_t'.
10850
bc3a2f31 108512008-11-22 Robert Millan <rmh@aybabtu.com>
10852
34c44600 10853 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 10854 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
10855 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
10856 grub_vga_text_cls().
10857
80fc88f2 10858 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 10859 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 10860
cbf36fd3 10861 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
10862 to 0x200000 (avoids trouble with some OFW implementations, and matches
10863 with the one in Yaboot).
10864 Reported by Manoel Abranches
10865
73e8e268 108662008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 10867
10868 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
10869 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
10870
73e8e268 10871 * util/grub-mkconfig_lib.in (grub_warn): New function.
10872 (convert_system_path_to_grub_path): Use grub_warn() when issuing
10873 warnings, to obtain consistent formatting.
10874 * util/grub.d/00_header.in: Likewise.
10875 * util/update-grub_lib.in: Likewise.
10876
e94045a1 10877 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 10878 Move comment text to `#error' stanza.
e94045a1 10879
79d29fd7 10880 Harmonize ieee1275's grub_available_iterate() with the generic
10881 grub_machine_mmap_iterate() interface (fixes a recently-introduced
10882 build problem on i386-ieee1275):
10883 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
10884 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
10885 parameter `type'. Update all users of this function.
10886 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
10887 `kern/ieee1275/mmap.c'.
10888 * kern/ieee1275/init.c
10889 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
10890 with ...
10891 (grub_machine_mmap_iterate): ... this.
10892 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
10893 return type to `grub_err_t'. Update all implementations of this
10894 function prototype.
10895 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
10896 Likewise.
10897
60d6b16e 10898 Add `lsmmap' command (lists firmware-provided memory map):
10899 * commands/lsmmap.c: New file.
10900 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
10901 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
10902 variables.
10903 * conf/powerpc-ieee1275.rmk: Likewise.
10904 * conf/i386-coreboot.rmk: Likewise.
10905 * conf/i386-ieee1275.rmk: Likewise.
10906
ebaaf49b 109072008-11-19 Robert Millan <rmh@aybabtu.com>
10908
10909 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 10910 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
10911 constraints to initrd allocation (based on code from
10912 loader/i386/pc/linux.c). Without them, initrd was allocated too high
10913 for Linux to find it.
ebaaf49b 10914
dfab719f 109152008-11-14 Robert Millan <rmh@aybabtu.com>
10916
10917 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
10918 order to cope with duplicate slashes.
10919
10fc3eb9 109202008-11-14 Robert Millan <rmh@aybabtu.com>
10921
10922 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
10923 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
10924 don't want to mess with lower memory, because it is used in the Linux
10925 loader.
10926
10927 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 10928 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 10929 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
10930 is in our heap (probably as a result of it being corrupted during
2f2a3442 10931 decompression). Add #error instance with comment to explain why this
10932 loader isn't currently usable on PC/BIOS.
10fc3eb9 10933
e2e07847 109342008-11-14 Robert Millan <rmh@aybabtu.com>
10935
10936 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 10937 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 10938
fe8e8d69 109392008-11-12 Robert Millan <rmh@aybabtu.com>
10940
10941 Make loader/i386/linux.c buildable on i386-pc (although disabled).
10942
10943 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
10944 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
10945 from here ...
10946 * include/grub/i386/pc/memory.h: ... to here.
10947
976b07d0 109482008-11-12 Robert Millan <rmh@aybabtu.com>
10949
10950 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
10951 split).
10952
10953 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
10954 (grub_console_cur_color, grub_console_real_putchar)
10955 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10956 (grub_console_setcolorstate, grub_console_setcolor)
10957 (grub_console_getcolor): Move from here ...
10958 * include/grub/i386/vga_common.h: ... to here (new file).
10959
10960 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
10961 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
10962 `<grub/i386/io.h>'.
10963 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
10964 `<grub/i386/vga_common.h>'.
10965
76679cd3 109662008-11-12 Robert Millan <rmh@aybabtu.com>
10967
10968 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
10969 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
10970 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
10971 variables.
10972 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10973 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
10974
10975 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
10976 grub_console_init() with call to grub_vga_text_init().
10977 (grub_machine_fini): Replace call to
10978 grub_console_fini() with call to grub_vga_text_fini() and
10979 grub_at_keyboard_fini().
10980
10981 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
10982 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10983 (grub_console_setcolorstate, grub_console_setcolor)
10984 (grub_console_getcolor): New function prototypes.
10985
10986 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
10987 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
10988 (grub_vga_text_setcursor): Static-ize.
10989 (grub_vga_text_term): New structure.
10990 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
10991
10992 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
10993 (grub_console_cur_color, grub_console_standard_color)
10994 (grub_console_normal_color, grub_console_highlight_color)
10995 (map_char, grub_console_putchar, grub_console_getcharwidth)
10996 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
10997 (grub_console_getcolor): Move from here ...
10998 * term/i386/vga_common.c: ... to here (same function names).
10999
95b841d3 110002008-11-12 Robert Millan <rmh@aybabtu.com>
11001
11002 Use newly-added Multiboot support in coreboot.
11003
11004 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11005 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11006
11007 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11008 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11009 (codestart): Store the MBI in `startup_multiboot_info' when we're
11010 being loaded using Multiboot.
11011
11012 * kern/i386/coreboot/init.c (grub_machine_init): Move
11013 grub_at_keyboard_init() call to beginning of function (useful for
11014 debugging). Call grub_machine_mmap_init() before attempting to use
11015 grub_machine_mmap_iterate().
11016 (grub_lower_mem, grub_upper_mem): Move from here ...
11017 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11018 here (new file).
11019
11020 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11021 function prototype.
11022
761ca975 110232008-11-12 Robert Millan <rmh@aybabtu.com>
11024
11025 Fix a regression introduced by the at_keyboard.mod split. Because
11026 some terminals are default on some platforms and non-default on
11027 others, the first terminal being registered determines which is
11028 going to be default.
11029
11030 * kern/term.c (grub_term_register_input): If this is the first
11031 terminal being registered, set it as the current one.
11032 (grub_term_register_output): Likewise.
11033
11034 * term/efi/console.c (grub_console_init): Do not call
11035 grub_term_set_current_output() or grub_term_set_current_input().
11036 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11037 * term/i386/pc/console.c (grub_console_init): Likewise.
11038 (grub_console_fini): Do not call grub_term_set_current_input()
11039 (but leave grub_term_set_current_output() to restore text mode).
11040
6c529df7 110412008-11-10 Robert Millan <rmh@aybabtu.com>
11042
11043 * util/grub.d/00_header.in: Add backward compatibility check for
11044 versions of terminal.mod that don't understand `terminal_input' or
11045 `terminal_output'.
11046
132e4113 110472008-11-09 Robert Millan <rmh@aybabtu.com>
11048
11049 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11050 `terminal_input' / `terminal_output', not `terminal'.
11051
ac293d50 110522008-11-08 Robert Millan <rmh@aybabtu.com>
11053
11054 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11055 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11056
0025933a 110572008-11-08 Robert Millan <rmh@aybabtu.com>
11058
11059 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11060 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11061 members. Update all users.
11062 * util/console.c (grub_ncurses_term): Split in ...
11063 (grub_ncurses_term_input): ... this, and ...
11064 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11065 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11066
37c86336 110672008-11-08 Robert Millan <rmh@aybabtu.com>
11068
11069 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11070 (PKGDATA): Add $(pkgdata_SRCDIR).
11071 (pkglib_BUILDDIR): New variable.
11072 (pkgdata_SRCDIR): New variable.
11073 (build_env.mk): New target.
11074 (include_DATA): New variable.
11075 (install-local): Install $(include_DATA) files in $(includedir).
11076
b6c15a2d 110772008-11-07 Pavel Roskin <proski@gnu.org>
11078
d99d46f1 11079 * gendistlist.sh: Use C locale for sorting to ensure consistent
11080 output on all systems.
11081
b6c15a2d 11082 * util/grub.d/00_header.in: Remove incorrect space before
11083 "serial".
11084
c32ee8c9 110852008-11-07 Robert Millan <rmh@aybabtu.com>
11086
11087 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11088 per specification.
11089 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11090 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11091 (based on find_multi_boot1_header).
11092 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11093 using find_multi_boot2_header(), and abort if neither Multiboot or
11094 Multiboot headers were found.
11095
651c29b7 110962008-11-07 Robert Millan <rmh@aybabtu.com>
11097
11098 Modularize at_keyboard.mod:
11099
11100 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11101 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11102 (at_keyboard_mod_LDFLAGS): New variables.
11103
11104 Actual terminal split:
11105
11106 * include/grub/term.h (struct grub_term): Split in ...
11107 (struct grub_term_input): ... this, and ...
11108 (struct grub_term_output): ... this. Update all users.
11109 (grub_term_set_current): Split in ...
11110 (grub_term_set_current_input): ... this, and ...
11111 (grub_term_set_current_output): ... this.
11112 (grub_term_get_current): Split in ...
11113 (grub_term_get_current_input): ... this, and ...
11114 (grub_term_get_current_output): ... this.
11115 (grub_term_register): Split in ...
11116 (grub_term_register_input): ... this, and ...
11117 (grub_term_register_output): ... this.
11118 (grub_term_unregister): Split in ...
11119 (grub_term_unregister_input): ... this, and ...
11120 (grub_term_unregister_output): ... this.
11121 (grub_term_iterate): Split in ...
11122 (grub_term_iterate_input): ... this, and ...
11123 (grub_term_iterate_output): ... this.
11124
11125 * kern/term.c (grub_term_list): Split in ...
11126 (grub_term_list_input): ... this, and ...
11127 (grub_term_list_output): ... this. Update all users.
11128 (grub_cur_term): Split in ...
11129 (grub_cur_term_input): ... this, and ...
11130 (grub_cur_term_output): ... this. Update all users.
11131 (grub_term_set_current): Split in ...
11132 (grub_term_set_current_input): ... this, and ...
11133 (grub_term_set_current_output): ... this.
11134 (grub_term_get_current): Split in ...
11135 (grub_term_get_current_input): ... this, and ...
11136 (grub_term_get_current_output): ... this.
11137 (grub_term_register): Split in ...
11138 (grub_term_register_input): ... this, and ...
11139 (grub_term_register_output): ... this.
11140 (grub_term_unregister): Split in ...
11141 (grub_term_unregister_input): ... this, and ...
11142 (grub_term_unregister_output): ... this.
11143 (grub_term_iterate): Split in ...
11144 (grub_term_iterate_input): ... this, and ...
11145 (grub_term_iterate_output): ... this.
11146
11147 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11148 a check for input and one for output (and only attempt to get keys
11149 from user when input works).
11150
11151 * util/grub-probe.c (grub_term_get_current): Split in ...
11152 (grub_term_get_current_input): ... this, and ...
11153 (grub_term_get_current_output): ... this.
11154 * util/grub-fstest.c: Likewise.
11155 * util/i386/pc/grub-setup.c: Likewise.
11156 * util/grub-editenv.c: Likewise.
11157
11158 Portability adjustments:
11159
11160 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11161 `term/i386/pc/at_keyboard.c'.
11162 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11163 grub_keyboard_controller_init() (now handled by terminal .init).
11164 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11165 grub_at_keyboard_init().
11166 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11167 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11168 at_keyboard.mod via input terminal interface).
11169 * include/grub/i386/coreboot/console.h: Convert into a stub for
11170 `<grub/i386/pc/console.h>'.
11171
11172 Migrate full terminals to new API:
11173
11174 * term/efi/console.c (grub_console_term): Split into ...
11175 (grub_console_term_input): ... this, and ...
11176 (grub_console_term_output): ... this. Update all users.
11177 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11178 (grub_ofconsole_init): Split into ...
11179 (grub_ofconsole_init_input): ... this, and ...
11180 (grub_ofconsole_init_output): ... this.
11181 (grub_ofconsole_term): Split into ...
11182 (grub_ofconsole_term_input): ... this, and ...
11183 (grub_ofconsole_term_output): ... this. Update all users.
11184 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11185 (grub_serial_term_input): ... this, and ...
11186 (grub_serial_term_output): ... this. Update all users.
11187 * term/i386/pc/console.c (grub_console_term): Split into ...
11188 (grub_console_term_input): ... this, and ...
11189 (grub_console_term_output): ... this. Update all users.
11190 (grub_console_term_input): Only enable it on PC/BIOS platform.
11191 (grub_console_init): Remove grub_keyboard_controller_init() call.
11192
11193 Migrate input terminals to new API:
11194
11195 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11196 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11197 i386-specific anyway).
11198 (grub_console_checkkey): Rename to ...
11199 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11200 users.
11201 (grub_keyboard_controller_orig): New variable.
11202 (grub_console_getkey): Rename to ...
11203 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11204 users.
11205 (grub_keyboard_controller_init): Static-ize. Save original
11206 controller value so that it can be restored ...
11207 (grub_keyboard_controller_fini): ... here (new function).
11208 (grub_at_keyboard_term): New structure.
11209 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11210 functions.
11211
11212 Migrate output terminals to new API:
11213
11214 * term/i386/pc/vga.c (grub_vga_term): Change type to
11215 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11216 members. Update all users.
11217 * term/gfxterm.c (grub_video_term): Change type to
11218 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11219 members. Update all users.
11220 * include/grub/i386/pc/console.h (grub_console_checkkey)
11221 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11222 etc).
11223
11224 Migrate `terminal' command and userland tools to new API:
11225
11226 * commands/terminal.c (grub_cmd_terminal): Split into ...
11227 (grub_cmd_terminal_input): ... this, and ...
11228 (grub_cmd_terminal_output): ... this.
11229 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11230 `terminal_input' and `terminal_output'.
11231 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11232 `terminal_input' / `terminal_output' API.
11233 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11234 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11235 provided ${GRUB_TERMINAL}, convert it).
11236
96e5d876 112372008-11-04 Robert Millan <rmh@aybabtu.com>
11238
11239 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11240 for FreeBSD.
11241 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11242
556f3775 112432008-11-03 Bean <bean123ch@gmail.com>
11244
11245 * kern/elf.c (grub_elf32_load): Revert to previous code.
11246 (grub_elf64_load): Likewise.
11247
11248 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11249
926b9823 112502008-11-01 Robert Millan <rmh@aybabtu.com>
11251
11252 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11253 (TARGET_CPPFLAGS): Likewise.
11254 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11255
1432e958 112562008-11-01 Carles Pina i Estany <carles@pina.cat>
11257
11258 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11259
dba3f844 112602008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11261
11262 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11263 addition of objects until the code is not going to be able to fail.
11264
dba3f844 112652008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11266
11267 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11268 (add a missing NULL check, and correct them by moving the pointer
11269 operations after the actual check).
11270
7ab28c21 112712008-10-29 Robert Millan <rmh@aybabtu.com>
11272
11273 * util/i386/pc/grub-install.in: Handle empty string as output from
11274 make_system_path_relative_to_its_root().
11275
1b7748eb 112762008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11277
11278 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11279 circular metadata worst case scenario. If the metadata is circular
11280 then copy the wrap in place.
11281 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11282 project lib/format_text/layout.h
11283 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11284
c9618ab2 112852008-10-03 Felix Zielcke <fzielcke@z-51.de>
11286
7a36edca 11287 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11288
bf981c62 112892008-10-03 Felix Zielcke <fzielcke@z-51.de>
11290
11291 * util/update-grub_lib.in: Mention filename in warning message.
11292
6d994591 112932008-09-29 Felix Zielcke <fzielcke@z-51.de>
11294
11295 * NEWS: Update for rename of update-grub to grub-mkconfig.
11296
18ade780 112972008-09-29 Felix Zielcke <fzielcke@z-51.de>
11298
11299 * util/update-grub_lib.in: Copy to ...
11300 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11301 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11302 * util/update-grub.in: Rename to ...
11303 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11304 option. Add `--output' option to allow users to specify the generated
11305 configuration file. Default to stdout.
11306 (update_grub_dir): Rename to ...
11307 (grub_mkconfig_dir): ... this.
11308 (grub_cfg): Default to an empty string.
11309 * conf/common.rmk (update-grub): Rename to ...
11310 (grub-mkconfig): ... this.
11311 (update-grub_lib): Copy to ...
11312 (grub-mkconfig_lib): ... this.
11313 (update-grub_SCRIPTS): Copy to ...
11314 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11315 (update-grub_DATA): Rename to ...
11316 (grub-mkconfig_DATA): ... this.
11317
556ce6ac 113182008-09-28 Robert Millan <rmh@aybabtu.com>
11319
11320 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11321 to `modified'. Add the real `created' field.
11322 (grub_iso9660_uuid): Use `modified' rather than `created' for
11323 constructing the UUID.
11324
113252008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11326
11327 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11328 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11329
92274e85 113302008-09-28 Bean <bean123ch@gmail.com>
11331
11332 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11333 Thanks to Christian Franke for finding this bug.
11334
add6f17a 113352008-09-25 Robert Millan <rmh@aybabtu.com>
11336
11337 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11338 instances of grub_util_get_disk_name() (see previous commit).
11339
d2a367b8 113402008-09-25 Robert Millan <rmh@aybabtu.com>
11341
11342 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11343 `util/i386/get_disk_name.c'.
11344 * conf/i386-efi.rmk: Likewise.
11345 * conf/x86_64-efi.rmk: Likewise.
11346 * conf/i386-coreboot.rmk: Likewise.
11347 * conf/i386-ieee1275.rmk: Likewise.
11348 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11349 `util/ieee1275/get_disk_name.c'.
11350 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11351 * util/ieee1275/get_disk_name.c: Remove file.
11352 * util/i386/get_disk_name.c: Remove file.
11353 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11354 "hd%d" for device.map entries, rather than using
11355 grub_util_get_disk_name().
11356
81a06771 113572008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11358
11359 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11360 warning.
11361 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11362
5a004279 113632008-09-24 Carles Pina i Estany <carles@pina.cat>
11364
11365 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11366 Changed to 0x5100.
11367 (GRUB_TERM_PPAGE): Changed to 0x4900.
11368
397093d3 113692008-09-24 Robert Millan <rmh@aybabtu.com>
11370
11371 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11372 macros (they were i386-pc specific).
11373 * include/grub/sparc64/ieee1275/console.h: Likewise.
11374 * include/grub/efi/console.h: Likewise.
11375
a91b6c7c 113762008-09-22 Bean <bean123ch@gmail.com>
11377
11378 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11379 resident and in attribute list.
11380
11381 * include/grub/ntfs.h (BMP_LEN): Removed.
11382
c40fd116 113832008-09-22 Bean <bean123ch@gmail.com>
11384
81a06771 11385 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11386 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11387
11388 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11389 error occurs, as grub_disk_open will call grub_disk_close, which will
11390 call p->close (scsi).
11391
81a06771 113922008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11393
11394 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11395 (AC_PREREQ): Bumped to 2.59.
11396 (AC_TRY_COMPILE): Replace obsolete macro with ...
11397 (AC_COMPILE_IFELSE): ... this.
11398 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11399 (AC_LINK_IFELSE): ... this.
11400
5dc43410 114012008-09-21 Felix Zielcke <fzielcke@z-51.de>
11402
11403 * autogen.sh: Add a call to `gendistlist.sh'.
11404
9035dce4 114052008-09-19 Christian Franke <franke@computer.org>
11406
11407 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11408 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11409 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11410 Export __enable_execute_stack() to modules.
11411 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11412 New function.
11413
7fd75377 114142008-09-09 Felix Zielcke <fzielcke@z-51.de>
11415
040030b3 11416 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11417 Sort the list.
11418
114192008-09-09 Felix Zielcke <fzielcke@z-51.de>
11420
11421 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11422 #include <grub/util/hostdisk.h>.
11423
89d5ffcf 114242008-09-08 Robert Millan <rmh@aybabtu.com>
11425
11426 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11427 segments when their filesz is zero (grub_file_read() interprets
81a06771 11428 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11429 Use `lowest_segment' rather than 0 for calculating the current
11430 segment load address.
11431
40da438f 114322008-09-08 Robert Millan <rmh@aybabtu.com>
11433
11434 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11435 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11436 clobbered useful information.
11437
ddbf5556 114382008-09-08 Robert Millan <rmh@aybabtu.com>
11439
11440 * include/grub/util/biosdisk.h: Move to ...
11441 * include/grub/util/hostdisk.h: ... here. Update all users.
11442 * util/biosdisk.c: Move to ...
11443 * util/hostdisk.c: ... here. Update all users.
11444
783d0f48 114452008-09-07 Robert Millan <rmh@aybabtu.com>
11446
11447 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11448 variables.
11449 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11450 and length can be stored directly in the `mbi->mmap_addr' and
11451 `mbi->mmap_length' struct fields.
11452
548e2ea5 114532008-09-07 Robert Millan <rmh@aybabtu.com>
11454
11455 * conf/i386.rmk: New file. Provides declaration for building
11456 `cpuid.mod'.
11457 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11458 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11459 variables.
11460 Include `conf/i386.mk'.
11461 * conf/i386-efi.rmk: Likewise.
11462 * conf/x86_64-efi.rmk: Likewise.
11463 * conf/i386-coreboot.rmk: Likewise.
11464 * conf/i386-ieee1275.rmk: Likewise.
11465
0ea85a37 114662008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11467
11468 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11469 Adds optimization support for BGR based modes.
11470
11471 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11472 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11475 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11476 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11477 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11478 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11479 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11480 (grub_video_i386_vbeblit_index_index): Likewise.
11481 (grub_video_i386_vbeblit_replace_directN): Added.
11482 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11483 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11484 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11485 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11486 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11487 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11488 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11489 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11490 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11491 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11492 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11493 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11494 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11495
11496 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11497 (grub_video_i386_vbefill_R8G8B8): Likewise.
11498 (grub_video_i386_vbefill_index): Likewise.
11499 (grub_video_i386_vbefill_direct32): Added.
11500 (grub_video_i386_vbefill_direct24): Likewise.
11501 (grub_video_i386_vbefill_direct16): Likewise.
11502 (grub_video_i386_vbefill_direct8): Likewise.
11503
81a06771 11504 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11505 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11506 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11507 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11508 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11509 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11510
0ea85a37 11511 * video/video.c (grub_video_get_blit_format): Updated to use new
11512 blit formats. Added handling for 16 bit color modes.
81a06771 11513
11514 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11515 fillers.
11516 (common_blitter): Updated to use new blitters.
11517
11518 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11519 Removed.
11520 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11521 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11523 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11524 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11525 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11526 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11527 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11528 (grub_video_i386_vbeblit_index_index): Likewise.
11529 (grub_video_i386_vbeblit_replace_directN): Added.
11530 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11531 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11532 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11533 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11534 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11535 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11536 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11537 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11538 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11539 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11540 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11541 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11542 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11543
0ea85a37 11544 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11545 (grub_video_i386_vbefill_R8G8B8): Likewise.
11546 (grub_video_i386_vbefill_index): Likewise.
11547 (grub_video_i386_vbefill_direct32): Added.
11548 (grub_video_i386_vbefill_direct24): Likewise.
11549 (grub_video_i386_vbefill_direct16): Likewise.
11550 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11551
0ea85a37 11552 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11553 types.
81a06771 11554
0ea85a37 11555 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11556 types.
81a06771 11557
0ea85a37 11558 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11559 blitter types.
81a06771 11560
0ea85a37 11561 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11562 types.
11563
e8a83df6 115642008-09-06 Felix Zielcke <fzielcke@z-51.de>
11565
11566 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11567 RAID level 1.
11568
6bcd8ee5 115692008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11570
6bcd8ee5 11571 * fs/iso9660.c (grub_iso9660_date): New structure.
11572 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11573 (grub_iso9660_uuid): New function.
c375ae58 11574
59261157 115752008-09-05 Bean <bean123ch@gmail.com>
11576
11577 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11578
11579 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11580 insensitive bit for names in Win32 and Win32 & DOS namespace.
11581
11582 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11583
11584 * include/grub/types.h (LONG_MAX): Likewise.
11585
58b6645a 115862008-09-04 Felix Zielcke <fzielcke@z-51.de>
11587
4ee55921 11588 * util/getroot.c: Include <config.h>.
11589 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11590 add support for /dev/md/N devices and handle LVM double dash escaping.
11591
115922008-09-04 Felix Zielcke <fzielcke@z-51.de>
11593
11594 * config.guess: Update to latest version from config git.
11595 * config.sub: Likewise.
58b6645a 11596
9124f65d 115972008-09-03 Robert Millan <rmh@aybabtu.com>
11598
11599 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11600 `disk->total_sectors'.
11601
81a06771 116022008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11603
11604 * include/grub/normal.h: Fixed incorrect comment for
11605 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11606
81a06771 116072008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11608
11609 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11610 values with defines.
11611
11612 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11613 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11614 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11615 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11616 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11617 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11618 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11619 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11620 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11621 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11622 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11623 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11624 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11625 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11626 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11627 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11628 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11629 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11630 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11631
93d5cbf8 116322008-08-31 Robert Millan <rmh@aybabtu.com>
11633
11634 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11635 declaration.
11636 (grub_multiboot): Fix a few warnings.
11637
21751d50 116382008-08-31 Robert Millan <rmh@aybabtu.com>
11639
11640 * loader/i386/pc/multiboot.c: Update comment not to say that
11641 boot_device support is unimplemented.
11642
e27a75c5 116432008-08-31 Robert Millan <rmh@aybabtu.com>
11644
11645 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11646 or memory map support are unimplemented.
11647
81a06771 116482008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11649
11650 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11651
81a06771 116522008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11653
11654 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11655 total video memory in 'vbeinfo' output; show color format details for
11656 each video mode.
11657
7c5d8d95 116582008-08-30 Pavel Roskin <proski@gnu.org>
11659
11660 * util/genmoddep.c: Remove for real this time.
11661 * DISTLIST: Remove util/genmoddep.c.
11662
4cebd25a 116632008-08-30 Robert Millan <rmh@aybabtu.com>
11664
11665 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11666 as required by Multiboot spec (it was already 4-byte aligned, but
11667 only by chance).
11668
b497a269 116692008-08-29 Pavel Roskin <proski@gnu.org>
11670
e3925185 11671 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11672 * kern/powerpc/ieee1275/startup.S: ... this.
11673 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11674 * DISTLIST: Likewise.
11675
b497a269 11676 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11677 grub/cpu/kernel.h. Add start label for consistency with other
11678 platforms. Add grub_prefix immediately after start. Add jump
11679 to the code after grub_prefix.
11680 * include/grub/powerpc/kernel.h: Provide valid values for
11681 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11682
6e5a42fe 116832008-08-29 Bean <bean123ch@gmail.com>
11684
11685 * configure.ac: Change host_os to cygwin for mingw.
11686 (asprintf): New check for function.
11687
11688 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11689 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11690
11691 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11692 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11693 sync, sleep and grub_util_get_disk_size for mingw.
11694
11695 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11696 to get size in mingw.
11697 (open_device): Use flag O_BINARY if it's defined.
11698 (find_root_device): Add dummy code for mingw.
11699
11700 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11701 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11702 (get_scsi_disk_name): Return 0 for mingw.
11703
11704 * util/hostfs.c: #include <grub/util/misc.h>.
11705 (grub_hostfs_open): Use "rb" flag to open file, use
11706 grub_util_get_disk_size to get disk size for mingw.
11707
11708 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11709 (asprintf): New function if HAVE_ASPRINTF is not set.
11710 (sync): New function for mingw.
11711 (sleep): Likewise.
11712 (grub_util_get_disk_size): Likewise.
11713
ab3f2673 117142008-08-28 Pavel Roskin <proski@gnu.org>
11715
11716 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11717 kern/time.c.
11718
1c282483 117192008-08-28 Robert Millan <rmh@aybabtu.com>
11720
11721 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11722
678e849c 117232008-08-28 Robert Millan <rmh@aybabtu.com>
11724
11725 Change find_grub_drive() syntax so it doesn't prevent it from
11726 detecting NULL names as errors.
11727
11728 * util/biosdisk.c (find_grub_drive): Move free slot search code
11729 from here ...
11730 (find_free_slot): ... to here.
11731 (read_device_map): Use find_free_slot() to search for free slots.
11732
965c75ca 117332008-08-27 Marco Gerards <marco@gnu.org>
11734
11735 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
11736 (scsi_mod_SOURCES): New variable.
11737 (scsi_mod_CFLAGS): Likewise
11738 (scsi_mod_LDFLAGS): Likewise.
11739
11740 * disk/scsi.c: New file.
11741
11742 * include/grub/scsi.h: Likewise.
11743
11744 * include/grub/scsicmd.h: Likewise.
11745
11746 * disk/ata.c: Include <grub/scsi.h>.
11747 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
11748 instead.
11749 (grub_ata_iterate): Skip ATAPI devices.
11750 (grub_ata_open): Only handle ATAPI devices.
11751 (struct grub_atapi_read): Removed.
11752 (grub_atapi_readsector): Likewise.
11753 (grub_ata_read): No longer handle ATAPI devices.
11754 (grub_ata_write): Likewise.
11755 (grub_atapi_iterate): New function.
11756 (grub_atapi_read): Likewise.
11757 (grub_atapi_write): Likewise.
11758 (grub_atapi_open): Likewise.
11759 (grub_atapi_close): Likewise.
11760 (grub_atapi_dev): New variable.
11761 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
11762 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
11763
11764 * include/grub/disk.h (enum grub_disk_dev_id): Add
11765 `GRUB_DISK_DEVICE_SCSI_ID'.
11766
c07ae501 117672008-08-26 Robert Millan <rmh@aybabtu.com>
11768
11769 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
11770 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
11771 descriptive.
11772
5ed20adc 117732008-08-23 Bean <bean123ch@gmail.com>
11774
11775 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
11776 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11777 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
11778 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
11779 dm_nv.mod.
11780 (raid5rec_mod_SOURCES): New macro.
11781 (raid5rec_mod_CFLAGS): Likewise.
11782 (raid5rec_mod_LDFLAGS): Likewise.
11783 (raid6rec_mod_SOURCES): Likewise.
11784 (raid6rec_mod_CFLAGS): Likewise.
11785 (raid6rec_mod_LDFLAGS): Likewise.
11786 (mdraid_mod_SOURCES): Likewise.
11787 (mdraid_mod_CFLAGS): Likewise.
11788 (mdraid_mod_LDFLAGS): Likewise.
11789 (dm_nv_mod_SOURCES): Likewise.
11790 (dm_nv_mod_CFLAGS): Likewise.
11791 (dm_nv_mod_LDFLAGS): Likewise.
11792
11793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
11794 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11795 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11796
11797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
11798 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11799
11800 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11801
11802 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11803
11804 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11805
11806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11807
11808 * disk/raid5_recover.c: New file.
11809
11810 * disk/raid6_recover.c: Likewise.
11811
11812 * disk/mdraid_linux.c: Likewise.
11813
11814 * disk/dmraid_nvidia.c: Likewise.
11815
11816 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
11817 ULONG_MAX.
11818
11819 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
11820 calculate the size of raid device.
11821 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
11822 different layout of raid5.
11823 (grub_raid_scan_device): Remove code specific to mdraid.
11824 (grub_raid_list): New variable.
11825 (free_array): New function.
11826 (grub_raid_register): Likewise.
11827 (grub_raid_unregister): Likewise.
11828 (grub_raid_rescan): Likewise.
11829 (GRUB_MOD_INIT): Don't iterate device here.
11830 (GRUB_MOD_FINI): Use free_array to release resource.
11831
11832 * include/grub/raid.h: Remove macro and structure specific to mdraid.
11833 (grub_raid5_recover_func_t): New function variable type.
11834 (grub_raid6_recover_func_t): Likewise.
11835 (grub_raid5_recover_func): New variable.
11836 (grub_raid6_recover_func): Likewise.
11837 (grub_raid_register): New function.
11838 (grub_raid_unregister): Likewise.
11839 (grub_raid_rescan): Likewise.
11840 (grub_raid_block_xor): Likewise.
11841
11842 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
11843 (CMD_CRC): New macro.
11844 (part): Removed.
11845 (read_file): Handle device as well as file.
11846 (cmd_crc): New function.
11847 (fstest): Handle multiple disks.
11848 (options): Remove part, raw and long, add root and diskcount.
11849 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 11850 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 11851 add handling for the new options, support multiple disks.
11852
11853 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
11854
29c18915 118552008-08-23 Bean <bean123ch@gmail.com>
11856
11857 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
11858
11859 * genfslist.sh: Ignore kernel.mod.
11860
11861 * genpartmaplist.sh: Likewise.
11862
8415f261 118632008-08-23 Robert Millan <rmh@aybabtu.com>
11864
11865 * util/getroot.c (find_root_device): Skip anything that starts with
11866 a dot, not just directories. This avoids things like /dev/.tmp.md0.
11867
d5a7dc5b 118682008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 11869
d5a7dc5b 11870 * util/update-grub.in (GRUB_GFXMODE): Export variable.
11871 * util/grub.d/00_header.in: Allow the administrator to change default
11872 gfxmode via ${GRUB_GFXMODE}.
11873
380cfbb4 118742008-08-21 Felix Zielcke <fzielcke@z-51.de>
11875
11876 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
11877
c9baafe7 118782008-08-21 Robert Millan <rmh@aybabtu.com>
11879
11880 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
11881 loader.
11882 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
11883 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
11884
e290bef2 118852008-08-20 Carles Pina i Estany <carles@pina.cat>
11886
11887 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
11888 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
11889
f9dbfc96 118902008-08-19 Robert Millan <rmh@aybabtu.com>
11891
11892 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
11893 (struct grub_virtual_screen): Remove `cursor_color'.
11894 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
11895 initialization.
11896 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
11897
dd6bd6ab 118982008-08-18 Robert Millan <rmh@aybabtu.com>
11899
11900 Unify (identical) linux_normal.c files.
11901 * loader/i386/efi/linux_normal.c: Move from here ...
11902 * loader/linux_normal.c: ... to here. Update all users.
11903 * loader/i386/pc/linux_normal.c: Delete. Update all users.
11904 * loader/i386/ieee1275/linux_normal.c: Likewise.
11905
7f42f83e 119062008-08-18 Robert Millan <rmh@aybabtu.com>
11907
11908 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
11909 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
11910 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
11911 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
11912 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
11913 New macros.
11914 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
11915 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
11916 (GRUB_LINUX_CL_END_OFFSET): ... to here.
11917 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
11918 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
11919 (GRUB_EFI_CL_END_OFFSET): Rename to ...
11920 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
11921 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
11922 Initialize `params->video_cursor_x' and `params->video_cursor_y'
11923 portably using grub_getxy().
11924 Replace `-EFI' with `-bzImage' in boot message.
11925
38487ddb 119262008-08-17 Robert Millan <rmh@aybabtu.com>
11927
11928 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
11929
deceb3ec 119302008-08-17 Robert Millan <rmh@aybabtu.com>
11931
11932 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
11933
11934 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
11935 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
11936 (grub_machine_mmap_iterate): New function declaration.
11937 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
11938 structure.
11939 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
11940 macros.
11941
11942 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
11943 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
11944 Move e820 parsing from here ...
11945 * kern/i386/pc/mmap.c: New file.
11946 (grub_machine_mmap_iterate): ... to here.
11947
11948 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
11949 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
11950 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
11951 (grub_available_iterate): Redeclare to return `void', and redeclare
11952 its hook to use grub_uint64_t as addr and size parameters, and rename
11953 to ...
11954 (grub_machine_mmap_iterate): ... this. Update all users.
11955
11956 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
11957 to make it more readable. Rename to ...
11958 (grub_machine_mmap_iterate): ... this.
11959
11960 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
11961 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
11962 (grub_multiboot): Allocate an extra region after the payload, and fill
11963 it with a Multiboot memory map. Adjust a.out loader to calculate size
11964 with the extra space.
11965 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
11966 with the extra space.
11967
f8aa0f43 119682008-08-17 Carles Pina i Estany <carles@pina.cat>
11969
9807deb9 11970 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 11971
605f5bb6 119722008-08-17 Felix Zielcke <fzielcke@z-51.de>
11973
11974 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
11975 mdate-sh to the list `find' searches for.
11976 * DISTLIST: Regenerated.
11977
210db6c6 119782008-08-16 Felix Zielcke <fzielcke@z-51.de>
11979
11980 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
11981 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 11982 genmoddep.awk, gensymlist.sh.in.
11983 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 11984 * DISTLIST: Regenerated.
48cdbfd4 11985 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 11986
1082b929 119872008-08-16 Robert Millan <rmh@aybabtu.com>
11988
11989 * disk/raid.c (grub_raid_init): Handle/report errors set by
11990 grub_device_iterate().
11991 * disk/lvm.c (grub_lvm_init): Likewise.
11992
42ce5170 119932008-08-15 Bean <bean123ch@gmail.com>
11994
11995 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11996 and datehook.mod.
11997 (datetime_mod_SOURCES): New macro.
11998 (datetime_mod_CFLAGS): Likewise.
11999 (datetime_mod_LDFLAGS): Likewise.
12000 (date_mod_SOURCES): Likewise.
12001 (date_mod_CFLAGS): Likewise.
12002 (date_mod_LDFLAGS): Likewise.
12003 (datehook_mod_SOURCES): Likewise.
12004 (datehook_mod_CFLAGS): Likewise.
12005 (datehook_mod_LDFLAGS): Likewise.
12006
12007 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12008 and datehook.mod.
12009 (datetime_mod_SOURCES): New macro.
12010 (datetime_mod_CFLAGS): Likewise.
12011 (datetime_mod_LDFLAGS): Likewise.
12012 (date_mod_SOURCES): Likewise.
12013 (date_mod_CFLAGS): Likewise.
12014 (date_mod_LDFLAGS): Likewise.
12015 (datehook_mod_SOURCES): Likewise.
12016 (datehook_mod_CFLAGS): Likewise.
12017 (datehook_mod_LDFLAGS): Likewise.
12018
12019 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12020 and datehook.mod.
12021 (datetime_mod_SOURCES): New macro.
12022 (datetime_mod_CFLAGS): Likewise.
12023 (datetime_mod_LDFLAGS): Likewise.
12024 (date_mod_SOURCES): Likewise.
12025 (date_mod_CFLAGS): Likewise.
12026 (date_mod_LDFLAGS): Likewise.
12027 (datehook_mod_SOURCES): Likewise.
12028 (datehook_mod_CFLAGS): Likewise.
12029 (datehook_mod_LDFLAGS): Likewise.
12030
12031 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12032 and datehook.mod.
12033 (datetime_mod_SOURCES): New macro.
12034 (datetime_mod_CFLAGS): Likewise.
12035 (datetime_mod_LDFLAGS): Likewise.
12036 (date_mod_SOURCES): Likewise.
12037 (date_mod_CFLAGS): Likewise.
12038 (date_mod_LDFLAGS): Likewise.
12039 (datehook_mod_SOURCES): Likewise.
12040 (datehook_mod_CFLAGS): Likewise.
12041 (datehook_mod_LDFLAGS): Likewise.
12042
12043 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12044 and datehook.mod.
12045 (datetime_mod_SOURCES): New macro.
12046 (datetime_mod_CFLAGS): Likewise.
12047 (datetime_mod_LDFLAGS): Likewise.
12048 (date_mod_SOURCES): Likewise.
12049 (date_mod_CFLAGS): Likewise.
12050 (date_mod_LDFLAGS): Likewise.
12051 (datehook_mod_SOURCES): Likewise.
12052 (datehook_mod_CFLAGS): Likewise.
12053 (datehook_mod_LDFLAGS): Likewise.
12054
12055 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12056
12057 * commands/date.c: New file.
12058
12059 * hook/datehook.c: Likewise.
12060
12061 * include/grub/lib/datetime.h: Likewise.
12062
12063 * include/grub/i386/cmos.h: Likewise.
12064
12065 * lib/datetime.c: Likewise.
12066
12067 * lib/i386/datetime.c: Likewise.
12068
12069 * lib/efi/datetime.c: Likewise.
12070
0e9242da 120712008-08-14 Robert Millan <rmh@aybabtu.com>
12072
12073 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12074 (grub_mkelfimage_SOURCES): New variable.
12075 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12076
12077 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12078 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12079 * conf/powerpc-ieee1275.rmk: Likewise.
12080 * conf/i386-ieee1275.rmk: Likewise.
12081
12082 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12083 * kern/i386/coreboot/init.c: Likewise.
12084
12085 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12086 with `<grub/cpu/kernel.h>'.
12087 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12088 to ...
12089 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12090 * kern/i386/coreboot/startup.S: Likewise.
12091
12092 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12093 (GRUB_MOD_GAP): Remove.
12094 * include/grub/powerpc/kernel.h: New file.
12095 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12096 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12097 * include/grub/i386/kernel.h: New file.
12098 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12099 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12100 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12101
12102 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12103 `grub-mkelfimage'.
12104 Use --directory when invoking grub_mkimage.
12105
12106 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12107 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12108 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12109 and GRUB_KERNEL_CPU_PREFIX.
12110
b86408f8 121112008-08-14 Felix Zielcke <fzielcke@z-51.de>
12112
d5e619ca 12113 * include/grub/err.h (grub_err_printf): New function prototype.
12114 * util/misc.c (grub_err_printf): New function.
12115 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12116 grub_printf.
12117 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12118
7161f0e0 121192008-08-13 Robert Millan <rmh@aybabtu.com>
12120
12121 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12122
a1967522 121232008-08-13 Robert Millan <rmh@aybabtu.com>
12124
12125 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12126 boot entry.
12127
371458b5 121282008-08-12 Robert Millan <rmh@aybabtu.com>
12129
12130 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12131 of the relocation code from here ...
12132 (grub_multiboot): ... to here.
12133 (forward_relocator, backward_relocator): Move from here ...
12134 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12135 (grub_multiboot_backward_relocator): ... to here.
12136 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12137 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12138 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12139 (grub_multiboot_forward_relocator_end)
12140 (grub_multiboot_backward_relocator)
12141 (grub_multiboot_backward_relocator_end): New variables.
12142
05f9452b 121432008-08-12 Bean <bean123ch@gmail.com>
12144
12145 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12146
20024ab0 121472008-08-11 Robert Millan <rmh@aybabtu.com>
12148
12149 * kern/i386/linuxbios/startup.S: Move from here ...
12150 * kern/i386/coreboot/startup.S: ... to here.
12151
12152 * kern/i386/linuxbios/init.c: Move from here ...
12153 * kern/i386/coreboot/init.c: ... to here.
12154
12155 * kern/i386/linuxbios/table.c: Move from here ...
12156 * kern/i386/coreboot/mmap.c: ... to here.
12157
12158 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12159
e352e9cd 121602008-08-11 Robert Millan <rmh@aybabtu.com>
12161
12162 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12163 errors. Leave it to the upper layer to handle them.
12164
2d05bc6a 121652008-08-09 Christian Franke <franke@computer.org>
12166
12167 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12168 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12169 Install `grub.d/10_windows' only on Cygwin.
12170 * configure.ac: Add subst of `target_os'.
12171 Check `target_os' also before setting TARGET_OBJ2ELF.
12172 Add `--enable-grub-pe2elf'.
12173
042bd419 121742008-08-08 Robert Millan <rmh@aybabtu.com>
12175
12176 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12177 (grub_last_time): Change type to grub_uint64_t.
12178 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12179 (grub_disk_close): Likewise.
12180
12181 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12182 (run_menu): Migrate code from to using grub_get_time_ms().
12183
12184 * util/misc.c (grub_get_time_ms): New function.
12185
7f280db5 121862008-08-08 Marco Gerards <marco@gnu.org>
12187
12188 * disk/ata.c (grub_ata_regget): Change return type to
12189 `grub_uint8_t'.
12190 (grub_ata_regget2): Likewise.
12191 (grub_ata_wait_status): New function.
12192 (grub_ata_wait_busy): Removed function, updated all users to use
12193 `grub_ata_wait_status'.
12194 (grub_ata_wait_drq): Likewise.
12195 (grub_ata_cmd): New function.
12196 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12197 error handling.
12198 (grub_ata_pio_write): Add error handling.
12199 (grub_atapi_identify): Likewise.
12200 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12201 handling.
12202 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12203 handling. Actually use the detected registers. Reorder the
12204 detection logic such that it is easier to read.
12205 (grub_ata_pciinit): Do not assign the same ID to each controller.
12206 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12207 handling.
12208 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12209
12210 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12211
1fbc5e66 122122008-08-08 Marco Gerards <marco@gnu.org>
12213
12214 * NEWS: Update.
12215
819ce6c0 122162008-08-07 Bean <bean123ch@gmail.com>
12217
12218 * include/grub/x86_64/pci.h: New file.
12219
5c41d44d 122202008-08-07 Christian Franke <franke@computer.org>
12221
12222 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12223 (TIMER2_GATE): Likewise.
12224 (grub_pit_wait): Add enable/disable of the timer2 gate
12225 bit of port 0x61. This fixes a possible infinite loop.
12226
5ebc275d 122272008-08-07 Bean <bean123ch@gmail.com>
12228
12229 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12230 kern/i386/tsc.c and kern/i386/pit.c.
12231
12232 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12233 x86_64 platform.
12234
12235 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12236 <grub/i386/tsc.h>.
12237
12238 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12239
e383b3d0 122402008-08-07 Bean <bean123ch@gmail.com>
12241
12242 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12243
12244 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12245
12246 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12247 multiple inclusion. Add #include <grub/types.h>.
12248
1cbb58ac 122492008-08-06 Christian Franke <franke@computer.org>
12250
12251 * conf/common.rmk: Build and install `10_windows'.
12252 * util/grub.d/10_windows.in: New script.
12253
337f5a1e 122542008-08-06 Pavel Roskin <proski@gnu.org>
12255
12256 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12257
057bc4ac 122582008-08-06 Robert Millan <rmh@aybabtu.com>
12259
12260 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12261 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12262
2b99f123 122632008-08-06 Bean <bean123ch@gmail.com>
12264
12265 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12266 (grub_pxefs_fs_int): Remove dummy definition.
12267 (grub_pxefs_open): Use data->block_size to store the current block
12268 size setting.
12269 (grub_pxefs_read): Use block size stored in data->block_size. As the
12270 value of grub_pxe_blksize can be changed after the file is opened.
12271
9f0234cb 122722008-08-06 Bean <bean123ch@gmail.com>
12273
12274 * fs/i386/pc/pxe.c (curr_file): new variable.
12275 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12276 require the dummy internal file system anymore.
12277 (grub_pxefs_read): Removed.
12278 (grub_pxefs_close): Likewise.
12279 (grub_pxefs_fs_int): Likewise.
12280 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12281 connection when we switch file.
12282 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12283
a55d42e0 122842008-08-06 Robert Millan <rmh@aybabtu.com>
12285
12286 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12287 `halt.mod'.
12288 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12289 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12290
12291 * kern/i386/halt.c: New file.
12292 * kern/i386/reboot.c: Likewise.
12293 * include/grub/i386/reboot.h: Likewise.
12294 * include/grub/i386/halt.h: Likewise.
12295
12296 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12297 Include `<grub/cpu/halt.h>'.
12298 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12299 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12300
12301 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12302 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12303 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12304 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12305 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12306 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12307 from here ...
12308 * include/grub/i386/at_keyboard.h: ... to here.
12309
24371d26 123102008-08-05 Robert Millan <rmh@aybabtu.com>
12311
12312 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12313 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12314 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12315 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12316 `kern/generic/millisleep.c'.
12317
12318 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12319 instead of grub_get_rtc().
12320 (grub_tsc_init): Initialize `tsc_boot_time'.
12321
12322 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12323 (grub_machine_init): Use grub_tsc_init() rather than
12324 installing an RTC-based handler via grub_install_get_time_ms().
12325
12326 * kern/i386/pit.c: New file.
12327 * include/grub/i386/pit.h: Likewise.
12328
9e7007b3 123292008-08-05 Bean <bean123ch@gmail.com>
12330
12331 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12332
12333 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12334 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12335 (pxe_mod_SOURCES): New macro.
12336 (pxe_mod_CFLAGS): Likewise.
12337 (pxe_mod_LDFLAGS): Likewise.
12338 (pxecmd_mod_SOURCES): Likewise.
12339 (pxecmd_mod_CFLAGS): Likewise.
12340 (pxecmd_mod_LDFLAGS): Likewise.
12341
12342 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12343 (grub_pxe_call): Likewise.
12344
12345 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12346
12347 * commands/i386/pc/pxecmd.c: New file.
12348
9f0234cb 12349 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12350
12351 * include/grub/i386/pc/pxe.h: Likewise.
12352
6977d49f 123532008-08-05 Bean <bean123ch@gmail.com>
12354
12355 * util/console.c (grub_console_cur_color): New variable.
12356 (grub_console_standard_color): Likewise.
12357 (grub_console_normal_color): Likewise.
12358 (grub_console_highlight_color): Likewise.
12359 (color_map): Likewise.
12360 (use_color): Likewise.
12361 (NUM_COLORS): New macro.
12362 (grub_ncurses_setcolorstate): Handle color properly.
12363 (grub_ncurses_setcolor): Don't change color here, just remember the
12364 settings, color will be set in grub_ncurses_setcolorstate.
12365 (grub_ncurses_getcolor): New function.
12366 (grub_ncurses_init): Initialize color pairs.
12367 (grub_ncurses_term): New member grub_ncurses_getcolor.
12368
9c2ff3ee 123692008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12370
9c2ff3ee 12371 High resolution timer support. Implemented for x86 CPUs using TSC.
12372 Extracted generic grub_millisleep() so it's linked in only as needed.
12373 This requires a Pentium compatible CPU; if the RDTSC instruction is
12374 not supported, then it falls back on the generic grub_get_time_ms()
12375 implementation that uses the machine's RTC.
12376
12377 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12378 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12379 `kern/generic/millisleep.c'.
12380
12381 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12382 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12383
12384 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12385 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12386
12387 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12388
12389 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12390 `kern/generic/millisleep.c'.
12391
12392 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12393
12394 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12395
12396 * kern/generic/rtc_get_time_ms.c: New file.
12397
12398 * kern/generic/millisleep.c: New file.
337f5a1e 12399
9c2ff3ee 12400 * kern/misc.c: Don't include
12401 <kern/time.h> anymore.
12402 (grub_millisleep_generic): Removed.
12403
12404 * commands/sleep.c (grub_interruptible_millisleep): Uses
12405 grub_get_time_ms() instead of grub_get_rtc().
12406
12407 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12408 function.
12409 (grub_cpu_is_cpuid_supported): New inline function.
12410 (grub_cpu_is_tsc_supported): New inline function.
12411 (grub_tsc_init): New function prototype.
12412 (grub_tsc_get_time_ms): New function prototype.
12413
12414 * kern/i386/tsc.c (grub_get_time_ms): New file.
12415
12416 * include/grub/time.h: Include <grub/types.h.
12417 (grub_millisleep_generic): Removed.
12418 (grub_get_time_ms): New prototype.
12419 (grub_install_get_time_ms): New prototype.
12420 (grub_rtc_get_time_ms): New prototype.
12421
12422 * kern/time.c (grub_get_time_ms): New function.
12423 (grub_install_get_time_ms): New function.
12424
12425 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12426 <grub/time.h> anymore.
12427 (grub_millisleep): Removed.
12428 (grub_machine_init): Call grub_tsc_init.
12429
12430 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12431 get_time_ms() implementation.
12432
12433 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12434 (ieee1275_get_time_ms): New function.
12435 (grub_machine_init): Install get_time_ms() implementation.
12436
12437 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12438 (grub_machine_init): Call grub_tsc_init().
12439 (grub_millisleep): Removed.
bf06a93f 12440
9c2ff3ee 12441 * kern/ieee1275/init.c (grub_millisleep): Removed.
12442 (grub_machine_init): Install ieee1275_get_time_ms()
12443 implementation.
12444 (ieee1275_get_time_ms): New function.
12445 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12446 real work.
12447
9ec92aaf 124482008-08-05 Marco Gerards <marco@gnu.org>
12449
12450 * disk/ata.c: Include <grub/pci.h>.
12451 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12452 (grub_ata_initialize): Rewritten.
12453 (grub_ata_device_initialize): New function.
12454
8d23f507 124552008-08-04 Pavel Roskin <proski@gnu.org>
12456
12457 * kern/main.c: Include grub/mm.h.
12458
5e15ee3d 124592008-08-04 Robert Millan <rmh@aybabtu.com>
12460
12461 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12462 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12463 corruption problem).
12464
a9053f8f 124652008-08-04 Robert Millan <rmh@aybabtu.com>
12466
12467 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12468 warnings introduced in my last commit.
12469
dd19c7d7 124702008-08-03 Robert Millan <rmh@aybabtu.com>
12471
12472 Make PCI available on all i386 architectures.
12473
12474 * include/grub/i386/pc/pci.h: Move from here ...
12475 * include/grub/i386/pci.h: ... to here.
12476
12477 * include/grub/i386/pc/pci.h: Remove.
12478 * include/grub/i386/efi/pci.h: Remove.
12479 * include/grub/x86_64/efi/pci.h: Remove.
12480
12481 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12482 `<grub/cpu/pci.h>'.
12483
12484 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12485 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12486 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12487
12488 * conf/i386-ieee1275.rmk: Likewise.
12489
e14a6184 124902008-08-03 Robert Millan <rmh@aybabtu.com>
12491
12492 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12493 (grub_console_setcursor): Make it possible to set cursor off.
12494
52768e37 124952008-08-03 Robert Millan <rmh@aybabtu.com>
12496
12497 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12498 of modules instead of assuming which platform provides what.
12499 * util/update-grub.in: Likewise.
12500
2d52f57f 125012008-08-03 Robert Millan <rmh@aybabtu.com>
12502
12503 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12504 instead of `grub_install_dos_part' to determine whether a drive needs
12505 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12506 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12507
2a5cd121 125082008-08-02 Robert Millan <rmh@aybabtu.com>
12509
12510 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12511
93808428 125122008-08-02 Robert Millan <rmh@aybabtu.com>
12513
12514 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12515 of informational grub_dprintf() calls.
12516
3bd0a12a 125172008-08-02 Robert Millan <rmh@aybabtu.com>
12518
12519 * disk/memdisk.c (memdisk_size): Don't initialize.
12520 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12521
12522 * include/grub/i386/pc/kernel.h
12523 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12524 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12525 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12526 (grub_arch_memdisk_size): Remove.
12527
12528 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12529 field (was only used to transfer a constant). Add `type' field to
12530 support multiple module types.
12531 (grub_module_iterate): New function.
12532
12533 * kern/device.c (grub_device_open): Do not hide error messages
12534 when grub_disk_open() fails. Use grub_print_error() instead.
12535
12536 * kern/i386/pc/init.c (grub_arch_modules_addr)
12537 (grub_arch_memdisk_size): Remove functions.
12538 (grub_arch_modules_addr): Return the module address in high memory
12539 (now that it isn't copied anymore).
12540
12541 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12542 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12543 decompression routine (grub_total_module_size already includes that
12544 now). Don't copy modules back to low memory.
12545
12546 * kern/main.c: Include `<grub/mm.h>'.
12547 (grub_load_modules): Split out (and use) ...
12548 (grub_module_iterate): ... this function, which iterates through
12549 module objects and runs a hook.
12550 Comment out grub_mm_init_region() call, as it would cause non-ELF
12551 modules to be overwritten.
12552
12553 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12554 the memdisk image in its own region, make it part of the module list.
12555 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12556 (main): Parse --memdisk|-m option, and pass user-provided path as
12557 parameter to generate_image().
12558 (add_segments): Pass `memdisk_path' down to load_modules().
12559 (load_modules): Embed memdisk image in module section when requested.
12560 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12561 `header.type' instead of `header.offset'.
12562
12563 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12564 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12565 (memdisk_mod_LDFLAGS): New variables.
12566 * conf/i386-coreboot.rmk: Likewise.
12567 * conf/i386-ieee1275.rmk: Likewise.
12568
a927cc73 125692008-08-02 Robert Millan <rmh@aybabtu.com>
12570
12571 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12572 (backward_relocator): New variables. Used to allocate and relocate
12573 the payload, respectively.
12574 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12575 address, install the appropriate relocator code in each bound of
a927cc73 12576 the payload, and set the entry point such that
12577 grub_multiboot_real_boot() will jump to one of them.
12578
12579 * kern/i386/loader.S (grub_multiboot_payload_size)
12580 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12581 (grub_multiboot_payload_entry_offset): New variables.
12582 (grub_multiboot_real_boot): Set cpu context to what the relocator
12583 expects, and jump to the relocator instead of the payload.
12584
12585 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12586 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12587 (grub_multiboot_payload_entry_offset): Export.
12588
b15d8a0c 125892008-08-01 Bean <bean123ch@gmail.com>
12590
12591 * normal/menu_entry.c (editor_getline): Don't return the original
12592 string as result, as it will be released by lexer once it has done
12593 using it.
12594
cdfb3d22 125952008-08-01 Robert Millan <rmh@aybabtu.com>
12596
12597 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12598 within menuentries, not before them.
12599 util/grub.d/10_hurd.in: Likewise.
12600
9175e93d 126012008-08-01 Bean <bean123ch@gmail.com>
12602
12603 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12604 (bufio_mod_SOURCES): New macro.
12605 (bufio_mod_CFLAGS): Likewise.
12606 (bufio_mod_LDFLAGS): Likewise.
12607
12608 * include/grub/bufio.h: New file.
12609
12610 * io/bufio.c: Likewise.
12611
12612 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12613 (grub_video_reader_png): Use grub_buffile_open to open file.
12614
12615 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12616 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12617
12618 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12619 (grub_video_reader_tga): Use grub_buffile_open to open file.
12620
12621 * font/manager.c: Include <grub/bufio.h>.
12622 (add_font): Use grub_buffile_open to open file.
12623
3d8383e7 126242008-07-31 Robert Millan <rmh@aybabtu.com>
12625
12626 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12627 ELF segments, use a macro for arbitrarily accessing any of them instead
12628 of preparing a pointer that allows access to one at a time.
12629 (grub_multiboot_load_elf64): Likewise.
12630
16e641b6 126312008-07-31 Bean <bean123ch@gmail.com>
12632
12633 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12634 GRUB_KERNEL_MACHINE_DATA_END.
12635
59198b72 126362008-07-30 Robert Millan <rmh@aybabtu.com>
12637
12638 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12639 Increase from 0x50 to 0x60.
12640 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12641 use UUIDs to identify the root drive for them. If that's not
12642 possible, abort.
12643 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12644 check, for cross-disk installs.
12645
ae88bca3 126462008-07-30 Robert Millan <rmh@aybabtu.com>
12647
12648 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12649 is non-empty, use it to set the `prefix' environment variable instead
12650 of the usual approach.
12651 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12652 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12653 environment variable instead of dummy make_install_device().
12654
12655 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12656 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12657 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12658
12659 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12660 New variable reference.
12661 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12662 New macro. Defines offset of `grub_prefix' within startup.S (relative
12663 to `start').
12664 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12665 section within startup.S (relative to `start').
12666 * include/grub/i386/coreboot/kernel.h: Likewise.
12667
12668 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12669 Overwrite grub_prefix with its contents, at the beginning of the
12670 first segment.
12671 (main): Understand -p|--prefix.
12672
14f41dd1 126732008-07-30 Robert Millan <rmh@aybabtu.com>
12674
12675 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12676
4ca049a3 126772008-07-30 Robert Millan <rmh@aybabtu.com>
12678
12679 * term/i386/pc/vga_text.c (grub_console_cls): Use
12680 grub_console_gotoxy() to go back to beginning of the screen.
12681 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12682
2921d337 126832008-07-29 Christian Franke <franke@computer.org>
12684
12685 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12686 Add conversion of emulated mount points on Cygwin.
12687
b609876d 126882008-07-29 Christian Franke <franke@computer.org>
12689
12690 * util/update-grub.in: Add a check for admin
12691 group on Cygwin.
12692 Remove old `grub.cfg.new' before creation.
12693 Add `-f' to `mv' to handle the different filesystem
12694 semantics of Windows.
12695
e93e4679 126962008-07-29 Bean <bean123ch@gmail.com>
12697
12698 * normal/main.c (get_line): Fix buffer overflow bug.
12699
41694fd0 127002008-07-28 Robert Millan <rmh@aybabtu.com>
12701
12702 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12703 (struct grub_apple_header): New struct. Describes the layout of
12704 the partmap header.
12705 (apple_partition_map_iterate): Check the header magic as well as the
12706 partition magic (which was already being checked).
12707
cfd0b4e6 127082008-07-28 Pavel Roskin <proski@gnu.org>
12709
12710 * genmk.rb: Add a warning to the beginning of the output that
12711 it's a generated file and should not be edited.
12712
93cce016 127132008-07-28 Robert Millan <rmh@aybabtu.com>
12714
12715 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12716 with the same number are found, just use issue a warning with
12717 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12718
cd1df915 127192008-07-27 Robert Millan <rmh@aybabtu.com>
12720
12721 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12722 information.
12723
b70a8427 127242008-07-27 Bean <bean123ch@gmail.com>
12725
12726 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
12727 (grub_fat_find_dir): Ignore case when comparing filename.
12728
8f5e379f 127292008-07-27 Bean <bean123ch@gmail.com>
12730
12731 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
12732 smallino, as it's more descriptive, and i8count can be confused with
12733 the other field count.
12734 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
12735 inode type.
12736
a85cd5a0 127372008-07-27 Bean <bean123ch@gmail.com>
12738
12739 * commands/crc.c: New file.
12740
12741 * lib/crc.c: Likewise.
12742
12743 * include/grub/lib/crc.h: Likewise.
12744
12745 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
12746
12747 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
12748 (hexdump): Move this function to ...
12749
12750 * lib/hexdump.c: ... here.
12751
12752 * include/grub/hexdump.h: Renamed to ...
12753
12754 * include/grub/lib/hexdump.h: ... this.
12755
12756 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
12757
12758 * util/grub-editenv.c: Likewise.
12759
12760 * include/envblk.h: Renamed to ...
12761
12762 * include/lib/envblk.h: ... this.
12763
12764 * util/envblk.c: Renamed to ...
12765
12766 * lib/envblk.c: ... this.
12767
12768 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
12769 lib/hexdump.c.
12770 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
12771 (pkglib_MODULES): Add crc.mod.
12772 (hexdump_mod_SOURCES): Add lib/hexdump.c.
12773 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
12774 (crc_mod_SOURCES): New macro.
12775 (crc_mod_CFLAGS): Likewise.
12776 (crc_mod_LDFLAGS): Likewise.
12777
12778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
12779
12780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12781
12782 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12783
12784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12785
12786 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12787
c298def0 127882008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 12789
12790 * commands/help.c: Include <grub/term.h>.
12791 (TERM_WIDTH): Removed. Updated all users.
12792
cc349fb3 127932008-07-27 Pavel Roskin <proski@gnu.org>
12794
12795 * util/getroot.c (find_root_device): Rephrase a comment to avoid
12796 spurious warnings about a comment within a comment.
12797
9051607e 127982008-07-25 Robert Millan <rmh@aybabtu.com>
12799
12800 * util/getroot.c (find_root_device): Skip devices that match
12801 /dev/dm-[0-9]. This lets the real device be found for any type of
12802 abstraction (LVM, EVMS, RAID..).
12803 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
12804 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
12805 device is found first, find_root_device() will now skip it.
12806
01453bfc 128072008-07-24 Pavel Roskin <proski@gnu.org>
12808
12809 * include/grub/types.h: Use __builtin_bswap32() and
12810 __builtin_bswap64() with gcc 4.3 and newer.
12811
6af9849f 128122008-07-24 Christian Franke <franke@computer.org>
12813
3a0fa256 12814 * util/i386/pc/grub-install.in: If `--debug' is specified,
12815 pass `--verbose' to grub-setup.
12816 Abort script if make_system_path_relative_to_its_root() fails.
12817
7810e747 128182008-07-24 Bean <bean123ch@gmail.com>
12819
12820 * configure.ac: Fixed a bug caused by the previous cygwin patch,
12821 variable `target_platform' should be `platform'.
12822
42290e17 128232008-07-24 Bean <bean123ch@gmail.com>
12824
51cc5193 12825 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 12826 (grub_png_init_fixed_block): New function.
12827 (grub_png_decode_image_data): Handle fixed huffman code compression.
12828
2a8a80e4 128292008-07-24 Bean <bean123ch@gmail.com>
12830
12831 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
12832 (grub_pe2elf_SOURCES): New macro.
12833 (CLEANFILES): Add grub-pe2elf.
12834
12835 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
12836 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
12837 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
12838 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
12839 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
12840 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
12841 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
12842 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
12843 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
12844 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
12845 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
12846 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
12847 (GRUB_PE32_DT_FUNCTION): Likewise.
12848 (GRUB_PE32_REL_I386_DIR32): Likewise.
12849 (GRUB_PE32_REL_I386_REL32): Likewise.
12850 (grub_pe32_symbol): New structure.
12851 (grub_pe32_reloc): Likewise.
12852
12853 * util/grub-pe2elf.c: New file.
12854
12855 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
12856 start symbol in non pc platform.
12857
12858 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
12859
12860 The following patches are from Christian Franke.
12861
12862 * include/grub/dl.h: Remove .previous, gas supports this only
12863 for ELF format.
12864
12865 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
12866 Remove .type, gas supports this only for ELF format.
12867
12868 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
12869 nullbytes in symbol table. This fixes an infinite loop if table is
12870 zero filled.
12871
12872 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
12873 TARGET_IMG_LDFLAGS and EXEEXT.
12874
12875 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
12876 TARGET_IMG_LDFLAGS_AC.
12877 (grub_CHECK_STACK_ARG_PROBE): New function.
12878
12879 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
12880
12881 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
12882
12883 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
12884 to set TARGET_IMG_LD* accordingly.
12885 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
12886 Add call to grub_CHECK_STACK_ARG_PROBE.
12887 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
12888
12889 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
12890
12891 * genmk.rb: Add EXEEXT to CLEANFILES.
12892
12ccdb75 128932008-07-23 Robert Millan <rmh@aybabtu.com>
12894
12895 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
12896 define the codes for arrows and lines used for the menu).
12897 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
12898 as well.
12899
12900 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
12901 fonts, because the latter are too slow.
12902
18eeaf04 129032008-07-21 Bean <bean123ch@gmail.com>
12904
12905 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
12906 a20. Run keyboard test last, as it will cause macbook to halt.
12907
b095e2ad 129082008-07-18 Pavel Roskin <proski@gnu.org>
12909
12910 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
12911 load foreign architecture modules correctly anyway. Keep
12912 support for loading host architecture modules, whether we
12913 compile them or not.
12914
737feb35 129152008-07-17 Pavel Roskin <proski@gnu.org>
12916
3f4ce737 12917 * configure.ac: Use -m32 or -m64 regardless of whether we had to
12918 change target_cpu. The compiler default can mismatch target_cpu
12919 in any case.
12920
4ad2d049 12921 * disk/efi/efidisk.c: Fix format warnings on x86_64.
12922 * kern/efi/efi.c: Likewise.
12923
f6130a12 12924 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
12925 target compiler is functional.
12926 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
12927 are set up.
12928
58393a2d 12929 * configure.ac: Default to efi platform for x86_64-apple. Allow
12930 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
12931 adjustments from the rest, only do them if target is not
12932 explicitly given. Merge other adjustments with the final sanity
12933 check. Remove an extraneous check for supported CPU. Be
12934 specific which CPU and which platform is not supported.
12935
737feb35 12936 * configure.ac: Default to pc platform for x86_64.
12937
546f966a 129382008-07-17 Robert Millan <rmh@aybabtu.com>
12939
12940 Partial LinuxBIOS -> Coreboot rename.
12941
12942 * conf/i386-linuxbios.rmk: Renamed to ...
12943 * conf/i386-coreboot.rmk: ... this.
12944 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
12945 * configure.ac: Accept "coreboot" as input platform (but maintain
12946 compatibility with "linuxbios").
12947 * include/grub/i386/linuxbios: Renamed to ...
12948 * include/grub/i386/coreboot: ... this.
12949
20011694 129502008-07-17 Bean <bean123ch@gmail.com>
12951
12952 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 12953 (appleldr_mod_SOURCE): New variable.
20011694 12954 (appleldr_mod_CFLAGS): Likewise.
12955 (appleldr_mod_LDFLAGS): Likewise.
12956 (pci_mod_SOURCES): Likewise.
12957 (pci_mod_CFLAGS): Likewise.
12958 (pci_mod_LDFLAGS): Likewise.
12959 (lspci_mod_SOURCES): Likewise.
12960 (lspci_mod_CFLAGS): Likewise.
12961 (lspci_mod_LDFLAGS): Likewise.
12962
12963 * conf/x86_64-efi.rmk: New file.
12964
12965 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
12966 macro.
12967 (grub_efidisk_write): Likewise.
12968
12969 * include/efi/api.h (efi_call_0): New macro.
12970 (efi_call_1): Likewise.
12971 (efi_call_2): Likewise.
12972 (efi_call_3): Likewise.
12973 (efi_call_4): Likewise.
12974 (efi_call_5): Likewise.
12975 (efi_call_6): Likewise.
12976
12977 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
12978 grub_rescue_cmd_chainloader.
12979
12980 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
12981 (grub_pe32_optional_header): Change some fields based on i386 or
12982 x86_64 platform.
12983 (GRUB_PE32_PE32_MAGIC): Likewise.
12984
12985 * include/grub/efi/uga_draw.h: New file.
12986
12987 * include/grub/elf.h (STN_ABS): New constant.
12988 (R_X86_64_NONE): Relocation constant for x86_64.
12989 (R_X86_64_64): Likewise.
12990 (R_X86_64_PC32): Likewise.
12991 (R_X86_64_GOT32): Likewise.
12992 (R_X86_64_PLT32): Likewise.
12993 (R_X86_64_COPY): Likewise.
12994 (R_X86_64_GLOB_DAT): Likewise.
12995 (R_X86_64_JUMP_SLOT): Likewise.
12996 (R_X86_64_RELATIVE): Likewise.
12997 (R_X86_64_GOTPCREL): Likewise.
12998 (R_X86_64_32): Likewise.
12999 (R_X86_64_32S): Likewise.
13000 (R_X86_64_16): Likewise.
13001 (R_X86_64_PC16): Likewise.
13002 (R_X86_64_8): Likewise.
13003 (R_X86_64_PC8): Likewise.
13004
13005 * include/grub/i386/efi/pci.h: New file.
13006
13007 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13008 Change it value based on platform.
13009 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13010 (GRUB_E820_RAM): Likewise.
13011 (GRUB_E820_RESERVED): Likewise.
13012 (GRUB_E820_ACPI): Likewise.
13013 (GRUB_E820_NVS): Likewise.
13014 (GRUB_E820_EXEC_CODE): Likewise.
13015 (GRUB_E820_MAX_ENTRY): Likewise.
13016 (grub_e820_mmap): New structure.
13017 (linux_kernel_header): Change the efi field according to different
13018 kernel version, also field from linux_kernel_header.
13019
13020 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13021
13022 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13023 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13024 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13025 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13026 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13027 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13028 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13029 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13030 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13031 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13032
13033 * include/grub/x86_64/efi/kernel.h: New file.
13034
13035 * include/grub/x86_64/efi/loader.h: Likewise.
13036
13037 * include/grub/x86_64/efi/machine.h: Likewise.
13038
13039 * include/grub/x86_64/efi/pci.h: Likewise.
13040
13041 * include/grub/x86_64/efi/time.h: Likewise.
13042
13043 * include/grub/x86_64/linux.h: Likewise.
13044
13045 * include/grub/x86_64/setjmp.h: Likewise.
13046
13047 * include/grub/x86_64/time.h: Likewise.
13048
13049 * include/grub/x86_64/types.h: Likewise.
13050
13051 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13052 GRUB_TARGET_SIZEOF_VOID_P.
13053
13054 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13055 (grub_efi_locate_handle): Likewise.
13056 (grub_efi_open_protocol): Likewise.
13057 (grub_efi_set_text_mode): Likewise.
13058 (grub_efi_stall): Likewise.
13059 (grub_exit): Likewise.
13060 (grub_reboot): Likewise.
13061 (grub_halt): Likewise.
13062 (grub_efi_exit_boot_services): Likewise.
13063 (grub_get_rtc): Likewise.
13064
13065 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13066 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13067 (grub_efi_allocate_pages): Wrap efi calls.
13068 (grub_efi_free_pages): Wrap efi calls.
13069 (grub_efi_get_memory_map): Wrap efi calls.
13070
13071 * kern/x86_64/dl.c: New file.
13072
13073 * kern/x86_64/efi/callwrap.S: Likewise.
13074
13075 * kern/x86_64/efi/startup.S: Likewise.
13076
13077 * loader/efi/appleloader.c: Likewise.
13078
13079 * loader/efi/chainloader.c (cmdline): New variable.
13080 (grub_chainloader_unload): Wrap efi calls.
13081 (grub_chainloader_boot): Likewise.
13082 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13083 command line.
13084
13085 * loader/efi/chainloader_normal.c (chainloader_command):
13086 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13087 command line.
13088
13089 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13090 method.
13091 (grub_e820_add_region): New function.
13092 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13093 booting.
13094 (grub_find_video_card): New function.
13095 (grub_linux_setup_video): New function.
13096 (grub_rescue_cmd_linux): Probe for video information.
13097
13098 * normal/x86_64/setjmp.S: New file.
13099
13100 * term/efi/console.c (map_char): New function.
13101 (grub_console_putchar): Map unicode char.
13102 (grub_console_checkkey): Wrap efi calls.
13103 (grub_console_getkey): Likewise.
13104 (grub_console_getwh): Likewise.
13105 (grub_console_gotoxy): Likewise.
13106 (grub_console_cls): Likewise.
13107 (grub_console_setcolorstate): Likewise.
13108 (grub_console_setcursor): Likewise.
13109
13110 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13111
59652a20 131122008-07-16 Pavel Roskin <proski@gnu.org>
13113
ef294055 13114 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13115 format strings.
13116
59652a20 13117 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13118 pointer, not an integer. This fixes a warning and prevents
13119 precision loss on 64-bit systems.
13120 (relocate_addresses): Remove unneeded cast.
13121
afc3b5d7 131222008-07-15 Pavel Roskin <proski@gnu.org>
13123
506b2b3e 13124 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13125
62ead89c 13126 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13127
c4cd51d7 13128 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13129 Fix comparison between signed and unsigned.
13130
0d3d8f28 13131 * include/grub/i386/ieee1275/console.h: Declare
13132 grub_console_init() and grub_console_fini().
13133
8804b286 13134 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13135 It's empty and unused.
13136
ee01cf35 13137 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13138 beginning to avoid warnings with some compilers.
13139
afc3b5d7 13140 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13141 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13142
e4e8eaa5 131432008-07-14 Pavel Roskin <proski@gnu.org>
13144
407aceb4 13145 * kern/env.c (grub_register_variable_hook): Don't copy empty
13146 string, it leaks memory. Pass "" to grub_env_set(), it should
13147 handle constant strings.
13148
e4e8eaa5 13149 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13150 * commands/cmp.c (grub_cmd_cmp): Likewise.
13151 * kern/dl.c (grub_dl_flush_cache): Likewise.
13152 (grub_dl_load_core): Likewise.
13153 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13154 (grub_elf64_load_phdrs): Likewise.
13155
d4e2dad3 131562008-07-13 Pavel Roskin <proski@gnu.org>
13157
13158 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13159 between signed and unsigned.
13160 (LzmaEnc_Finish): Fix warning about an unused parameter.
13161
aa24b516 131622008-07-13 Bean <bean123ch@gmail.com>
13163
13164 * Makefile.in (enable_lzo): New rule.
13165
13166 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13167
13168 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13169
13170 * boot/i386/pc/lnxboot.S: #include <config.h>.
13171
13172 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13173 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13174
13175 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13176 compression algorithm according to configure macro.
13177
13178 * kern/i386/pc/startup.S (codestart): Likewise.
13179
13180 * kern/i386/pc/lzma_decode.S: New file.
13181
13182 * include/grub/lib/LzFind.h: Likewise.
13183
13184 * include/grub/lib/LzHash.h: Likewise.
13185
13186 * include/grub/lib/LzmaDec.h: Likewise.
13187
13188 * include/grub/lib/LzmaEnc.h: Likewise.
13189
13190 * include/grub/lib/LzmaTypes.h: Likewise.
13191
13192 * lib/LzFind.c: Likewise.
13193
13194 * lib/LzmaDec.c: Likewise.
13195
13196 * lib/LzmaEnc.c: Likewise.
13197
4ae821ac 131982008-07-13 Bean <bean123ch@gmail.com>
13199
13200 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13201 (grub_ext4_extent_header): New structure.
13202 (grub_ext4_extent): Likewise.
13203 (grub_ext4_extent_idx): Likewise.
13204 (grub_ext4_find_leaf): New function.
13205 (grub_ext2_read_block): Handle extents.
13206
9a745147 132072008-07-12 Robert Millan <rmh@aybabtu.com>
13208
13209 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13210
d49a4cf6 132112008-07-11 Robert Millan <rmh@aybabtu.com>
13212
13213 * util/grub.d/40_custom.in: New file. Example on how to add custom
13214 entries to /etc/grub.d.
13215 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13216 40_custom (implicitly, by merging all the grub.d rules).
13217
947414b4 132182008-07-11 Pavel Roskin <proski@gnu.org>
13219
0059cf6f 13220 * commands/read.c (grub_getline): Fix invalid memory access.
13221 Don't add newline to the variable value.
13222
947414b4 13223 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13224 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13225 (serial_hw_get_port): Check validity of the port number.
13226 (grub_cmd_serial): Check return value of serial_hw_get_port().
13227
62a02d00 132282008-07-07 Pavel Roskin <proski@gnu.org>
13229
13230 * boot/i386/pc/diskboot.S (notification_string): Replace
13231 "Loading kernel" with just "loading". This is shorter, less
13232 confusing and saves a few bytes for possible future changes.
13233
3e5581b0 132342008-07-05 Pavel Roskin <proski@gnu.org>
13235
ea387a48 13236 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13237 size for ATAPI devices, they are undefined. Output sector
13238 number in decimal form.
13239
3e5581b0 13240 * disk/ata.c: Use named constants for status bits.
13241
fdecb8fd 132422008-07-04 Pavel Roskin <proski@gnu.org>
13243
bcd35b90 13244 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13245 grub_addr_t before casting it to the void pointer to fix a
13246 warning. Non-addressable regions are discarded earlier.
13247 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13248 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13249 (check_signature): Don't shadow table_header.
13250 (grub_linuxbios_table_iterate): Cast numeric constants to
13251 grub_linuxbios_table_header_t.
13252 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13253 grub_stop().
13254
af58ab3d 13255 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13256 prevent warnings.
13257
1759aa57 13258 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13259 pointer, which can cause warnings. Support 64-bit addresses.
13260
fdecb8fd 13261 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13262 of sizeof(long). This fixes PowerPC image generation on x86_64.
13263
8516d2a8 132642008-07-04 Robert Millan <rmh@aybabtu.com>
13265
13266 This fixes a performance issue when pc & gpt partmap iterators
13267 didn't abort iteration even after our hook found what it was
fe987087 13268 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13269
13270 Some callers relied on previous buggy behaviour, since they would
34c44600 13271 raise an error when their own hooks caused early abortion of its
8516d2a8 13272 iteration.
13273
13274 * kern/device.c (grub_device_open): Improve error message.
13275 * disk/lvm.c (grub_lvm_open): Likewise.
13276 * disk/raid.c (grub_raid_open): Likewise.
13277
13278 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13279 when hook requests it, independently of grub_errno.
13280 (pc_partition_map_probe): Do not fail when find_func() caused
13281 early abortion of pc_partition_map_iterate().
13282
13283 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13284 when hook requests it, independently of grub_errno.
13285 (gpt_partition_map_probe): Do not fail when find_func() caused
13286 early abortion of gpt_partition_map_iterate().
13287
13288 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13289 when hook requests it, independently of grub_errno. Do not fail when
13290 part_map_iterate_hook() caused early abortion of p->iterate().
13291
13292 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13293 when grub_partition_iterate() returned with non-zero.
13294
277d0de9 132952008-07-03 Pavel Roskin <proski@gnu.org>
13296
13297 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13298 like we do in grub_ata_pio_read().
13299 (grub_ata_readwrite): Always write individual sectors. Fix the
13300 sector count for the remainder.
13301 (grub_ata_write): Enable writing to ATA devices. Correctly
13302 report error for ATAPI devices.
13303
d4c9b428 133042008-07-02 Pavel Roskin <proski@gnu.org>
13305
e43fc690 13306 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13307 warning.
13308
f707af42 13309 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13310 for every read sector, we already increment it for the whole
13311 batch. This fixes reading more than 256 sectors at once.
13312
11e16b15 13313 * util/grub-editenv.c (cmd_info): Cast argument to long
13314 explicitly. ptrdiff_t reduces to int on i386.
13315
cbabfdd4 13316 * util/grub-editenv.c (main): Be specific which parameter is
13317 missing.
13318
b8fbce0a 13319 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13320 (memdisk): Make memdisk_orig_addr a pointer.
13321
c9c8e606 13322 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13323 for file offsets, use grub_off_t instead. Fix printf format
13324 warnings.
13325
ca62e598 13326 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13327 there. Real unexpected warnings should not drown in the noise
13328 about known problems.
13329
ce8d1766 13330 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13331 grub_disk_addr_t for memory addresses.
13332
00c7a56a 13333 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13334 explicitly to fix a warning.
13335
08d3ef09 13336 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13337
cb71ba20 13338 * Makefile.in (MODULE_LDFLAGS): New variable.
13339 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13340 the linker accepts --build-id=none.
13341 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13342 MODULE_LDFLAGS.
13343 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13344
d4c9b428 13345 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13346 those in Linux XFS code. Provide a way to access 64-bit parent
13347 inode.
13348 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13349 the end of struct grub_xfs_dir_header.
13350
d4156eee 133512008-07-02 Bean <bean123ch@gmail.com>
13352
13353 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13354 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13355 and GRUB_IEEE1275_FLAG_NO_ANSI.
13356
13357 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13358 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13359 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13360
13361 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13362 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13363
13364 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13365 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13366
13367 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13368 esc sequence on non ANSI terminal.
13369 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13370
13371 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13372 beginning of file.
13373
2270f77b 133742008-07-02 Bean <bean123ch@gmail.com>
13375
13376 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13377 (grub_editenv_SOURCES): New variable.
13378 (pkglib_MODULES): Add loadenv.mod.
13379 (loadenv_mod_SOURCES): New variable.
13380 (loadenv_mod_CFLAGS): Likewise.
13381 (loadenv_mod_LDFLAGS): Likewise.
13382
13383 * include/grub/envblk.h: New file.
13384
13385 * util/envblk.c: New file.
13386
13387 * util/grub-editenv.c: New file.
13388
13389 * commands/loadenv.c: New file.
13390
0e9e51ec 133912008-07-01 Pavel Roskin <proski@gnu.org>
13392
d89b7634 13393 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13394 not unsigned char. This fixes warnings and is consistent with
13395 other tags.
13396
bf1835b1 13397 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13398
8222a04b 13399 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13400
6a42d99d 13401 * term/tparm.c (analyze): Always set *popcount.
13402
10b159d1 13403 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13404 cast to fix a warning.
13405
b8789f6c 13406 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13407 cast to suppress a warning.
13408
29d7e38a 13409 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13410 grub_fshelp_read_file() expects.
13411
f341f669 13412 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13413 write uuid as a 32-bit value in CPU byte order, so declare and
13414 use it as such.
13415
0e9e51ec 13416 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13417 long if the format specifier expects it.
13418 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13419 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13420 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13421 long to fix a warning.
13422 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13423 grub_dprintf() arguments to fix warnings.
13424
3aefa857 134252008-06-30 Pavel Roskin <proski@gnu.org>
13426
56c7668b 13427 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13428 install_bsd_part immediately before core.img is embedded or
13429 modified on disk. This fixes core.img verification if core.img
13430 cannot be embedded.
13431
3aefa857 13432 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13433 core_path to calculate the blocklist.
13434 Patch from Javier Martín <lordhabbit@gmail.com>
13435
5444088d 134362008-06-29 Robert Millan <rmh@aybabtu.com>
13437
13438 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13439 block to disk block.
13440 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13441 Patch from Niels Böhm <bitbucket@arcor.de>
13442
674835c8 134432008-06-29 Robert Millan <rmh@aybabtu.com>
13444
13445 * util/update-grub_lib.in (font_path): Search for fonts in
13446 /boot/grub first, which is more likely to be readable (we aren't
13447 deciding where fonts live, just looking for them).
13448
f527dbc8 134492008-06-26 Pavel Roskin <proski@gnu.org>
13450
6c2d8df6 13451 * util/biosdisk.c (read_device_map): Don't leave dead map
13452 entries for devices failing stat() check.
13453
f527dbc8 13454 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13455 core_path_dev for the core.img path on the target device.
13456
aebe3d13 134572008-06-26 Robert Millan <rmh@aybabtu.com>
13458
13459 * disk/fs_uuid.c: New file.
13460 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13461 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13462 (fs_uuid_mod_LDFLAGS): New variables.
13463 * include/grub/disk.h (grub_disk_dev_id): Add
13464 `GRUB_DISK_DEVICE_UUID_ID'.
13465 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13466 implement iterate().
13467
37aaf354 134682008-06-26 Robert Millan <rmh@aybabtu.com>
13469
13470 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13471 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13472 Linux image includes no initrd.
13473
25ff262a 134742008-06-21 Javier Martín <lordhabbit@gmail.com>
13475
13476 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13477 call to resolve the core image location that effectively appended the
13478 name twice.
13479
76a2bd44 134802008-06-21 Robert Millan <rmh@aybabtu.com>
13481
13482 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13483 call from here ...
13484
13485 * util/grub.d/10_hurd.in: ... to here ...
13486 * util/grub.d/10_linux.in: ... and here.
13487
650e1c79 134882008-06-19 Robert Millan <rmh@aybabtu.com>
13489
fe987087 13490 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13491 after it has been set by grub_machine_set_prefix().
13492
6ce63911 134932008-06-19 Robert Millan <rmh@aybabtu.com>
13494
13495 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13496 search result when not saving to variable, not the other way around.
13497 When saving to variable, abort iteration as soon as a match is found.
13498
73940cec 134992008-06-19 Robert Millan <rmh@aybabtu.com>
13500
13501 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13502 check for partition that provides /boot/grub. Its logic is flawed,
13503 as it prevents prepare_grub_to_access_device() from being called
13504 multiple times.
13505
3c62a39d 135062008-06-19 Robert Millan <rmh@aybabtu.com>
13507
13508 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13509 "insmod" command directly when abstraction modules are needed,
fe987087 13510 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13511 since it had already been processed).
13512
47395a42 135132008-06-19 Pavel Roskin <proski@gnu.org>
13514
13515 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13516 changed. This is needed in case GRUB_LIBDIR changes.
13517 * conf/i386-ieee1275.rmk: Likewise.
13518 * conf/i386-linuxbios.rmk: Likewise.
13519 * conf/i386-pc.rmk: Likewise.
13520 * conf/powerpc-ieee1275.rmk: Likewise.
13521
a145ac2d 135222008-06-18 Pavel Roskin <proski@gnu.org>
13523
13524 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13525 kernel_elf_symlist.c to symlist.c for consistency with other
13526 architectures. Update all users.
13527 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13528
7847c51e 135292008-06-18 Robert Millan <rmh@aybabtu.com>
13530
13531 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13532 it in prefix.
13533
13534 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13535 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13536 a RAID device, run setup() for all members independently on whether
13537 LVM abstraction is being used.
13538 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13539 If grub-mkimage has set `*install_dos_part == -2', don't override this
13540 value.
13541 Perform *install_dos_part adjustments independently on whether
13542 we're embedding or not.
13543 Clarify error message when image is too big for embedding.
13544 Remove duplicate *install_dos_part stanza.
13545
b23e5644 135462008-06-17 Robert Millan <rmh@aybabtu.com>
13547
13548 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13549 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13550 variables.
13551 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13552 values in grub_ofconsole_normal_color and
13553 grub_ofconsole_highlight_color (they're not directly related to
13554 background and foreground).
13555 (grub_ofconsole_setcolorstate): Extract background and foreground
13556 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13557
0aac2f79 135582008-06-17 Robert Millan <rmh@aybabtu.com>
13559
13560 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13561 /boot/grub for the check in last commit, not /boot (they could be
13562 different partitions).
13563
3cca7ef3 135642008-06-16 Robert Millan <rmh@aybabtu.com>
13565
13566 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13567 asked to setup access for the same partition that provides /boot,
13568 don't bother using UUIDs since our root already has the value we
13569 want.
13570
347396d8 135712008-06-16 Robert Millan <rmh@aybabtu.com>
13572
13573 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13574 I2O devices.
13575 Patch from Sven Mueller <sven@debian.org>.
13576
991477f8 135772008-06-16 Robert Millan <rmh@aybabtu.com>
13578
13579 * util/update-grub.in: Check for $EUID instead of $UID.
13580 Reported by Vincent Zweije.
13581
d31a32a1 135822008-06-16 Bean <bean123ch@gmail.com>
13583
fe987087 13584 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13585 (grub_ext2_read_block): Likewise.
13586 (grub_ext2_read_inode): Likewise.
13587 (grub_ext2_mount): Likewise.
13588 (grub_ext2_close): Likewise.
13589 (grub_ext3_get_journal): Removed.
13590
fe987087 13591 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13592 (grub_reiserfs_read_symlink): Likewise.
13593 (grub_reiserfs_mount): Likewise.
13594 (grub_reiserfs_open): Likewise.
13595 (grub_reiserfs_read): Likewise.
13596 (grub_reiserfs_close): Likewise.
13597 (grub_reiserfs_get_journal): Removed.
13598
13599 * fs/fshelp.c (grub_fshelp_read): Removed.
13600 (grub_fshelp_map_block): Likewise.
13601
13602 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13603 (grub_fshelp_journal): Likewise.
13604 (grub_fshelp_read): Likewise.
13605 (grub_fshelp_map_block): Likewise.
13606
3540a760 136072008-06-16 Pavel Roskin <proski@gnu.org>
13608
13609 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13610 floating point anymore.
13611 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13612
95614c84 136132008-06-15 Pavel Roskin <proski@gnu.org>
13614
13615 * commands/ls.c (grub_ls_list_files): Use integer calculations
13616 for human readable format, avoid floating point use.
13617 * kern/misc.c (grub_ftoa): Remove.
13618 (grub_vsprintf): Remove floating point support.
13619
50465dd6 136202008-06-15 Robert Millan <rmh@aybabtu.com>
13621
fe6b695a 13622 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13623 devices.
13624 Reported by Max Vozeler.
13625
a9207284 136262008-06-15 Robert Millan <rmh@aybabtu.com>
13627
13628 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13629 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13630 skipped later.
13631 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13632 the beginning of the prefix.
13633
13634 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13635 It is assumed that if we have a memdisk, grub-mkimage has set
13636 grub_prefix to include the "(memdisk)" drive in it.
13637
a7cbd45a 136382008-06-15 Robert Millan <rmh@aybabtu.com>
13639
13640 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13641 Initialize keyboard controller after registering the terminal, so that
13642 grub_printf() can be called from grub_keyboard_controller_init().
13643
21cf716a 136442008-06-15 Robert Millan <rmh@aybabtu.com>
13645
13646 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13647 extent-btree which is written as big endian on disk.
13648 Reported by Alain Greppin <al@chilibi.org>.
13649
23a64d8e 136502008-06-14 Robert Millan <rmh@aybabtu.com>
13651
13652 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13653 * util/i386/pc/grub-install.in (modules): Likewise.
13654
d687651c 136552008-06-13 Pavel Roskin <proski@gnu.org>
13656
13657 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13658
dfe9ddd4 136592008-06-13 Bean <bean123ch@gmail.com>
13660
13661 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13662
13663 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13664
13665 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13666 to indicate sparse block.
13667
16ae7781 136682008-06-12 Pavel Roskin <proski@gnu.org>
13669
e6d1a308 13670 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13671 number, grub_fshelp_read() does it for us.
13672
16ae7781 13673 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13674 linear disk read with journal translation.
13675 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13676 * include/grub/fshelp.h: Declare grub_fshelp_read().
13677
40fd3a2b 136782008-06-09 Pavel Roskin <proski@gnu.org>
13679
13680 * fs/minix.c (grub_minix_mount): Handle error reading
13681 superblock.
13682
f5679726 136832008-06-08 Robert Millan <rmh@aybabtu.com>
13684
13685 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13686 don't append the RAID prefix afterwards.
13687 Reported by Clint Adams.
13688
ce525529 136892008-06-08 Robert Millan <rmh@aybabtu.com>
13690
13691 Based on description from Pavel:
13692 * kern/disk.c (grub_disk_check_range): Rename to ...
13693 (grub_disk_adjust_range): ... this. Add a comment explaining the
13694 tasks performed by this function.
13695
ad4936a0 136962008-06-08 Robert Millan <rmh@aybabtu.com>
13697
13698 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13699 `num_serial' (for consistency with other variables).
13700 (struct grub_ntfs_data): Add `uuid' member.
13701 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13702 (grub_ntfs_uuid): New function.
13703 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13704
dc20b0f9 137052008-06-07 Pavel Roskin <proski@gnu.org>
13706
13707 * util/biosdisk.c (open_device): Revert last change to the
13708 function, it broke installation. The sector needs to be
13709 different dependent on which device is opened.
13710
c5e3cfba 137112008-06-06 Robert Millan <rmh@aybabtu.com>
13712
13713 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13714 rest of GRUB, and breakage doesn't happen if its value were modified.
13715
13716 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13717 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13718 a constant (same value).
13719 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13720 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13721
26a1f8c4 137222008-06-06 Robert Millan <rmh@aybabtu.com>
13723
13724 * util/biosdisk.c (open_device): Do not modify sector offset when
13725 accessing a partition. kern/disk.c already handles this for us.
13726
25d6b327 137272008-06-06 Robert Millan <rmh@aybabtu.com>
13728
13729 * util/grub-emu.c (grub_machine_init): Move code in this function from
13730 here ...
13731 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
13732 segfault in case grub_printf() is called).
13733
13734 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
13735 grub_probe. Update all users not to explicitly add it again.
13736 (grub_device): New variable; contains corresponding device for grubdir.
13737 (fs_module, partmap_module, devabstraction_module): Pass
13738 `--device ${grub_device}' to grub_probe to avoid traversing /dev
13739 every time.
13740
9ece62fb 137412008-06-05 Robert Millan <rmh@aybabtu.com>
13742
13743 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
13744 is found, print it (same layout as with labels).
13745
1ad36d37 137462008-06-04 Robert Millan <rmh@aybabtu.com>
13747
13748 * util/biosdisk.c (get_drive): Rename to ...
13749 (find_grub_drive): ... this. Update all users.
13750
13751 (get_os_disk): Rename to ...
13752 (convert_system_partition_to_system_disk): ... this. Update all users.
13753
13754 (find_drive): Rename to ...
13755 (find_system_device): ... this. Update all users.
13756
e6a30859 137572008-06-04 Robert Millan <rmh@aybabtu.com>
13758
13759 * util/biosdisk.c (get_os_disk): Handle IDA devices.
13760 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13761 (make_device_map): Likewise.
13762
00c108a4 137632008-06-01 Robert Millan <rmh@aybabtu.com>
13764
13765 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
13766 before dereferencing it.
13767
13768 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
13769 union with fat12/fat16-specific ones. Add some new fields, including
13770 `num_serial' for both versions.
13771 (struct grub_fat_data): Add `uuid' member.
13772 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
13773 names. Initialize `data->uuid' using `num_serial'.
13774 (grub_fat_uuid): New function.
13775 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
13776
13777 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
13778 (grub_reiserfs_uuid): New function.
13779 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
13780 member.
13781
13782 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
13783 (grub_xfs_uuid): New function.
13784 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
13785
1385c5bb 137862008-06-01 Robert Millan <rmh@aybabtu.com>
13787
13788 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
13789 code that is backward compatible with pre-uuid search command.
13790
c682dfd7 137912008-05-31 Robert Millan <rmh@aybabtu.com>
13792
13793 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
13794 floppies after everything else, to ensure floppy drive isn't accessed
13795 unnecessarily (patch from Bean).
13796
b7db5d47 137972008-05-31 Robert Millan <rmh@aybabtu.com>
13798
13799 * commands/search.c (search_label, search_fs_uuid, search_file): Do
13800 not print device names when we were asked to set a variable.
13801
6e037aa9 138022008-05-31 Robert Millan <rmh@aybabtu.com>
13803
13804 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
13805 using "cursor-on" and "cursor-off" commands (understood at least by
13806 the Open Firmware flavour on OLPC).
13807
41305bc8 138082008-05-31 Michael Gorven <michael@gorven.za.net>
13809
13810 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
13811 on and off sequences.
13812
69ba137e 138132008-05-31 Robert Millan <rmh@aybabtu.com>
13814
13815 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
13816 * util/update-grub.in: Likewise.
13817
520ae21b 138182008-05-30 Pavel Roskin <proski@gnu.org>
13819
13820 * util/biosdisk.c (linux_find_partition): Simplify logic and
13821 make the code more universal. Keep special processing for
13822 devfs, but use a simple rule for all other devices. If the
13823 device ends with a number, append 'p' and the partition number.
13824 Otherwise, append only the partition number.
13825
5786569b 138262008-05-30 Robert Millan <rmh@aybabtu.com>
13827
13828 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
13829 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
13830 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
13831 the `root' parameter to Linux.
13832
51500452 138332008-05-30 Robert Millan <rmh@aybabtu.com>
13834
13835 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
13836 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
13837 --fs_uuid with --fs-uuid.
13838 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
13839 all filesystems support them).
13840
811d3878 138412008-05-30 Robert Millan <rmh@aybabtu.com>
13842
13843 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 13844 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 13845
cab63c95 138462008-05-30 Robert Millan <rmh@aybabtu.com>
13847
13848 * util/grub.d/00_header.in: Remove obsolete comment referencing
13849 convert_system_path_to_grub_path().
13850 * util/update-grub.in: Likewise.
13851 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
13852 (convert_system_path_to_grub_path): Add a warning message explaining
13853 that this function is deprecated. Rely on is_path_readable_by_grub()
13854 for the readability checks.
13855 (font_path): Use is_path_readable_by_grub() for the readability
13856 check rather than convert_system_path_to_grub_path().
13857
972e2f7a 138582008-05-30 Robert Millan <rmh@aybabtu.com>
13859
13860 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
13861 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
13862 converting it first.
13863 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
13864 grub.cfg for access to font file, and afterwards call it again to set
13865 the root device.
13866
62191274 138672008-05-30 Robert Millan <rmh@aybabtu.com>
13868
13869 * commands/search.c (options): Add --fs_uuid option.
13870 (search_fs_uuid): New function.
13871 (grub_cmd_search): Fix --set argument passing.
13872 Use search_fs_uuid() when requested via --fs_uuid.
13873 (grub_search_init): Update help message.
13874 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
13875 and redeclare it as an array of 16-bit words.
13876 (grub_ext2_uuid): New function.
13877 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
13878 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
13879 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
13880 (GRUB_DEVICE_BOOT_UUID): New variables.
13881 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
13882 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
13883 whenever possible.
13884 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
13885 just assume `root' variable has the right value.
13886 * util/grub.d/10_linux.in: Likewise.
13887 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
13888 via PRINT_FS_UUID.
13889 (main): Recognise `-t fs_uuid' argument.
13890
01b73ec8 138912008-05-30 Robert Millan <rmh@aybabtu.com>
13892
13893 * util/biosdisk.c (map): Redefine structure to hold information
13894 about GRUB drive name.
fe6b695a 13895 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 13896 drive names.
13897 (call_hook): Remove.
13898 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
13899 member. Assume drive has partitions.
13900 (grub_util_biosdisk_open): Access device names via `.device' struct
13901 member.
13902 (open_device): Likewise.
13903 (find_drive): Likewise.
13904 (read_device_map): Adjust map[] usage to match the new struct
13905 definition. Don't check for duplicates (still possible, but not cheap
13906 anymore).
13907 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
13908 (make_device_name): Remove assumption of BIOS-like drive names.
13909
22f16596 139102008-05-30 Pavel Roskin <proski@gnu.org>
13911
13912 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
13913 compiling execute.c doesn't need grub_script.tab.h anymore.
13914 (normal/command.c_DEPENDENCIES): Likewise.
13915 (normal/function.c_DEPENDENCIES): Likewise.
13916 * conf/i386-ieee1275.rmk: Likewise.
13917 * conf/i386-linuxbios.rmk: Likewise.
13918 * conf/i386-pc.rmk: Likewise.
13919 * conf/powerpc-ieee1275.rmk: Likewise.
13920 * conf/sparc64-ieee1275.rmk: Likewise.
13921
528ad8f2 139222008-05-29 Pavel Roskin <proski@gnu.org>
13923
d1dff95d 13924 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
13925 when scanning metadata for volume group name.
13926
528ad8f2 13927 * include/grub/script.h: Don't include grub_script.tab.h. It's
13928 a generated file, which may only be included from the files with
13929 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
13930 use union YYSTYPE, as the later allows forward declaration.
13931 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
13932
47248e08 139332008-05-29 Robert Millan <rmh@aybabtu.com>
13934
13935 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
13936 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
13937 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
13938 (grub_console_checkkey): Add grub_dprintf() call to report unknown
13939 scan codes.
13940
ee632529 139412008-05-29 Robert Millan <rmh@aybabtu.com>
13942
13943 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
13944 control key combinations.
13945
eee96e08 139462008-05-29 Robert Millan <rmh@aybabtu.com>
13947
13948 * util/powerpc/ieee1275/grub-install.in: Move from here ...
13949 * util/ieee1275/grub-install.in: ... to here.
13950 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
13951 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
13952 (grub_install_SOURCES): Likewise.
13953
da9a6a94 139542008-05-29 Robert Millan <rmh@aybabtu.com>
13955
13956 * fs/affs.c: Update copyright year.
13957 * fs/ext2.c: Likewise.
13958 * fs/fshelp.c: Likewise.
13959 * fs/hfsplus.c: Likewise.
13960 * fs/ntfs.c: Likewise.
13961 * fs/xfs.c: Likewise.
13962 * include/grub/fshelp.h: Likewise.
13963 * util/grub-mkdevicemap.c: Likewise.
13964
12e65f3a 139652008-05-28 Robert Millan <rmh@aybabtu.com>
13966
13967 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
13968 might need to be fatfs to support some firmware implementations
13969 (e.g. OFW or EFI).
13970
23023641 139712008-05-28 Robert Millan <rmh@aybabtu.com>
13972
13973 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
13974 devices.
13975 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13976 (make_device_map): Likewise.
13977
887d2619 139782008-05-20 Bean <bean123ch@gmail.com>
13979
13980 * fs/fshelp.c (grub_fshelp_map_block): New function.
13981 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
13982 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
13983
13984 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
13985 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
13986 (grub_fshelp_journal): New structure.
13987 (grub_fshelp_map_block): New function prototype.
13988 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
13989 (grub_fshelp_map_block): Likewise.
13990
13991 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
13992 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
13993 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
13994 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
13995 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
13996 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
13997 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
13998 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
13999 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14000 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14001 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14002 (grub_ext2_sblock): New members for journal support.
14003 (grub_ext3_journal_header): New structure.
14004 (grub_ext3_journal_revoke_header): Likewise.
14005 (grub_ext3_journal_block_tag): Likewise.
14006 (grub_ext3_journal_sblock): Likewise.
14007 (grub_fshelp_node): New members logfile and journal.
14008 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14009 grub_fshelp_map_block to get real block number.
14010 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14011 number.
14012 (grub_ext2_read_inode): Likewise.
14013 (grub_ext3_get_journal): New function.
14014 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14015 (grub_ext2_close): Release memory used by journal.
14016
14017 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14018 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14019 (grub_reiserfs_transaction_header): Renamed to
14020 grub_reiserfs_description_block, replace field data with real_blocks.
14021 (grub_reiserfs_commit_block): New structure.
14022 (grub_reiserfs_data): New member journal.
14023 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14024 number.
14025 (grub_reiserfs_read_symlink): Likewise.
14026 (grub_reiserfs_iterate_dir): Likewise.
14027 (grub_reiserfs_open): Likewise.
14028 (grub_reiserfs_read): Likewise.
14029 (grub_reiserfs_get_journal): New function.
14030 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14031 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14032 using grub_reiserfs_get_journal.
14033 (grub_reiserfs_close): Release memory used by journal.
14034
14035 * fs/affs.c (grub_affs_read_block): Change block type to
14036 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14037
14038 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14039
14040 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14041
14042 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14043
14044 * fs/udf.c (grub_udf_read_block): Change block type to
14045 grub_disk_addr_t. Use type cast to avoid warning.
14046
14047 * fs/xfs.c (grub_xfs_read_block): Likewise.
14048
b7c6bed5 140492008-05-16 Christian Franke <franke@computer.org>
14050
14051 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14052 to ensure that break with ESC will always work.
14053 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14054 Remove ESC from keyboard queue.
14055
eedf167f 140562008-05-16 Christian Franke <franke@computer.org>
14057
14058 * util/biosdisk.c: [__CYGWIN__] Add includes.
14059 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14060 (get_os_disk): Move variable declarations to OS specific
14061 parts to avoid warning.
14062 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14063 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14064 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14065 Cygwin.
14066 * util/getroot.c: [__CYGWIN__] Add includes.
14067 (strip_extra_slashes): Fix "/" case.
14068 [__CYGWIN__] (get_win32_path): New function.
14069 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14070 [__CYGWIN__] (find_root_device): Disable.
14071 [__CYGWIN__] (get_bootsec_serial): New function.
14072 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14073 [__linux__] (grub_guess_root_device): Add early returns to simplify
14074 structure.
14075 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14076 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14077 check for Linux only.
14078
a079699e 140792008-05-15 Bean <bean123ch@gmail.com>
14080
14081 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14082 keyboard hang problem in apple's intel mac.
14083
1cf4059a 140842008-05-09 Robert Millan <rmh@aybabtu.com>
14085
14086 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14087 devices.
14088 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14089 (make_device_map): Likewise.
14090 Reported by Aurelien Jarno <aurel32@debian.org>
14091
ed759390 140922008-05-07 Ian Campbell <ijc@hellion.org.uk>
14093
14094 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14095 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14096 (make_device_map): Output entries for xvd type disks.
14097
b56c4eaa 140982008-05-07 Robert Millan <rmh@aybabtu.com>
14099
14100 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14101 devices.
14102 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14103 (make_device_map): Likewise.
14104 Reported by Roland Dreier <rdreier@cisco.com>
14105
7f8866ed 141062008-05-07 Robert Millan <rmh@aybabtu.com>
14107
14108 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14109 grub_strstr() call. Correct a few mistakes in failure path handling.
14110
b0346e0f 141112008-05-06 Robert Millan <rmh@aybabtu.com>
14112
14113 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14114 Do not print a trailing slash (therefore, the root directory is an
14115 empty string).
14116 (convert_system_path_to_grub_path): Do not remove trailing slash
14117 from make_system_path_relative_to_its_root() output.
14118
14119 * util/i386/pc/grub-install.in: Add trailing slash to output from
14120 make_system_path_relative_to_its_root().
14121
6cf12cbd 141222008-05-06 Robert Millan <rmh@aybabtu.com>
14123
14124 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14125 ensures that output lines aren't intermangled with those sent to
14126 stderr (via grub_util_info()).
14127 * util/grub-probe.c (grub_refresh): Likewise.
14128 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14129
0fbb3117 141302008-05-05 Christian Franke <franke@computer.org>
14131
14132 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14133 Add Cygwin device names.
14134 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14135 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14136 (check_device): Return error instead of success on empty name.
14137 (make_device_map): Move label inside linux specific code to
14138 prevent compiler warning.
14139
8124cdb7 141402008-04-30 Robert Millan <rmh@aybabtu.com>
14141
14142 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14143 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14144 first boot option.
14145 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14146
094c01d0 141472008-04-29 Robert Millan <rmh@aybabtu.com>
14148
14149 * docs/grub.cfg: New file (example GRUB configuration).
14150
f4b1fc02 141512008-04-26 Robert Millan <rmh@aybabtu.com>
14152
329ce2a5 14153 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14154 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14155 and `disk/ieee1275/nand.c'.
f4b1fc02 14156
25f16ec1 141572008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14158
25f16ec1 14159 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14160 i386-linuxbios.
14161
14162 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14163 change the buffer size to 4096 for cdrom device.
14164
14165 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14166 and nand.mod.
14167 (_linux_mod_SOURCES): New variable.
14168 (_linux_mod_CFLAGS): Likewise.
14169 (_linux_mod_LDFLAGS): Likewise.
14170 (linux_mod_SOURCES): Likewise.
14171 (linux_mod_CFLAGS): Likewise.
14172 (linux_mod_LDFLAGS): Likewise.
14173 (nand_mod_SOURCES): Likewise.
14174 (nand_mod_CFLAGS): Likewise.
14175 (nand_mod_LDFLAGS): Likewise.
14176
14177 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14178 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14179 type property. (nand device in olpc don't have this property)
14180
14181 * include/grub/disk.h (grub_disk_dev_id): New macro
14182 GRUB_DISK_DEVICE_NAND_ID.
14183
14184 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14185 function prototype.
14186 (grub_rescue_cmd_initrd): Likewise.
14187
14188 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14189 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14190 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14191
25f16ec1 14192 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14193 GRUB_MACHINE_IEEE1275 is defined.
14194
14195 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14196 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14197
14198 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14199 on nested function heap_init.
14200 (grub_upper_mem): New variable for i386-ieee1275.
14201 (grub_get_extended_memory): New function for i386-ieee1275.
14202 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14203
14204 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14205 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14206 property.
f19dbdb7 14207
25f16ec1 14208 * loader/i386/ieee1275/linux.c: New file.
14209
14210 * loader/i386/ieee1275/linux_normal.c: New file.
14211
14212 * disk/ieee1275/nand.c: New file.
14213
e89d61e9 142142008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14215
14216 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14217 value.
14218 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14219
602566f6 142202008-04-18 Robert Millan <rmh@aybabtu.com>
14221
14222 Restructures early code path on ieee1275 to unify grub_main() as
14223 the first C function that is executed in every platform.
14224
14225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14226 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14227 cmain().
14228 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14229 * kern/ieee1275/cmain.c (cmain): Rename to ...
14230 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14231 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14232 at the beginning.
14233
57490c2b 142342008-04-18 Robert Millan <rmh@aybabtu.com>
14235
14236 * util/update-grub.in: Fix syntax error when setting
14237 `GRUB_PRELOAD_MODULES'.
14238 Reported by Stephane Chazelas <stephane@artesyncp.com>
14239
1977517d 142402008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14241
14242 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14243 section into account, newer toolchains generate unique build ids
14244 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14245 we want build ids to be preserved
1977517d 14246 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14247 far from other sections don't cause the raw binary images grow
14248 size
14249
bfb1f1a2 142502008-04-15 Robert Millan <rmh@aybabtu.com>
14251
14252 * disk/lvm.c: Update copyright year.
14253 * kern/misc.c: Likewise.
14254
01979850 142552008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14256
14257 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14258 there is no memory left for physical volume name.
01979850 14259
0a1150e2 142602008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14261
14262 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14263 volume name mapping to support bigger than 9 character names properly.
14264
82ead3fe 142652008-04-13 Robert Millan <rmh@aybabtu.com>
14266
14267 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14268 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14269
e54a72f5 142702008-04-13 Christian Franke <franke@computer.org>
14271
14272 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14273 to create a floppy emulation boot CD when non emulation mode
14274 does not work.
14275 Enable Joliet CD filesystem extension.
14276
9fe86034 142772008-04-13 Robert Millan <rmh@aybabtu.com>
14278
14279 * kern/misc.c (grub_strncat): Fix off-by-one error.
14280 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14281
14282 * kern/env.c (grub_env_context_close): Clear current context, not
14283 previous one.
14284 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14285
14286 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14287
7ceeee39 142882008-04-13 Robert Millan <rmh@aybabtu.com>
14289
14290 Improve robustness when handling LVM.
14291
14292 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14293 (and leave `*p' unmodified).
7ceeee39 14294 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14295 through it.
14296 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14297 iterating through it.
14298 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14299 through it.
fe6b695a 14300 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14301 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14302 Don't assume `vg->pvs != NULL' when iterating through it.
14303
58cd3d85 143042008-04-13 Robert Millan <rmh@aybabtu.com>
14305
14306 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14307 * genmk.rb (partmap): New variable.
14308 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14309 (#{partmap}): New target rule.
14310 * genpartmaplist.sh: New file.
14311 * Makefile.in (pkglib_DATA): Add partmap.lst.
14312 (partmap.lst): New target rule.
14313 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14314 modules (including all partition maps), instead of preloading them.
14315
78b51059 143162007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14317
14318 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14319 `linux-boot-prober' (if installed) to detect other operating
14320 systems which are installed on the computer and add them to
14321 the boot menu.
14322 * conf/common.rmk: Build and install 30_os-prober.
14323
a91627b4 143242008-04-12 Robert Millan <rmh@aybabtu.com>
14325
14326 * kern/powerpc/ieee1275/init.c: Move from here ...
14327 * kern/ieee1275/init.c: ... to here. Update all users.
14328
14329 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14330 * kern/ieee1275/cmain.c: ... to here. Update all users.
14331
14332 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14333 * kern/ieee1275/openfw.c: ... to here. Update all users.
14334
14335 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14336 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14337
322562ea 143382008-04-10 Pavel Roskin <proski@gnu.org>
14339
14340 * configure.ac: Always use "_cv_" in cache variables for
14341 compatibility with Autoconf 2.62.
14342
a02a73c5 143432008-04-07 Robert Millan <rmh@aybabtu.com>
14344
14345 Revert grub/machine/init.h addition by Pavel (since it breaks on
14346 i386-ieee1275 and others):
14347 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14348 * util/powerpc/ieee1275/misc.c: Likewise.
14349
25c024b1 143502008-04-07 Robert Millan <rmh@aybabtu.com>
14351
14352 * util/grub-probe.c (probe): Improve error message.
14353
3cbd2f98 143542008-04-07 Robert Millan <rmh@aybabtu.com>
14355
14356 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14357 (this prevents the presence of a bogus entry from ruining the whole
14358 thing).
14359
87a297bf 143602008-04-06 Pavel Roskin <proski@gnu.org>
14361
36747a62 14362 * util/biosdisk.c: Include grub/util/biosdisk.h.
14363 * util/grub-fstest.c (execute_command): Make static.
14364 * util/grub-mkdevicemap.c (check_device): Likewise.
14365 * util/i386/pc/misc.c: Include grub/machine/init.h.
14366 * util/powerpc/ieee1275/misc.c: Likewise.
14367 * util/lvm.c: Include grub/util/lvm.h.
14368 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14369 grub/cache.h.
14370 * util/raid.c: Include grub/util/raid.h.
14371 (grub_util_getdiskname): Make static.
14372
87a297bf 14373 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14374 grub_hostfs_fini(), as they are called from grub_init_all() and
14375 grub_fini_all() respectively. This fixes an infinite loop in
14376 grub-fstest due to double registration of hostfs.
14377 Reported by Christian Franke <Christian.Franke@t-online.de>
14378
f6ce7629 143792008-04-05 Pavel Roskin <proski@gnu.org>
14380
14381 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14382 all 8 functions. Otherwise, probe function 0 only.
14383
070e49e4 143842008-04-04 Pavel Roskin <proski@gnu.org>
14385
8b088a4c 14386 * commands/lspci.c (grub_lspci_iter): Print the bus number
14387 correctly.
14388
4f657021 14389 * commands/lspci.c (grub_pci_classes): Fix typos.
14390 (grub_lspci_iter): Don't print func twice. Print vendor ID
14391 before device ID, as it's normally done.
14392
070e49e4 14393 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14394 Fix signedness warnings.
14395 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14396 Likewise.
14397 * util/ieee1275/get_disk_name.c: Include config.h so that
14398 _GNU_SOURCE is defined and getline() is declared. Mark an
14399 unused argument as such. Fix a signedness warning.
14400
ba7328dc 144012008-04-02 Pavel Roskin <proski@gnu.org>
14402
26887f22 14403 * genkernsyms.sh.in: Use more robust assignments for CC and
14404 srcdir. Quote srcdir.
14405 * gensymlist.sh.in: Likewise. Assert at the compile time that
14406 the symbol table is not empty.
14407
ba7328dc 14408 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14409 * fs/cpio.c (grub_cpio_read): Likewise.
14410
0f582c6b 144112008-04-01 Pavel Roskin <proski@gnu.org>
14412
4b6e1995 14413 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14414 * disk/host.c (grub_host_open): Likewise.
14415 * disk/loopback.c (grub_loopback_open): Likewise.
14416 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14417 disk->id as in disk/host.c, not a multi-character constant.
14418
828a2768 14419 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14420 later is obsolete, potentially dangerous and sets a bad example.
14421 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14422 * util/misc.c (grub_util_get_image_size): Likewise.
14423
2bb4fb47 14424 * disk/loopback.c (options): Improve help for "--partitions".
14425
0f582c6b 14426 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14427 options to align them with the short options, e.g. "echo -e".
14428
a33224e0 144292008-03-31 Bean <bean123ch@gmail.com>
14430
14431 * video/reader/png.c (grub_png_data): New member is_16bit and
14432 image_data.
14433 (grub_png_decode_image_header): Detect 16 bit png image.
14434 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14435 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14436 (grub_video_reader_png): Release memory occupied by image_data.
14437
14438 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14439 4096 bytes.
14440 (grub_nfs_mount): Skip the test for sector per cluster.
14441
14442 * include/grub/ntfs.h (MAX_SPC): Removed.
14443
86cb4f54 144442008-03-31 Bean <bean123ch@gmail.com>
14445
14446 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14447 (grub_probe_SOURCES): Add fs/afs.c.
14448 (grub_fstest_SOURCES): Likewise.
14449 (afs_mod_SOURCES): New variable.
14450 (afs_mod_CFLAGS): Likewise.
14451 (afs_mod_LDFLAGS): Likewise.
14452
14453 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14454 (grub_emu_SOURCES): Likewise.
14455
14456 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14457
14458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14459
14460 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14461
14462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14463
14464 * fs/afs.c: New file.
14465
17c74c21 144662008-03-30 Pavel Roskin <proski@gnu.org>
14467
4cb68e89 14468 * disk/host.c: Include grub/misc.h to fix a warning.
14469 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14470 warnings about implicit declarations.
14471
8790bb04 14472 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14473 variable.
14474 * include/grub/i386/loader.h: Change declaration of
14475 grub_linux_boot() to match what grub_loader_set() expects.
14476 * util/getroot.c (grub_guess_root_device): Return const char* to
14477 fix a warning.
14478 * util/grub-probe.c (probe): Fix a warning about uninitialized
14479 abstraction_name variable.
14480 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14481 second argument as unused to fix a warning.
14482
9a3f3296 14483 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14484 missing grub_error() call.
14485
0ecef90d 14486 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14487 2.60 and newer uses it to define datadir.
14488
0bf6d401 14489 * commands/sleep.c: Fix warning about implicit declaration.
14490 * disk/memdisk.c: Likewise.
14491 * loader/aout.c: Likewise.
14492 * loader/i386/bsd_normal.c: Likewise.
14493 * util/grub-probe.c: Likewise.
14494
7cdacf97 14495 * commands/i386/cpuid.c (has_longmode): Make static.
14496 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14497 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14498
17c74c21 14499 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14500 GDT. This is more robust, as %ds can change.
14501 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14502 calling real_to_prot().
14503 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14504
80a3e68b 145052008-03-28 Pavel Roskin <proski@gnu.org>
14506
14507 * kern/i386/pc/startup.S: Assert that uncompressed functions
14508 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14509 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14510 code, as they push parts of the code (error handlers) beyond
14511 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14512 code as correctness and size.
14513
77bcd272 145142008-03-28 Pavel Roskin <proski@gnu.org>
14515
14516 * kern/i386/pc/startup.S
14517 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14518 data block address to the real mode, keep offset minimal. This
14519 works around a bug in AWARD BIOS on old Athlon systems, which
14520 makes CD detection hang.
14521
c5dfd43b 145222008-03-26 Pavel Roskin <proski@gnu.org>
14523
14524 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14525 const.
14526 * include/grub/normal.h: Add grub_parse_color_name_pair()
14527 declaration.
14528
bf962df2 145292008-03-24 Bean <bean123ch@gmail.com>
14530
14531 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14532 (cd_count): Removed.
14533 (cd_drive): New variable.
14534 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14535 (grub_biosdisk_call_hook): Likewise.
14536 (grub_biosdisk_iterate): Change cdrom detection method.
14537 (grub_biosdisk_open): Replace cd_start with cd_drive.
14538 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14539 detect cdrom device.
14540
14541 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14542 Removed.
14543 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14544 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14545 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14546 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14547 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14548 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14549 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14550 (grub_biosdisk_cdrp): New structure.
14551 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14552
14553 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14554
14555 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14556 device.
14557
14558 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14559 New function.
14560
68e7fc7a 145612008-03-20 Robert Millan <rmh@aybabtu.com>
14562
14563 Remove 2 TiB limit in ata.mod.
14564 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14565 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14566 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14567 grub_uint64_t instead of grub_uint32_t.
14568
38ad2cf5 145692008-03-05 Bean <bean123ch@gmail.com>
14570
14571 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14572 (grub_multiboot): Set boot device.
14573
14574 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14575
2b89344e 145762008-03-02 Bean <bean123ch@gmail.com>
14577
14578 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14579 symlink_buffer.
14580
87a95d1f 145812008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14582
14583 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14584 texinfo.tex.
14585
14586 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14587 modified.
14588
14589 * docs/fdl.texi: New file.
f19dbdb7 14590
87a95d1f 14591 * docs/mdate-sh: New file. Copied from gnulib.
14592 * docs/texinfo.tex: Likewise.
14593
14594 * config.guess: Updated from gnulib.
14595 * install-sh: Likewise.
14596
7dc15d8e 145972008-02-28 Robert Millan <rmh@aybabtu.com>
14598
14599 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14600 (aout_mod_SOURCES): New variable.
14601 (aout_mod_CFLAGS): Likewise.
14602 (aout_mod_LDFLAGS): Likewise.
14603
14604 * conf/i386-ieee1275.rmk: Likewise.
14605
b00ab696 146062008-02-28 Robert Millan <rmh@aybabtu.com>
14607
14608 * util/update-grub.in: Reorganise terminal validity check. Accept
14609 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14610 Based on suggestion by Franklin PIAT.
14611
79ca2d78 146122008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14613
14614 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14615 function.
14616 * util/getroot.c (grub_util_check_block_device): New function that
14617 returns the given argument if it is a block device and returns NULL else.
14618 * util/grub-probe.c (argument_is_device): New variable.
14619 (probe): Promote device_name from a variable to an argument. Receive
14620 device_name from grub_util_check_block_device() if path is NULL and from
14621 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14622 (options): Introduce new parameter '-d, --device'.
79ca2d78 14623 (main): Add description of the new parameter to the help screen.
14624 Rename path variable to argument. Set argument_is_device if the '-d'
14625 option is given. Pass argument to probe() depending on
14626 argument_is_device.
14627
0d16e571 146282008-02-24 Bean <bean123ch@gmail.com>
14629
14630 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14631 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14632 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14633 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14634 (GRUB_ISO9660_VOLDESC_END): Likewise.
14635 (grub_iso9660_primary_voldesc): New member escape.
14636 (grub_iso9660_data): New member joliet.
14637 (grub_iso9660_convert_string): New function.
14638 (grub_iso9660_mount): Detect joliet extension.
14639 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14640 (grub_iso9660_iso9660_label): Likewise.
14641
14642 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14643 (grub_setup_SOURCES): Add fs/udf.c.
14644 (grub_fstest_SOURCES): Likewise.
14645 (udf_mod_SOURCES): New variable.
14646 (udf_mod_CFLAGS): Likewise.
14647 (udf_mod_LDFLAGS): Likewise.
14648
14649 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14650 (grub_emu_SOURCES): Likewise.
14651
14652 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14653
14654 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14655
14656 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14657
14658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14659
14660 * fs/udf.c: New file.
14661
8a594a17 146622008-02-24 Robert Millan <rmh@aybabtu.com>
14663
14664 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14665 (normal/lexer.c_DEPENDENCIES): New variables.
14666 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14667 (normal/lexer.c_DEPENDENCIES): Likewise.
14668 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14669 (normal/lexer.c_DEPENDENCIES): Likewise.
14670 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14671 (normal/lexer.c_DEPENDENCIES): Likewise.
14672 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14673 (normal/lexer.c_DEPENDENCIES): Likewise.
14674 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14675 (normal/lexer.c_DEPENDENCIES): Likewise.
14676
2dc33c03 146772008-02-23 Robert Millan <rmh@aybabtu.com>
14678
14679 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14680 since they were intended to be in hex. This didn't break previously
14681 because of a bug in gpt_partition_map_iterate() (see below).
14682
14683 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14684 when checking the validity of GPT header.
14685 Remove `partno', since it always provides the same information as `i'.
14686
f6f4cfb0 146872008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14688
14689 * include/grub/efi/time.h: Fix a wrong comment.
14690
79ff665f 146912008-02-19 Pavel Roskin <proski@gnu.org>
14692
14693 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14694 message.
14695
d38e24c2 146962008-02-19 Bean <bean123ch@gmail.com>
14697
14698 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14699 (aout_mod_SOURCES): New variable.
14700 (aout_mod_CFLAGS): Likewise.
14701 (aout_mod_LDFLAGS): Likewise.
14702 (_bsd_mod_SOURCES): New variable.
14703 (_bsd_mod_CFLAGS): Likewise.
14704 (_bsd_mod_LDFLAGS): Likewise.
14705 (bsd_mod_SOURCES): New variable.
14706 (bsd_mod_CFLAGS): Likewise.
14707 (bsd_mod_LDFLAGS): Likewise.
14708
14709 * include/grub/aout.h: New file.
14710
14711 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14712
14713 * include/grub/i386/bsd.h: New file.
14714
14715 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14716 to make it public.
14717
14718 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14719 function is called, so that it's possible to change it inside the hook.
14720 (grub_elf64_load): Likewise.
14721 (grub_elf_file): Don't close the file if elf header is not found.
14722 (grub_elf_close): Close the file if grub_elf_file fails (The new
14723 grub_elf_file won't close it).
14724 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14725 (grub_elf64_size): Likewise.
14726
14727 * kern/i386/loader.S (grub_unix_real_boot): New function.
14728
14729 * loader/aout.c: New file.
14730
14731 * loader/i386/bsd.c: New file.
14732
14733 * loader/i386/bsd_normal.c: New file.
14734
14735 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
14736
14737 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 14738 can test other formats.
d38e24c2 14739
b93bdb0f 147402008-02-19 Robert Millan <rmh@aybabtu.com>
14741
14742 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
14743 (grub_gpt_partition_type_empty): Redefine with macro from
14744 `<grub/gpt_partition.h>'.
14745 (gpt_partition_map_iterate): Adjust partition type comparison.
14746
14747 Export `entry' as partmap-specific `part.data' struct.
14748 (grub_gpt_header, grub_gpt_partentry): Move from here ...
14749
14750 * include/grub/gpt_partition.h (grub_gpt_header)
14751 (grub_gpt_partentry): ... to here (new file).
14752
14753 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
14754
14755 (grub_gpt_partition_type_bios_boot): New const variable, defined
14756 with macro from `<grub/gpt_partition.h>'.
14757
14758 (setup): Replace `first_start' with `embed_region', which keeps
14759 track of the embed region (and is partmap-agnostic).
14760
14761 Replace find_first_partition_start() with find_usable_region(),
14762 which finds a usable region for embedding using partmap-specific
14763 knowledge (supports PC/MSDOS and GPT).
14764
14765 Fix all assumptions that the embed region start at sector 1, using
14766 `embed_region.start' from now on. Similarly, use `embed_region.end'
14767 rather than `first_start' to calculate available size.
14768
14769 In grub_util_info() message, replace "into after the MBR" with an
14770 indication of the specific sector our embed region starts at.
14771
66cb40f6 147722008-02-19 Robert Millan <rmh@aybabtu.com>
14773
14774 * DISTLIST: Replace `commands/ieee1275/halt.c' and
14775 `commands/ieee1275/reboot.c' with `commands/halt.c' and
14776 `commands/reboot.c'.
14777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14778 (halt_mod_SOURCES): Likewise.
14779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14780 (halt_mod_SOURCES): Likewise.
14781
b7202015 147822008-02-17 Christian Franke <franke@computer.org>
14783
14784 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
14785
32b0fc49 147862008-02-17 Robert Millan <rmh@aybabtu.com>
14787
14788 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14789 set `first_start' to 0 for non-PC/MSDOS partition maps.
14790
aca63502 147912008-02-16 Robert Millan <rmh@aybabtu.com>
14792
14793 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14794 do not assume partition map is PC/MSDOS before performing checks that
14795 are specific to that layout.
14796
0de8be86 147972008-02-13 Robert Millan <rmh@aybabtu.com>
14798
14799 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
14800 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
14801 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
14802
c3db8364 148032008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
14804
14805 * configure.ac: Only a cosmetic change on the handling of
14806 -fno-stack-protector.
14807
f714229e 148082008-02-12 Alexandre Boeglin <alex@boeglin.org>
14809
c3db8364 14810 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
14811 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
14812 reboot.c.
f714229e 14813 (grub_install_SOURCES): Add halt.mod and reboot.mod.
14814 (halt_mod_SOURCES): New variable.
14815 (halt_mod_CFLAGS): Likewise.
14816 (halt_mod_LDFLAGS): Likewise.
14817 (reboot_mod_SOURCES): Likewise.
14818 (reboot_mod_CFLAGS): Likewise.
14819 (reboot_mod_LDFLAGS): Likewise.
14820
c3db8364 14821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
14822 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
14823 reboot.c.
f714229e 14824 (halt_mod_SOURCES): Likewise.
14825 (reboot_mod_SOURCES): Likewise.
14826
c3db8364 14827 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
14828 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 14829 (reboot_mod_SOURCES): Likewise.
14830
14831 * commands/i386/pc/reboot.c: merge this file ...
14832
14833 * commands/ieee1275/reboot.c: ... and this file ...
14834
14835 * commands/reboot.c: ... to this file.
c3db8364 14836 Add some precompiler directive to include the correct header for
14837 each machine.
f714229e 14838
14839 * commands/ieee1275/halt.c: move this file ...
14840
14841 * commands/halt.c: ... to here.
c3db8364 14842 Add some precompiler directive to include the correct header for
14843 each machine.
f714229e 14844
14845 * include/grub/efi/efi.h (grub_reboot): New function declaration.
14846 (grub_halt): Likewise.
14847
14848 * kern/efi/efi.c (grub_reboot): New function.
14849 (grub_halt): Likewise.
14850
c74493e0 148512008-02-12 Robert Millan <rmh@aybabtu.com>
14852
14853 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
14854 /dev (like it is done for /dev/mapper). This doesn't provide support
14855 for EVMS, but at least it is now easy to identify the problem when it
14856 arises.
14857
d0db4b04 148582008-02-11 Robert Millan <rmh@aybabtu.com>
14859
14860 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
14861 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
14862 comparing it with -1, not 0.
14863
bf748642 148642008-02-10 Robert Millan <rmh@aybabtu.com>
14865
14866 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
14867 `disk/lvm.c'.
14868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14869 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14870
14871 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
14872 `disk/lvm.c' to the end of the list.
14873 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14874 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14875
b5db202a 148762008-02-10 Robert Millan <rmh@aybabtu.com>
14877
14878 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
14879 grub_print_error() instead. This will let user know why we're entering
14880 rescue mode.
14881 Based on suggestions from Sam Morris.
14882
83abee31 148832008-02-10 Alexandre Boeglin <alex@boeglin.org>
14884
14885 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
14886 on remaining N args, instead of "--" arg N times.
14887
78d5a08b 148882008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
14889
14890 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
14891 (fill_with_default_glyph): Changed to use unknown_glyph for fill
14892 pattern for unknown glyphs.
14893
68807e5f 148942008-02-09 Robert Millan <rmh@aybabtu.com>
14895
14896 * configure.ac: Probe for `help2man'.
14897 * Makefile.in (builddir): New variable.
14898 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
14899 or otherwise add a few flags/options to it.
14900 (install-local): For every executable utility or script that is
14901 installed, invoke $(HELP2MAN) to install a manpage based on --help
14902 output.
14903
14904 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
14905 that it doesn't prevent --help from working in build tree.
14906
14907 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
14908 with `bug-grub@gnu.org'.
14909 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
14910 * util/update-grub.in (usage): New function.
14911 Implement proper argument check, with support for --help and --version
14912 (as well as existing -y).
14913
149142008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 14915
14916 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
14917 avoid overwriting previous output.
14918 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
14919
c1962162 149202008-02-09 Robert Millan <rmh@aybabtu.com>
14921
14922 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
14923 drawing the menu.
14924
3dac2e3f 149252008-02-09 Robert Millan <rmh@aybabtu.com>
14926
14927 * commands/sleep.c: New file.
14928 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
14929 (sleep_mod_SOURCES): New variable.
14930 (sleep_mod_CFLAGS): Likewise.
14931 (sleep_mod_LDFLAGS): Likewise.
14932
7a634e08 149332008-02-09 Robert Millan <rmh@aybabtu.com>
14934
14935 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
14936 situations in which we can deduce the RAID size and the superblock
14937 doesn't match it.
14938
b92f0c18 149392008-02-09 Robert Millan <rmh@aybabtu.com>
14940
14941 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
14942 and return a grub_diskmemberlist_t composed of LVM physical volumes.
14943 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
14944
14945 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
14946 and return a grub_diskmemberlist_t composed of physical array members.
14947 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
14948
14949 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
14950 prototype.
14951 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
14952 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
14953 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
14954
14955 * util/grub-probe.c (probe): Move partmap probing code from here ...
14956 (probe_partmap): ... to here.
14957 (probe): Use probe_partmap() once for the disk we're probing, and
14958 additionally, when such disk contains a memberlist() struct member,
14959 once for each disk that is contained in the structure returned by
14960 memberlist().
14961
91a4bf68 149622008-02-09 Robert Millan <rmh@aybabtu.com>
14963
14964 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
14965 environment variable to 'all' in order to obtain debug output from
14966 non-util/ code.
14967 * util/i386/pc/grub-setup.c (main): Likewise.
14968
a96f9caa 149692008-02-08 Robert Millan <rmh@aybabtu.com>
14970
14971 * disk/raid.c (grub_raid_scan_device): Check for
14972 `array->device[sb.this_disk.number]' rather than for
14973 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 14974 guaranteed to be accessible.
a96f9caa 14975
b37a9222 149762008-02-08 Robert Millan <rmh@aybabtu.com>
14977
14978 * disk/raid.c: Update copyright.
14979 * fs/cpio.c: Likewise.
14980 * include/grub/raid.h: Likewise.
14981 * loader/i386/pc/multiboot.c: Likewise.
14982 * util/hostfs.c: Likewise.
14983
5626aee1 149842008-02-08 Robert Millan <rmh@aybabtu.com>
14985
14986 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
14987 to a grub_disk_t array.
14988 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
14989 `device[x]'.
14990 (grub_raid_scan_device): Replace `device[x].name' accesses with
14991 `device[x]->name'. Simplify initialization of `array->device[x]'.
14992
554f0187 149932008-02-08 Robert Millan <rmh@aybabtu.com>
14994
14995 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
14996 grub_dprintf() calls.
14997 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
14998 error message.
14999
1ec8425d 150002008-02-07 Christian Franke <franke@computer.org>
15001
15002 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15003 instead of fseek and ftell to support large files.
15004 (grub_hostfs_read): Likewise.
15005
f2156fda 150062008-02-07 Robert Millan <rmh@aybabtu.com>
15007
15008 Patch from Jeroen Dekkers.
15009 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15010 failure, since successfully reading all array members might not be
f2156fda 15011 required.
15012
9216e0e7 150132008-02-06 Robert Millan <rmh@aybabtu.com>
15014
15015 * util/grub-probe.c (probe): Simplify partmap probing (with the
15016 assumption that the first word up to the underscore equals to
15017 the module name).
15018
b0dfd29a 150192008-02-06 Christian Franke <franke@computer.org>
15020
15021 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15022 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15023 last block of a cpio or tar stream.
15024 Check for "TRAILER!!!" instead of any empty data
15025 block to detect last block of a cpio stream.
15026 (grub_cpio_dir): Fix constness of variable np.
15027 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15028 cpio or tar trailer is detected. This fixes a crash
15029 on open of a non existing file.
15030
c32865bf 150312008-02-05 Bean <bean123ch@gmail.com>
15032
15033 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15034 address of entry.
15035 (grub_multiboot_load_elf64): Likewise.
15036 (grub_multiboot): Initialize mbi structure.
15037
15038 * util/grub-fstest.c: Don't include unused header file script.h.
15039
fe6b695a 15040 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15041 of file.
15042 (grub_fstest_SOURCES): Likewise.
15043
409480b7 150442008-02-05 Robert Millan <rmh@aybabtu.com>
15045
15046 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15047 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15048 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15049 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15050
15051 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15052 (translation_table): Replace hardcoded values with macros
15053 provided by `<grub/term.h>'.
15054
15055 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15056 (keyboard_map): Correct/add a few values, with macros provided
15057 by `<grub/term.h>'.
15058 (keyboard_map_shift): Zero values that don't differ from their
15059 `keyboard_map' equivalents.
15060 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15061 Discard the second scan code that is always sent by Caps lock.
15062 Only use `keyboard_map_shift' when it provides a non-zero value,
15063 otherwise fallback to `keyboard_map'.
15064
99fadbaa 150652008-02-04 Bean <bean123ch@gmail.com>
15066
15067 * Makefile.in (enable_grub_fstest): New variable.
15068
15069 * conf/common.rmk (grub_fstest_init.lst): New rule.
15070 (grub_fstest_init.h): Likewise.
15071 (grub_fstest_init.c): Likewise.
15072 (util/grub-fstest.c_DEPENDENCIES): New variable.
15073 (grub_fstest_SOURCES): Likewise.
15074
15075 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15076
15077 * util/grub-fstest.c: New file.
15078
bf567c50 150792008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15080
15081 Make grub-setup handle a separate root device.
f19dbdb7 15082
bf567c50 15083 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15084 so that the root device can be compared with the destination
15085 device.
15086 When embedding the core image, if the root and destination devices
15087 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15088 0xFF.
15089 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15090
9be6b98b 150912008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15092
15093 Add support for having a grub directory in a different drive. This
15094 is still only the data handling part.
f19dbdb7 15095
9be6b98b 15096 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15097 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15098 (grub_root_drive): New variable.
15099
15100 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15101 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15102 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15103 as it was.
15104
15105 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15106
15107 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15108 macro.
15109 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15110
15111 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15112 is bogus, because PXE booting does not specify any drive
15113 correctly.
15114
15115 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15116 am not sure if this is really correct.
15117
15118 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15119 is always identical to the boot drive when booting from a CD.
15120
15121 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15122 longer.
15123 (root_drive): New variable.
15124 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15125 (setup_sectors): Push %dx right after popping it, because %dh will
15126 be modified later.
15127 (copy_buffer): Restore %dx.
15128
e0ca0677 151292008-02-03 Robert Millan <rmh@aybabtu.com>
15130
15131 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15132 use `cdboot.img' for cdrom images.
15133
3b3f6629 151342008-02-03 Robert Millan <rmh@aybabtu.com>
15135
15136 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15137 only setup gfxterm when `font' command has succeeded.
15138
d42b3672 151392008-02-03 Robert Millan <rmh@aybabtu.com>
15140
15141 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15142 (grub_rescue_cmd_multiboot_loader)
15143 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15144
fa370ea6 151452008-02-03 Pavel Roskin <proski@gnu.org>
15146
e0c5dacb 15147 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15148 %edx and %esi from stack only after grub_gate_a20() is called.
15149 grub_gate_a20() clobbers %edx.
15150
f2a76e1d 151512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15152
15153 * configure.ac (AC_INIT): Bumped to 1.96.
15154
15155 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15156 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15157 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15158 video/readers/png.c.
15159
90fd32d1 151602008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15161
15162 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15163 (cdboot_img_SOURCES): New variable.
15164 (cdboot_img_ASFLAGS): New variable.
15165 (cdboot_img_LDFLAGS): New variable.
15166
15167 * boot/i386/pc/cdboot.S: New file.
15168
15169 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15170 (cd_count): Likewise.
15171 (grub_biosdisk_get_drive): Add support for cd device.
15172 (grub_biosdisk_call_hook): Likewise.
15173 (grub_biosdisk_iterate): Likewise.
15174 (grub_biosdisk_open): Likewise.
15175 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15176 (grub_biosdisk_rw): Support reading from cd device.
15177 (GRUB_MOD_INIT): Iterate cd devices.
15178
15179 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15180 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15181 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15182
15183 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15184
4020aa53 151852008-02-02 Robert Millan <rmh@aybabtu.com>
15186
15187 * commands/read.c: New file.
15188 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15189 (read_mod_SOURCES): New variable.
15190 (read_mod_CFLAGS): Likewise.
15191 (read_mod_LDFLAGS): Likewise.
15192
e03a1132 151932008-02-02 Robert Millan <rmh@aybabtu.com>
15194
15195 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15196 determining whether menu has to be displayed.
15197
58c69220 151982008-02-02 Marco Gerards <marco@gnu.org>
15199
15200 * bus/pci.c: New file.
15201
15202 * include/grub/pci.h: Likewise.
15203
15204 * include/grub/i386/pc/pci.h: Likewise.
15205
15206 * commands/lspci.c: Likewise.
15207
15208 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15209 `lspci.mod'.
15210 (pci_mod_SOURCES): New variable.
15211 (pci_mod_CFLAGS): Likewise.
15212 (pci_mod_LDFLAGS): Likewise.
15213 (lspci_mod_SOURCES): Likewise.
15214 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15215 (lspci_mod_LDFLAGS): Likewise.
58c69220 15216
c004e1b4 152172008-02-02 Bean <bean123ch@gmail.com>
15218
15219 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15220 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15221
15222 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15223 (grub_xfs_btree_node): New structure.
15224 (grub_xfs_btree_root): New structure.
15225 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15226 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15227 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15228 (GRUB_XFS_EXTENT_SIZE): Likewise.
15229 (grub_xfs_read_block): Support btree format type.
15230 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15231 Use directory block as basic unit.
15232
15233 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15234
15235 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15236 __attribute__ ((__regparm__ (1))).
15237
f95562bf 152382008-02-01 Robert Millan <rmh@aybabtu.com>
15239
15240 Correct a mistake in previous commit.
15241
15242 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15243 top.
15244 (normal/command.c_DEPENDENCIES): New variable.
15245
7d31f41f 152462008-02-01 Robert Millan <rmh@aybabtu.com>
15247
15248 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15249 top.
15250 (normal/command.c_DEPENDENCIES): New variable.
15251 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15252 * conf/i386-ieee1275.rmk: Likewise.
15253 * conf/i386-linuxbios.rmk: Likewise.
15254 * conf/i386-pc.rmk: Likewise.
15255 * conf/sparc64-ieee1275.rmk: Likewise.
15256 * conf/powerpc-ieee1275.rmk: Likewise.
15257 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15258
15259 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15260
60b6be74 152612008-02-01 Robert Millan <rmh@aybabtu.com>
15262
15263 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15264 call at beginning of function.
15265
078522ab 152662008-01-31 Pavel Roskin <proski@gnu.org>
15267
15268 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15269 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15270 (grub_mkrescue_SOURCES): Likewise.
078522ab 15271 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15272
ccaa8a5f 152732008-01-30 Robert Millan <rmh@aybabtu.com>
15274
15275 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15276 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15277 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15278 (grub_probe_SOURCES): ... to here.
15279
15280 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15281 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15282 * conf/i386-ieee1275.rmk: Likewise.
15283 * conf/i386-linuxbios.rmk: Likewise.
15284 * conf/powerpc-ieee1275.rmk: Likewise.
15285
ae5a9cd7 152862008-01-30 Tristan Gingold <gingold@free.fr>
15287
15288 * kern/rescue.c: Silently accept empty lines.
15289
70bc2ef2 152902008-01-29 Bean <bean123ch@gmail.com>
15291
15292 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15293 (real_code_2): Code cleanup and change comment style.
15294 (move_memory): Avoid using 32-bit address mode.
15295
6a4d50ea 152962008-01-29 Bean <bean123ch@gmail.com>
15297
15298 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15299 (png_mod_SOURCES): New variable.
15300 (png_mod_CFLAGS): Likewise.
15301 (png_mod_LDFLAGS): Likewise.
15302
15303 * video/readers/png.c: New file.
15304
11cc30ac 153052008-01-28 Robert Millan <rmh@aybabtu.com>
15306
15307 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15308 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15309 `ifndef GRUB_MOD_GAP' hack.
15310 * util/elf/grub-mkimage.c (add_segments): Likewise.
15311
3abc589f 153122008-01-27 Robert Millan <rmh@aybabtu.com>
15313
15314 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15315 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15316 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15317
e1907778 153182008-01-27 Robert Millan <rmh@aybabtu.com>
15319
15320 Get grub-emu to build again (including parallel builds).
15321
15322 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15323 Split into ...
15324 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15325 (normal/execute.c_DEPENDENCIES): ... this, ...
15326 (grub-emu_DEPENDENCIES): ... and this.
15327
15328 * conf/i386-efi.rmk: Likewise.
15329 * conf/i386-linuxbios.rmk: Likewise.
15330 * conf/i386-ieee1275.rmk: Likewise.
15331 * conf/powerpc-ieee1275.rmk: Likewise.
15332 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15333
2216b101 153342008-01-27 Robert Millan <rmh@aybabtu.com>
15335
15336 * NEWS: Add a few items.
15337
f75172d9 153382008-01-27 Robert Millan <rmh@aybabtu.com>
15339
15340 Fix parallel builds with grub-emu. Based on earlier commit for
15341 grub-probe and grub-setup.
15342
15343 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15344 (util/grub-emu.c_DEPENDENCIES): ... this.
15345 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15346 (util/grub-emu.c_DEPENDENCIES): ... this.
15347 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15348 (util/grub-emu.c_DEPENDENCIES): ... this.
15349 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15350 (util/grub-emu.c_DEPENDENCIES): ... this.
15351 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15352 (util/grub-emu.c_DEPENDENCIES): ... this.
15353
3f51de77 153542008-01-27 Pavel Roskin <proski@gnu.org>
15355
15356 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15357 to create a gap between _end and the modules added to the image
15358 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15359 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15360 * util/elf/grub-mkimage.c (add_segments): Likewise.
15361
2033f53e 153622008-01-26 Pavel Roskin <proski@gnu.org>
15363
15364 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15365 just return an error.
15366
22da1f6f 153672008-01-26 Bean <bean123ch@gmail.com>
15368
15369 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15370 (grub_reiserfs_get_item): Save offset of the next item.
15371 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15372
2a9525e6 153732008-01-25 Robert Millan <rmh@aybabtu.com>
15374
15375 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15376 make all filesystem sources appear together (possibly fixing omissions
15377 while at it).
15378 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15380 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15382
15383 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15384 add `kern/file.c'.
15385 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15386 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15387 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15388 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15389
15390 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15391 (probe): Add a sanity check to make sure of our ability to read
15392 requested files when probing for filesystem type.
15393
15394 * genmk.rb: Update copyright year (2007).
15395
15396 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15397 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15398 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15399 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15400 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15401 : Remove function prototypes.
15402
b95f71b5 154032008-01-25 Robert Millan <rmh@aybabtu.com>
15404
15405 Revert my previous commits (based on wrong assumption of how grub_errno
15406 works).
15407
fe6b695a 15408 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15409 * kern/file.c (grub_file_open): Likewise.
15410
d08bbb49 154112008-01-24 Pavel Roskin <proski@gnu.org>
15412
15413 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15414 that hang if GRUB tries to setup colors.
15415 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15416 colors for firmwares that don't support it.
15417 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15418 Recognize Open Hack'Ware, set flags to work around its
15419 limitations.
15420
605e36ed 154212008-01-24 Robert Millan <rmh@aybabtu.com>
15422
15423 * kern/file.c (grub_file_open): Do not account previous failures of
15424 unrelated functions when grub_errno is checked for.
15425 Reported by Oleg Strikov.
15426
bac332a1 154272008-01-24 Bean <bean123ch@gmail.com>
15428
15429 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15430 (grub_ufs_sblock): New member volume name.
15431 (grub_ufs_find_file): Fix string copy bug.
15432 (grub_ufs_label): Implement this function properly.
15433
15434 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15435 (grub_hfs_iterate_records): Use the correct file number for extents
15436 and catalog file. Fix problem in next index calculation.
15437 (grub_hfs_find_node): Replace recursive function call with loop.
15438 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15439
15c80c09 154402008-01-23 Robert Millan <rmh@aybabtu.com>
15441
15442 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15443 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15444 (grub_multiboot2_real_boot): New function prototype.
15445
15446 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15447 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15448
15449 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15450 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15451
305338fd 154522008-01-23 Robert Millan <rmh@aybabtu.com>
15453
15454 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15455 #ifdef'ed out grub_printf().
15456
3ea52685 154572008-01-23 Robert Millan <rmh@aybabtu.com>
15458
15459 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15460 grub_dprintf calls, since they make "debug=all" mode unusable.
15461 (grub_console_checkkey): Likewise.
15462
5882ae4b 154632008-01-23 Robert Millan <rmh@aybabtu.com>
15464
15465 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15466 `term/i386/pc/at_keyboard.c'.
15467 (pkglib_MODULES): Add `serial.mod'.
15468 (serial_mod_SOURCES): New variable.
15469 (serial_mod_CFLAGS): Likewise.
15470 (serial_mod_LDFLAGS): Likewise.
15471
15472 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15473 `<grub/powerpc/ieee1275/console.h>'.
15474 (grub_keyboard_controller_init): New function prototype.
15475 (grub_console_checkkey): Likewise.
15476 (grub_console_getkey): Likewise.
15477
15478 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15479 keyboard on i386.
15480
15481 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15482 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15483
06ab5303 154842008-01-23 Robert Millan <rmh@aybabtu.com>
15485
15486 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15487 present, "(memdisk)/boot/grub" becomes the default prefix.
15488
15489 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15490 a memdisk tarball with all the modules. Add --overlay=DIR option that
15491 allows users to overlay additional files into the image.
15492
dbb475a4 154932008-01-23 Robert Millan <rmh@aybabtu.com>
15494
15495 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15496 and `machine/memory.h'.
15497 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15498 (_multiboot_mod_SOURCES): New variable.
15499 (_multiboot_mod_CFLAGS): Likewise.
15500 (_multiboot_mod_LDFLAGS): Likewise.
15501 (multiboot_mod_SOURCES): Likewise.
15502 (multiboot_mod_CFLAGS): Likewise.
15503 (multiboot_mod_LDFLAGS): Likewise.
15504
15505 * include/grub/i386/ieee1275/loader.h: New file.
15506
15507 * include/grub/i386/ieee1275/machine.h: Likewise.
15508
15509 * include/grub/i386/ieee1275/memory.h: Likewise.
15510
15511 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15512 variable declaration.
15513 (grub_os_area_size): Likewise.
15514
15515 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15516 (grub_lower_mem, grub_upper_mem): New variables.
15517 (grub_stop_floppy): New function (just to make
15518 grub_multiboot2_real_boot() happy).
15519
15520 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15521 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15522 (grub_stop): New function.
15523 Include `"../realmode.S"' and `"../loader.S"'.
15524
15525 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15526 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15527
15528 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15529 rely on grub_multiboot2_real_boot() for final boot.
15530
25638629 155312008-01-22 Robert Millan <rmh@aybabtu.com>
15532
15533 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15534 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15535 device that doesn't look like an SD card.
15536 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15537 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15538 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15539 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15540 found.
15541
9dad816d 155422008-01-22 Robert Millan <rmh@aybabtu.com>
15543
15544 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15545 avoid claiming over our own code.
15546
34842f2d 155472008-01-22 Bean <bean123ch@gmail.com>
15548
15549 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15550 (jpeg_mod_SOURCES): New variable.
15551 (jpeg_mod_CFLAGS): Likewise.
15552 (jpeg_mod_LDFLAGS): Likewise.
15553
15554 * video/readers/jpeg.c : New file.
15555
44023a28 155562008-01-22 Bean <bean123ch@gmail.com>
15557
15558 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15559 there are no more items.
15560
bc2d8ac6 155612008-01-21 Robert Millan <rmh@aybabtu.com>
15562
15563 * kern/mm.c (grub_mm_init_region): Improve debug message.
15564
261bd4bc 155652008-01-21 Robert Millan <rmh@aybabtu.com>
15566
15567 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15568 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15569 address.
15570 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15571 a C macro.
15572 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15573 Indicates start of upper memory.
15574 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15575 (generate_image): Abort when image size is big enough to corrupt
15576 upper memory.
15577
15578 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15579 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15580 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15581 instead of hardcoding 0xA0000.
15582 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15583 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15584 instead of hardcoding 0xA0000.
15585
f970b55e 155862008-01-21 Robert Millan <rmh@aybabtu.com>
15587
15588 * disk/memdisk.c (memdisk_size): New variable.
15589 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15590 `memdisk_size'.
15591 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15592 image to dynamic memory.
15593 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15594 `memdisk_size'. Free memdisk block.
15595
1a8b0526 155962008-01-21 Robert Millan <rmh@aybabtu.com>
15597
15598 Fix detection of very small filesystems (like tar).
15599
15600 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15601 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15602 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15603 a problem with this disk).
15604
6e9b4aab 156052008-01-21 Robert Millan <rmh@aybabtu.com>
15606
15607 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15608 on grub_biosdisk_rw_standard() error.
15609
0d8837b2 156102008-01-21 Robert Millan <rmh@aybabtu.com>
15611
15612 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15613 recent changes.
15614 * kern/elf.c: Likewise.
15615 * kern/ieee1275/ieee1275.c: Likewise.
15616 * kern/powerpc/ieee1275/openfw.c: Likewise.
15617 * term/ieee1275/ofconsole.c: Likewise.
15618
ffd36e34 156192008-01-21 Robert Millan <rmh@aybabtu.com>
15620
15621 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15622
3f0093d0 15623 * include/grub/kernel.h (grub_arch_memdisk_addr)
15624 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15625
3f0093d0 15626 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15627 (grub_arch_memdisk_size): ... to here.
ffd36e34 15628
6c391b21 156292008-01-21 Robert Millan <rmh@aybabtu.com>
15630
15631 Mostly based on bugfix from Bean.
15632
15633 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15634 attribute with hook() parameter.
15635 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15636 declaration.
15637 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15638 attribute with hook() parameter.
15639 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15640 declaration.
15641
55a581dc 156422008-01-21 Robert Millan <rmh@aybabtu.com>
15643
15644 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15645 (pkglib_MODULES): Add `memdisk.mod'.
15646 (memdisk_mod_SOURCES): New variable.
15647 (memdisk_mod_CFLAGS): Likewise.
15648 (memdisk_mod_LDFLAGS): Likewise.
15649
15650 * disk/memdisk.c: New file.
15651
15652 * include/grub/disk.h (grub_disk_dev_id): Add
15653 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15654
15655 * include/grub/i386/pc/kernel.h
15656 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15657 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15658 (grub_kernel_image_size): New variable declaration.
15659 (grub_total_module_size): Likewise.
15660 (grub_memdisk_image_size): Likewise.
15661
15662 * include/grub/i386/pc/memory.h
15663 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15664
15665 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15666 (grub_arch_memdisk_addr): New variable declaration.
15667 (grub_arch_memdisk_size): Likewise.
15668
15669 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15670 (grub_arch_memdisk_size): Likewise.
15671
15672 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15673 (codestart): Replace hardcoded `0x100000' with
15674 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15675
15676 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15677 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15678 not NULL, append the contents of the file it refers to, at the end of
15679 the compressed kernel image. Initialize `grub_memdisk_image_size'
15680 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15681 (options): Add "memdisk"|'m' option.
15682 (main): Parse --memdisk|-m option, and pass user-provided path as
15683 parameter to generate_image().
15684
3d7f54c9 156852008-01-20 Robert Millan <rmh@aybabtu.com>
15686
15687 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15688 grub_dprintf() calls from here ...
15689 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15690
0bf74728 156912008-01-20 Robert Millan <rmh@aybabtu.com>
15692
15693 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15694
15695 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15696 declaration.
15697 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15698 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15699 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15700 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15701 property).
15702 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15703 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15704
33bf70a7 157052008-01-19 Robert Millan <rmh@aybabtu.com>
15706
fe6b695a 15707 Get rid of confusing function (superseded by
33bf70a7 15708 `grub_ieee1275_get_integer_property')
15709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15710 prototype.
15711 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15712 function.
15713 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15714 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15715 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15716
e2da7d26 157172008-01-19 Robert Millan <rmh@aybabtu.com>
15718
15719 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15720 command after "shut-down", since implementations differ on which
15721 the command for halt is.
15722
59f1fd8d 157232008-01-19 Robert Millan <rmh@aybabtu.com>
15724
15725 * include/grub/i386/linuxbios/console.h: Add header protection.
15726 (grub_keyboard_controller_init): New function prototype.
15727 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
15728 (KEYBOARD_COMMAND_READ): Likewise.
15729 (KEYBOARD_COMMAND_WRITE): Likewise.
15730 (KEYBOARD_SCANCODE_SET1): Likewise.
15731 (grub_keyboard_controller_write): New function.
15732 (grub_keyboard_controller_read): Likewise.
15733 (grub_keyboard_controller_init): Likewise.
15734
15735 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
15736 (grub_console_init): On coreboot/LinuxBIOS, call
15737 grub_keyboard_controller_init().
15738
5f5a7c15 157392008-01-19 Robert Millan <rmh@aybabtu.com>
15740
15741 PowerPC changes provided by Pavel Roskin.
15742
15743 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
15744 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
15745 don't rely on cmain() doing it.
15746 * kern/i386/ieee1275/startup.S (_start): Store %eax in
15747 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
15748
1210e168 157492008-01-16 Robert Millan <rmh@aybabtu.com>
15750
15751 * include/grub/i386/linuxbios/memory.h
15752 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
15753 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
15754 receive `table_header' as argument. Instead, probe for it in the
15755 known memory ranges where it can be present.
15756 (grub_available_iterate): Do not pass a fixed `table_header' address
15757 to grub_linuxbios_table_iterate().
15758
3d04eab8 157592008-01-15 Robert Millan <rmh@aybabtu.com>
15760
15761 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
15762 * conf/i386-ieee1275.rmk: New file.
15763 * include/grub/i386/ieee1275/console.h: Likewise.
15764 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
15765 * include/grub/i386/ieee1275/kernel.h: Likewise.
15766 * include/grub/i386/ieee1275/time.h: Likewise.
15767 * kern/i386/ieee1275/init.c: Likewise.
15768 * kern/i386/ieee1275/startup.S: Likewise.
15769
d1bc1b73 157702008-01-15 Robert Millan <rmh@aybabtu.com>
15771
15772 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
15773 when pointers are 32-bit (but still do set it to one when they are
15774 64-bit).
15775
66a65807 157762008-01-15 Robert Millan <rmh@aybabtu.com>
15777
15778 * include/grub/ieee1275/ieee1275.h
15779 (grub_ieee1275_get_integer_property): New function prototype.
15780
15781 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
15782 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 15783 grub_ieee1275_get_property() to handle endianness.
66a65807 15784
15785 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
15786 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 15787 where appropriate.
66a65807 15788 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
15789 (grub_map): Likewise.
15790 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
15791
a83ccafd 157922008-01-15 Bean <bean123ch@gmail.com>
15793
15794 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
15795 (grub_script_execute_cmdline): Reset grub_errno.
15796
15797 * normal/main.c (read_config_file): Reset grub_errno.
15798
15799 * normal/parse.y (script_init): New.
15800 (script): Move function and menuentry here.
15801 (delimiter): New.
15802 (command): Add delimiter at the end of command.
15803 (commands): Adjust to match the new command.
15804 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 15805 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 15806 (if): Use the new commands.
15807
15808 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
15809
df6ecfc6 158102008-01-15 Robert Millan <rmh@aybabtu.com>
15811
15812 * normal/menu.c (run_menu): Move timeout message from here ...
15813 (print_timeout): ... to here.
15814 (run_menu): Use print_timeout() once during initial draw to print
15815 the whole message, and again in every clock tick to update only
15816 the number of seconds.
15817
87ae25eb 158182008-01-15 Robert Millan <rmh@aybabtu.com>
15819
15820 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
15821 actual size of `available' from grub_ieee1275_get_property(), and
15822 restrict parsing to that bound.
15823
47bf09a4 158242008-01-15 Christian Franke <franke@computer.org>
15825
15826 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
15827 (argp_program_version): Remove variable.
15828 (argp_program_bug_address): Likewise.
15829 (options): Convert from struct argp_option to struct option.
15830 (struct arguments): Remove.
15831 (parse_opt): Remove.
15832 (usage): New function.
15833 (main): Replace struct args members by simple variables.
15834 Replace argp_parse() by getopt_long().
15835 Add switch to evaluate options.
15836 Add missing "(...)" around root_dev in prefix string.
15837
c86f1469 158382008-01-14 Robert Millan <rmh@aybabtu.com>
15839
15840 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
15841 for grub_ieee1275_exit(), in order to improve portability.
15842
e622c559 158432008-01-14 Robert Millan <rmh@aybabtu.com>
15844
15845 * util/grub.d/10_linux.in (prefix): Define.
15846 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
15847
44cb1ec8 158482008-01-13 Pavel Roskin <proski@gnu.org>
15849
15850 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
15851 grub_errno if no errors have been detected.
15852
1eb8c802 158532008-01-12 Robert Millan <rmh@aybabtu.com>
15854
15855 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
15856 (grub_util_get_dev_abstraction): New function prototype.
15857
15858 * util/getroot.c: Include `<grub/util/getroot.h>'
15859 (grub_util_get_grub_dev): Move detection of abstraction type to ...
15860 (grub_util_get_dev_abstraction): ... here (new function).
15861
15862 * util/grub-probe.c: Convert PRINT_* to an enum. Add
15863 `PRINT_ABSTRACTION'.
15864 (probe): Probe for abstraction type when requested.
15865 (main): Understand `--target=abstraction'.
15866
15867 * util/i386/efi/grub-install.in: Add abstraction module to core
15868 image when it is found to be necessary.
15869 * util/i386/pc/grub-install.in: Likewise.
15870 * util/powerpc/ieee1275/grub-install.in: Likewise.
15871
15872 * util/update-grub_lib.in (font_path): Return system path without
15873 converting to GRUB path.
15874 * util/update-grub.in: Convert system path returned by font_path()
15875 to a GRUB path. Use `grub-probe -t abstraction' to determine what
15876 abstraction module is needed for loading fonts (if any). Export
15877 that as `GRUB_PRELOAD_MODULES'.
15878 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
15879 insmod commands).
15880
52bd3de9 158812008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
15882
15883 Remove some unused code from reiserfs.
f19dbdb7 15884
52bd3de9 15885 * fs/reiserfs.c (struct grub_reiserfs_key)
15886 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
15887 (struct grub_reiserfs_node_body): Removed.
15888 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15889 Likewise.
15890 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15891 Likewise.
15892 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15893 Likewise.
15894 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15895 Likewise.
15896 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15897 Likewise.
15898 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
15899 Likewise.
15900 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15901 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15902 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15903
2f80039d 159042008-01-10 Robert Millan <rmh@aybabtu.com>
15905
15906 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
15907 Determines if a file is garbage left by packaging systems, etc.
15908 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
15909 for processing /etc/grub.d scripts.
15910 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
15911 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
15912 as a condition for processing Linux images.
15913
87888032 159142008-01-10 Pavel Roskin <proski@gnu.org>
15915
15916 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
15917 to compile reiserfs.c on PowerPC.
15918
7e54fced 159192008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 15920
15921 * kern/device.c (grub_device_iterate): Do not abort device iteration
15922 when one of the devices cannot be opened.
15923 * kern/disk.c (grub_disk_open): Do not account previous failures of
15924 unrelated functions when grub_errno is checked for.
15925
5aa541e6 159262008-01-08 Robert Millan <rmh@aybabtu.com>
15927
15928 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
15929 `! grub_linux_is_bzimage', change order of address comparison to make
15930 it more intuitive, and improve "too big zImage" error message.
15931
7076340d 159322008-01-08 Robert Millan <rmh@aybabtu.com>
15933
15934 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
15935 `$(update-grub_DATA)'.
15936 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
15937 targets.
15938
9ca70333 159392008-01-07 Robert Millan <rmh@aybabtu.com>
15940
15941 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
15942 which instruction is modified by grub-setup during installation
15943 (since it wasn't obvious by only looking at this file).
15944
38ccf575 159452008-01-07 Robert Millan <rmh@aybabtu.com>
15946
15947 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
15948 listing actual TODO items.
15949
f5db4291 159502008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15951
868967cf 15952 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
15953 correctly.
15954 (grub_reiserfs_get_key_offset): Likewise.
15955 (grub_reiserfs_set_key_offset): Likewise.
15956 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 15957 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 15958
15959 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
15960 better to remove the bitfield version completely.
f19dbdb7 15961
868967cf 159622008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15963
f5db4291 15964 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
15965 allocated from the heap, due to the fshelp implementation.
15966 (grub_reiserfs_dir): Free NODE, due to the same reason.
15967
492e6d9d 159682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15969
15970 Mostly from Vincent Pelletier:
f19dbdb7 15971
492e6d9d 15972 * fs/reiserfs.c: New file.
f19dbdb7 15973
492e6d9d 15974 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
15975 (reiserfs_mod_SOURCES): New variable.
15976 (reiserfs_mod_CFLAGS): Likewise.
15977 (reiserfs_mod_LDFLAGS): Likewise.
15978
15979 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
15980 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
15981 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
15982 normal/color.c.
15983
9ce3e7c1 159842008-01-06 Robert Millan <rmh@aybabtu.com>
15985
15986 * normal/color.c: Remove `<grub/env.h>'.
15987
f3b58148 159882008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
15989
15990 * include/grub/normal.h: Include <grub/env.h>.
15991
7ac3bcfa 159922008-01-05 Robert Millan <rmh@aybabtu.com>
15993
15994 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
15995 usage example with `(hd0,1)'.
fb358190 15996 Reported by Samuel Thibault.
7ac3bcfa 15997
c8ee99d7 159982008-01-05 Robert Millan <rmh@aybabtu.com>
15999
16000 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16001 (grub_linux_boot_zimage): Rename to ...
16002 (grub_linux_boot): ... this.
16003 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16004 (grub_linux_boot_zimage): Conditionalize zImage copy.
16005
16006 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16007 (grub_linux_boot_bzimage): Remove prototype.
16008 (grub_linux_boot_zimage): Rename to ...
16009 (grub_linux_boot): ... this.
16010
16011 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16012 (grub_linux_boot): Remove function.
16013
0ece25b1 160142008-01-05 Robert Millan <rmh@aybabtu.com>
16015
16016 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16017 (grub_env_write_color_highlight): Likewise.
16018 (grub_wait_after_message): Likewise.
16019
16020 * normal/color.c: New file.
16021
16022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16023 (normal_mod_DEPENDENCIES): Likewise.
16024
16025 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16026 (normal_mod_DEPENDENCIES): Likewise.
16027
16028 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16029 (normal_mod_DEPENDENCIES): Likewise.
16030
16031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16032 (normal_mod_DEPENDENCIES): Likewise.
16033
16034 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16035 for waiting after a message is printed.
16036 * normal/main.c (read_config_file): Likewise.
16037 (grub_normal_init): Register grub_env_write_color_normal() and
16038 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16039 `color_highlight' variables as global.
16040
16041 * normal/menu.c (grub_wait_after_message): New function.
16042 (grub_color_menu_normal): New variable. Replaces ...
16043 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16044 (grub_color_menu_highlight): New variable. Replaces ...
16045 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16046 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16047 `GRUB_TERM_COLOR_STANDARD'.
16048 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16049 `normal_code' and `highlight_code' to `old_color_normal' and
16050 `old_color_highlight', respectively.
16051 (grub_menu_init_page): Update colors when drawing the menu, based on
16052 `menu_color_normal' and `menu_color_highlight' variables.
16053 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16054 a message is printed.
16055
182dd4e5 160562008-01-05 Robert Millan <rmh@aybabtu.com>
16057
16058 * kern/env.c (grub_env_context_open): Propagate hooks for global
16059 variables to new context.
16060
16061 * kern/main.c (grub_set_root_dev): Export `root' variable.
16062
ddf8f6ad 160632008-01-05 Robert Millan <rmh@aybabtu.com>
16064
16065 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16066 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16067 them.
16068
d8b43d9b 160692008-01-05 Robert Millan <rmh@aybabtu.com>
16070
16071 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16072
2bff2de3 160732008-01-04 Christian Franke <franke@computer.org>
16074
16075 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16076 of eisa_mmap.
16077
97eab917 160782008-01-03 Pavel Roskin <proski@gnu.org>
16079
16080 * kern/i386/linuxbios/init.c: Put "void" to all function
16081 declarations with no arguments.
16082 * kern/powerpc/ieee1275/init.c: Likewise.
16083 * term/i386/pc/at_keyboard.c: Likewise.
16084 * term/i386/pc/vga_text.c: Likewise.
16085 * util/grub-mkdevicemap.c: Likewise.
16086
b9416d00 160872008-01-02 Robert Millan <rmh@aybabtu.com>
16088
16089 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16090 message when loaded image is out of bounds.
16091 (grub_multiboot_load_elf64): Likewise.
16092
92695df9 160932008-01-02 Pavel Roskin <proski@gnu.org>
16094
16095 * util/grub.d/10_linux.in: Try version without ".old" when
16096 looking for initrd. It's better to use initrd from the newer
16097 kernel of the same version than no initrd at all.
16098
d98d9cad 160992008-01-01 Robert Millan <rmh@aybabtu.com>
16100
16101 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16102
dbfdce36 161032008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16104
f19dbdb7 16105 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16106 grub_video_get_active_render_target.
16107 (grub_video_adapter): Added unmap_color and get_active_render_target.
16108
f19dbdb7 16109 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16110 grub_video_get_active_render_target.
16111 (grub_video_get_info): Changed method to accept NULL pointer as an
16112 argument to allow detection of active video adapter.
16113
16114 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16115 grub_video_vbe_unmap_color_int.
16116 Added grub_video_vbe_unmap_color and
16117 grub_video_vbe_get_active_render_target.
16118 (grub_video_vbe_adapter): Added unmap_color and
16119 get_active_render_target.
16120
f19dbdb7 16121 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16122 with grub_video_vbe_unmap_color_int.
16123
16124 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16125 (DEFAULT_NORMAL_COLOR): Likewise.
16126 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16127 (DEFAULT_FG_COLOR): Removed.
16128 (DEFAULT_BG_COLOR): Likewise.
16129 (DEFAULT_CURSOR_COLOR): Changed value.
16130 (grub_virtual_screen): Added standard_color_setting,
16131 normal_color_setting, highlight_color_setting and term_color.
16132 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16133 (bitmap_width): Added.
16134 (bitmap_height): Likewise.
16135 (bitmap): Likewise.
16136 (set_term_color): Likewise.
16137 (grub_virtual_screen_setup): Changed to use new terminal coloring
16138 settings.
16139 (grub_gfxterm_init): Added init for bitmap.
16140 (grub_gfxterm_fini): Added destroy for bitmap.
16141 (redraw_screen_rect): Updated to use background bitmap and new
16142 terminal coloring.
16143 (scroll_up): Added optimization for case when there is no bitmap.
16144 (grub_gfxterm_cls): Fixed to use correct background color.
16145 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16146 coloring.
16147 (grub_virtual_screen_setcolor): Likewise.
16148 (grub_virtual_screen_getcolor): Added.
16149 (grub_gfxterm_background_image_cmd): Likewise.
16150 (grub_video_term): Added setcolor and getcolor.
16151 (MOD_INIT): Added registration of background_image command.
16152 (MOD_TERM): Added unregistration for background_image command.
16153
c3c20931 161542007-12-30 Pavel Roskin <proski@gnu.org>
16155
16156 * loader/multiboot_loader.c: Fix multiboot command
16157 unregistration. Fix all typos in the word "multiboot".
16158
df266716 161592007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16160
16161 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16162 support for initrd names used in Fedora.
16163
fc6e896c 161642007-12-26 Bean <bean123ch@gmail.com>
16165
16166 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16167 (cpio_mod_SOURCES): New variable.
16168 (cpio_mod_CFLAGS): Likewise.
16169 (cpio_mod_LDFLAGS): Likewise.
16170
16171 * fs/cpio.c: New file.
16172
16173 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16174
16175 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16176
16177 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16178
16179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16180
533110ad 161812007-12-25 Robert Millan <rmh@aybabtu.com>
16182
16183 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16184 (grub_getcolor): New function.
16185
16186 * kern/term.c (grub_getcolor): New function.
16187 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16188 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16189 (print_entry): Set normal and highlight colors to
16190 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16191 respectively, before printing and restore them to old
16192 values afterwards.
16193 (grub_menu_init_page): Likewise. Fill an additional colored space
16194 that would otherwise be left blank.
16195
16196 * term/efi/console.c (grub_console_getcolor): New function.
16197 (struct grub_console_term.getcolor): New variable.
16198 * term/i386/pc/console.c (grub_console_getcolor): New function.
16199 (struct grub_console_term.getcolor): New variable.
16200 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16201 (struct grub_console_term.getcolor): New variable.
16202
16203 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16204 (struct grub_console_term.setcolor): Remove variable.
16205 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16206 (struct grub_console_term.setcolor): Remove variable.
16207 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16208 (struct grub_console_term.setcolor): Remove variable.
16209 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16210 (struct grub_console_term.setcolor): Remove variable.
16211
4931827f 162122007-12-25 Robert Millan <rmh@aybabtu.com>
16213
16214 * configure.ac: Search for possible unifont.hex locations, and
16215 define UNIFONT_HEX if found.
16216
16217 * Makefile.in (UNIFONT_HEX): Define variable.
16218 (DATA): Rename to ...
16219 (PKGLIB): ... this. Update all users.
16220 (PKGDATA): New variable.
16221 (pkgdata_IMAGES): Rename to ...
16222 (pkglib_IMAGES): ... this. Update all users.
16223 (pkgdata_MODULES): Rename to ...
16224 (pkglib_MODULES): ... this. Update all users.
16225 (pkgdata_PROGRAMS): Rename to ...
16226 (pkglib_PROGRAMS): ... this. Update all users.
16227 (pkgdata_DATA): Rename to ...
16228 (pkglib_DATA): ... this. Update all users.
16229 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16230 (unicode.pff, ascii.pff): New rules.
16231 (all-local): Add `$(PKGDATA)' dependency.
16232 (install-local): Process `$(PKGDATA)'.
16233
16234 * util/update-grub_lib.in (font_path): Search for *.pff files in
16235 a few more locations, including `${pkgdata}'.
16236
57e57e31 162372007-12-23 Robert Millan <rmh@aybabtu.com>
16238
16239 Patch from Bean <bean123ch@gmail.com>:
16240 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16241 `size'.
16242
4bc72aa9 162432007-12-21 Bean <bean123ch@gmail.com>
16244
16245 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16246 (ntfscomp_mod_SOURCES): New variable.
16247 (ntfscomp_mod_CFLAGS): Likewise.
16248 (ntfscomp_mod_LDFLAGS): Likewise.
16249
16250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16251 (grub_probe_SOURCES): Likewise.
16252 (grub_emu_SOURCES): Likewise.
16253
16254 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16255 (grub_emu_SOURCES): Likewise.
16256
16257 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16258 (grub_emu_SOURCES): Likewise.
16259
16260 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16261 (grub_emu_SOURCES): Likewise.
16262
16263 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16264 (read_run_list): Renamed to grub_ntfs_read_run_list.
16265 (decomp_nextvcn): Moved to ntfscomp.c.
16266 (decomp_getch): Likewise.
16267 (decomp_get16): Likewise.
16268 (decomp_block): Likewise.
16269 (read_block): Likewise.
16270 (read_data): Partially moved to ntfscomp.c.
16271 (fixup): Change unsigned to grub_uint16_t.
16272 (read_mft): Change unsigned long to grub_uint32_t.
16273 (read_attr): Likewise.
16274 (read_data): Likewise.
16275 (read_run_data): Likewise.
16276 (read_run_list): Likewise.
16277 (read_mft): Likewise.
16278
16279 * fs/ntfscomp.c: New file.
16280
16281 * include/grub/ntfs.h: New file.
16282
af680a87 162832007-12-16 Robert Millan <rmh@aybabtu.com>
16284
16285 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16286 IDE disk check, since Linux is known to support 20 IDE disks.
16287 Reported by Colin Watson.
16288
84be7599 162892007-12-15 Bean <bean123ch@gmail.com>
16290
16291 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16292 (lnxboot_img_SOURCES): New variable.
16293 (lnxboot_img_ASFLAGS): Likewise.
16294 (lnxboot_img_LDFLAGS): Likewise.
16295
16296 * boot/i386/pc/lnxboot.S: New file.
16297
6af9db01 162982007-11-24 Pavel Roskin <proski@gnu.org>
16299
16300 * configure.ac: Test if '--build-id=none' is supported by the
16301 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16302 objcopy to generate incorrect binary files (binutils
16303 2.17.50.0.18-1 as shipped by Fedora 8).
16304 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16305 linking, so that build ID doesn't break the test.
16306
7361cfe6 163072007-11-24 Pavel Roskin <proski@gnu.org>
16308
16309 * include/grub/i386/time.h: use "void" in the argument list
16310 of grub_cpu_idle().
16311 * include/grub/powerpc/time.h: Likewise.
16312 * include/grub/sparc64/time.h: Likewise.
16313
1593e10c 163142007-11-18 Christian Franke <franke@computer.org>
16315
16316 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16317 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16318 This fixes the problem that function keys did not work in grub-emu.
16319
3b8db1a8 163202007-11-18 Christian Franke <franke@computer.org>
16321
16322 * disk/host.c (grub_host_open): Remove attribute unused from
16323 name parameter. Add check for "host". This fixes the problem
16324 that grub-emu does not find partitions.
16325
2e29408d 163262007-11-18 Christian Franke <franke@computer.org>
16327
16328 * util/hostfs.c (is_dir): New function.
16329 (grub_hostfs_dir): Handle missing dirent.d_type case.
16330 (grub_hostfs_read): Add missing fseek().
16331 (grub_hostfs_label): Clear label pointer. This fixes a crash
16332 of grub-emu on "ls (host)".
16333
398cd047 163342007-11-18 Christian Franke <franke@computer.org>
16335
16336 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16337 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16338 to 64 bit boundary by default.
16339
c405c391 163402007-11-18 Bean <bean123ch@gmail.com>
16341
16342 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16343 (hexdump_mod_SOURCES): New variable.
16344 (hexdump_mod_CFLAGS): Likewise.
16345 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16346
c405c391 16347 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16348
16349 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16350
16351 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16352
16353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16354
16355 * include/grub/hexdump.h: New file.
16356
16357 * commands/hexdump.c: New file.
16358
5cced7fd 163592007-11-10 Robert Millan <rmh@aybabtu.com>
16360
16361 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16362 in grub_outb() calls.
16363 (beep_on): Likewise.
16364
8b714eb0 163652007-11-10 Christian Franke <franke@computer.org>
16366
16367 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16368 (grub_menu_run): Likewise.
16369
ce0f1839 163702007-11-10 Robert Millan <rmh@aybabtu.com>
16371
16372 * include/grub/i386/efi/machine.h: New file.
16373 * include/grub/i386/linuxbios/machine.h: Likewise.
16374 * include/grub/i386/pc/machine.h: Likewise.
16375 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16376 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16377
16378 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16379 (serial_hw_io_addr): New variable.
16380 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16381 instead of `(unsigned short *) 0x400'.
16382
270c237d 163832007-11-10 Bean <bean123ch@gmail.com>
16384
16385 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16386
a87783bf 163872007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16388
16389 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16390 (vga_mod_SOURCES): Added.
16391 (vga_mod_CFLAGS): Likewise.
16392 (vga_mod_LDFLAGS): Likewise.
16393
16394 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16395 grub_outb() calls.
16396 (set_map_mask): Likewise.
16397 (set_read_map): Likewise.
16398 (set_read_address): Likewise.
16399 (vga_font): Removed variable.
16400 (get_vga_glyph): Removed function.
16401 (invalidate_char): Likewise.
16402 (write_char): Changed to use grub_font_get_glyph() for font
16403 information.
16404 (grub_vga_putchar): Likewise.
16405 (grub_vga_getcharwidth): Likewise.
16406
6433b448 164072007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16408
16409 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16410 flags.
16411 (pxeboot_img_LDFLAGS): Likewise.
16412 (diskboot_img_LDFLAGS): Likewise.
16413 (kernel_img_LDFLAGS): Likewise.
16414
49178511 164152007-11-06 Robert Millan <rmh@aybabtu.com>
16416
16417 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16418 in grub_outb() calls.
16419 (serial_hw_init): Likewise.
16420
53b052de 164212007-11-05 Robert Millan <rmh@aybabtu.com>
16422
16423 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16424 spaces. Skip non-regular files.
16425
5ab33bba 164262007-11-05 Robert Millan <rmh@aybabtu.com>
16427
16428 * kern/disk.c (grub_disk_firmware_fini)
16429 (grub_disk_firmware_is_tainted): New variables.
16430
16431 * include/grub/disk.h (grub_disk_firmware_fini)
16432 (grub_disk_firmware_is_tainted): Likewise.
16433
16434 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16435 (grub_disk_biosdisk_fini): ... to here.
16436 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16437 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16438 is set. Register grub_disk_biosdisk_fini() in
16439 `grub_disk_firmware_fini'.
16440
16441 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16442 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16443 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16444 to finish existing firmware disk interface.
16445
16446 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16447 (ata_mod_SOURCES): New variable.
16448 (ata_mod_CFLAGS): Likewise.
16449 (ata_mod_LDFLAGS): Likewise.
16450
0149ab7c 164512007-11-05 Robert Millan <rmh@aybabtu.com>
16452
16453 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16454 (grub_ata_wait): Reimplement using grub_millisleep().
16455
16456 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16457 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16458
be7ac41e 164592007-11-03 Marco Gerards <marco@gnu.org>
16460
16461 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16462 (CRTC_ADDR_PORT): New macro.
16463 (CRTC_DATA_PORT): Likewise.
16464 (CRTC_CURSOR): Likewise.
16465 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16466 (CRTC_CURSOR_ADDR_LOW): Likewise.
16467 (update_cursor): New function.
16468 (grub_console_real_putchar): Call `update_cursor'.
16469 (grub_console_gotoxy): Likewise.
16470 (grub_console_cls): Set the default color when clearing the
16471 screen.
16472 (grub_console_setcursor): Implemented.
16473
bb06ab2e 164742007-11-03 Marco Gerards <marco@gnu.org>
16475
16476 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16477 become activate.
16478 (grub_ata_pio_write): Likewise.
16479
16480 (grub_atapi_identify): Wait after issuing an ATA command.
16481 (grub_atapi_packet): Likewise.
16482 (grub_ata_identify): Likewise.
16483 (grub_ata_readwrite): Likewise.
16484
cf8f780b 164852007-11-03 Marco Gerards <marco@gnu.org>
16486
16487 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16488 (grub_ata_pio_write): Likewise.
16489 (grub_ata_readwrite): Use `grub_error', instead of
16490 returning `grub_errno'.
16491
ed649e54 164922007-11-03 Marco Gerards <marco@gnu.org>
16493
16494 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16495 grub_ata_pio_write once for every single sector, instead of for
16496 multiple sectors.
16497
ca25d8f0 164982007-10-31 Robert Millan <rmh@aybabtu.com>
16499
16500 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16501
16502 * conf/i386-linuxbios.rmk: New file.
16503
16504 * kern/i386/pc/hardware.c: Likewise.
16505 * term/i386/pc/at_keyboard.c: Likewise.
16506 * term/i386/pc/vga_text.c: Likewise.
16507
16508 * include/grub/i386/linuxbios/boot.h: Likewise.
16509 * include/grub/i386/linuxbios/console.h: Likewise.
16510 * include/grub/i386/linuxbios/init.h: Likewise.
16511 * include/grub/i386/linuxbios/kernel.h: Likewise.
16512 * include/grub/i386/linuxbios/loader.h: Likewise.
16513 * include/grub/i386/linuxbios/memory.h: Likewise.
16514 * include/grub/i386/linuxbios/serial.h: Likewise.
16515 * include/grub/i386/linuxbios/time.h: Likewise.
16516
16517 * kern/i386/linuxbios/init.c: Likewise.
16518 * kern/i386/linuxbios/startup.S: Likewise.
16519 * kern/i386/linuxbios/table.c: Likewise.
16520
e911ecc1 165212007-10-31 Marco Gerards <marco@gnu.org>
16522
16523 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16524 (ata_mod_SOURCES): New variable.
16525 (ata_mod_CFLAGS): Likewise.
16526 (ata_mod_LDFLAGS): Likewise.
16527
16528 * disk/ata.c: New file.
16529
16530 * include/grub/disk.h (grub_disk_dev_id): Add
16531 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16532
7f66d0e0 165332007-10-31 Robert Millan <rmh@aybabtu.com>
16534
16535 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16536 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16537
16538 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16539 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16540
16541 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16542 `<grub/types.h>'.
16543
16544 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16545
5cd7dd46 165462007-10-27 Robert Millan <rmh@aybabtu.com>
16547
3236ca65 16548 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16549
2ebfc90f 165502007-10-22 Robert Millan <rmh@aybabtu.com>
16551
16552 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16553 `"../realmode.S"'.
16554 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16555
73fcb0f3 165562007-10-22 Robert Millan <rmh@aybabtu.com>
16557
16558 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16559 (pkgdata_MODULES): Add `biosdisk.mod'.
16560 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16561 variables.
16562
16563 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16564 (grub_biosdisk_init): Replace with ...
16565 (GRUB_MOD_INIT(biosdisk)): ... this.
16566 (grub_biosdisk_fini): Replace with ...
16567 (GRUB_MOD_FINI(biosdisk)): ... this.
16568
16569 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16570 (grub_machine_init): Remove call to grub_biosdisk_init().
16571 (grub_machine_fini): Remove call to grub_machine_fini().
16572
16573 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16574
3381d274 165752007-10-22 Robert Millan <rmh@aybabtu.com>
16576
16577 * include/grub/time.h: New file.
16578 * include/grub/i386/time.h: Likewise.
16579 * include/grub/powerpc/time.h: Likewise.
16580 * include/grub/sparc64/time.h: Likewise.
16581
16582 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16583 instances to ...
16584 (KERNEL_MACHINE_TIME_HEADER): ... this.
16585 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16586 instances to ...
16587 (KERNEL_MACHINE_TIME_HEADER): ... this.
16588 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16589 instances to ...
16590 (KERNEL_MACHINE_TIME_HEADER): ... this.
16591
16592 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16593 (grub_millisleep): New function.
16594 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16595 (grub_millisleep): New function.
16596 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16597 Remove `grub/machine/time.h' include.
16598 (grub_millisleep): New function.
16599 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16600 Remove `grub/machine/time.h' include.
16601 (grub_millisleep): New function.
16602
16603 * include/grub/misc.h (grub_div_roundup): New function.
16604
16605 * kern/misc.c: Include `<grub/time.h>'.
16606 (grub_millisleep_generic): New function.
16607
16608 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16609 Add `time.h'.
16610 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16611 Add `time.h'.
16612 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16613 `machine/time.h'. Add `time.h'.
16614 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16615
a39a0312 166162007-10-21 Robert Millan <rmh@aybabtu.com>
16617
16618 * include/grub/misc.h (grub_max): New function.
16619
2aad70e2 166202007-10-21 Robert Millan <rmh@aybabtu.com>
16621
16622 * util/misc.c (grub_util_info): Call fflush() before returning.
16623
54b71c4b 166242007-10-20 Robert Millan <rmh@aybabtu.com>
16625
16626 * genmk.rb (Image): Copy `extra_flags' from here ...
16627 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16628
16629 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16630 to `argc' and `args' arguments.
16631
a979f513 166322007-10-17 Robert Millan <rmh@aybabtu.com>
16633
16634 * kern/i386/loader.S: New file.
16635
16636 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16637 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16638 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16639 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16640 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16641 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16642 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16643 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16644 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16645 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16646 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16647 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16648 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16649 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16650
16651 * kern/i386/realmode.S: New file.
16652
16653 * kern/i386/pc/startup.S (protstack): Moved from here ...
16654 * kern/i386/realmode.S (protstack)... to here.
16655 * kern/i386/pc/startup.S (gdt): Moved from here ...
16656 * kern/i386/realmode.S (gdt)... to here.
16657 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16658 * kern/i386/realmode.S (prot_to_real)... to here.
16659
16660 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16661 `kern/i386/realmode.S'.
16662
825fc8fd 166632007-10-17 Robert Millan <rmh@aybabtu.com>
16664
16665 * include/grub/i386/loader.h: New file.
16666
16667 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16668 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16669 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16670 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16671 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16672 * include/grub/i386/loader.h (grub_linux_prot_size)
16673 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16674 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16675 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16676 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16677
16678 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16679
e179b2f4 166802007-10-15 Robert Millan <rmh@aybabtu.com>
16681
16682 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16683 filesystem when dev->disk is unset.
16684 Do probe for filesystem even when dev->disk->has_partitions is set.
16685 In case a filesystem is found, always report it.
16686 In case it isn't, if dev->disk->has_partitions is set, report that
16687 a partition table was found instead of reporting that no filesystem
16688 could be identified.
16689
5db82af6 166902007-10-12 Robert Millan <rmh@aybabtu.com>
16691
16692 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16693 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16694
68f6ac74 16695 * include/grub/types.h (grub_host_to_target16): New macro.
16696 (grub_host_to_target32): Likewise.
16697 (grub_host_to_target64): Likewise.
16698 (grub_target_to_host16): Likewise.
16699 (grub_target_to_host32): Likewise.
16700 (grub_target_to_host64): Likewise.
5db82af6 16701
16702 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16703 Renamed from to ...
16704 (GRUB_MOD_ALIGN): ...this. Update all users.
16705
68f6ac74 16706 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16707 grub_host_to_target32.
16708 Replace grub_be_to_cpu32 with grub_target_to_host32.
16709 (load_modules): Likewise.
16710 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16711 Replace grub_be_to_cpu32 with grub_target_to_host32.
16712 Replace grub_cpu_to_be16 with grub_host_to_target16.
16713 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16714
3cf497cc 167152007-10-12 Robert Millan <rmh@aybabtu.com>
16716
16717 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16718 * util/elf/grub-mkimage.c: ... here.
16719
16720 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16721 `util/powerpc/ieee1275/grub-mkimage.c'.
16722
c8cc3692 167232007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16724
c8cc3692 16725 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16726 and make it easier to figure out.
16727 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
16728 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
16729 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
16730 leave us with less than HEAP_MIN_SIZE total heap.
16731 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 16732
5c58b791 167332007-10-03 Robert Millan <rmh@aybabtu.com>
16734
16735 * include/grub/i386/io.h: New file.
16736 * commands/i386/pc/play.c (inb): Removed.
16737 (outb): Removed.
16738 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16739 with grub_outb().
afcd2ef8 16740 * term/i386/pc/serial.c (inb): Removed.
16741 (outb): Removed.
16742 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16743 with grub_outb().
16744 * term/i386/pc/vga.c (inb): Removed.
16745 (outb): Removed.
16746 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16747 with grub_outb().
5c58b791 16748
1a477ed6 167492007-10-02 Robert Millan <rmh@aybabtu.com>
16750
16751 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
16752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16753 Reported by Marcin Kurek.
16754
6b5d80fa 167552007-09-07 Robert Millan <rmh@aybabtu.com>
16756
16757 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
16758 SmartFirmware version updates (as released by Sven Luther), and avoid
16759 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
16760 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
16761 known broken.
16762
5618afbf 167632007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16764
16765 From Hitoshi Ozeki:
16766 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
16767 when merging two regions.
16768
6139dcd9 167692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16770
508e39ee 16771 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
16772 * normal/completion.c (grub_normal_do_completion): Likewise.
16773 Reported by Hitoshi Ozeki.
16774
167752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16776
6139dcd9 16777 Do not use devices at boot in chainloading.
f19dbdb7 16778
6139dcd9 16779 * loader/i386/pc/chainloader.c (boot_drive): New variable.
16780 (boot_part_addr): Likewise.
16781 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
16782 with BOOT_DRIVE and BOOT_PART_ADDR.
16783 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
16784 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
16785
38da6516 167862007-08-29 Robert Millan <rmh@aybabtu.com>
16787
16788 Patch from Simon Peter <dn.tlp@gmx.net>:
16789 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
16790 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
16791 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
16792 util/i386/pc/grub-setup.c_DEPENDENCIES.
16793 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
16794 util/grub-probe.c_DEPENDENCIES.
16795 * conf/powerpc-ieee1275.rmk: Likewise.
16796
29d0928c 167972007-08-28 Robert Millan <rmh@aybabtu.com>
16798
16799 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
16800 to tell grub-mkdevicemap how to name devices.
16801 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
16802 feature).
16803
16804 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
16805 util/i386/get_disk_name.c.
16806 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
16807 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
16808 util/ieee1275/get_disk_name.c.
16809
16810 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
16811
16812 * DISTLIST: Add util/i386/get_disk_name.c and
16813 util/ieee1275/get_disk_name.c.
16814
16815 * util/grub-mkdevicemap.c: Replace device naming logic with
16816 grub_util_get_disk_name() calls.
16817
5a0d3cca 168182007-08-20 Robert Millan <rmh@aybabtu.com>
16819
16820 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
16821 (so that it works for both plural and singular quantities).
16822
8b72db2f 168232007-08-05 Robert Millan <rmh@aybabtu.com>
16824
16825 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
16826 so that [xz] isn't taken into account when determining order.
16827
352466bf 168282007-08-02 Marco Gerards <marco@gnu.org>
16829
16830 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
16831 `include/multiboot2.h', `include/grub/elfload.h',
16832 `include/multiboot.h', `include/grub/multiboot.h',
16833 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
16834 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
16835 `kern/elf.c', `loader/multiboot_loader.c',
16836 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
16837 `loader/i386/pc/multiboot2.c',
16838 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
16839 `util/i386/pc/grub-mkrescue.in'. Remove
16840 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
16841 `include/grub/i386/pc/util/biosdisk.h' and
16842 `include/grub/powerpc/ieee1275/multiboot.h'.
16843
8f096014 168442007-08-02 Bean <bean123ch@gmail.com>
16845
16846 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
16847 (ntfs_mod_SOURCES): New variable.
16848 (ntfs_mod_CFLAGS): Likewise.
16849 (ntfs_mod_LDFLAGS): Likewise.
16850
16851 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
16852 (grub_probe_SOURCES): Likewise.
16853 (grub_emu_SOURCES): Likewise.
16854
16855 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16856 (grub_emu_SOURCES): Likewise.
16857
16858 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16859 (grub_emu_SOURCES): Likewise.
f19dbdb7 16860
8f096014 16861 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
16862
16863 * fs/ntfs.c: New file.
16864
9959f7db 168652007-08-02 Bean <bean123ch@gmail.com>
16866
16867 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
16868
16869 * file.h (grub_file): Likewise.
16870
16871 * fshelp.h (grub_fshelp_read_file): Likewise.
16872
16873 * util/i386/pc/grub-setup.c (setup): Likewise.
16874 (save_first_sector): Likewise.
16875 (save_blocklists): Likewise.
f19dbdb7 16876
9959f7db 16877 * fs/affs.c (grub_affs_read_file): Likewise.
16878
16879 * fs/ext2.c (grub_ext2_read_file): Likewise.
16880
16881 * fs/fat.c (grub_fat_read_data): Likewise.
16882
16883 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
16884
16885 * fs/hfs.c (grub_hfs_read_file): Likewise.
16886
16887 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16888
16889 * fs/jfs.c (grub_jfs_read_file): Likewise.
16890
16891 * fs/minix.c (grub_minix_read_file): Likewise.
16892
16893 * fs/sfs.c (grub_sfs_read_file): Likewise.
16894
16895 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 16896
9959f7db 16897 * fs/xfs.c (grub_xfs_read_file): Likewise.
16898
16899 * command/blocklist.c (read_blocklist): Likewise.
16900 (print_blocklist): Likewise.
16901
0a203f83 169022007-08-02 Marco Gerards <marco@gnu.org>
16903
16904 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
16905 `util/hostfs.c'.
16906
16907 * disk/host.c: New file.
16908
16909 * util/hostfs.c: Likewise.
16910
16911 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
16912 return `GRUB_ERR_BAD_FS'.
16913 * fs/sfs.c (grub_sfs_mount): Likewise.
16914 * fs/xfs.c (grub_xfs_mount): Likewise.
16915
16916 * include/grub/disk.h (enum grub_disk_dev_id): Add
16917 `GRUB_DISK_DEVICE_HOST_ID'.
16918
16919 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
16920
e5dfe777 169212007-07-24 Jerone Young <jerone@gmail.com>
16922
f19dbdb7 16923 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 16924 modules for compilation.
16925 * conf/powerpc-ieee1275.rmk: Likewise.
16926
16927 * include/multiboot.h: Move multiboot definitions to one file. Rename
16928 many definitions to not get grub specific.
16929 * include/multiboot2.h: Create header with multiboot 2 definitions.
16930 * include/grub/multiboot.h: Header for grub specific function
16931 prototypes and definitions.
16932 * include/grub/multiboot2.h: Likewise.
16933 * include/grub/multiboot_loader.h: Likewise.
16934 * include/grub/i386/pc/multiboot.h: Removed.
16935 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
16936
16937 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
16938 and 2 to allow for one multiboot and module commands.
16939 * loader/multiboot2.c: Add multiboot2 functionality.
16940 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
16941 and definition names.
16942 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
16943 2 functions.
16944 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
16945 ieee1275 specific multiboot2 code.
16946
16947 * kern/i386/pc/startup.S: Change headers and definition names for
16948 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
16949
daf0f0ba 169502007-07-22 Robert Millan <rmh@aybabtu.com>
16951
16952 * geninitheader.sh: Process file specified in first parameter rather
16953 than hardcoding grub_modules_init.lst.
fe6b695a 16954 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 16955 than hardcoding grub_modules_init.h.
16956
16957 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
16958 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
16959 grub_probe_init.[ch] and grub_setup_init.[ch].
16960
16961 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
16962 grub_modules_init.h with grub_emu_init.h.
16963 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
16964 grub_probe_init.[ch] files.
16965 * conf/i386-efi.rmk: Likewise.
16966 * conf/i386-pc.rmk: Likewise.
16967 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
16968 grub_setup_init.[ch] files.
16969
16970 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
16971 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
16972 to initialize modules rather than a list of hardcoded functions.
16973 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
16974 grub_init_all() to initialize modules rather than a list of hardcoded
16975 functions.
16976
54cdc1cc 169772007-07-22 Robert Millan <rmh@aybabtu.com>
16978
16979 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16980 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
16981
ad0686cc 169822007-07-22 Robert Millan <rmh@aybabtu.com>
16983
16984 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16985 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
16986 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
16987 flag when running on SmartFirmware.
16988 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
16989 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
16990 was set.
16991
16992 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16993 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
16994 rather than decreasing it.
16995
16996 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
16997 there's not enough space to do it, fail in the same way as when it
16998 can't be done because there are no partitions.
16999
17000 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17001 when nvsetenv failed.
17002
969c02ec 170032007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17004
17005 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17006 because this rule is automatically generated.
17007 (grub-mkrescue): Removed for the same reason as above.
17008
5a79f472 170092007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17010
17011 Migrate to GNU General Public License Version 3.
f19dbdb7 17012
5a79f472 17013 * COPYING: Replaced with the plain text version of GPLv3.
17014
17015 * config.guess: Updated from gnulib.
17016 * config.sub: Likewise.
17017
17018 * geninit.sh: Output a GPLv3 copyright notice.
17019 * geninitheader.sh: Likewise.
17020 * genmodsrc.sh: Likewise.
17021 * gensymlist.sh.in: Likewise.
17022
17023 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17024 * boot/i386/pc/diskboot.S: Likewise.
17025 * boot/i386/pc/pxeboot.S: Likewise.
17026 * commands/blocklist.c: Likewise.
17027 * commands/boot.c: Likewise.
17028 * commands/cat.c: Likewise.
17029 * commands/cmp.c: Likewise.
17030 * commands/configfile.c: Likewise.
17031 * commands/echo.c: Likewise.
17032 * commands/help.c: Likewise.
17033 * commands/ls.c: Likewise.
17034 * commands/search.c: Likewise.
17035 * commands/terminal.c: Likewise.
17036 * commands/test.c: Likewise.
17037 * commands/videotest.c: Likewise.
17038 * commands/i386/cpuid.c: Likewise.
17039 * commands/i386/pc/halt.c: Likewise.
17040 * commands/i386/pc/play.c: Likewise.
17041 * commands/i386/pc/reboot.c: Likewise.
17042 * commands/i386/pc/vbeinfo.c: Likewise.
17043 * commands/i386/pc/vbetest.c: Likewise.
17044 * commands/ieee1275/halt.c: Likewise.
17045 * commands/ieee1275/reboot.c: Likewise.
17046 * commands/ieee1275/suspend.c: Likewise.
17047 * disk/loopback.c: Likewise.
17048 * disk/lvm.c: Likewise.
17049 * disk/raid.c: Likewise.
17050 * disk/efi/efidisk.c: Likewise.
17051 * disk/i386/pc/biosdisk.c: Likewise.
17052 * disk/ieee1275/ofdisk.c: Likewise.
17053 * font/manager.c: Likewise.
17054 * fs/affs.c: Likewise.
17055 * fs/ext2.c: Likewise.
17056 * fs/fat.c: Likewise.
17057 * fs/fshelp.c: Likewise.
17058 * fs/hfs.c: Likewise.
17059 * fs/hfsplus.c: Likewise.
17060 * fs/iso9660.c: Likewise.
17061 * fs/jfs.c: Likewise.
17062 * fs/minix.c: Likewise.
17063 * fs/sfs.c: Likewise.
17064 * fs/ufs.c: Likewise.
17065 * fs/xfs.c: Likewise.
17066 * hello/hello.c: Likewise.
17067 * include/grub/acorn_filecore.h: Likewise.
17068 * include/grub/arg.h: Likewise.
17069 * include/grub/bitmap.h: Likewise.
17070 * include/grub/boot.h: Likewise.
17071 * include/grub/cache.h: Likewise.
17072 * include/grub/device.h: Likewise.
17073 * include/grub/disk.h: Likewise.
17074 * include/grub/dl.h: Likewise.
17075 * include/grub/elfload.h: Likewise.
17076 * include/grub/env.h: Likewise.
17077 * include/grub/err.h: Likewise.
17078 * include/grub/file.h: Likewise.
17079 * include/grub/font.h: Likewise.
17080 * include/grub/fs.h: Likewise.
17081 * include/grub/fshelp.h: Likewise.
17082 * include/grub/gzio.h: Likewise.
17083 * include/grub/hfs.h: Likewise.
17084 * include/grub/kernel.h: Likewise.
17085 * include/grub/loader.h: Likewise.
17086 * include/grub/lvm.h: Likewise.
17087 * include/grub/misc.h: Likewise.
17088 * include/grub/mm.h: Likewise.
17089 * include/grub/net.h: Likewise.
17090 * include/grub/normal.h: Likewise.
17091 * include/grub/parser.h: Likewise.
17092 * include/grub/partition.h: Likewise.
17093 * include/grub/pc_partition.h: Likewise.
17094 * include/grub/raid.h: Likewise.
17095 * include/grub/rescue.h: Likewise.
17096 * include/grub/script.h: Likewise.
17097 * include/grub/setjmp.h: Likewise.
17098 * include/grub/symbol.h: Likewise.
17099 * include/grub/term.h: Likewise.
17100 * include/grub/terminfo.h: Likewise.
17101 * include/grub/tparm.h: Likewise.
17102 * include/grub/types.h: Likewise.
17103 * include/grub/video.h: Likewise.
17104 * include/grub/efi/api.h: Likewise.
17105 * include/grub/efi/chainloader.h: Likewise.
17106 * include/grub/efi/console.h: Likewise.
17107 * include/grub/efi/console_control.h: Likewise.
17108 * include/grub/efi/disk.h: Likewise.
17109 * include/grub/efi/efi.h: Likewise.
17110 * include/grub/efi/pe32.h: Likewise.
17111 * include/grub/efi/time.h: Likewise.
17112 * include/grub/i386/linux.h: Likewise.
17113 * include/grub/i386/setjmp.h: Likewise.
17114 * include/grub/i386/types.h: Likewise.
17115 * include/grub/i386/efi/kernel.h: Likewise.
17116 * include/grub/i386/efi/loader.h: Likewise.
17117 * include/grub/i386/efi/time.h: Likewise.
17118 * include/grub/i386/pc/biosdisk.h: Likewise.
17119 * include/grub/i386/pc/boot.h: Likewise.
17120 * include/grub/i386/pc/chainloader.h: Likewise.
17121 * include/grub/i386/pc/console.h: Likewise.
17122 * include/grub/i386/pc/init.h: Likewise.
17123 * include/grub/i386/pc/kernel.h: Likewise.
17124 * include/grub/i386/pc/loader.h: Likewise.
17125 * include/grub/i386/pc/memory.h: Likewise.
17126 * include/grub/i386/pc/multiboot.h: Likewise.
17127 * include/grub/i386/pc/serial.h: Likewise.
17128 * include/grub/i386/pc/time.h: Likewise.
17129 * include/grub/i386/pc/vbe.h: Likewise.
17130 * include/grub/i386/pc/vbeblit.h: Likewise.
17131 * include/grub/i386/pc/vbefill.h: Likewise.
17132 * include/grub/i386/pc/vbeutil.h: Likewise.
17133 * include/grub/i386/pc/vga.h: Likewise.
17134 * include/grub/ieee1275/ieee1275.h: Likewise.
17135 * include/grub/ieee1275/ofdisk.h: Likewise.
17136 * include/grub/powerpc/libgcc.h: Likewise.
17137 * include/grub/powerpc/setjmp.h: Likewise.
17138 * include/grub/powerpc/types.h: Likewise.
17139 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17140 * include/grub/powerpc/ieee1275/console.h: Likewise.
17141 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17142 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17143 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17144 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17145 * include/grub/powerpc/ieee1275/time.h: Likewise.
17146 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17147 * include/grub/sparc64/libgcc.h: Likewise.
17148 * include/grub/sparc64/setjmp.h: Likewise.
17149 * include/grub/sparc64/types.h: Likewise.
17150 * include/grub/sparc64/ieee1275/console.h: Likewise.
17151 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17152 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17153 * include/grub/sparc64/ieee1275/time.h: Likewise.
17154 * include/grub/util/biosdisk.h: Likewise.
17155 * include/grub/util/getroot.h: Likewise.
17156 * include/grub/util/lvm.h: Likewise.
17157 * include/grub/util/misc.h: Likewise.
17158 * include/grub/util/raid.h: Likewise.
17159 * include/grub/util/resolve.h: Likewise.
17160 * io/gzio.c: Likewise.
17161 * kern/device.c: Likewise.
17162 * kern/disk.c: Likewise.
17163 * kern/dl.c: Likewise.
17164 * kern/elf.c: Likewise.
17165 * kern/env.c: Likewise.
17166 * kern/err.c: Likewise.
17167 * kern/file.c: Likewise.
17168 * kern/fs.c: Likewise.
17169 * kern/loader.c: Likewise.
17170 * kern/main.c: Likewise.
17171 * kern/misc.c: Likewise.
17172 * kern/mm.c: Likewise.
17173 * kern/parser.c: Likewise.
17174 * kern/partition.c: Likewise.
17175 * kern/rescue.c: Likewise.
17176 * kern/term.c: Likewise.
17177 * kern/efi/efi.c: Likewise.
17178 * kern/efi/init.c: Likewise.
17179 * kern/efi/mm.c: Likewise.
17180 * kern/i386/dl.c: Likewise.
17181 * kern/i386/efi/init.c: Likewise.
17182 * kern/i386/efi/startup.S: Likewise.
17183 * kern/i386/pc/init.c: Likewise.
17184 * kern/i386/pc/lzo1x.S: Likewise.
17185 * kern/i386/pc/startup.S: Likewise.
17186 * kern/ieee1275/ieee1275.c: Likewise.
17187 * kern/powerpc/cache.S: Likewise.
17188 * kern/powerpc/dl.c: Likewise.
17189 * kern/powerpc/ieee1275/cmain.c: Likewise.
17190 * kern/powerpc/ieee1275/crt0.S: Likewise.
17191 * kern/powerpc/ieee1275/init.c: Likewise.
17192 * kern/powerpc/ieee1275/openfw.c: Likewise.
17193 * kern/sparc64/cache.S: Likewise.
17194 * kern/sparc64/dl.c: Likewise.
17195 * kern/sparc64/ieee1275/init.c: Likewise.
17196 * kern/sparc64/ieee1275/openfw.c: Likewise.
17197 * loader/efi/chainloader.c: Likewise.
17198 * loader/efi/chainloader_normal.c: Likewise.
17199 * loader/i386/efi/linux.c: Likewise.
17200 * loader/i386/efi/linux_normal.c: Likewise.
17201 * loader/i386/pc/chainloader.c: Likewise.
17202 * loader/i386/pc/chainloader_normal.c: Likewise.
17203 * loader/i386/pc/linux.c: Likewise.
17204 * loader/i386/pc/linux_normal.c: Likewise.
17205 * loader/i386/pc/multiboot.c: Likewise.
17206 * loader/i386/pc/multiboot_normal.c: Likewise.
17207 * loader/powerpc/ieee1275/linux.c: Likewise.
17208 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17209 * normal/arg.c: Likewise.
17210 * normal/cmdline.c: Likewise.
17211 * normal/command.c: Likewise.
17212 * normal/completion.c: Likewise.
17213 * normal/execute.c: Likewise.
17214 * normal/function.c: Likewise.
17215 * normal/lexer.c: Likewise.
17216 * normal/main.c: Likewise.
17217 * normal/menu.c: Likewise.
17218 * normal/menu_entry.c: Likewise.
17219 * normal/misc.c: Likewise.
17220 * normal/parser.y: Likewise.
17221 * normal/script.c: Likewise.
17222 * normal/i386/setjmp.S: Likewise.
17223 * normal/powerpc/setjmp.S: Likewise.
17224 * normal/sparc64/setjmp.S: Likewise.
17225 * partmap/acorn.c: Likewise.
17226 * partmap/amiga.c: Likewise.
17227 * partmap/apple.c: Likewise.
17228 * partmap/gpt.c: Likewise.
17229 * partmap/pc.c: Likewise.
17230 * partmap/sun.c: Likewise.
17231 * term/gfxterm.c: Likewise.
17232 * term/terminfo.c: Likewise.
17233 * term/efi/console.c: Likewise.
17234 * term/i386/pc/console.c: Likewise.
17235 * term/i386/pc/serial.c: Likewise.
17236 * term/i386/pc/vesafb.c: Likewise.
17237 * term/i386/pc/vga.c: Likewise.
17238 * term/ieee1275/ofconsole.c: Likewise.
17239 * util/biosdisk.c: Likewise.
17240 * util/console.c: Likewise.
17241 * util/genmoddep.c: Likewise.
17242 * util/getroot.c: Likewise.
17243 * util/grub-emu.c: Likewise.
17244 * util/grub-mkdevicemap.c: Likewise.
17245 * util/grub-probe.c: Likewise.
17246 * util/lvm.c: Likewise.
17247 * util/misc.c: Likewise.
17248 * util/raid.c: Likewise.
17249 * util/resolve.c: Likewise.
17250 * util/update-grub.in: Likewise.
17251 * util/update-grub_lib.in: Likewise.
17252 * util/grub.d/00_header.in: Likewise.
17253 * util/grub.d/10_hurd.in: Likewise.
17254 * util/grub.d/10_linux.in: Likewise.
17255 * util/i386/efi/grub-install.in: Likewise.
17256 * util/i386/efi/grub-mkimage.c: Likewise.
17257 * util/i386/pc/grub-install.in: Likewise.
17258 * util/i386/pc/grub-mkimage.c: Likewise.
17259 * util/i386/pc/grub-mkrescue.in: Likewise.
17260 * util/i386/pc/grub-setup.c: Likewise.
17261 * util/i386/pc/misc.c: Likewise.
17262 * util/powerpc/ieee1275/grub-install.in: Likewise.
17263 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17264 * util/powerpc/ieee1275/misc.c: Likewise.
17265 * video/bitmap.c: Likewise.
17266 * video/video.c: Likewise.
17267 * video/i386/pc/vbe.c: Likewise.
17268 * video/i386/pc/vbeblit.c: Likewise.
17269 * video/i386/pc/vbefill.c: Likewise.
17270 * video/i386/pc/vbeutil.c: Likewise.
17271 * video/readers/tga.c: Likewise.
17272
3572d015 172732007-07-02 Robert Millan <rmh@aybabtu.com>
17274
17275 * conf/i386-efi.rmk: Replace obsolete reference to
17276 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17277 with util/getroot.c.
17278 * conf/powerpc-ieee1275.rmk: Likewise.
17279 * conf/sparc64-ieee1275.rmk: Likewise.
17280
17281 * util/grub-emu.c (main): Fix unchecked pointer handling.
17282
2c2a681b 172832007-07-02 Robert Millan <rmh@aybabtu.com>
17284
17285 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17286 invocation to fail, in order to support partition-less media.
17287
17288 * util/i386/pc/grub-install.in: Likewise.
17289
17290 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17291 which fs or partmap modules are needed (akin to its sister scripts).
17292
17293 Also use grub-probe to get rid of unportable /proc/mounts check.
17294
17295 Print the same informational message that the other scripts do, before
fe6b695a 17296 exiting.
2c2a681b 17297
6193defe 172982007-06-23 Robert Millan <rmh@aybabtu.com>
17299
fe6b695a 17300 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17301 a font file can be found and, if so, echo the GRUB path to it.
17302
17303 * util/update-grub.in: Handle multiple terminals depending on user
17304 input, platform availability and font file presence. Propagate
17305 variables of our findings to /etc/grub.d/ children.
17306
17307 * util/grub.d/00_header.in: Handle multiple terminals, based on
17308 environment setup by update-grub.
17309
eface1dc 173102007-06-23 Robert Millan <rmh@aybabtu.com>
17311
ba50d28f 17312 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17313
bf697e28 173142007-06-21 Robert Millan <rmh@aybabtu.com>
17315
17316 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17317 indicate end of data section in kernel image.
17318 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17319 GRUB_KERNEL_MACHINE_DATA_END.
17320
17321 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17322 space for it.
17323 * kern/i386/efi/startup.S: Likewise.
17324
17325 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17326 during image generation. Implement --prefix option to override this
17327 patch.
17328 * util/i386/efi/grub-mkimage.c: Likewise.
17329
17330 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17331 code to make path relative to its root into a separate function.
17332
17333 * util/i386/pc/grub-install.in: Use newly provided
17334 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17335 pass the result to grub-install --prefix.
17336
baa574b4 173372007-06-13 Robert Millan <rmh@aybabtu.com>
17338
17339 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17340 DEFAULT_DEVICE_MAP.
17341 * util/grub-emu.c: Use above definitions from misc.h instead of
17342 defining them.
17343 * util/grub-mkdevicemap.c: Likewise.
17344 * util/i386/pc/grub-setup.c: Likewise.
17345 * util/grub-probe.c: Likewise.
17346 (probe): Abort with grub_util_error() when either
17347 grub_guess_root_device or grub_util_get_grub_dev fails.
17348
0215dcbf 173492007-06-12 Robert Millan <rmh@aybabtu.com>
17350
17351 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17352 "pager" assignment.
17353 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17354 "pcdata".
17355 * util/grub-probe.c (probe): Likewise for "drive_name".
17356
8af2ab7b 173572007-06-11 Robert Millan <rmh@aybabtu.com>
17358
17359 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17360 not just the cdrom one.
17361
59d31694 173622007-06-11 Robert Millan <rmh@aybabtu.com>
17363
17364 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17365 Add --pkglibdir=DIR option to override pkglibdir.
17366 Mention --image-type=TYPE in help output.
17367 Fix --grub-mkimage (it was a no-op).
fe6b695a 17368 Abort gracefully when no parameter is given.
59d31694 17369
7ee367e4 173702007-06-11 Robert Millan <rmh@aybabtu.com>
17371
17372 * util/i386/pc/grub-mkrescue.in: New file.
17373 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17374 * Makefile.in: Handle bin_SCRIPTS.
17375
29b0ed46 173762007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17377
17378 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17379 list of video modes.
17380
c0f90770 173812007-06-06 Robert Millan <rmh@aybabtu.com>
17382
17383 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17384 file doesn't exist, or if it is in a filesystem grub can't read.
17385
17386 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17387 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17388 header comment to fit in 80 columns when the variables are resolved.
17389
17390 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17391 could be identified by update-grub. Remove redundant check for
fe6b695a 17392 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17393 handles that).
17394
fb36dc26 173952007-06-04 Robert Millan <rmh@aybabtu.com>
17396
17397 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17398
17399 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17400
17401 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17402
0c68c93e 174032007-06-04 Robert Millan <rmh@aybabtu.com>
17404
17405 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17406
17407 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17408 grub_apple_partition_map_fini.
17409
17410 * util/biosdisk.c
17411 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17412 to access >2 TiB disks).
17413
17414 Print disk->total_sectors with %llu instead of %lu, since this
17415 variable is always 64-bit (prevents wrong disk size from being displayed
17416 on either >2 TiB disk or big-endian CPU).
17417
17418 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17419 into a generic case that supports all (sane) partition maps.
17420
17421 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17422 breaks big-endian.
17423
17424 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17425 and grub_apple_partition_map_fini() after that.
17426
0f23eb74 174272007-06-01 Robert Millan <rmh@aybabtu.com>
17428
17429 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17430
17431 * util/grub.d/00_header.in: Only enable gfxterm when
17432 convert_system_path_to_grub_path() succeeds.
17433
42c71976 174342007-05-20 Robert Millan <rmh@aybabtu.com>
17435
17436 * util/update-grub_lib.in: New file.
17437 * DISTLIST: Add update-grub_lib.in.
17438 * conf/common.rmk: Generate update-grub_lib and install it in
17439 $(lib_DATA).
17440 * Makefile.in: Add install routine for $(lib_DATA).
17441
17442 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17443 function provided by update-grub_lib to support arbitrary paths of
17444 unifont.pff.
17445 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17446 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17447
5beb2291 174482007-05-19 Robert Millan <rmh@aybabtu.com>
17449
17450 * commands/i386/cpuid.c: New module.
17451 * DISTLIST: Add it.
17452 * conf/i386-efi.rmk: Enable cpuid.mod.
17453 * conf/i386-pc.rmk: Likewise.
17454
7262eca1 174552007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17456
17457 * kern/disk.c (grub_disk_read): Check return value of
17458 grub_realloc().
17459
260ba823 174602007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17461
17462 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17463 arrays.
17464 * disk/raid.c (grub_raid_open): Likewise.
17465
1ecb6cf2 174662007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17467
17468 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17469 stack instead of on the heap.
17470
17471 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17472 before doing a read on it.
17473
17474 * configure.ac: Only use -fno-stack-protector for the target
17475 environment.
f19dbdb7 17476
21c8cbb1 174772007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17478
17479 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17480 __attribute_ ((unused)) to mode_type argument.
17481
17482 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17483
21c8cbb1 17484 * kern/misc.c (memcmp): Fix prototype.
17485
17486 * include/grub/partition.h [GRUB_UTIL]
17487 (grub_gpt_partition_map_init): Add prototype.
17488 (grub_gpt_partition_map_fini): Likewise.
17489
17490 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17491 at the right place.
17492
17493 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17494 (grub_fat_read_data): Likewise.
17495 (grub_fat_find_dir): Likewise.
17496
17497 * font/manager.c (find_glyph): Make table a const.
17498 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17499
849d55d3 175002007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17501
17502 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17503 code, first search for device in /dev/mapper, then in /dev.
17504 (grub_util_get_grub_dev): New function.
17505 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17506 prototype.
17507 * util/grub-probe.c (probe): Remove check for RAID, call
17508 grub_util_get_grub_dev() instead of
17509 grub_util_biosdisk_get_grub_dev().
17510 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17511 grub_util_biosdisk_get_grub_dev().
17512 * util/i386/pc/grub-setup.c (main): Likewise.
17513
8fff7c2f 175142007-05-16 Robert Millan <rmh@aybabtu.com>
17515
17516 * DISTLIST: Update for the latest changes.
17517 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17518 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17519 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17520 grub/util/biosdisk.h.
17521 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17522 grub/util/biosdisk.h.
17523
48e12b52 175242007-05-16 Robert Millan <rmh@aybabtu.com>
17525
17526 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17527
46b9d128 175282007-05-16 Robert Millan <rmh@aybabtu.com>
17529
17530 * util/i386/efi/grub-install.in: New.
17531 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17532 newly added grub-install.
17533 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17534 include.
17535 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17536 grub/util/biosdisk.h.
17537 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17538 grub/util/biosdisk.h.
17539
2d1a40a9 175402007-05-16 Robert Millan <rmh@aybabtu.com>
17541
17542 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17543 * include/grub/util/biosdisk.h: ... here.
17544 * util/i386/pc/biosdisk.c: Moved to ...
17545 * util/biosdisk.c: ... here.
17546 * util/i386/pc/getroot.c: Moved to ...
17547 * util/getroot.c: ... here.
17548 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17549 * util/grub-mkdevicemap.c: ... here.
17550 * util/i386/pc/grub-probe.c: Moved to ...
17551 * util/grub-probe.c: ... here.
17552
9e26e3bc 175532007-05-15 Robert Millan <rmh@aybabtu.com>
17554
17555 * util/update-grub.in: Remove duplicated line in grub.cfg header
17556 message.
17557
57f96397 175582007-05-13 Robert Millan <rmh@aybabtu.com>
17559
17560 * util/update-grub.in: Fix a few assumptions about the devices holding
17561 /, /boot and /boot/grub being the same.
17562 * util/grub.d/00_header.in: Likewise.
17563 * util/grub.d/10_hurd.in: Likewise.
17564 * util/grub.d/10_linux.in: Likewise.
17565
17566 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17567 patterns. Use that to define the `.old' suffix as older than `'.
17568
17569 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17570
17571 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17572 the grub.cfg header message.
17573
2e610d62 175742007-05-11 Robert Millan <rmh@aybabtu.com>
17575
17576 * util/update-grub.in: Create device.map if it doesn't already exist,
17577 before attempting to run grub-probe.
17578 Check for grub-probe and grub-mkdevicemap with the same code
17579 grub-install is using.
17580 Remove test mode.
17581
3f6a10ef 175822007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17583
17584 * Makefile.in: Add the datarootdir autoconf variable.
17585
02e7b75e 175862007-05-09 Robert Millan <rmh@aybabtu.com>
17587
17588 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17589 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17590
75f396cc 175912007-05-07 Robert Millan <rmh@aybabtu.com>
17592
17593 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17594 determine partition map module.
17595 * util/i386/pc/grub-install.in: Use this feature to decide which
17596 partition module to load, instead of hardcoding pc and gpt.
17597
da65cb36 175982007-05-07 Robert Millan <rmh@aybabtu.com>
17599
17600 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17601 source directory differs from build directory.
17602
b57d6a91 176032007-05-05 Robert Millan <rmh@aybabtu.com>
17604
17605 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17606 initialisation.
17607
509d00f1 176082007-05-05 Robert Millan <rmh@aybabtu.com>
17609
17610 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17611
c48f23ef 176122007-05-05 Robert Millan <rmh@aybabtu.com>
17613
17614 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17615 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17616
20b97658 176172007-05-05 Robert Millan <rmh@aybabtu.com>
17618
17619 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17620 (grub_probe_SOURCES): Likewise.
17621 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17622 GPT and initialize dos_part and bsd_part accordingly.
17623 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17624 install_bsd_part.
17625 (main): Activate gpt module for use during partition identification,
17626 and deactivate it afterwards.
17627 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17628 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17629 partition identification, and deactivate it afterwards.
17630
99123174 176312007-05-05 Robert Millan <rmh@aybabtu.com>
17632
17633 * term/i386/pc/console.c (grub_console_fini): Call
17634 grub_term_set_current() before grub_term_unregister().
17635
ebd97f6e 176362007-05-04 Robert Millan <rmh@aybabtu.com>
17637
17638 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17639 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17640 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17641 and update-grub_DATA.
17642 * conf/common.rmk: Build and install update-grub components.
17643 * conf/common.mk: Regenerate.
17644 * util/update-grub.in: New. Core of update-grub.
17645 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17646 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17647 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17648 * util/grub.d/README: New. Document grub.d directory layout.
17649
b06a264d 176502007-05-01 Robert Millan <rmh@aybabtu.com>
17651
17652 * util/grub-emu.c: Move initialization functions
17653 grub_util_biosdisk_init() and grub_init_all() before
17654 grub_util_biosdisk_get_grub_dev(), which relies on them.
17655
41f0050e 176562007-04-19 Robert Millan <rmh@aybabtu.com>
17657
17658 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17659 it is used later.
17660
04582bb3 176612007-04-18 Jerone Young <jerone@gmail.com>
17662
f19dbdb7 17663 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17664 stanza.
17665
08db4632 176662007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17667
08db4632 17668 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17669 continue on and look for device node with real device name.
17670
801b76be 176712007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17672
fe6b695a 17673 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17674 ability.
17675 * Makefile.in: Add autoconf package transformation code.
17676 * util/i386/pc/grub-install.in: Likewise.
17677 * util/powerpc/ieee1275/grub-install.in: Likewise.
17678
6795c4e1 176792007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17680
17681 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17682 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17683 (EXT2_REVISION): Likewise.
17684 (EXT2_INODE_SIZE): Likewise.
17685 (struct grub_ext2_block_group): Added a missing member
17686 "used_dirs".
17687 (grub_ext2_read_inode): Divide by the inode size in a superblock
17688 instead of 128 to obtain INODES_PER_BLOCK.
17689 Use the macro EXT2_INODE_SIZE instead of directly using
17690 SBLOCK->INODE_SIZE.
17691
d70af616 176922007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17693
17694 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17695 superblock instead of the structure size to compute an
17696 offset. This fixes the problem that GRUB could not read a
17697 filesystem when inode size is different from 128-byte.
17698
3b801603 176992007-03-05 Marco Gerards <marco@gnu.org>
17700
17701 * normal/main.c (read_config_file): When "menu" is not set, create
17702 an initial context.
17703
4785bfe4 177042007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17705
17706 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17707 (HEAP_LIMIT): New macro.
17708 (grub_claim_heap): Claim memory up to `heaplimit'.
17709
a0cbb023 177102007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17711
17712 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17713 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17714 (_start): Likewise.
17715 (grub_arch_modules_addr): Return address after `_end'.
17716 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17717 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17718 (add_segments): Calculate `_end' from phdr size and location.
17719 (ALIGN_UP): Moved to ...
17720 * include/grub/misc.h: here.
17721 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17722 New macro.
17723 (GRUB_IEEE1275_MODULE_BASE): Removed.
17724
fd7d8eba 177252007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17726
17727 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
17728 loop boundary.
17729
9b09e6fc 177302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17731
17732 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
17733 All users updated.
17734 (grub_elf64_load_hook_t): Likewise.
17735 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
17736 debug output.
17737
3ce27299 177382007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17739
17740 * kern/mm.c: Update copyright.
17741 (grub_mm_debug): Correct syntax error.
17742 (grub_mm_dump_free): New function.
17743 (grub_debug_free): Call `grub_free'.
17744 * include/grub/mm.h: Update copyright.
17745 (grub_mm_dump_free): Add declaration.
17746
077d5fee 177472007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17748
17749 * include/grub/ieee1275/ieee1275.h: Update copyright.
17750 * kern/powerpc/ieee1275/init.c: Likewise.
17751 * kern/powerpc/ieee1275/openfw.c: Likewise.
17752
17753 * loader/powerpc/ieee1275/linux.c: Likewise.
17754 * include/grub/elfload.h: Likewise.
17755 * kern/elf.c: Likewise.
17756 (grub_elf32_load): Pass `base' and `size' parameters. Update all
17757 callers.
17758 (grub_elf64_load): Likewise.
17759 (grub_elf32_load_segment): Move to a nested function.
17760 (grub_elf64_load_segment): Likewise.
17761
dc946850 177622007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17763
17764 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
17765 prototype.
17766 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
17767 (grub_heap_len): Likewise.
17768 (HEAP_SIZE): New macro.
17769 (grub_claim_heap): New function.
17770 (grub_machine_init): Don't claim heap directly. Call
17771 `grub_claim_heap'.
17772 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
17773 (grub_available_iterate): New function.
17774
baa2a121 177752007-02-03 Thomas Schwinge <tschwinge@gnu.org>
17776
17777 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
17778 * configure.ac: Use it for testing the HOST and TARGET compilers.
17779
4fe9862e 177802006-12-13 Thomas Schwinge <tschwinge@gnu.org>
17781
17782 * Makefile.in (enable_grub_emu): New variable.
17783 * configure.ac (--enable-grub-emu): New option.
17784 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
17785 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
17786 * conf/i386-pc.rmk: Likewise.
17787 * conf/powerpc-ieee1275.rmk: Likewise.
17788 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
17789
a8aa5762 177902006-12-12 Marco Gerards <marco@gnu.org>
17791
17792 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
17793
17794 * kern/env.c (grub_env_unset): Don't free the member `value' when
17795 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
17796 pointer.
17797
17798 * normal/main.c (current_menu): Removed.
17799 (free_menu): Unset the `menu' environment variable.
17800 (grub_normal_menu_addentry): Make use of the environment variable
17801 `menu', instead of using the global `current_menu'. Allocate
17802 memory for the sourcecode of this entry.
17803 (read_config_file): New argument `nested', changed all callers.
17804 Only in the case of a new context, initialize a new menu. Set the
17805 `menu' environment variable.
17806 (grub_normal_execute): Don't set and unset the environment
17807 variable `menu' here anymore. Only free the menu when leaving the
17808 context.
17809
17810 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
17811 leak.
17812
957b3a3e 178132006-12-11 Marco Gerards <marco@gnu.org>
17814
17815 * normal/menu_entry.c (run): Fix off by one bug so the last line
17816 is executed. Move the loader check to outside the loop.
17817
ef875714 178182006-12-08 Hollis Blanchard <hollis@penguinppc.org>
17819
17820 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
17821
4e739985 178222006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
17823
17824 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
17825 the number of sectors. Reported by Andrey Shuvikov
17826 <mr_hyro@yahoo.com>.
f19dbdb7 17827
790707f2 178282006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
17829
17830 * kern/disk.c (grub_disk_read): When there is a read error, always
17831 try to read only the necessary data.
f19dbdb7 17832
790707f2 17833 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
17834 disk/raid.c.
17835 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
17836 prototype.
17837 [GRUB_UTIL] (grub_raid_fini): Likewise.
17838 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 17839 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 17840 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
17841 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
17842 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
17843 and grub_raid_fini().
f19dbdb7 17844
03e58196 178452006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
17846
17847 * include/grub/types.h (__unused): Rename to UNUSED.
17848 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
17849 (grub_elf64_size): Likewise.
f19dbdb7 17850
ae4f23bf 178512006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17852
17853 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
17854 grub_error_push and grub_error_pop in the error-handling path.
17855 (grub_elf32_load_segment): Only call grub_file_read with non-zero
17856 length.
17857
2166cc83 178582006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17859
17860 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
17861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17863 (kernel_elf_SOURCES): Likewise.
17864 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
17865 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
17866 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17867 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17868 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
17869 (elf_mod_SOURCES): New variable.
17870 (elf_mod_CFLAGS): Likewise.
17871 (elf_mod_LDFLAGS): Likewise.
17872 * include/grub/types.h (__unused): New macro.
17873 * include/grub/elfload.h: New file.
17874 * kern/elf.c: Likewise.
17875 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
17876 (ELF32_LOADMASK): New macro.
17877 (ELF64_LOADMASK): Likewise.
17878 (vmlinux): Removed.
17879 (grub_linux_load32): New function.
17880 (grub_linux_load64): Likewise.
17881 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
17882 Use grub_elf_t instead of grub_file_t.
17883
a09d5aa5 178842006-11-02 Hollis Blanchard <hollis@penguinppc.org>
17885
17886 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
17887 `catch_result' to struct set_color_args.
17888
d976fc51 178892006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17890
17891 * normal/menu.c: Include grub/script.h.
17892 * normal/menu_entry.c: Likewise.
17893 * include/grub/normal.h: Do not include grub/script.h.
17894
67507549 178952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17896
17897 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
17898
69203a99 178992006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17900
17901 * kern/disk.c (grub_disk_open): Print debug messages when opening a
17902 disk.
17903 (grub_disk_close): Print debug messages when closing a disk.
17904 (grub_disk_read): Print debug messages when disk read fails.
17905 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
17906 filesystem type.
17907 * kern/partition.c: Include misc.h.
17908 (grub_partition_iterate): Print debug messages when detecting
17909 partition type.
17910
e2b8278c 179112006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17912
17913 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
17914 is negative.
17915 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
17916
97b2f2ff 179172006-10-26 Hollis Blanchard <hollis@penguinppc.org>
17918
17919 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17920 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
17921
6555d655 179222006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
17923
17924 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
17925 instead of sizeof(lv). Patch by Michael Guntsche.
17926
4d42b77f 179272006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
17928
17929 * disk/lvm.c: Rename VGS to VG_LIST.
17930 (grub_lvm_iterate): Change VGS->LV to VG-LV.
17931 (grub_lvm_open): Likewise.
17932 Thanks to Michael Guntsche for finding this bug.
17933
5d74d927 179342006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17935
17936 * configure.ac (AC_INIT): Bumped to 1.95.
17937
a1bb27e4 179382006-10-14 Robert Millan <rmh@aybabtu.com>
17939
17940 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
17941 with "/dev/.static/dev/md".
17942
e0994b8b 179432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17944
17945 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
17946 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
17947 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
17948 DRIVE_NAME are always freed.
17949
17950 * util/i386/pc/biosdisk.c (make_device_name): Add one into
17951 DOS_PART, as a DOS partition is counted from one instead of zero
17952 now. Reported by Robert Millan.
17953
ddd5cee9 179542006-10-14 Robert Millan <rmh@aybabtu.com>
17955
17956 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
17957 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
17958 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
17959 string returned by grub_guess_root_device.
17960 * util/i386/pc/grub-setup.c: Likewise.
17961 * util/i386/pc/grub-probefs.c: Likewise.
17962
17963 * util/i386/pc/grub-probefs.c: Rename to ...
17964 * util/i386/pc/grub-probe.c: ... this.
17965 * DISTLIST: Remove grub-probefs, add grub-probe.
17966 * conf/i386-efi.rmk: Likewise.
17967 * conf/i386-pc.rmk: Likewise.
17968 * util/i386/pc/grub-install.in: Likewise.
17969
17970 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
17971 choose which information we want to print.
17972
2b002173 179732006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17974
17975 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
17976 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
17977 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
17978 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
17979 video/readers/tga.c and video/i386/pc/vbeutil.c.
17980
179812006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
17982
17983 Added support for RAID and LVM.
f19dbdb7 17984
2b002173 17985 * disk/lvm.c: New file.
17986 * disk/raid.c: Likewise.
17987 * include/grub/lvm.h: Likewise.
f19dbdb7 17988 * include/grub/raid.h: Likewise.
2b002173 17989 * include/grub/util/lvm.h: Likewise.
17990 * include/grub/util/raid.h: Likewise.
17991 * util/lvm.c: Likewise.
17992 * util/raid.c: Likewise.
17993
17994 * include/grub/disk.h (grub_disk_dev_id): Add
17995 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
17996 (grub_disk_get_size): New prototype.
17997 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
17998 returns a partition.
17999 (grub_disk_get_size): New function.
f19dbdb7 18000
2b002173 18001 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18002 verbatim if grub_install_dos_part is -2.
18003
18004 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18005 and LVM devices.
18006
18007 * util/i386/pc/grub-setup.c (setup): New argument
18008 MUST_EMBED. Force embedding of GRUB when the argument is
18009 true. Close FILE before returning.
18010 (main): Add support for RAID and LVM.
f19dbdb7 18011
2b002173 18012 * conf/common.rmk: Add RAID and LVM modules.
18013 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18014 util/lvm.c.
18015 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18016
18017 * kern/misc.c (grub_strstr): New function.
18018 * include/grub/misc.h (grub_strstr): New prototype.
18019
050548d0 180202006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18021
18022 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18023
da849d2d 180242006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18025
18026 * kern/misc.c (grub_strtoull): Guess the base only if not
18027 specified.
18028
97b2f2ff 180292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18030
18031 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18032 PowerMac support.
18033
97b2f2ff 180342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18035
18036 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18037
18038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18039 Remove `flags' argument. All callers changed.
18040 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18041 (IEEE1275_IHANDLE_INVALID): New variable.
18042 (IEEE1275_CELL_INVALID): New variable.
18043 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18044 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18045 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18046 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18047 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18048 codes from Open Firmware. All callers updated.
18049 (grub_ieee1275_next_property): Directly return Open Firmware return
18050 code.
18051 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18052 Standardize error checking from `grub_ieee1275_get_property'.
18053 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18054 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18055
97b2f2ff 180562006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18057
18058 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18059 `instance_to_package_args' to `instance_to_path_args'.
18060
18061 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18062 `grub_ieee1275_chosen'.
18063
18064 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18065 `grub_ieee1275_interpret'.
18066
97b2f2ff 180672006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18068
18069 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18070
97b2f2ff 180712006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18072
18073 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18074 (__cmpdi): Likewise.
18075
18076 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18077 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18078 `grub_ssize_t'.
18079
02bb8acc 18080 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18081
18082 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18083 to type `grub_ssize_t'.
18084 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18085
7f9a8531 180862006-09-22 Marco Gerards <marco@gnu.org>
18087
18088 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18089 newlines.
18090
b5ef1102 180912006-09-22 Marco Gerards <marco@gnu.org>
18092
18093 * commands/echo.c: New file.
18094
18095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18096
18097 * conf/common.rmk (echo_mod_SOURCES): New variable.
18098 (echo_mod_CFLAGS): Likewise.
18099 (echo_mod_LDFLAGS): Likewise.
18100
2cff3677 181012006-09-22 Marco Gerards <marco@gnu.org>
18102
18103 * normal/main.c (get_line): Malloc memory instead of using
18104 preallocated memory. Removed the arguments `cmdline' and
18105 `max_len'. Updated all callers.
18106
6ba4688b 181072006-09-22 Marco Gerards <marco@gnu.org>
18108
18109 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18110 (normal_mod_DEPENDENCIES): Likewise.
18111
18112 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18113 (normal_mod_DEPENDENCIES): Likewise.
18114
18115 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18116
e02ac02c 181172006-09-22 Johan Rydberg <jrydberg@gnu.org>
18118
18119 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18120 programs.
18121 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18122 (normal_mod_DEPENDENCIES): Likewise.
18123 * conf/i386-pc.mk: Regenerate.
18124 * conf/i386-efi.mk: Likewise
18125 * conf/common.mk: Likewise.
18126 * conf/powerpc-ieee1275.mk: Likewise.
18127 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18128
8d252e44 181292006-09-22 Robert Millan <rmh@aybabtu.com>
18130
18131 Sync with i386 version.
18132 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18133 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18134
209bf7ac 181352006-09-21 Robert Millan <rmh@aybabtu.com>
18136
18137 Import from GRUB Legacy (lib/device.c):
18138 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18139 (init_device_map) [__linux__]: Add support for I2O devices.
18140
6b146090 181412006-09-14 Marco Gerards <marco@gnu.org>
18142
18143 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18144 `-melf_i386'.
18145
e38600a8 181462006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18147
18148 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18149 /boot/grub/*.lst.
78fa1790 18150
2952da5d 18151 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18152
2952da5d 18153 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18154 before adding it to device.map.
18155
01b82a64 181562006-08-15 Johan Rydberg <jrydberg@gnu.org>
18157
fe6b695a 18158 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18159 compiles a file; using the -MD option.
18160 * conf/common.mk: Regenerate.
18161 * conf/i386-pc.mk: Likewise.
18162 * conf/i386-efi.mk: Likewise.
18163 * conf/powerpc-ieee1275.mk: Likewise.
18164 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18165
1064790d 181662006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18167
18168 Move the prototypes of grub_setjmp and grub_longjmp to
18169 cpu/setjmp.h, so that each architecture may specify different
18170 attributes.
f19dbdb7 18171
1064790d 18172 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18173 (grub_longjmp): Likewise.
18174 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18175 (grub_longjmp): Likewise.
18176 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18177 (grub_longjmp): Likewise.
18178
18179 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18180 [!GRUB_UTIL] (grub_longjmp): Removed.
18181
29dda3ed 181822006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18183
18184 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18185 "color!" method does not return any value.
18186
ad2a06ed 181872006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18188
18189 * include/grub/bitmap.h: New file.
18190
18191 * include/grub/i386/pc/vbeutil.h: Likewise.
18192
18193 * video/bitmap.c: Likewise.
18194
18195 * video/readers/tga.c: Likewise.
18196
18197 * video/i386/pc/vbeutil.c: Likewise.
18198
18199 * commands/videotest.c: Code cleanup and updated to reflect to new
18200 video API.
18201
18202 * term/gfxterm.c: Likewise.
18203
18204 * video/video.c: Likewise.
18205
18206 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18207 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18208 (bitmap_mod_SOURCES): New entry.
18209 (bitmap_mod_CFLAGS): Likewise.
18210 (bitmap_mod_LDFLAGS): Likewise.
18211 (tga_mod_SOURCES): Likewise.
18212 (tga_mod_CFLAGS): Likewise.
18213 (tga_mod_LDFLAGS): Likewise.
18214
18215 * include/grub/video.h (grub_video_blit_operators): New enum type.
18216 (grub_video_render_target): Changed as forward declaration and moved
18217 actual definition to be video driver specific.
18218 (grub_video_adapter.blit_bitmap): Added blitting operator.
18219 (grub_video_adapter.blit_render_target): Likewise.
18220 (grub_video_blit_bitmap): Likewise.
18221 (grub_video_blit_render_target): Likewise.
18222
18223 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18224 driver specific render target definition.
18225 (grub_video_vbe_map_rgba): Added driver internal helper.
18226 (grub_video_vbe_unmap_color): Updated to use
18227 grub_video_i386_vbeblit_info.
18228 (grub_video_vbe_get_video_ptr): Likewise.
18229
18230 * include/grub/i386/pc/vbeblit.h
18231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18232 grub_video_i386_vbeblit_info.
18233 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18234 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18235 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18237 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18238 (grub_video_i386_vbeblit_index_index): Likewise.
18239 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18240 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18241 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18242 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18243 operator.
18244 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18245 operator.
18246
18247 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18248 include/grub/i386/pc/vbeblit.h.
18249
18250 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18251 Updated to use grub_video_i386_vbeblit_info.
18252 (grub_video_i386_vbefill_R8G8B8): Likewise.
18253 (grub_video_i386_vbefill_index): Likewise.
18254 (grub_video_i386_vbefill): Added generic filler.
18255
18256 * video/i386/pc/vbefill.c: Updated to reflect changes on
18257 include/grub/i386/pc/vbefill.h.
18258
18259 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18260 grub_video_i386_vbeblit_info.
18261 (grub_video_vbe_unmap_color): Likewise.
18262 (grub_video_vbe_blit_glyph): Likewise.
18263 (grub_video_vbe_scroll): Likewise.
18264 (grub_video_vbe_draw_pixel): Removed function.
18265 (grub_video_vbe_get_pixel): Likewise.
18266 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18267 updated code to use it.
18268 (common_blitter): Added common blitter for render target and bitmap.
18269 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18270 (grub_video_vbe_blit_render_target): Likewise.
18271
bc8c036d 182722006-07-30 Johan Rydberg <jrydberg@gnu.org>
18273
18274 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18275 is in text mode if there is no console control protocol instance
18276 available.
18277
684a8eff 182782006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18279
18280 * include/grub/video.h: Code cleanup.
18281
18282 * include/grub/i386/pc/vbe.h: Likewise.
18283
18284 * video/i386/pc/vbe.c: Likewise.
18285
18286 * video/i386/pc/vbeblit.c: Likewise.
18287
18288 * video/i386/pc/vbefill.c: Likewise.
18289
18290 * video/video.c: Likewise. Also added more comments.
18291
5915059b 182922006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18293
18294 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18295 (struct grub_biosdisk_dap): Likewise.
18296
18297 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18298 linkage settings for all functions.
18299
90ce5d56 183002006-07-12 Marco Gerards <marco@gnu.org>
18301
18302 * configure.ac (--enable-mm-debug): Fix typo.
18303
18304 * genkernsyms.sh.in: Use proper quoting for `CC'.
18305
43e7f879 183062006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18307
18308 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18309 (normal_mod_ASFLAGS): Remove "-m32".
18310
4889bdec 183112006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18312
18313 * util/misc.c: Include config.h.
18314 [!HAVE_MEMALIGN]: Do not include malloc.h.
18315 (grub_memalign): Use posix_memalign, if present. Then, use
18316 memalign, if present. Otherwise, emit an error.
18317
18318 * util/grub-emu.c: Do not include malloc.h.
18319
18320 * include/grub/util/misc.h: Include unistd.h. This is required for
18321 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18322 D. Eades III <hde@foobar-qux.org>.
18323
18324 * configure.ac (AC_GNU_SOURCE): Added.
18325 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18326 type.
18327
fd39d4da 183282006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18329
18330 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18331 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18332
b786f3b5 183332006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18334
18335 * include/grub/types.h (grub_host_addr_t): Rename to
18336 grub_target_addr_t.
18337 (grub_host_off_t): Rename to grub_target_off_t.
18338 (grub_host_size_t): Rename to grub_target_size_t.
18339 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18340 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18341
18342 * include/grub/kernel.h (struct grub_module_header): Change type
18343 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18344 (grub_module_info): Likewise.
f19dbdb7 18345
051988bb 183462006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18347
18348 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18349 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18350 Velazquez <jesus.velazquez@gmail.com>.
18351
deae281b 183522006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18353
18354 Count partitions from 1 instead of 0 in the string representation
18355 of partitions. Still use 0-based internally.
f19dbdb7 18356
deae281b 18357 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18358 (sun_partition_map_iterate): Use grub_partition_t instead of
18359 struct grub_partition *. Cast DESC->START_CYLINDER to
18360 grub_uint64_t after converting the endian.
18361 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18362 (sun_partition_map_get_name): Add 1 to P->INDEX.
18363
18364 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18365 PCDATA->DOS_PART.
18366 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18367
18368 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18369 zero instead of one.
18370 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18371 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18372
18373 * partmap/apple.c (apple_partition_map_iterate): Change the type
18374 of POS to unsigned.
18375 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18376 (apple_partition_map_get_name): Add 1 into P->INDEX.
18377
18378 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18379 of POS to unsigned.
18380 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18381 calculate the offset of a partition.
18382 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18383 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18384
18385 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18386 SECTOR to grub_disk_addr_t.
18387 (acorn_partition_map_iterate): Likewise.
18388 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18389 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18390 top.
18391 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18392
18393 * kern/i386/pc/init.c (make_install_device): Add 1 into
18394 GRUB_INSTALL_DOS_PART.
18395
18396 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18397 conditional.
18398
524a1e6a 183992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18400
18401 Clean up the code to support 64-bit addressing in disks and
18402 files. This change is not enough for filesystems yet.
f19dbdb7 18403
524a1e6a 18404 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18405 type of "start" to grub_uint64_t.
18406 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18407 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18408 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18409 convert addresses.
18410
18411 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18412 to grub_disk_addr_t.
18413
18414 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18415 string.
18416
18417 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18418
18419 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18420 to char *.
18421
18422 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18423
18424 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18425
18426 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18427
18428 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18429 to grub_off_t, to detect an error from grub_file_seek.
18430 (grub_multiboot_load_elf32): Likewise.
18431
18432 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18433 maximum unsigned long value when an overflow is detected.
18434 (grub_strtoull): New function.
18435 (grub_divmod64): Likewise.
18436 (grub_lltoa): use grub_divmod64.
18437
18438 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18439 grub_disk_addr_t.
18440 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18441 the pointer to next character. Use grub_strtoull instead of
18442 grub_strtoul.
18443 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18444 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18445 respectively.
18446
fe6b695a 18447 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18448 return value is signed.
18449 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18450 test if OFFSET is less than zero, as OFFSET is unsigned now.
18451
18452 * kern/disk.c (struct grub_disk_cache): Change the type of
18453 "sector" to grub_disk_addr_t.
18454 (grub_disk_cache_get_index): Change the type of SECTOR to
18455 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18456 unsigned after shifting.
18457 (grub_disk_cache_invalidate): Change the type of SECTOR to
18458 grub_disk_addr_t.
18459 (grub_disk_cache_unlock): Likewise.
18460 (grub_disk_cache_store): Likewise.
18461 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18462 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18463 grub_disk_addr_t and grub_uint64_t, respectively.
18464 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18465 body, as the value of OFFSET is tweaked by
18466 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18467 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18468 respectively.
18469 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18470 body, as the value of OFFSET is tweaked by
18471 grub_disk_check_range. Change the types of LEN and N to
18472 grub_size_t.
18473
18474 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18475 and "saved_offset" to grub_off_t.
18476 (test_header): Cast BUF to char *.
18477 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18478 to char *.
18479 (grub_gzio_read): Change the types of OFFSET and SIZE to
18480 grub_off_t and grub_size_t, respectively.
18481
18482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18483 Removed.
18484 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18485 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18486 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18487 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18488 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18489
18490 * include/grub/types.h (grub_off_t): Unconditionally set to
18491 grub_uint64_t.
18492 (grub_disk_addr_t): Changed to grub_uint64_t.
18493
18494 * include/grub/partition.h (struct grub_partition): Change the
18495 types of "start", "len" and "offset" to grub_disk_addr_t,
18496 grub_uint64_t and grub_disk_addr_t, respectively.
18497 (grub_partition_get_start): Return grub_disk_addr_t.
18498 (grub_partition_get_len): Return grub_uint64_t.
18499
18500 * include/grub/misc.h (grub_strtoull): New prototype.
18501 (grub_divmod64): Likewise.
18502
18503 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18504 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18505 grub_off_t, respectively.
18506 All callers and references changed.
18507
18508 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18509 grub_size_t in "read".
18510 All callers and references changed.
18511
18512 * include/grub/file.h (struct grub_file): Change the types of
18513 "offset" and "size" to grub_off_t and grub_off_t,
18514 respectively. Change the type of SECTOR to grub_disk_addr_t in
18515 "read_hook".
18516 (grub_file_read): Change the type of LEN to grub_size_t.
18517 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18518 grub_off_t.
18519 (grub_file_size): Return grub_off_t.
18520 (grub_file_tell): Likewise.
18521 All callers and references changed.
18522
18523 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18524 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18525 "write".
18526 (struct grub_disk): Change the type of "total_sectors" to
18527 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18528 "read_hook".
524a1e6a 18529 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18530 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18531 (grub_disk_write): Likewise.
18532 All callers and references changed.
18533
18534 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18535 char * for grub_strncmp to silence gcc.
18536 (grub_iso9660_mount): Likewise.
18537 (grub_iso9660_mount): Likewise.
18538 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18539 return statement.
18540 (grub_iso9660_iterate_dir): Likewise.
18541 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18542
18543 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18544 LEN to grub_disk_addr_t and grub_size_t, respectively.
18545
18546 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18547
18548 * fs/jfs.c (grub_jfs_read_file): Likewise.
18549
18550 * fs/minix.c (grub_jfs_read_file): Likewise.
18551
18552 * fs/sfs.c (grub_jfs_read_file): Likewise.
18553
18554 * fs/ufs.c (grub_jfs_read_file): Likewise.
18555
18556 * fs/xfs.c (grub_jfs_read_file): Likewise.
18557
18558 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18559 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18560 respectively.
18561
18562 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18563 BLKNR to -1 instead of returning GRUB_ERRNO.
18564 (grub_ext2_read_file): Change the types of SECTOR and
18565 LEN to grub_disk_addr_t and grub_size_t, respectively.
18566
18567 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18568 LEN to grub_disk_addr_t and grub_size_t, respectively.
18569
18570 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18571 grub_file_read.
18572
18573 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18574 string. Do not cast SECTOR explicitly.
18575
18576 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18577 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18578 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18579 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18580 over 2TB and LBA mode is not supported, raise an error.
18581 (get_safe_sectors): New function.
18582 (grub_biosdisk_read): Use get_safe_sectors.
18583 (grub_biosdisk_write): Likewise.
18584
18585 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18586 (grub_efidisk_write): Likewise.
18587
18588 * disk/loopback.c (delete_loopback): Cosmetic changes.
18589 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18590 correctly.
18591 (grub_loopback_open): Likewise.
18592 (grub_loopback_read): Likewise. Also, change the type of POS to
18593 grub_off_t, and fix the usage of grub_memset.
18594
18595 * commands/i386/pc/play.c: Include grub/machine/time.h.
18596
18597 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18598 print FILE->SIZE.
18599
18600 * commands/configfile.c: Include grub/env.h.
18601
18602 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18603 GRUB_ERRNO directly instead. Change the type of POS to
18604 grub_off_t. Follow the coding standard.
18605
18606 * commands/blocklist.c: Include grub/partition.h.
18607 (grub_cmd_blocklist): Return an error if the underlying device is
18608 not a disk. Take the starting sector of a partition into account,
18609 if a partition is used.
18610
18611 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18612 a length field.
18613 (lba_mode): Support 64-bit addresses.
18614 (chs_mode): Likewise.
18615 (copy_buffer): Adapted to the new offsets of a length field and a
18616 segment field.
18617 (blocklist_default_start): Allocate 64-bit space.
18618
18619 * boot/i386/pc/boot.S (force_lba): Removed.
18620 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18621 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18622 space.
18623 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18624 is useless.
18625 (lba_mode): Refactored to support a 64-bit address. More size
18626 optimization.
18627 (setup_sectors): Likewise.
18628
53af98ad 186292006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18630
18631 * DISTLIST: Added include/grub/i386/linux.h. Removed
18632 include/grub/i386/pc/linux.h
18633
18634 * configure.ac (AC_INIT): Bumped to 1.94.
18635
18636 * config.guess: Updated from gnulib.
18637 * config.sub: Likewise.
18638 * install-sh: Likewise.
18639 * mkinstalldirs: Likewise.
18640
b4c1940a 186412006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18642
18643 * conf/common.rmk (grub_modules_init.lst): Depended on
18644 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18645 MODSRCFILES.
18646
18647 * genmk.rb (PModule::rule): Reverted the previous change.
18648
cfca1cfd 186492006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18650
18651 * conf/common.rmk (grub_modules_init.lst): Depends on
18652 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18653 that the target does not exist before producing.
18654 (grub_modules_init.h): Remove the target before generating.
18655 (grub_emu_init.c): Likewise.
18656
18657 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18658
aa6d7826 186592006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18660
18661 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18662 for the target-specific tests. Make sure that we also have the
18663 up-to-date target variables for those tests.
18664
26c607b9 186652006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18666
18667 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18668 (PModule::rule): Likewise.
18669
0162321a 186702006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18671
18672 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18673 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18674 target-specific flags should be prefixed.
18675 (PModule::rule): Likewise.
18676
6c826348 186772006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18678
18679 * configure.ac (CMP): Check if cmp is available explicitly.
18680
b977bf01 186812006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18682
18683 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18684 (target_cpu): New variable.
18685 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18686
b977bf01 18687 * util/i386/pc/grub-install.in (host_cpu): Removed.
18688 (target_cpu): New variable.
18689 (pkglibdir): Use target_cpu instead of host_cpu.
18690
18691 * util/genmoddep.c: Removed.
f19dbdb7 18692
b977bf01 18693 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18694 instead of GRUB_HOST_SIZEOF_VOID_P.
18695 * kern/dl.c: Likewise.
18696
18697 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18698 ...
18699 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18700 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18701 (GRUB_TARGET_SIZEOF_LONG): ... this.
18702 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18703 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18704 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18705 to ...
18706 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18707 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18708 (GRUB_TARGET_SIZEOF_LONG): ... this.
18709 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18710 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18711 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18712 to ...
18713 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18714 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18715 (GRUB_TARGET_SIZEOF_LONG): ... this.
18716 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18717 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18718
18719 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18720 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18721 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18722 instead of GRUB_HOST_SIZEOF_LONG.
18723 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18724 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18725 GRUB_CPU_WORDS_BIGENDIAN.
18726 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
18727 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
18728 grub_host_ssize_t.
18729
18730 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
18731 (genmoddep_SOURCES): Likewise.
18732 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
18733 (genmoddep_SOURCES): Likewise.
18734 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
18735 (genmoddep_SOURCES): Likewise.
18736 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
18737 Likewise.
18738 (genmoddep_SOURCES): Likewise.
18739
18740 * genmoddep.awk: New file.
18741
18742 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
18743 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
18744 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
18745 (PModule::rule): Likewise.
18746 (Program::rule): Likewise.
18747 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
18748 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
18749 respectively.
18750
18751 * configure.ac: Rewritten intensively to use host and target
18752 instead of build and host, respectively.
18753
18754 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
18755 (host_cpu): Removed.
18756 (target_cpu): New variable.
18757 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
18758 (BUILD_CC): Removed.
18759 (BUILD_CFLAGS): Likewise.
18760 (BUILD_CPPFLAGS): Likewise.
18761 (TARGET_CC): New variable.
18762 (TARGET_CFLAGS): Likewise.
18763 (TARGET_CPPFLAGS): Likewise.
18764 (TARGET_LDFLAGS): Likewise.
18765 (AWK): Likewise.
18766 (include): Use target_cpu instead of host_cpu.
18767 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 18768
b977bf01 18769 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
18770
f09771a1 187712006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
18772
18773 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
18774 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
18775 field 'false' to 'exec_on_false'.
18776 (grub_script_create_cmdif): Renamed argument names to reflect above
18777 changes.
18778
18779 * normal/execute.c (grub_script_execute_cmdif): Likewise.
18780
18781 * normal/script.c (grub_script_create_cmdif): Likewise.
18782
118f4fb3 187832006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
18784
18785 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
18786 top.
18787 (grub_hfsplus_btree_recptr): Likewise.
18788 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
18789 FILEBLOCK both to pass a block number and store next block
18790 number.
18791 (grub_hfsplus_read_block): Rewritten heavily to support an extent
18792 overflow file correctly. Specify errors appropriately, because
18793 fshelp expects that GRUB_ERRNO is set when fails. Reuse
18794 grub_hfsplus_btree_recptr to get the pointer to a found key.
18795 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
18796 is found.
18797
18798 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
18799 linux.mod.
18800 (_linux_mod_SOURCES): New variable.
18801 (_linux_mod_CFLAGS): Likewise.
18802 (_linux_mod_LDFLAGS): Likewise.
18803 (linux_mod_SOURCES): Likewise.
18804 (linux_mod_CFLAGS): Likewise.
18805 (linux_mod_LDFLAGS): Likewise.
18806
18807 * DISTLIST: Added loader/i386/efi/linux.c,
18808 loader/i386/efi/linux_normal.c and
18809 include/grub/i386/efi/loader.h.
18810
18811 * loader/i386/efi/linux.c: New file.
18812 * loader/i386/efi/linux_normal.c: Likewise.
18813 * include/grub/i386/efi/loader.h: Likewise.
18814
89a7d726 188152006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
18816
18817 * commands/blocklist.c: New file.
18818
18819 * DISTLIST: Added commands/blocklist.c.
18820
18821 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 18822 color for the background, and a darker color for the foreground.
89a7d726 18823 (grub_console_checkkey): Return READ_KEY.
18824 (grub_console_cls): Set the background to
18825 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
18826
18827 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
18828
18829 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
18830 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
18831
18832 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
18833 prototype.
18834
18835 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
18836 BG. The spec is wrong again.
18837
18838 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
18839 prototype.
18840 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
18841
18842 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18843 commands/blocklist.c.
18844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 18845
89a7d726 18846 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
18847 (blocklist_mod_SOURCES): New variable.
18848 (blocklist_mod_CFLAGS): Likewise.
18849 (blocklist_mod_LDFLAGS): Likewise.
18850
75c8f258 188512006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
18852
18853 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
18854 duplication.
18855 (lba_mode): Use %eax more intensively to reduce the code size.
18856
da2eb181 188572006-05-20 Marco Gerards <marco@gnu.org>
18858
18859 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
18860
18861 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
18862 for `menuentry'.
18863 (script): Accept leading newlines.
18864 (newlines): New rule to describe 0 or more newlines.
18865 (commands): Accept `command' with trailing newline. Fixed the
18866 order in which arguments were passed to `grub_script_add_cmd'.
18867 Accept commands separated by newlines.
18868 (function): Changed to accept newlines.
18869 (menuentry) Rewritten.
18870
18871 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
18872 front of the list, instead of to the end.
18873
577b4050 188742006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
18875
18876 * util/i386/pc/grub-install.in (bindir): New variable.
18877 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
18878 Shaver <lbgwjl@gmail.com>.
18879
0d6e1189 188802006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
18881
18882 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
18883 grub/machine/linux.h
18884 * loader/i386/pc/linux.c: Likewise.
18885
18886 * include/grub/i386/pc/linux.h: Moved to ...
18887 * include/grub/i386/linux.h: ... here.
18888
18889 * include/grub/i386/linux.h (struct linux_kernel_params): New
18890 struct.
f19dbdb7 18891
31b86e9f 188922006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
18893
18894 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
18895 checking.
18896 (grub_video_vbe_blit_glyph): Likewise.
18897 (grub_video_vbe_blit_bitmap): Likewise.
18898 (grub_video_vbe_blit_render_target): Likewise.
18899
83b984de 189002006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
18901
18902 * configure.ac (--with-platform): Properly quote the square
18903 brackets.
18904
5f0413bd 189052006-05-08 Marco Gerards <marco@gnu.org>
18906
18907 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
18908 this...
18909 (kernel_elf_HEADERS): ...to this. Updated all users.
18910 (grubof_symlist.c): Renamed from this...
18911 (kernel_elf_symlist.c): ...to this. Updated all users.
18912 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18913 (grubof_SOURCES): Renamed from this...
18914 (kernel_elf_SOURCES): ...to this.
18915 (grubof_HEADERS): Renamed from this...
18916 (kernel_elf_HEADERS): ...to this.
18917 (grubof_CFLAGS): Renamed from this...
18918 (kernel_elf_CFLAGS): ...to this.
18919 (grubof_ASFLAGS): Renamed from this...
18920 (kernel_elf_ASFLAGS): ...to this.
18921 (grubof_LDFLAGS): Renamed from this...
18922 (kernel_elf_LDFLAGS): ...to this.
18923
18924 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
18925 this...
18926 (kernel_elf_HEADERS): ...to this. Updated all users.
18927 (grubof_symlist.c): Renamed from this...
18928 (kernel_elf_symlist.c): ...to this. Updated all users.
18929 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18930 (grubof_SOURCES): Renamed from this...
18931 (kernel_elf_SOURCES): ...to this.
18932 (grubof_HEADERS): Renamed from this...
18933 (kernel_elf_HEADERS): ...to this.
18934 (grubof_CFLAGS): Renamed from this...
18935 (kernel_elf_CFLAGS): ...to this.
18936 (grubof_ASFLAGS): Renamed from this...
18937 (kernel_elf_ASFLAGS): ...to this.
18938 (grubof_LDFLAGS): Renamed from this...
18939 (kernel_elf_LDFLAGS): ...to this.
18940
18941 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
18942 `kernel.elf' instead of `grubof'.
18943
05568c2e 189442006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
18945
18946 Add --with-platform to configure. Use pkglibdir instead of
18947 pkgdatadir. This is reported by Roger Leigh.
18948
18949 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
18950 (host_vendor): Likewise.
18951 (host_os): Likewise.
18952 (pkgdatadir): Likewise.
18953 (platform): New variable.
18954 (pkglibdir): Likewise.
18955 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 18956
05568c2e 18957 * util/i386/pc/grub-install.in (datadir): Removed.
18958 (host_vendor): Likewise.
18959 (host_os): Likewise.
18960 (pkgdatadir): Likewise.
18961 (platform): New variable.
18962 (pkglibdir): Likewise.
18963 Use PKGLIBDIR instead of PKGDATADIR.
18964
18965 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
18966 instead of GRUB_DATADIR.
18967 (main): Likewise.
18968 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18969 (main): Likewise.
18970 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18971 (main): Likewise.
18972
18973 * configure.ac (--with-platform): New option.
18974 Use PLATFORM instead of HOST_VENDOR to specify a platform.
18975
18976 * Makefile.in: Include a makefile based on PLATFORM instead of
18977 HOST_VENDOR.
18978 (pkgdatadir): Not appended by the machine type.
18979 (pkglibdir): Appended by the machine type.
18980 (host_vendor): Removed.
18981 (platform): New variable.
18982 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
18983 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
18984 (uninstall): Likewise.
18985
4e93851c 189862006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
18987
18988 Use the environment context in the menu. Remove the commands
18989 "default" and "timeout", and use variables instead.
f19dbdb7 18990
4e93851c 18991 * normal/menu.c: Include grub/env.h.
18992 (print_entry): Cast TITLE to silence gcc.
18993 (get_timeout): New function.
18994 (set_timeout): Likewise.
18995 (get_entry_number): Likewise.
18996 (run_menu): Use a default entry, a fallback entry and a timeout
18997 in the environment variables "default", "fallback" and
18998 "timeout". Also, tweak the default entry if it is not within the
18999 current menu entries.
19000 (grub_menu_run): Use a fallback entry in the environment variable
19001 "fallback".
19002
19003 * normal/main.c (read_config_file): Do not initialize
19004 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19005 NEWMENU->TIMEOUT.
19006 (grub_normal_execute): Use a data slot to store the menu.
19007
19008 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19009 fallback_entry and timeout.
19010 (struct grub_menu_list): Removed.
19011 (grub_menu_list_t): Likewise.
19012 (struct grub_context): Likewise.
19013 (grub_context_t): Likewise.
19014 (grub_context_get): Likewise.
19015 (grub_context_get_current_menu): Likewise.
19016 (grub_context_push_menu): Likewise.
19017 (grub_context_pop_menu): Likewise.
19018 (grub_default_init): Likewise.
19019 (grub_default_fini): Likewise.
19020 (grub_timeout_init): Likewise.
19021 (grub_timeout_fini): Likewise.
19022
19023 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19024 and timeout.mod.
19025 (normal_mod_SOURCES): Removed normal/context.c.
19026
19027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19028 commands/default.c, commands/timeout.c and normal/context.c.
19029 (normal_mod_SOURCES): Removed normal/context.c.
19030
19031 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19032 commands/timeout.c and normal/context.c.
19033 (normal_mod_SOURCES): Removed normal/context.c.
19034
19035 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19036 commands/default.c, commands/timeout.c and normal/context.c.
19037 (normal_mod_SOURCES): Removed normal/context.c.
19038
19039 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19040 timeout.mod.
19041 (default_mod_SOURCES): Removed.
19042 (default_mod_CFLAGS): Likewise.
19043 (default_mod_LDFLAGS): Likewise.
19044 (timeout_mod_SOURCES): Removed.
19045 (timeout_mod_CFLAGS): Likewise.
19046 (timeout_mod_LDFLAGS): Likewise.
19047
19048 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19049 normal/context.c.
19050
19051 * commands/default.c: Removed.
19052 * commands/timeout.c: Likewise.
19053 * normal/context.c: Likewise.
19054
1eb9cc1d 190552006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19056
19057 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19058
385bd9c1 190592006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19060
19061 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19062 "next" to "prev" for readability.
19063 (struct grub_env_sorted_var): New struct.
19064 (grub_env_context): Renamed to ...
19065 (initial_context): ... this.
19066 (grub_env_var_context): Renamed to ...
19067 (current_context): ... this.
19068 (grub_env_find): Look only at CURRENT_CONTEXT.
19069 (grub_env_context_open): Rewritten to copy exported variables from
19070 previous context.
19071 (grub_env_context_close): Rewritten according to the new
19072 scheme. Also, add an assertion to prevent the initial context from
19073 removed.
19074 (grub_env_insert): Removed the code for the sorted list.
19075 (grub_env_remove): Likewise.
19076 (grub_env_export): Simply mark the variable with
19077 GRUB_ENV_VAR_GLOBAL.
19078 (grub_env_set): A cosmetic change for naming consistency.
19079 (grub_env_get): Likewise.
19080 (grub_env_unset): Likewise.
19081 (grub_env_iterate): Rewritten to sort variables within this
19082 function.
19083 (grub_register_variable_hook): Fixed for naming consistency. Call
19084 grub_env_find again, only if NAME is not found at the first time.
19085 (mangle_data_slot_name): New function.
19086 (grub_env_set_data_slot): Likewise.
19087 (grub_env_get_data_slot): Likewise.
19088 (grub_env_unset_data_slot): Likewise.
19089
19090 * include/grub/env.h (grub_env_var_type): New enum.
19091 (GRUB_ENV_VAR_LOCAL): New constant.
19092 (GRUB_ENV_VAR_GLOBAL): Likewise.
19093 (GRUB_ENV_VAR_DATA): Likewise.
19094 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19095 "type".
19096 (grub_env_set): Replace VAR with NAME for consistency.
19097 (grub_register_variable_hook): Likewise.
19098 (grub_env_export): Specify the name of the argument.
19099 (grub_env_set_data_slot): New prototype.
19100 (grub_env_get_data_slot): Likewise.
19101 (grub_env_unset_data_slot): Likewise.
19102
7f362539 191032006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19104
19105 Extend the loader so that GRUB can accept a loader which comes
19106 back to GRUB when a loaded image exits. Also, this change adds
19107 support for a chainloader on EFI.
f19dbdb7 19108
7f362539 19109 * term/efi/console.c: Include grub/misc.h.
19110 (grub_console_checkkey): Display a scan code on the top for
19111 debugging. This will be removed once the EFI port gets stable.
19112 Correct the scan code mapping.
19113
19114 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19115 allocate memory from larger regions, in order to reduce the number
19116 of allocated regions. Otherwise, the MacOSX loader panics.
19117 (filter_memory_map): Avoid less than 1MB for compatibility with
19118 other loaders.
19119 (add_memory_regions): Allocate from the tail of a region, if
19120 possible, to avoid allocating a region near to 1MB, for the MacOSX
19121 loader.
19122
19123 * kern/efi/init.c (grub_efi_set_prefix): Specify
19124 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19125
19126 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19127 argument IMAGE_HANDLE and specify it to get a loaded image.
19128 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19129 grub_efi_get_loaded_image.
fe6b695a 19130 (grub_efi_get_filename): Divide the length by the size of
7f362539 19131 grub_efi_char16_t.
19132 (grub_efi_get_device_path): New function.
19133 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19134 the length by the size of grub_efi_char16_t for a file path device
19135 path node.
19136
19137 * kern/loader.c (grub_loader_noreturn): New variable.
19138 (grub_loader_set): Accept a new argument NORETURN. Set
19139 GRUB_LOADER_NORETURN to NORETURN.
19140 All callers changed.
19141 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19142 grub_machine_fini.
19143
19144 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19145 prototype.
19146 (grub_efi_get_loaded_image): Take an argument to specify an image
19147 handle.
19148
19149 * include/grub/loader.h (grub_loader_set): Added one more argument
19150 NORETURN.
19151
19152 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19153 instead of grub_efi_open_protocol.
19154 (grub_efidisk_get_device_name): Likewise.
19155 (grub_efidisk_close): Print a newline.
19156 (grub_efidisk_get_device_handle): Fixed to use
19157 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19158 GRUB_EFI_DEVICE_PATH_TYPE.
19159
19160 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19161 * kern/efi/efi.c (device_path_guid): ... here.
19162
19163 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19164 chain.mod.
19165 (kernel_mod_HEADERS): Added efi/disk.h.
19166 (_chain_mod_SOURCES): New variable.
19167 (_chain_mod_CFLAGS): Likewise.
19168 (_chain_mod_LDFLAGS): Likewise.
19169 (chain_mod_SOURCES): Likewise.
19170 (chain_mod_CFLAGS): Likewise.
19171 (chain_mod_LDFLAGS): Likewise.
19172
19173 * DISTLIST: Added include/grub/efi/chainloader.h,
19174 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19175
19176 * include/grub/efi/chainloader.h: New file.
19177 * loader/efi/chainloader.c: Likewise.
19178 * loader/efi/chainloader_normal.c: Likewise.
19179
c0111d6e 191802006-04-30 Marco Gerards <marco@gnu.org>
19181
19182 * commands/configfile.c (grub_cmd_source): New function.
19183 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19184 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19185
df5341da 191862006-04-30 Marco Gerards <marco@gnu.org>
19187
19188 * normal/execute.c (grub_script_execute_cmd): Change the return
19189 type to `grub_err_t'. Correctly return the error.
19190 (grub_script_execute_cmdline): In case a command line is not a
19191 command or a function, try to interpret it as an assignment.
19192
f85934bd 191932006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19194
19195 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19196 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19197 skip a node whose name is obviously invalid as UTF-16,
19198 i.e. contains a NUL character. Stop the iteration when the last
19199 directory entry is found. Instead of using the return value of
19200 grub_hfsplus_btree_iterate_node, store the value in RET and use
19201 it, because the iterator can be stopped by the last directory
19202 entry.
19203
8f8a2cf8 192042006-04-30 Marco Gerards <marco@gnu.org>
19205
19206 * include/grub/env.h (grub_env_export): New prototype. Reported
19207 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19208
a27e84ce 192092006-04-30 Marco Gerards <marco@gnu.org>
19210
19211 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19212 size of the extents in a catalog file record.
19213
eaef0553 192142006-04-29 Marco Gerards <marco@gnu.org>
19215
19216 * commands/configfile.c (grub_cmd_configfile): Execute the
19217 configfile within its own context.
19218
19219 * include/grub/env.h (grub_env_context_open): New prototype.
19220 (grub_env_context_close): Likewise.
19221
19222 * kern/env.c (grub_env): Removed.
19223 (grub_env_sorted): Likewise.
19224 (grub_env_context): New variable.
19225 (grub_env_var_context): Likewise.
19226 (grub_env_find): Search both the active context and the global
19227 context.
19228 (grub_env_context_open): New function.
19229 (grub_env_context_close): Likewise.
19230 (grub_env_insert): Likewise.
19231 (grub_env_remove): Likewise.
19232 (grub_env_export): Likewise.
19233 (grub_env_set): Changed to use helper functions to avoid code
19234 duplication.
19235 (grub_env_iterate): Rewritten so both the current context and the
19236 global context are being used.
19237
19238 * normal/command.c (export_command): New function.
19239 (grub_command_init): Register the `export' function.
19240
7b455f4d 192412006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19242
19243 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19244 explicitly to suppress gcc's warnings.
19245 * fs/fat.c (grub_fat_find_dir): Likewise.
19246 (grub_fat_label): Likewise.
19247 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19248 (grub_xfs_mount): Likewise.
19249 (grub_xfs_label): Likewise.
19250 * fs/affs.c (grub_affs_mount): Likewise.
19251 (grub_affs_label): Likewise.
19252 (grub_affs_iterate_dir): Likewise.
19253 * fs/sfs.c (grub_sfs_mount): Likewise.
19254 (grub_sfs_iterate_dir): Likewise.
19255 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19256 * fs/hfs.c (grub_hfs_mount): Likewise.
19257 (grub_hfs_cmp_catkeys): Likewise.
19258 (grub_hfs_find_dir): Likewise.
19259 (grub_hfs_dir): Likewise.
19260 (grub_hfs_label): Likewise.
19261 * fs/jfs.c (grub_jfs_mount): Likewise.
19262 (grub_jfs_opendir): Likewise.
19263 (grub_jfs_getent): Likewise.
19264 (grub_jfs_lookup_symlink): Likewise.
19265 (grub_jfs_label): Likewise.
19266 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19267 (grub_hfsplus_iterate_dir): Likewise.
19268 (grub_hfsplus_btree_iterate_node): Made static.
19269
19270 * util/grub-emu.c (prefix): New variable.
19271 (grub_machine_set_prefix): New function.
19272 (main): Do not set the environment variable "prefix" here. Only
19273 set PREFIX, which is used later by grub_machine_set_prefix.
19274
19275 * include/grub/video.h: Do not include grub/symbol.h.
19276 (grub_video_register): Not exported. This symbol is not defined in
19277 the kernel.
19278 (grub_video_unregister): Likewise.
19279 (grub_video_iterate): Likewise.
19280 (grub_video_setup): Likewise.
19281 (grub_video_restore): Likewise.
19282 (grub_video_get_info): Likewise.
19283 (grub_video_get_blit_format): Likewise.
19284 (grub_video_set_palette): Likewise.
19285 (grub_video_get_palette): Likewise.
19286 (grub_video_set_viewport): Likewise.
19287 (grub_video_get_viewport): Likewise.
19288 (grub_video_map_color): Likewise.
19289 (grub_video_map_rgb): Likewise.
19290 (grub_video_map_rgba): Likewise.
19291 (grub_video_fill_rect): Likewise.
19292 (grub_video_blit_glyph): Likewise.
19293 (grub_video_blit_bitmap): Likewise.
19294 (grub_video_blit_render_target): Likewise.
19295 (grub_video_scroll): Likewise.
19296 (grub_video_swap_buffers): Likewise.
19297 (grub_video_create_render_target): Likewise.
19298 (grub_video_delete_render_target): Likewise.
19299 (grub_video_set_active_render_target): Likewise.
19300
19301 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19302 Undefined.
19303 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19304
19305 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19306 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19307 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19308 instead of $(srcdir)/genkernsyms.sh.
19309
19310 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19311 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19312 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19313 instead of $(srcdir)/genkernsyms.sh.
19314
19315 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19316 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19317 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19318 instead of $(srcdir)/genkernsyms.sh.
19319
19320 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19321 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19322 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19323 instead of $(srcdir)/genkernsyms.sh.
19324
19325 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19326 genkernsyms.sh.
19327
19328 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19329 genkernsyms.sh.
19330 (gensymlist.sh): New target.
19331 (genkernsyms.sh): Likewise.
19332
19333 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19334 genkernsyms.sh.in and gensymlist.sh.in.
19335
19336 * genkernsyms.sh: Removed.
19337 * gensymlist.sh: Likewise.
f19dbdb7 19338
7b455f4d 19339 * genkernsyms.sh.in: New file.
19340 * gensymlist.sh.in: Likewise.
19341
1885bb27 193422006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19343
19344 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19345 clobber "prefix", since we may have already set it manually.
19346
71538dff 193472006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19348
19349 * kern/misc.c (abort): New alias for grub_abort.
19350
2965c7cc 193512006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19352
19353 A new machine-specific function "grub_machine_set_prefix" is
19354 defined. This is called after loading modules, so that a prefix
19355 initialization can use modules. Also, this change adds an
19356 intensive debugging feature for the memory manager via the
19357 configure option "--enable-mm-debug".
f19dbdb7 19358
2965c7cc 19359 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19360 PART.LEN.
19361
19362 * kern/sparc64/ieee1275/init.c (abort): Removed.
19363 (grub_stop): Likewise.
19364 (grub_exit): New function.
19365 (grub_set_prefix): Renamed to ...
19366 (grub_machine_set_prefix): ... this.
19367 (grub_machine_init): Do not call grub_set_prefix.
19368
19369 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19370 (grub_machine_set_prefix): ... this.
19371 (grub_machine_init): Do not call grub_set_prefix.
19372
19373 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19374 (grub_machine_init): Do not set the prefix here.
19375
19376 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19377
19378 * kern/efi/init.c: Include grub/mm.h.
19379 (grub_efi_set_prefix): New function.
19380
19381 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19382 (grub_efi_get_filename): New function.
19383 (grub_print_device_path): Renamed to ...
19384 (grub_efi_print_device_path): ... this.
19385
19386 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19387 [MM_DEBUG] (grub_realloc): Likewise.
19388 [MM_DEBUG] (grub_free): Likewise.
19389 [MM_DEBUG] (grub_memalign): Likewise.
19390 [MM_DEBUG] (grub_mm_debug): New variable.
19391 [MM_DEBUG] (grub_debug_malloc): New function.
19392 [MM_DEBUG] (grub_debug_free): New function.
19393 [MM_DEBUG] (grub_debug_realloc): New function.
19394 [MM_DEBUG] (grub_debug_memalign): New function.
19395
19396 * kern/misc.c (grub_abort): Print a newline to distinguish
19397 the message.
19398
19399 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19400 grub_set_root_dev after loading modules. This is necessary when
19401 setting a prefix depends on modules.
19402
19403 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19404 (grub_efi_print_device_path): ... this.
19405 (grub_efi_get_filename): New prototype.
19406 (grub_efi_set_prefix): Likewise.
19407
19408 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19409 and grub/disk.h.
19410 (grub_efidisk_get_device_handle): New prototype.
19411 (grub_efidisk_get_device_name): Likewise.
19412
19413 * include/grub/mm.h: Include config.h.
19414 (MM_DEBUG): Removed.
19415 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19416 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19417 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19418 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19419 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19420 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19421 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19422 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19423 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19424
19425 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19426
19427 * disk/efi/efidisk.c: Include grub/partition.h.
19428 (iterate_child_devices): New function.
19429 (add_device): First, compare only last device path nodes, so that
19430 devices are sorted by the types.
19431 (grub_efidisk_get_device_handle): New function.
19432 (grub_efidisk_get_device_name): Likewise.
19433
19434 * configure.ac (--enable-mm-debug): New option to enable the
19435 memory manager debugging feature. This makes the binary much
19436 bigger, so is disabled by default.
19437
9cacaa17 194382006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19439
19440 Use grub_abort instead of grub_stop, and grub_exit must be
19441 define in each architecture now. Also, this change adds support
19442 for EFI disks.
f19dbdb7 19443
9cacaa17 19444 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19445 (grub_getkey): New function.
19446 (grub_term_get_current): Likewise.
19447
19448 * util/i386/pc/grub-setup.c: Include grub/term.h.
19449 (grub_getkey): New function.
19450 (grub_term_get_current): Likewise.
19451
19452 * util/misc.c (grub_stop): Renamed to ...
19453 (grub_exit): ... this.
19454
19455 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19456 (grub_exit): ... this.
19457 (grub_machine_init): Use grub_abort instead of abort.
19458 (grub_stop): Removed.
19459
19460 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19461 abort.
19462
19463 * kern/i386/pc/startup.S (grub_exit): New function.
19464 (cold_reboot): New label.
19465
19466 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19467 (grub_efi_init): Call grub_efidisk_init.
19468 (grub_efi_fini): Call grub_efidisk_fini.
19469
19470 * kern/efi/efi.c: Include grub/mm.h.
19471 (grub_efi_console_control_guid): Renamed to ...
19472 (console_control_guid): ... this.
19473 (grub_efi_loaded_image_guid): Renamed to ...
19474 (loaded_image_guid): ... this.
19475 (grub_efi_locate_handle): New function.
19476 (grub_efi_open_protocol): Likewise.
19477 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19478 GRUB_EFI_CONSOLE_CONTROL_GUID.
19479 (grub_efi_exit): Removed.
19480 (grub_stop): Likewise.
19481 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19482 (grub_exit): New function.
19483 (grub_print_device_path): Likewise.
19484
19485 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19486 (grub_enter_rescue_mode): Register "exit".
19487
19488 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19489 (grub_abort): New function.
19490
19491 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19492
19493 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19494
19495 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19496
19497 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19498 (grub_print_device_path): New prototype.
19499 (grub_efi_locate_handle): Likewise.
19500 (grub_efi_open_protocol): Likewise.
19501
19502 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19503 * disk/efi/efidisk.c: Likewise.
19504
19505 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19506
19507 * include/grub/efi/console_control.h
19508 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19509
19510 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19511 last 8 bytes as an array.
19512 (GRUB_EFI_DISK_IO_GUID): New macro.
19513 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19514 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19515 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19516 grub_uint8_t.
19517 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19518 (struct grub_efi_device_path): Rename the member "sub_type" to
19519 "subtype".
19520 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19521 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19522 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19523 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19524 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19525 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19526 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19527 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19528 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19529 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19530 (struct grub_efi_pci_device_path): New structure.
19531 (grub_efi_pci_device_path_t): New type.
19532 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19533 (struct grub_efi_pccard_device_path): New structure.
19534 (grub_efi_pccard_device_path_t): New type.
19535 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19536 (struct grub_efi_memory_mapped_device_path): New structure.
19537 (grub_efi_memory_mapped_device_path_t): New type.
19538 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19539 (struct grub_efi_vendor_device_path): New structure.
19540 (grub_efi_vendor_device_path_t): New type.
19541 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19542 (struct grub_efi_controller_device_path): New structure.
19543 (grub_efi_controller_device_path_t): New type.
19544 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19545 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19546 (struct grub_efi_acpi_device_path): New structure.
19547 (grub_efi_acpi_device_path_t): New type.
19548 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19549 (struct grub_efi_expanded_acpi_device_path): New structure.
19550 (grub_efi_expanded_acpi_device_path_t): New type.
19551 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19552 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19553 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19554 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19555 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19556 (struct grub_efi_atapi_device_path): New structure.
19557 (grub_efi_atapi_device_path_t): New type.
19558 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19559 (struct grub_efi_fibre_channel_device_path): New structure.
19560 (grub_efi_fibre_channel_device_path_t): New type.
19561 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19562 (struct grub_efi_1394_device_path): New structure.
19563 (grub_efi_1394_device_path_t): New type.
19564 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19565 (struct grub_efi_usb_device_path): New structure.
19566 (grub_efi_usb_device_path_t): New type.
19567 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19568 (struct grub_efi_usb_class_device_path): New structure.
19569 (grub_efi_usb_class_device_path_t): New type.
19570 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19571 (struct grub_efi_i2o_device_path): New structure.
19572 (grub_efi_i2o_device_path_t): New type.
19573 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19574 (struct grub_efi_mac_address_device_path): New structure.
19575 (grub_efi_mac_address_device_path_t): New type.
19576 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19577 (struct grub_efi_ipv4_device_path): New structure.
19578 (grub_efi_ipv4_device_path_t): New type.
19579 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19580 (struct grub_efi_ipv6_device_path): New structure.
19581 (grub_efi_ipv6_device_path_t): New type.
19582 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19583 (struct grub_efi_infiniband_device_path): New structure.
19584 (grub_efi_infiniband_device_path_t): New type.
19585 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19586 (struct grub_efi_uart_device_path): New structure.
19587 (grub_efi_uart_device_path_t): New type.
19588 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19589 (struct grub_efi_vendor_messaging_device_path): New structure.
19590 (grub_efi_vendor_messaging_device_path_t): New type.
19591 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19592 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19593 (struct grub_efi_hard_drive_device_path): New structure.
19594 (grub_efi_hard_drive_device_path_t): New type.
19595 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19596 (struct grub_efi_cdrom_device_path): New structure.
19597 (grub_efi_cdrom_device_path_t): New type.
19598 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19599 (struct grub_efi_vendor_media_device_path): New structure.
19600 (grub_efi_vendor_media_device_path_t): New type.
19601 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19602 (struct grub_efi_file_path_device_path): New structure.
19603 (grub_efi_file_path_device_path_t): New type.
19604 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19605 (struct grub_efi_protocol_device_path): New structure.
19606 (grub_efi_protocol_device_path_t): New type.
19607 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19608 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19609 (struct grub_efi_bios_device_path): New structure.
19610 (grub_efi_bios_device_path_t): New type.
19611 (struct grub_efi_disk_io): New structure.
19612 (grub_efi_disk_io_t): New type.
19613 (struct grub_efi_block_io_media): New structure.
19614 (grub_efi_block_io_media_t): New type.
19615 (struct grub_efi_block_io): New structure.
19616 (grub_efi_block_io_t): New type.
19617
19618 * include/grub/misc.h (grub_stop): Removed.
19619 (grub_exit): New prototype.
19620 (grub_abort): Likewise.
19621
19622 * include/grub/disk.h (enum grub_disk_dev_id): Added
19623 GRUB_DISK_DEVICE_EFIDISK_ID.
19624
19625 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19626 disk/efi/efidisk.c.
19627 (kernel_syms.lst): Remove the target if an error occurs.
19628
49986a9f 196292006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19630
19631 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19632 as it was simply too buggy.
19633
970d3b8a 196342006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19635
19636 * kern/misc.c (grub_lltoa): New function.
19637 (grub_vsprintf): Added support for the long long suffix,
19638 i.e. "ll".
19639
ff04ec24 196402006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19641
19642 * Makefile.in (LDFLAGS): Add variable.
19643 (LD): Remove variable.
19644 * configure.ac: Add -m32 to LDFLAGS.
19645 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19646 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19647 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19648 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19649 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19650 variables.
19651 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19652 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19653 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19654
37e5e1a4 196552006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19656
19657 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19658 length for unknown glyph.
19659
c352d8dd 196602006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19661
2eab1c0d 19662 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19663
2eab1c0d 19664 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19665 completely. Accept one more argument DIR. The caller has changed.
19666
19667 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19668
19669 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19670 (grub_efi_loaded_image_guid): New variable.
19671 (grub_efi_get_loaded_image): New function.
19672 (grub_arch_modules_addr): Likewise.
19673
19674 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19675 prototype.
19676
19677 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19678 (struct grub_efi_loaded_image): New structure.
19679 (grub_efi_loaded_image_t): New type.
19680
196812006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19682
c352d8dd 19683 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19684 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19685 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19686
6d01d6b4 196872006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19688
19689 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19690
976a4ea0 196912006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19692
19693 * DISTLIST: Added include/grub/efi/console.h,
19694 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19695 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19696
19697 * include/grub/efi/console.h: New file.
19698 * include/grub/efi/time.h: Likewise.
19699 * include/grub/i386/efi/kernel.h: Likewise.
19700 * kern/efi/init.c: Likewise.
19701 * kern/efi/mm.c: Likewise.
19702 * term/efi/console.c: Likewise.
f19dbdb7 19703
976a4ea0 19704 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19705 (grub_stop): Removed.
19706 (grub_get_rtc): Likewise.
19707 (grub_machine_init): Simply call grub_efi_init.
19708 (grub_machine_fini): Call grub_efi_fini.
19709
19710 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19711 (grub_efi_output_string): Removed.
19712 (grub_efi_stall): New function.
19713 (grub_stop): Likewise.
19714 (grub_get_rtc): Likewise.
19715
19716 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19717 (grub_efi_stall): New prototype.
19718 (grub_efi_allocate_pages): Likewise.
19719 (grub_efi_free_pages): Likewise.
19720 (grub_efi_get_memory_map): Likewise.
19721 (grub_efi_mm_init): Likewise.
19722 (grub_efi_mm_fini): Likewise.
19723 (grub_efi_init): Likewise.
19724 (grub_efi_fini): Likewise.
19725
19726 * include/grub/i386/efi/time.h: Do not include
19727 grub/symbol.h. Include grub/efi/time.h.
19728 (GRUB_TICKS_PER_SECOND): Removed.
19729 (grub_get_rtc): Likewise.
19730
19731 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
19732 Added padding. The EFI spec is buggy.
19733 (GRUB_EFI_BLACK): New macro.
19734 (GRUB_EFI_BLUE): Likewise.
19735 (GRUB_EFI_GREEN): Likewise.
19736 (GRUB_EFI_CYAN): Likewise.
19737 (GRUB_EFI_RED): Likewise.
19738 (GRUB_EFI_MAGENTA): Likewise.
19739 (GRUB_EFI_BROWN): Likewise.
19740 (GRUB_EFI_LIGHTGRAY): Likewise.
19741 (GRUB_EFI_BRIGHT): Likewise.
19742 (GRUB_EFI_DARKGRAY): Likewise.
19743 (GRUB_EFI_LIGHTBLUE): Likewise.
19744 (GRUB_EFI_LIGHTGREEN): Likewise.
19745 (GRUB_EFI_LIGHTCYAN): Likewise.
19746 (GRUB_EFI_LIGHTRED): Likewise.
19747 (GRUB_EFI_LIGHTMAGENTA): Likewise.
19748 (GRUB_EFI_YELLOW): Likewise.
19749 (GRUB_EFI_WHITE): Likewise.
19750 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
19751 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
19752 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
19753 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
19754 (GRUB_EFI_BACKGROUND_RED): Likewise.
19755 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
19756 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
19757 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
19758 (GRUB_EFI_TEXT_ATTR): Likewise.
19759
19760 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
19761 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19762 (kernel_mod_HEADERS): Added efi/time.h.
19763
83709125 197642006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
19765
19766 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
19767 include/grub/efi/api.h, include/grub/efi/console_control.h,
19768 include/grub/efi/efi.h, include/grub/efi/pe32.h,
19769 include/grub/i386/efi/time.h, kern/efi/efi.c,
19770 kern/i386/efi/init.c, kern/i386/efi/startup.S,
19771 and util/i386/efi/grub-mkimage.c.
19772
19773 * Makefile.in (RMKFILES): Added i386-efi.rmk.
19774
19775 * genmk.rb (PModule#rule): Do not export symbols if
19776 #{prefix}_EXPORTS is set to "no".
19777
19778 * conf/i386-efi.mk: New file.
19779 * conf/i386-efi.rmk: Likewise.
19780 * include/grub/efi/api.h: Likewise.
19781 * include/grub/efi/console_control.h: Likewise.
19782 * include/grub/efi/efi.h: Likewise.
19783 * include/grub/efi/pe32.h: Likewise.
19784 * include/grub/i386/efi/time.h: Likewise.
19785 * kern/efi/efi.c: Likewise.
19786 * kern/i386/efi/init.c: Likewise.
19787 * kern/i386/efi/startup.S: Likewise.
19788 * util/i386/efi/grub-mkimage.c: Likewise.
19789
197902006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 19791
19792 * include/grub/script.h: Include <grub/parser.h> and
19793 "grub_script.tab.h".
19794 (struct grub_lexer_param): New struct.
19795 (struct grub_parser_param): Likewise.
19796 (grub_script_create_arglist): Pass the state in an argument.
19797 (grub_script_add_arglist): Likewise.
19798 (grub_script_create_cmdline): Likewise.
19799 (grub_script_create_cmdblock): Likewise.
19800 (grub_script_create_cmdif): Likewise.
19801 (grub_script_create_cmdmenu): Likewise.
19802 (grub_script_add_cmd): Likewise.
19803 (grub_script_arg_add): Likewise.
19804 (grub_script_lexer_ref): Likewise.
19805 (grub_script_lexer_deref): Likewise.
19806 (grub_script_lexer_record_start): Likewise.
19807 (grub_script_lexer_record_stop): Likewise.
19808 (grub_script_mem_record): Likewise.
19809 (grub_script_mem_record_stop): Likewise.
19810 (grub_script_malloc): Likewise.
19811 (grub_script_yylex): Likewise.
19812 (grub_script_yyparse): Likewise.
19813 (grub_script_yyerror): Likewise.
19814 (grub_script_yylex): Likewise.
19815 (grub_script_lexer_init): Return the state.
19816
19817 * normal/lexer.c (grub_script_lexer_state): Removed variable.
19818 (grub_script_lexer_done): Likewise.
19819 (grub_script_lexer_getline): Likewise.
19820 (grub_script_lexer_refs): Likewise.
19821 (script): Likewise.
19822 (newscript): Likewise.
19823 (record): Likewise.
19824 (recording): Likewise.
19825 (recordpos): Likewise.
19826 (recordlen): Likewise.
19827 (grub_script_lexer_init): Return the state instead of setting
19828 global variables.
19829 (grub_script_lexer_ref): Use the newly added argument for state
19830 instead of globals.
19831 (grub_script_lexer_deref): Likewise.
19832 (grub_script_lexer_record_start): Likewise.
19833 (grub_script_lexer_record_stop): Likewise.
19834 (recordchar): Likewise.
19835 (nextchar): Likewise.
19836 (grub_script_yylex2): Likewise.
19837 (grub_script_yylex): Likewise.
19838 (grub_script_yyerror): Likewise.
19839
19840 * normal/parser.y (func_mem): Removed variable.
19841 (menu_entry): Likewise.
19842 (err): Likewise.
19843 (%lex-param): New parser option.
19844 (%parse-param): Likewise.
19845 (script): Always return the AST.
19846 (argument): Pass the state around.
19847 (arguments): Likewise.
19848 (grubcmd): Likewise.
19849 (commands): Likewise.
19850 (function): Likewise.
19851 (menuentry): Likewise.
19852 (if_statement): Likewise.
19853 (if): Likewise.
19854
19855 * normal/script.c (grub_script_memused): Removed variable.
19856 (grub_script_parsed): Likewise.
19857 (grub_script_malloc): Added a state argument. Use that instead of
19858 global variables.
19859 (grub_script_mem_record): Likewise.
19860 (grub_script_mem_record_stop): Likewise.
19861 (grub_script_arg_add): Likewise.
19862 (grub_script_add_arglist): Likewise.
19863 (grub_script_create_cmdline): Likewise.
19864 (grub_script_create_cmdif): Likewise.
19865 (grub_script_create_cmdmenu): Likewise.
19866 (grub_script_add_cmd): Likewise.
19867 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 19868
e2a8c904 198692006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 19870
19871 * normal/command.c (grub_command_init): Remove the title command.
19872
19873 * normal/lexer.c (grub_script_yylex): Renamed from this...
19874 (grub_script_yylex2): ... to this.
19875 (grub_script_yylex): New function. Temporary
19876 introduced to filter some tokens.
19877 (grub_script_yyerror): Print a newline.
19878
19879 * normal/main.c (read_config_file): Output information about the
19880 lines that contain errors. Wait for a key after all lines have
19881 been processed. Don't return an empty menu.
19882
19883 * normal/parser.y (func_mem): Don't initialize.
19884 (menu_entry): Likewise.
19885 (err): New variable.
19886 (script): Don't return anything when an error was encountered.
19887 (ws, returns): Removed rules.
19888 (argument): Disabled concatenated variable support.
19889 (arguments): Remove explicit separators.
19890 (grubcmd): Likewise.
19891 (function): Likewise.
19892 (menuentry): Likewise.
19893 (if): Likewise.
19894 (commands): Likewise. Add error handling.
19895
19896 * normal/script.c (grub_script_create_cmdline): If
19897 `grub_script_parsed' is 0, assume the parser encountered an error.
19898
c9a86192 198992006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
19900
19901 * configure.ac: Add support for EFI. Fix the typo
19902 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
19903
70f3b243 199042006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19905
19906 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
19907 foreign multibyte characters should be shown correctly.
19908
65f201ad 199092006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19910
19911 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
19912 calculation.
19913 (read_config_file): Made it to close file before returning.
19914
b4b93674 199152006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
19916
19917 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
19918 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
19919 video/i386/pc/vbefill.c.
19920
19921 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
19922 video/i386/pc/vbefill.c.
19923
19924 * include/grub/video.h (grub_video_blit_format): New enum.
19925 (grub_video_mode_info): Added new member blit_format.
19926 (grub_video_get_blit_format): New function prototype.
19927
19928 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
19929 function prototype.
19930 (grub_video_vbe_map_rgb): Likewise.
19931 (grub_video_vbe_unmap_color): Likewise.
19932
19933 * include/grub/i386/pc/vbeblit.h: New file.
19934
19935 * include/grub/i386/pc/vbefill.h: New file.
19936
19937 * video/video.c (grub_video_get_blit_format): New function.
19938 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
19939 (grub_video_vbe_map_rgb): Likewise.
19940 (grub_video_vbe_unmap_color): Likewise.
19941
19942 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
19943 optimized fills.
19944 (grub_video_vbe_blit_render_target): Changed to use more optimized
19945 blits.
19946 (grub_video_vbe_setup): Added detection for optimized settings.
19947 (grub_video_vbe_create_render_target): Likewise.
19948
19949 * video/i386/pc/vbeblit.c: New file.
19950
19951 * video/i386/pc/vbefill.c: New file.
19952
c2379b9c 199532006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
19954
19955 * font/manager.c (grub_font_get_glyph): Removed font fixup from
19956 here...
19957
19958 * util/unifont2pff.rb: ... and moved it to here. Improved argument
19959 parsing to support both hex and dec ranges. If filename was missing
19960 show usage information.
19961
bd0d7896 199622006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
19963
19964 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
19965 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
19966
19967 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
19968 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
19969 (video_mod_SOURCES): Added.
19970 (video_mod_CFLAGS): Likewise.
19971 (video_mod_LDFLAGS): Likewise.
19972 (gfxterm_mod_SOURCES): Likewise.
19973 (gfxterm_mod_CFLAGS): Likewise.
19974 (gfxterm_mod_LDFLAGS): Likewise.
19975 (videotest_mod_SOURCES): Likewise.
19976 (videotest_mod_CFLAGS): Likewise.
19977 (videotest_mod_LDFLAGS): Likewise.
19978 (vesafb_mod_SOURCES): Removed.
19979 (vesafb_mod_CFLAGS): Likewise.
19980 (vesafb_mod_LDFLAGS): Likewise.
19981 (vga_mod_SOURCES): Likewise.
19982 (vga_mod_CFLAGS): Likewise.
19983 (vga_mod_LDFLAGS): Likewise.
19984
19985 * commands/videotest.c: New file.
19986
19987 * font/manager.c (fill_with_default_glyph): Modified to use
19988 grub_font_glyph.
19989 (grub_font_get_glyph): Likewise.
19990 (fontmanager): Renamed from this...
19991 (font_manager): ... to this.
19992
19993 * include/grub/font.h (grub_font_glyph): Added new structure.
19994 (grub_font_get_glyph): Modified to use grub_font_glyph.
19995
19996 * include/grub/misc.h (grub_abs): Added as inline function.
19997
19998 * include/grub/video.h: New file.
19999
20000 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20001 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20002 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20003 (grub_vbe_get_controller_info): Renamed from this...
20004 (grub_vbe_bios_get_controller_info): ... to this.
20005 (grub_vbe_get_mode_info): Renamed from this...
20006 (grub_vbe_bios_get_mode_info): ... to this.
20007 (grub_vbe_set_mode): Renamed from this...
20008 (grub_vbe_bios_set_mode): ... to this.
20009 (grub_vbe_get_mode): Renamed from this...
20010 (grub_vbe_bios_get_mode): ... to this.
20011 (grub_vbe_set_memory_window): Renamed from this...
20012 (grub_vbe_bios_set_memory_window): ... to this.
20013 (grub_vbe_get_memory_window): Renamed from this...
20014 (grub_vbe_bios_get_memory_window): ... to this.
20015 (grub_vbe_set_scanline_length): Renamed from this...
20016 (grub_vbe_set_scanline_length): ... to this.
20017 (grub_vbe_get_scanline_length): Renamed from this...
20018 (grub_vbe_bios_get_scanline_length): ... to this.
20019 (grub_vbe_set_display_start): Renamed from this...
20020 (grub_vbe_bios_set_display_start): ... to this.
20021 (grub_vbe_get_display_start): Renamed from this...
20022 (grub_vbe_bios_get_display_start): ... to this.
20023 (grub_vbe_set_palette_data): Renamed from this...
20024 (grub_vbe_bios_set_palette_data): ... to this.
20025 (grub_vbe_set_pixel_rgb): Removed.
20026 (grub_vbe_set_pixel_index): Likewise.
20027
20028 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20029 from this...
20030 (grub_vbe_bios_get_controller_info): ... to this.
20031 (grub_vbe_get_mode_info): Renamed from this...
20032 (grub_vbe_bios_get_mode_info): ... to this.
20033 (grub_vbe_set_mode): Renamed from this...
20034 (grub_vbe_bios_set_mode): ... to this.
20035 (grub_vbe_get_mode): Renamed from this...
20036 (grub_vbe_bios_get_mode): ... to this.
20037 (grub_vbe_set_memory_window): Renamed from this...
20038 (grub_vbe_bios_set_memory_window): ... to this.
20039 (grub_vbe_get_memory_window): Renamed from this...
20040 (grub_vbe_bios_get_memory_window): ... to this.
20041 (grub_vbe_set_scanline_length): Renamed from this...
20042 (grub_vbe_set_scanline_length): ... to this.
20043 (grub_vbe_get_scanline_length): Renamed from this...
20044 (grub_vbe_bios_get_scanline_length): ... to this.
20045 (grub_vbe_set_display_start): Renamed from this...
20046 (grub_vbe_bios_set_display_start): ... to this.
20047 (grub_vbe_get_display_start): Renamed from this...
20048 (grub_vbe_bios_get_display_start): ... to this.
20049 (grub_vbe_set_palette_data): Renamed from this...
20050 (grub_vbe_bios_set_palette_data): ... to this.
20051 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20052 getting corrupted after calling it. Added more pushes and pops.
20053 (grub_vbe_bios_set_mode): Likewise.
20054 (grub_vbe_bios_get_mode): Likewise.
20055 (grub_vbe_bios_get_memory_window): Likewise.
20056 (grub_vbe_bios_set_scanline_length): Likewise.
20057 (grub_vbe_bios_get_scanline_length): Likewise.
20058 (grub_vbe_bios_get_display_start): Likewise.
20059 (grub_vbe_bios_set_palette_data): Likewise.
20060
20061 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20062 (cl_insert): Likewise.
20063 (cl_delete): Likewise.
20064
20065 * term/gfxterm.c: New file.
20066
20067 * term/i386/pc/vesafb.c: Removed file.
20068
20069 * video/video.c: New file.
20070
20071 * video/i386/pc/vbe.c (real2pm): Added new function.
20072 (grub_video_vbe_draw_pixel): Likewise.
20073 (grub_video_vbe_get_video_ptr): Likewise.
20074 (grub_video_vbe_get_pixel): Likewise
20075 (grub_video_vbe_init): Likewise.
20076 (grub_video_vbe_fini): Likewise.
20077 (grub_video_vbe_setup): Likewise.
20078 (grub_video_vbe_get_info): Likewise.
20079 (grub_video_vbe_set_palette): Likewise.
20080 (grub_video_vbe_get_palette): Likewise.
20081 (grub_video_vbe_set_viewport): Likewise.
20082 (grub_video_vbe_get_viewport): Likewise.
20083 (grub_video_vbe_map_color): Likewise.
20084 (grub_video_vbe_map_rgb): Likewise.
20085 (grub_video_vbe_map_rgba): Likewise.
20086 (grub_video_vbe_unmap_color): Likewise.
20087 (grub_video_vbe_fill_rect): Likewise.
20088 (grub_video_vbe_blit_glyph): Likewise.
20089 (grub_video_vbe_blit_bitmap): Likewise.
20090 (grub_video_vbe_blit_render_target): Likewise.
20091 (grub_video_vbe_scroll): Likewise.
20092 (grub_video_vbe_swap_buffers): Likewise.
20093 (grub_video_vbe_create_render_target): Likewise.
20094 (grub_video_vbe_delete_render_target): Likewise.
20095 (grub_video_vbe_set_active_render_target): Likewise.
20096 (grub_vbe_set_pixel_rgb): Remove function.
20097 (grub_vbe_set_pixel_index): Likewise.
20098 (index_color_mode): Remove static variable.
20099 (active_mode): Likewise.
20100 (framebuffer): Likewise.
20101 (bytes_per_scan_line): Likewise.
20102 (grub_video_vbe_adapter): Added new static variable.
20103 (framebuffer): Likewise.
20104 (render_target): Likewise.
20105 (initial_mode): Likewise.
20106 (mode_in_use): Likewise.
20107 (mode_list): Likewise.
20108
5f97350b 201092006-03-10 Marco Gerards <marco@gnu.org>
20110
20111 * configure.ac (AC_INIT): Bumped to 1.93.
20112
20113 * DISTLIST: Added `include/grub/hfs.h'.
20114
a3c5c6f8 201152006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20116
20117 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20118 18H, which might help the BIOS falling back to next boot media.
20119
6de53d26 201202006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20121
20122 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20123 Poe Chen <poe.poechen@gmail.com>.
20124
77c4a393 201252006-01-17 Marco Gerards <marco@gnu.org>
20126
20127 * include/grub/normal.h: Include <grub/script.h>.
20128 (grub_command_list): Removed struct.
20129 (grub_command_list_t): Removed type.
20130 (grub_menu_entry): Remove members `num' and `command_list'. Add
20131 members `commands' and `sourcecode'.
20132 * include/grub/script.h: Add inclusion guards.
20133 (grub_script_cmd_menuentry): New struct.
20134 (grub_script_execute_menuentry): New prototype.
20135 (grub_script_lexer_record_start): Likewise.
20136 (grub_script_lexer_record_stop): Likewise.
20137 * normal/execute.c (grub_script_execute_menuentry): New function.
20138 * normal/lexer.c (record, recording, recordpos, recordlen): New
20139 variables.
20140 (grub_script_lexer_record_start): New function.
20141 (grub_script_lexer_record_stop): Likewise.
20142 (recordchar): Likewise.
20143 (nextchar): Likewise.
20144 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20145 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20146 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20147 (current_menu): New variable.
20148 (free_menu): Mainly rewritten.
20149 (grub_normal_menu_addentry): New function.
20150 (read_config_file): Rewritten.
20151 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20152 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20153 the menu entry.
20154 (run): Mainly rewritten.
20155 * normal/parser.y (menu_entry): New variable.
20156 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20157 (menuentry): New rule.
20158 (command): Add `menuentry'.
20159 (if_statement): Allow additional returns before `fi'.
20160 * normal/script.c (grub_script_create_cmdmenu): New function.
20161
144f1f98 201622006-01-03 Marco Gerards <marco@gnu.org>
20163
20164 * INSTALL: GNU Bison is required.
20165 * configure.ac: Rewritten the test to detect Bison.
20166 * Makefile.in (YACC): New variable. Reported by Xun Sun
20167 <xun.sun.cn@gmail.com>.
20168
af4b2d89 201692006-01-03 Marco Gerards <marco@gnu.org>
20170
20171 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20172 the HFS+ filesystem to filesystem blocks.
20173 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20174 GCC warning is silenced.
20175
15643b71 201762006-01-03 Marco Gerards <marco@gnu.org>
20177
20178 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20179 read from disk from big endian to host byte order.
20180
00905879 201812006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20182
20183 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20184 documentation.
20185 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20186 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20187 embedded HFS+ filesystem.
20188 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20189 (grub_hfs_sblock): Move from here...
20190 * include/grub/hfs.h: To here... New file.
20191 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20192 documentation.
20193 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20194 New macros.
20195 (grub_hfsplus_volheader): Change type of member `magic' to
20196 `grub_uint16_t'.
20197 (grub_hfsplus_data): Add new member `embedded_offset'.
20198 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20199 returned block.
20200 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20201 Calculate the offset.
20202
8899bc3e 202032005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20204
20205 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20206 Removed.
20207 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20208
ae8c0277 202092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20210
20211 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20212 ENV->NAME is NULL after allocating ENV->VALUE.
20213
07084456 202142005-12-25 Marco Gerards <marco@gnu.org>
20215
20216 * kern/env.c (grub_env_set): Rewritten the error handling code.
20217
4750f5f1 202182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20219
20220 * geninit.sh: Made more robust, and more portable.
20221
50214199 202222005-12-25 Marco Gerards <marco@gnu.org>
20223
20224 Add support for Apple HFS+ filesystems.
f19dbdb7 20225
50214199 20226 * fs/hfsplus.c: New file.
20227
20228 * DISTLIST: Added `fs/hfsplus.c'.
20229
20230 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20231 (hfsplus_mod_SOURCES): New variable.
20232 (hfsplus_mod_CFLAGS): Likewise.
20233 (hfsplus_mod_LDFLAGS): Likewise.
20234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20235 (grub_setup_SOURCES): Likewise.
20236 (grub_mkdevicemap_SOURCES): Likewise.
20237 (grub_emu_SOURCES): Likewise.
20238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20239
20240 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20241
20242 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20243
befaed6c 202442005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20245
20246 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20247 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20248 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20249 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20250 normal/lexer.c, normal/parser.y, normal/script.c, and
20251 partmap/gpt.c.
20252 Removed kern/sparc64/cache.c.
20253
20254 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20255 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20256 grub_emu_init.c.
20257
20258 * configure.ac (AC_INIT): Bumped to 1.92.
20259
6a124103 202602005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20261
20262 * kern/err.c (grub_error_push): Added new function to support error
20263 stacks.
20264 (grub_error_pop): Likewise.
20265 (grub_error_stack_items): New local variable to support error stacks.
20266 (grub_error_stack_pos): Likewise.
20267 (grub_error_stack_assert): Likewise.
20268 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20269 stack depth.
20270 (grub_print_error): Added support to print errors from error stack.
20271
20272 * include/grub/err.h (grub_error_push): Added function prototype.
20273 (grub_error_pop): Likewise.
20274
be973c1b 202752005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20276
20277 * configure.ac: Accept `powerpc64' as host_cpu.
20278 (amd64): Rename to `biarch32'.
20279
20280 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20281 non-cacheline-aligned addresses.
20282
20283 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20284 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20285 if `size' is non-zero.
20286
b04216ab 202872005-12-03 Marco Gerards <mgerards@xs4all.nl>
20288
20289 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20290 and `cd' to make sure the filename is not prefixed with a
20291 directory name.
20292 (pkgdata_MODULES): Add `gpt.mod'.
20293 (gpt_mod_SOURCES): New variable.
20294 (gpt_mod_CFLAGS): Likewise.
20295 (gpt_mod_LDFLAGS): Likewise.
20296
20297 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20298
20299 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20300 New macro.
20301
20302 * partmap/gpt.c: New file.
20303
20304 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20305 GPT partition map is detected.
20306
41730ed9 203072005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20308
20309 * commands/i386/pc/play.c: New file.
20310 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20311 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20312 macros.
f19dbdb7 20313
95dc3643 203142005-11-27 Marco Gerards <mgerards@xs4all.nl>
20315
20316 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20317 ((unused))' to silence gcc warning.
20318
1569ec51 203192005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20320
20321 * configure.ac: Correct `AC_PROG_YACC' test.
20322
9abde152 203232005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20324
20325 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20326 check before installing files.
20327
44b83271 203282005-11-22 Mike Small <smallm@panix.com>
20329
20330 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20331 number regex so multidigit numbers are recognized correctly.
20332
203332005-11-22 Mike Small <smallm@panix.com>
20334
20335 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20336 debugging message before attempting to claim memory.
20337 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20338 multiple addresses in case of failure.
20339
9c12956b 203402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20341
20342 * term/tparm.c (get_space): Remove empty `if' statement.
20343
20344 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20345
20346 * kern/parser.c (check_varstate): Rename `state' to 's'.
20347
aeaf81d9 203482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20349
20350 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20351 variable definitions to the beginning of each function. Sort stack
20352 variables by size.
20353 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20354 `buf' argument to `char *'.
20355
79bbb63f 203562005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20357
20358 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20359 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20360 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20361 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20362 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20363 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20364 configfile.mod, search.mod, gzio.mod and test.mod.
20365 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20366 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20367 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20368 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20369 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20370 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20371 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20372 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20373 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20374 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20375 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20376 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20377 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20378 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20379 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20380 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20381 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20382 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20383 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20384 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20385 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20386 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20387 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20388
20389 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20390 `grep --include'.
20391 (pkgdata_MODULES): Add test.mod.
20392
233b1628 203932005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20394
20395 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20396 appending to variables with "+=".
20397 (PModule): Use full pathname to generate *.lst filenames.
20398
20399 * Makefile.in: Fixed list rules moved from genmk.rb.
20400 (.DELETE_ON_ERROR): New special target.
20401 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20402
20403 * conf/i386-pc.rmk: Include conf/common.mk.
20404 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20405 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20406 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20407 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20408 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20409 configfile.mod, search.mod, gzio.mod and test.mod.
20410 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20411 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20412 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20413 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20414 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20415 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20416 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20417 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20418 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20419 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20420 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20421 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20422 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20423 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20424 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20425 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20426 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20427 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20428 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20429 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20430 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20431 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20432 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20433 here...
20434 * conf/common.rmk: ... to here. New file.
20435
20436 * conf/common.mk: New file.
20437
16f820c8 204382005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20439
20440 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20441 (grub_script.tab.c): ... here.
20442
20443 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20444 (grub_script.tab.c): ... here.
20445
20446 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20447 (grub_script.tab.c): ... here.
20448
20449 * normal/command.c (grub_command_find): Fixed a memory leak of
20450 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20451
63ba1554 204522005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20453
20454 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20455 "@" which marks the start of a comment on ARM.
20456 (VARIABLE): Likewise.
20457
7f67dc13 204582005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20459
79bbb63f 20460 Add support for Linux/ADFS partition tables.
7f67dc13 20461
20462 * partmap/acorn.c: New file.
20463
20464 * include/grub/acorn_filecore.h: Likewise.
20465
20466 * DISTLIST: Added `partmap/acorn.c' and
20467 `include/grub/acorn_filecore.h'.
f19dbdb7 20468
7f67dc13 20469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20470 `partmap/acorn.c'.
20471 (pkgdata_MODULES): Add `acorn.mod'.
20472 (acorn_mod_SOURCES): New variable.
20473 (acorn_mod_CFLAGS): Likewise.
20474
20475 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20476 `partmap/acorn.c'.
20477 (pkgdata_MODULES): Add `acorn.mod'.
20478 (acorn_mod_SOURCES): New variable.
20479 (acorn_mod_CFLAGS): Likewise.
20480
20481 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20482 (pkgdata_MODULES): Add `acorn.mod'.
20483 (acorn_mod_SOURCES): New variable.
20484 (acorn_mod_CFLAGS): Likewise.
20485 (acorn_mod_LDFLAGS): Likewise.
20486
20487 * include/types.h (grub_disk_addr_t): New typedef.
20488
6d099807 204892005-11-13 Marco Gerards <mgerards@xs4all.nl>
20490
20491 * geninit.sh: New file.
20492
20493 * geninitheader.sh: Likewise.
20494
20495 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20496 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20497 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20498 * commands/configfile.c (grub_configfile_init)
20499 (grub_configfile_fini): Likewise.
20500 * commands/default.c (grub_default_init, grub_default_fini):
20501 Likewise.
20502 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20503 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20504 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20505 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20506 Likewise.
20507 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20508 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20509 Likewise.
20510 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20511 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20512 Likewise.
20513 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20514 Likewise.
fe6b695a 20515 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20516 Likewise.
20517 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20518 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20519 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20520 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20521 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20522 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20523 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20524 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20525 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20526 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20527 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20528 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20529 * partmap/amiga.c (grub_amiga_partition_map_init)
20530 (grub_amiga_partition_map_fini): Likewise.
20531 * partmap/apple.c (grub_apple_partition_map_init)
20532 (grub_apple_partition_map_fini): Likewise.
20533 * partmap/pc.c (grub_pc_partition_map_init)
20534 (grub_pc_partition_map_fini): Likewise.
20535 * partmap/sun.c (grub_sun_partition_map_init,
20536 grub_sun_partition_map_fini): Likewise.
20537 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20538 Likewise.
20539
20540 * util/grub-emu.c: Include <grub_modules_init.h>.
20541 (main): Don't initialize and de-initialize any modules directly,
20542 use `grub_init_all' and `grub_fini_all' instead.
20543
20544 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20545 `grub_vesafb_mod_init'.
20546 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20547 all users.
20548 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20549 `grub_vga_mod_init'. Updated all users.
20550 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20551
6d099807 20552 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20553 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20554 rules.
20555
20556 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20557 Generate a function to initialize the module in utilities.
20558 Updated all callers.
20559 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20560 initialize the module in utilities. Updated all callers.
20561
9046bcf0 205622005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20563
20564 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20565 escape sequence and a literal ^L to clear the screen.
20566
20567 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20568 when returning from Open Firmware.
20569
d13ea639 205702005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20571
20572 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20573 (grub_ofconsole_height): Likewise.
20574 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20575 manually insert a '\n'.
20576 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20577 `grub_ofconsole_height'. Return early if these are already set.
20578
a8fcf206 205792005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20580
20581 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20582 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20583 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20584 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20585 and `normal/script.c'.
20586 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20587 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20588 (test_mod_SOURCES): New variable.
20589 (test_mod_CFLAGS): Likewise.
20590 (test_mod_LDFLAGS): Likewise.
20591 (pkgdata_MODULES): Add `test.mod'.
20592 (grub_script.tab.c): New rule.
20593 (grub_script.tab.h): Likewise.
20594
b6b32745 205952005-11-07 Marco Gerards <mgerards@xs4all.nl>
20596
20597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20598 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20599 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20600 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20601 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20602 (test_mod_SOURCES): New variable.
20603 (test_mod_CFLAGS): Likewise.
20604 (pkgdata_MODULES): Add `test.mod'.
20605 (grub_script.tab.c): New rule.
20606 (grub_script.tab.h): Likewise.
20607
daac212a 206082005-11-06 Marco Gerards <mgerards@xs4all.nl>
20609
20610 Add initial scripting support.
20611
20612 * commands/test.c: New file.
20613 * include/grub/script.h: Likewise.
20614 * normal/execute.c: Likewise.
20615 * normal/function.c: Likewise.
20616 * normal/lexer.c: Likewise.
20617 * normal/parser.y: Likewise.
20618 * normal/script.c: Likewise.
20619
20620 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20621
daac212a 20622 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20623 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20624 `normal/function.c' and `normal/script.c'.
20625 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20626 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20627 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20628 variables.
daac212a 20629 (pkgdata_MODULES): Add `test.mod'.
20630 (grub_script.tab.c): New rule.
20631 (grub_script.tab.h): Likewise.
20632
20633 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20634
20635 * include/grub/normal.h (grub_test_init): New prototype.
20636 (grub_test_fini): Likewise.
f19dbdb7 20637
daac212a 20638 * normal/command.c: Include <grub/script.h>.
20639 (grub_command_execute): Rewritten.
f19dbdb7 20640
daac212a 20641 * util/grub-emu.c (main): Call `grub_test_init' and
20642 `grub_test_fini'.
20643
77500b2b 206442005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20645
20646 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20647 to 0.
20648 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20649 there are no pending characters.
20650
e45deb9e 206512005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20652
20653 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20654 `grub_strndup' to drop device arguments. Replace unnecessary
20655 `grub_strndup' with `grub_strdup'.
20656
4ce32619 206572005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20658
20659 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20660 `debug' environment variable has been set.
20661
206622005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20663
4ce32619 20664 * Makefile.in (install-local): Use $(DATA).
20665 (uninstall): Likewise.
20666 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20667 (sbin_UTILITIES): ... to here.
20668 (sbin_SCRIPTS): New variable.
20669 (grub_install_SOURCES): New variable.
20670 * util/powerpc/ieee1275/grub-install.in: New file.
20671 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20672 variable.
20673 (add_segments): Call `grub_util_get_path'.
20674
25fe6f03 206752005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20676
20677 From Timothy Baldwin:
20678 * commands/ls.c (grub_ls_list_files): Close FILE with
20679 grub_file_close.
20680 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20681
04ccf3ec 206822005-10-24 Marco Gerards <mgerards@xs4all.nl>
20683
20684 * include/grub/parser.h: New file.
20685
20686 * kern/parser.c: Likewise.
20687
20688 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20689 (grub_setup_SOURCES): Likewise.
20690 (grub_probefs_SOURCES): Likewise.
20691 (grub_emu_SOURCES): Likewise.
20692 (kernel_img_HEADERS): Add `parser.h'.
20693
20694 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20695 (grub_emu_SOURCES): Add `kern/parser.c'.
20696 (grubof_SOURCES): Likewise.
20697
20698 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20699 (grubof_SOURCES): Add `kern/parser.c'.
20700
20701 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20702
20703 * kern/misc.c (grub_split_cmdline): Removed function.
20704
20705 * kern/rescue.c: Include <grub/parser.h>.
20706 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20707 of `grub_split_cmdline'.
20708
20709 * normal/command.c: Include <grub/parser.h>.
20710 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20711 of `grub_split_cmdline'.
20712
20713 * normal/completion.c: Include <grub/parser.h>.
20714 (cmdline_state): New variable.
20715 (iterate_dir): End the filename with a quote depending on the
20716 command line state.
20717 (get_state): new function.
20718 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20719 split the arguments and determine the current argument. When the
20720 argument string is not quoted, escape all spaces.
20721
6d8f4b0e 207222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20723
20724 * normal/sparc64/setjmp.S: New file.
20725
15cf03ed 207262005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20727
20728 * include/grub/sparc64/libgcc.h: New file.
20729 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
20730 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
20731 normal/sparc64/setjmp.c.
20732
03e8661a 207332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20734
20735 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
20736 * kern/sparc64/cache.S: New file.
20737 * kern/sparc64/cache.c: Removed.
20738 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
20739 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
20740 -mtune=ultrasparc.
20741 (COMMON_LDFLAGS): Add -melf64_sparc.
20742 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
20743 (grubof_SOURCES): Use cache.S instead of cache.c.
20744 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
20745 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
20746 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
20747 commented though.
20748 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
20749 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
20750 (linux_mod_CFLAGS): Commented out.
20751 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
20752 out because module isn't built.
20753 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
20754 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
20755 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
20756 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
20757 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
20758 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20759 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20760 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
20761 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
20762 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
20763 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20764 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20765 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
20766 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
20767
34eeec8a 207682005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
20769
20770 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
20771 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
20772 longer, because HFS should not be used on PC.
20773
708367a3 207742005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20775
20776 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
20777 consistently within the loop.
20778
6fa1251a 207792005-10-15 Marco Gerards <mgerards@xs4all.nl>
20780
20781 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
20782 directory can not be read.
20783
4801580b 207842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20785
20786 * configure.ac (AC_INIT): Increase the version number to 1.91.
20787
20788 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
20789 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
20790 term/i386/pc/serial.c.
20791
219ad426 207922005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20793
20794 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
20795 file size must be permitted.
20796
20797 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
20798 between %ah and %al.
20799
688e5699 208002005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20801
20802 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
20803 grub_uint64_t.
20804 Call the hook with a NUL-terminated filename.
20805 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
20806 grub_cpu_to_be32.
20807
20808 * kern/term.c (cursor_state): New variable.
20809 (grub_term_set_current): Reset the cursor state on a new
20810 terminal.
20811 (grub_setcursor): Rewritten to use CURSOR_STATE.
20812 (grub_getcursor): New function.
20813
20814 * include/grub/term.h (grub_getcursor): New prototype.
20815
20816 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
20817 integers on ARM. Reported by Timothy Baldwin
20818 <T.E.Baldwin99@members.leeds.ac.uk>.
20819
bb34586c 208202005-10-11 Marco Gerards <mgerards@xs4all.nl>
20821
20822 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
20823 allocated.
20824 (grub_sfs_dir): Likewise.
20825
9a909877 208262005-10-09 Marco Gerards <mgerards@xs4all.nl>
20827
20828 Add support for the SFS filesystem.
20829
20830 * fs/sfs.c: New file.
20831
20832 * DISTLIST: Added `fs/sfs.c'.
20833
20834 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
20835 (grub_probefs_SOURCES): Likewise.
20836 (grub_emu_SOURCES): Likewise.
20837 (pkgdata_MODULES): Add `sfs.mod'.
20838 (sfs_mod_SOURCES): New variable.
20839 (sfs_mod_CFLAGS): Likewise.
20840 (sfs_mod_LDFLAGS): Likewise.
20841
20842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
20843 (pkgdata_MODULES): Add `sfs.mod'.
20844 (sfs_mod_SOURCES): New variable.
20845 (sfs_mod_CFLAGS): Likewise.
20846
20847 * util/grub-emu.c (main): Call `grub_sfs_init' and
20848 `grub_sfs_fini'.
20849
20850 * include/grub/fs.h (grub_sfs_init): New prototype.
20851 (grub_sfs_fini): Likewise.
20852
57bdbde3 208532005-10-07 Marco Gerards <mgerards@xs4all.nl>
20854
20855 Add support for the AFFS filesystem.
20856
20857 * fs/affs.c: New file.
20858
20859 * DISTLIST: Added `fs/affs.c'.
20860
20861 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
20862 (grub_probefs_SOURCES): Likewise.
20863 (grub_emu_SOURCES): Likewise.
20864 (pkgdata_MODULES): Add `affs.mod'.
20865 (affs_mod_SOURCES): New variable.
20866 (affs_mod_CFLAGS): Likewise.
20867 (affs_mod_LDFLAGS): Likewise.
20868
20869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
20870 (pkgdata_MODULES): Add `affs.mod'.
20871 (affs_mod_SOURCES): New variable.
20872 (affs_mod_CFLAGS): Likewise.
20873
20874 * util/grub-emu.c (main): Call `grub_affs_init' and
20875 `grub_affs_fini'.
20876
20877 * include/grub/fs.h (grub_affs_init): New prototype.
20878 (grub_affs_fini): Likewise.
20879
047b67e0 208802005-10-01 Marco Gerards <mgerards@xs4all.nl>
20881
20882 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
20883
59b8208a 208842005-10-01 Marco Gerards <mgerards@xs4all.nl>
20885
20886 * configure.ac: Accept `x86_64' as host_cpu. In that case add
20887 `-m32' to CFLAGS.
20888
20889 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
20890 linking.
f19dbdb7 20891
59b8208a 20892 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
20893 (COMMON_LDFLAGS): New variable.
20894 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
20895 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
20896 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
20897 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
20898 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
20899 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
20900 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
20901 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
20902 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
20903 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
20904 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20905 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20906 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
20907 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
20908 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
20909 variables.
20910 (normal_mod_ASFLAGS): Add `-m32'.
20911
20912 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
20913 (grub_host_size_t, grub_host_ssize_t): New types.
20914 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 20915 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 20916 `GRUB_HOST_SIZEOF_VOID_P'.
20917
20918 * include/grub/kernel.h (struct grub_module_header): Type of
20919 member offset changed to `grub_host_off_t'. Type of member size
20920 changed to `grub_host_size_t'.
20921 (struct grub_module_info): Type of member offset changed to
20922 `grub_host_off_t'. Type of member size changed to
20923 `grub_host_size_t'.
20924
b4093103 209252005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
20926
20927 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 20928
b4093103 20929 * kern/i386/pc/startup.S (multiboot_header): New label.
20930 (multiboot_entry): Likewise.
20931 (multiboot_trampoline): Likewise.
20932
20933 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20934 Increased to 0x4A0.
20935
20936 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
20937 put parentheses after a question mark.
20938 [!GRUB_UTIL] (my_mod): New variable.
20939
20940 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
20941
b2499b29 209422005-09-28 Marco Gerards <mgerards@xs4all.nl>
20943
20944 Adds support for the XFS filesystem. Btrees are not supported
20945 yet.
20946
20947 * fs/xfs.c: New file.
20948
20949 * DISTLIST: Added `fs/xfs.c'.
20950
20951 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
20952 (grub_probefs_SOURCES): Likewise.
20953 (grub_emu_SOURCES): Likewise.
20954 (pkgdata_MODULES): Add `xfs.mod'.
20955 (xfs_mod_SOURCES): New variable.
20956 (xfs_mod_CFLAGS): Likewise.
20957
20958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
20959 (pkgdata_MODULES): Add `xfs.mod'.
20960 (xfs_mod_SOURCES): New variable.
20961 (xfs_mod_CFLAGS): Likewise.
20962
20963 * util/grub-emu.c (main): Call `grub_xfs_init' and
20964 `grub_xfs_fini'.
20965
20966 * include/grub/fs.h (grub_xfs_init): New prototype.
20967 (grub_xfs_fini): Likewise.
20968
f19dbdb7 20969
83d37a62 209702005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
20971
20972 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
20973 color modes, allow greater than 16 colors to be configured as
20974 a default palette.
20975
47d2d65e 209762005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20977
20978 * normal/completion.c (complete_arguments): Add the qualifier
20979 const into OPTIONS.
20980
20981 From Omniflux <omniflux+lists@omniflux.com>:
20982 * include/grub/terminfo.h: New file.
20983 * include/grub/tparm.h: Likewise.
20984 * include/grub/i386/pc/serial.h: Likewise.
20985 * term/terminfo.c: Likewise.
20986 * term/tparm.c: Likewise.
20987 * term/i386/pc/serial.c: Likewise.
20988 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
20989 serial.mod.
20990 (terminfo_mod_SOURCES): New variable.
20991 (terminfo_mod_CFLAGS): Likewise.
20992 (serial_mod_SOURCES): Likewise.
20993 (serial_mod_CFLAGS): Likewise.
20994
48b671ff 209952005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
20996
20997 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
20998 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
20999 and kern/powerpc/ieee1275/cmain.c, respectively.
21000
21001 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21002 * kern/powerpc/ieee1275/crt0.S: ... here.
21003
21004 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21005 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21006
48b671ff 21007 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21008 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21009 instead of boot/powerpc/ieee1275/crt0.S and
21010 boot/powerpc/ieee1275/cmain.c, respectively.
21011
21012 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21013 sectors. It was not used anyway.
21014
09fc77a7 210152005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21016
21017 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21018 `unused parameter' warning.
21019
003789c7 210202005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21021
21022 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21023 function.
21024 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21025 getcharwidth.
21026
67f44c86 210272005-08-28 Marco Gerards <metgerards@student.han.nl>
21028
21029 * include/grub/normal.h (enum grub_completion_type): Added
21030 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21031
21032 * normal/cmdline.c (print_completion): Handle
21033 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21034 * normal/menu_entry.c (store_completion): Likewise.
21035
21036 * normal/completion.c (complete_arguments): New function.
21037 (grub_normal_do_completion): Call `complete_arguments' when the
21038 current words start with a dash.
21039
0b5abe02 210402005-08-27 Marco Gerards <metgerards@student.han.nl>
21041
21042 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21043 `gzio.mod' instead of `io.mod').
21044
d9864ee1 210452005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21046
21047 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21048 (DISTDIRS): Added io and video.
21049 Rewrite the search routine to make an output consistently.
21050
21051 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21052 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21053 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21054 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21055 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21056 util/powerpc/ieee1275/misc.c.
f19dbdb7 21057
d9864ee1 21058 * include/grub/gzio.h: New file.
21059 * io/gzio.c: Likewise.
f19dbdb7 21060
d9864ee1 21061 * kern/file.c (grub_file_close): Call grub_device_close only if
21062 FILE->DEVICE is not NULL.
21063
21064 * include/grub/mm.h [!NULL] (NULL): New macro.
21065
21066 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21067
21068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21069 (pkgdata_MODULES): Added gzio.mod.
21070 (gzio_mod_SOURCES): New variable.
21071 (gzio_mod_CFLAGS): Likewise.
21072
21073 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21074 (pkgdata_MODULES): Added gzio.mod.
21075 (gzio_mod_SOURCES): New variable.
21076 (gzio_mod_CFLAGS): Likewise.
21077
21078 * commands/cat.c: Include grub/gzio.h.
21079 (grub_cmd_cat): Use grub_gzfile_open instead of
21080 grub_file_open.
f19dbdb7 21081
d9864ee1 21082 * commands/cmp.c: Include grub/gzio.h.
21083 (grub_cmd_cmp): Use grub_gzfile_open instead of
21084 grub_file_open.
21085
21086 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21087 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21088 grub_file_open.
21089 (grub_rescue_cmd_module): Likewise.
21090
fa46f4b5 210912005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21092
21093 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21094 kern/sparc64/ieee1275/init.c because it contains _start.
21095 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21096
e9211b5d 210972005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21098
21099 * configure.ac: Add support for sparc64 host with ieee1275
21100 firmware.
21101 * configure: Generated from configure.ac.
21102 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21103 instead of int.
21104 (grub_ofdisk_read): Likewise.
21105 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21106 pointers as (void *) to remove a warning.
21107 (grub_ofdisk_close): Likewise.
21108 (grub_ofdisk_read): Likewise.
21109 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21110 returns, so make it return void to remove a warning.
21111 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21112 Corresponding prototype change.
21113 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21114 values, and cast the pointers as (void *) to remove a warning.
21115 (grub_mm_dump): Likewise.
21116 * conf/sparc64-ieee1275.mk: New file.
21117 * conf/sparc64-ieee1275.rmk: Likewise.
21118 * include/grub/sparc64/setjmp.h: Likewise.
21119 * include/grub/sparc64/types.h: Likewise.
21120 * include/grub/sparc64/ieee1275/console.h: Likewise.
21121 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21122 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21123 * include/grub/sparc64/ieee1275/time.h: Likewise.
21124 * kern/sparc64/cache.c: Likewise.
21125 * kern/sparc64/dl.c: Likewise.
21126 * kern/sparc64/ieee1275/init.c: Likewise.
21127 * kern/sparc64/ieee1275/openfw.c: Likewise.
21128
385c6a92 211292005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21130
21131 * util/console.c (grub_ncurses_putchar): If C is greater than
21132 0x7f, set C to a question mark.
21133 (grub_ncurses_getcharwidth): New function.
21134 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21135 getcharwidth.
21136
21137 * normal/menu.c (print_entry): Made aware of Unicode. First,
21138 convert TITLE to UCS-4, and predict the cursor position by
21139 grub_getcharwidth.
21140
21141 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21142 const to SRC.
21143 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21144
16ccb8b1 211452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21146
21147 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21148 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21149 grub_strcat.
21150
21151 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21152 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21153 grub_strcpy and grub_strlen. Take it into account that a space
21154 character is inserted as a delimiter.
21155
6a85ce79 211562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21157
21158 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21159 invalid magic in the error.
6a85ce79 21160
21161 * commands/search.c: New file.
f19dbdb7 21162
6a85ce79 21163 * util/grub-emu.c (main): Call grub_search_init and
21164 grub_search_fini.
21165
21166 * kern/rescue.c (grub_rescue_print_disks): Removed.
21167 (grub_rescue_print_devices): New function.
21168 (grub_rescue_cmd_ls): Use grub_device_iterate with
21169 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21170 grub_rescue_print_disks.
21171
21172 * kern/partition.c (grub_partition_iterate): Return the result of
21173 PARTMAP->ITERATE instead of GRUB_ERRNO.
21174
21175 * kern/device.c: Include grub/partition.h.
21176 (grub_device_iterate): New function.
21177
21178 * include/grub/partition.h (grub_partition_iterate): Return int
21179 instead of grub_err_t.
21180
21181 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21182 prototype.
21183 [GRUB_UTIL] (grub_search_fini): Likewise.
21184
21185 * include/grub/device.h (grub_device_iterate): New prototype.
21186
21187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21188 commands/search.c.
21189 (pkgdata_MODULES): Added search.mod.
21190 (search_mod_SOURCES): New variable.
21191 (search_mod_CFLAGS): Likewise.
21192
21193 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21194 (pkgdata_MODULES): Added search.mod.
21195 (search_mod_SOURCES): New variable.
21196 (search_mod_CFLAGS): Likewise.
21197
21198 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21199 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21200 All callers changed.
21201
21202 * DISTLIST: Added commands/search.c.
21203
ef095434 212042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21205
21206 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21207 conversion.
21208 (grub_getcharwidth): New function.
21209
21210 * kern/misc.c (grub_utf8_to_ucs4): New function.
21211
21212 * include/grub/term.h (struct grub_term): Added a new member
21213 "getcharwidth".
21214 (grub_getcharwidth): New prototype.
21215
21216 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21217
21218 * term/i386/pc/console.c (map_char): New function. Segregated from
21219 grub_console_putchar.
21220 (grub_console_putchar): Use map_char.
21221 (grub_console_getcharwidth): New function.
21222 (grub_console_term): Specified grub_console_getcharwidth as
21223 getcharwidth.
21224
21225 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21226 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21227
21228 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21229 GRUB_ERRNO.
21230 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21231 on grub_strtoul completely.
21232 (write_char): Declare local variables in the beginning of the
21233 function.
21234 (grub_vesafb_getcharwidth): New function.
21235 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21236 getcharwidth.
21237
1f0a95e4 212382005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21239
21240 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21241 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21242 commands/i386/pc/vbetest.c.
21243
21244 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21245 call grub_vbe_get_controller_info again, because the returned
21246 information is volatile.
21247 (grub_vbe_set_video_mode): Mostly rewritten.
21248 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21249 grub_vbe_status_t correctly.
21250 (grub_vbe_get_video_mode_info): Likewise.
21251 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21252 several if statements.
21253
21254 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21255 * commands/i386/pc/vbeinfo.c: ... this.
21256
21257 * commands/i386/pc/vbe_test.c: Renamed to ...
21258 * commands/i386/pc/vbetest.c: ... this.
21259
21260 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21261 ...
21262 (grub_cmd_vbeinfo): ... this. Save video modes before
21263 iterating. Skip a video mode, if it is not available, not enough
21264 information is given or it is monochrome. Show the memory
21265 model. Leave the interpretation of MODEVAR to grub_strtoul
21266 completely.
21267 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21268 (GRUB_MOD_FINI): Likewise.
21269
21270 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21271 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21272 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21273 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21274 grub_strtoul completely.
21275 (real2pm): Removed.
21276 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21277 (GRUB_MOD_FINI): Likewise.
21278
21279 * normal/misc.c: Include grub/mm.h.
21280
21281 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21282 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21283 (vbe_list_modes_mod_SOURCES): Removed.
21284 (vbe_list_modes_mod_CFLAGS): Likewise.
21285 (vbe_test_mod_SOURCES): Likewise.
21286 (vbe_test_mod_CFLAGS): Likewise.
21287 (vbeinfo_mod_SOURCES): New variable.
21288 (vbeinfo_mod_CFLAGS): Likewise.
21289 (vbetest_mod_SOURCES): Likewise.
21290 (vbetest_mod_CFLAGS): Likewise.
21291
992ffbbe 212922005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21293
21294 * normal/misc.c: New file.
21295
21296 * DISTLIST: Added normal/misc.c.
f19dbdb7 21297
992ffbbe 21298 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21299 DISK to HOOK. Call HOOK with DISK.
21300 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21301 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21302 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21303
21304 * normal/menu_entry.c (struct screen): Added a new member
21305 "completion_shown".
21306 (completion_buffer): New global variable.
21307 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21308 (store_completion): New function.
21309 (complete): Likewise.
21310 (clear_completions): Likewise.
21311 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21312 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21313 a tab, call complete.
21314
21315 * normal/completion.c (disk_dev): Removed.
21316 (print_simple_completion): Likewise.
21317 (print_partition_completion): Likewise.
21318 (print_func): New global variable.
21319 (add_completion): Do not take the arguments WHAT or PRINT any
21320 longer. Added a new argument TYPE. Instead of printing directly,
21321 call PRINT_FUNC if not NULL.
21322 All callers changed.
21323 (complete_device): Use a local variable DEV instead of
21324 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21325 (grub_normal_do_completion): Take a new argument HOOK. Do not
21326 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21327 empty string, return NULL instead.
21328 All callers changed.
21329
21330 * normal/cmdline.c (print_completion): New function.
21331
21332 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21333 to HOOK.
21334 All callers changed.
21335
21336 * kern/disk.c (grub_print_partinfo): Removed.
21337
21338 * include/grub/partition.h (struct grub_partition_map): Add a new
21339 argument DISK into HOOK of ITERATE.
21340 (grub_partition_iterate): Add a new argument DISK to HOOK.
21341
21342 * include/grub/normal.h (enum grub_completion_type): New enum.
21343 (grub_completion_type_t): New type.
21344 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21345 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21346 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21347 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21348 (grub_normal_do_completion): Added a new argument HOOK.
21349 (grub_normal_print_device_info): New prototype.
21350
21351 * include/grub/disk.h (grub_print_partinfo): Removed.
21352
21353 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21354 (normal_mod_SOURCES): Likewise.
21355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21356 (normal_mod_SOURCES): Likewise.
21357
21358 * commands/ls.c (grub_ls_list_disks): Use
21359 grub_normal_print_device_info instead of grub_print_partinfo. Free
21360 PNAME.
21361 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21362 duplicating the code.
21363
0bd41162 213642005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21365
21366 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21367 follow GCS more precisely.
21368 * commands/i386/pc/vbe_test.c: Likewise.
21369 * include/grub/i386/pc/vbe.h: Likewise.
21370 * term/i386/pc/vesafb.c: Likewise.
21371 * video/i386/pc/vbe.c: Likewise.
0bd41162 21372
6323696a 213732005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21374
21375 * DISTLIST: Added term/i386/pc/vesafb.c
21376 DISTLIST: Added video/i386/pc/vbe.c
21377 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21378 DISTLIST: Added commands/i386/pc/vbe_test.c.
21379 * commands/i386/pc/vbe_list_modes.c: New file.
21380 * commands/i386/pc/vbe_test.c: Likewise.
21381 * term/i386/pc/vesafb.c: Likewise.
21382 * video/i386/pc/vbe.c: Likewise.
21383 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21384 (grub_vbe_probe) Added prototype.
21385 (grub_vbe_set_video_mode) Likewise.
21386 (grub_vbe_get_video_mode) Likewise.
21387 (grub_vbe_get_video_mode_info) Likewise.
21388 (grub_vbe_set_pixel_rgb) Likewise.
21389 (grub_vbe_set_pixel_index) Likewise.
21390 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21391 (pkgdata_MODULES): Added vesafb.mod.
21392 (pkgdata_MODULES): Added vbe_list_modes.mod.
21393 (pkgdata_MODULES): Added vbe_test.mod.
21394 (vbe_mod_SOURCES): Added.
21395 (vbe_mod_CFLAGS): Likewise.
21396 (vesafb_mod_SOURCES): Likewise.
21397 (vesafb_mod_CFLAGS): Likewise.
21398 (vbe_list_modes_mod_SOURCES): Likewise.
21399 (vbe_list_modes_mod_CFLAGS): Likewise.
21400 (vbe_test_mod_SOURCES): Likewise.
21401 (vbe_test_mod_CFLAGS): Likewise.
21402
0a74e62f 214032005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21404
0a74e62f 21405 * normal/command.c (grub_command_execute): If INTERACTIVE is
21406 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21407 CMDLINE. Disable the pager if INTERACTIVE is true.
21408 All callers are changed.
21409
21410 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21411 before reading a config file.
21412 * normal/main.c (read_config_file): Even if a command is not
21413 found, register it if it is within an entry.
21414
21415 * util/grub-emu.c: Include sys/types.h and unistd.h.
21416 (options): Added --hold.
21417 (struct arguments): Added a new member "hold".
21418 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21419 missing.
21420 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21421 cleared by a debugger, if it is not zero.
21422
21423 * include/grub/normal.h (grub_command_execute): Add an argument
21424 INTERACTIVE.
21425
e51f85ae 214262005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21427
21428 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21429
e9c6f39b 214302005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21431
21432 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21433 program with another one, because the old one didn't detect a bug
21434 in gcc-3.4. Always use regparm 2, because the new test is still
21435 not enough for gcc-4.0. Someone must investigate a simple test
21436 case which detects a bug in gcc-4.0.
21437
8de3495c 214382005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21439
21440 * DISTLIST: Added normal/completion.c.
21441
21442 * normal/completion.c: New file.
f19dbdb7 21443
8de3495c 21444 * term/i386/pc/console.c (grub_console_getwh): New function.
21445 (grub_console_term): Assign grub_console_getwh to getwh.
21446
21447 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21448 function is defined in normal/completion.c as
21449 grub_normal_do_completion.
21450 (grub_cmdline_get): Use grub_normal_do_completion instead of
21451 grub_tab_complete.
21452
21453 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21454 returns non-zero, otherwise return 0.
21455 (grub_partition_iterate): First, probe the partition map. Then,
21456 call ITERATE only for this partition map.
21457
21458 * kern/misc.c (grub_strncmp): Rewritten.
21459
21460 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21461 returns non-zero. Otherwise return 0.
21462
21463 * include/grub/partition.h (grub_partition_map_iterate): Return
21464 int instead of void.
21465
21466 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21467
21468 * include/grub/misc.h (grub_strncmp): Change the type of N to
21469 grub_size_t.
21470
21471 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21472 of void.
21473
21474 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21475 unsigned explicitly before comparing it with I.
8de3495c 21476
21477 * kern/main.c (grub_env_write_root): Add the attribute unused into
21478 VAR.
21479
21480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21481 normal/completion.c.
21482 (normal_mod_SOURCES): Likewise.
21483 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21484 (normal_mod_SOURCES): Likewise.
21485
21486 * normal/command.c (grub_iterate_commands): If ITERATE returns
21487 non-zero, return one immediately.
21488
e85e144b 214892005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21490
21491 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21492 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21493 descriptions.
21494 (grub_vbe_get_controller_info): New function.
21495 (grub_vbe_get_mode_info): Likewise.
21496 (grub_vbe_set_mode): Likewise.
21497 (grub_vbe_get_mode): Likewise.
21498 (grub_vbe_set_memory_window): Likewise.
21499 (grub_vbe_get_memory_window): Likewise.
21500 (grub_vbe_set_scanline_length): Likewise.
21501 (grub_vbe_get_scanline_length): Likewise.
21502 (grub_vbe_set_display_start): Likewise.
21503 (grub_vbe_get_display_start): Likewise.
21504 (grub_vbe_set_palette_data): Likewise.
21505 * include/grub/i386/pc/vbe.h: New file.
21506
c46153d2 215072005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21508
21509 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21510 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21511 * DISTLIST: Likewise.
21512 * kern/ieee1275/of.c: Moved to ...
21513 * kern/ieee1275/ieee1275.c: ... here.
21514
0cb90c45 215152005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21516
21517 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21518 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21519 Pass 0 as `end' parameter to grub_strtoul().
21520
a19fb360 215212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21522
21523 * include/grub/powerpc/ieee1275/console.h: Do not include
21524 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21525 ifdef.
21526 (grub_console_cur_color): Remove i386-specific prototype.
21527 (grub_console_real_putchar): Likewise.
21528 (grub_console_checkkey): Likewise.
21529 (grub_console_getkey): Likewise.
21530 (grub_console_getxy): Likewise.
21531 (grub_console_gotoxy): Likewise.
21532 (grub_console_cls): Likewise.
21533 (grub_console_setcursor): Likewise.
21534 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21535 Include <grub/machine/console.h>.
21536 * term/ieee1275/ofconsole.c: Likewise.
21537
4ac9bd04 215382005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21539
21540 * Makefile.in (LIBLZO): New variable.
21541
21542 * configure.ac: Check for LZO version 2.
21543
21544 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21545 lzo/lzo1x.h instead of lzo1x.h.
21546
21547 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21548 of -llzo.
21549
21550 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21551 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21552
21553 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21554 copying the data from PARTITION to P.
21555
f4917dfd 215562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21557
21558 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21559 negative, unload the module.
21560
21561 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21562 map is "pc_partition_map" but not "pc".
21563 (usage): Fix the description. The options are --boot-image and
21564 --core-image but not --boot-file or --core-file.
21565 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21566 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21567 DEFAULT_DIRECTORY.
21568
21569 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21570 --core-file. Specify INSTALL_DEVICE as an argument.
21571
21572 * util/console.c: Include config.h.
21573 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21574 [HAVE_NCURSES_H]: Include ncurses.h.
21575 [HAVE_CURSES_H]: Include curses.h.
21576 [!A_NORMAL] (A_NORMAL): Defined as zero.
21577 [!A_STANDOUT] (A_STANDOUT): Likewise.
21578
21579 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21580 -lncurses.
21581 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21582
21583 * configure.ac: Check for curses libraries and headers.
21584
21585 * Makefile.in (LIBCURSES): New variable.
21586
21587 * genmk.rb (Script::rule): Set the executable bits.
21588
21589 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21590 name of the PC partition map is "pc_partition_map" but not "pc".
21591
0e143073 215922005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21593
21594 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21595 (modules): Likewise.
21596 (usage): Added descriptions for --modules and --grub-probefs.
21597 Handle --modules and --grub-probefs. Save the arguments in MODULES
21598 and GRUB_PROBEFS, respectively.
21599 Auto-detect a filesystem module against GRUBDIR. If the result is
21600 empty and modules are not specified explicitly, abort the
21601 installation. Add the result to MODULES.
21602
21603 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21604 disk/powerpc/ieee1275/ofdisk.c,
21605 include/grub/powerpc/ieee1275/init.h and
21606 term/powerpc/ieee1275/ofconsole.c.
21607 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21608 term/ieee1275/ofconsole.c.
21609
21610 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21611
21612 * COPYING: Upgraded to the latest version. Only the address of the
21613 FSF office has changed.
f19dbdb7 21614
efd6e6d5 216152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21616
21617 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21618 kern/ieee1275.c with kern/ieee1275/of.c.
21619
21620 * kern/ieee1275.c: Moved to ...
21621 * kern/ieee1275/of.c: ... here.
21622
8ceafda2 216232005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21624
21625 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21626 readability.
8ceafda2 21627
21628 * config.guess: Updated to the latest version from gnulib.
21629 * config.sub: Likewise.
21630 * install.sh: Likewise.
21631 * mkinstalldirs: Likewise.
21632
21633 * include/grub/console.h: Removed. This file is arch-specific. Do
21634 not put this in include/grub.
21635
21636 * include/grub/i386/pc/console.h: Resurrected.
21637
21638 * util/console.c: Include grub/machine/console.h instead of
21639 grub/console.h.
21640 * util/grub-emu.c: Likewise.
21641
267f6cd9 216422005-08-04 Marco Gerards <metgerards@student.han.nl>
21643
21644 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21645 hardcoded value.
f19dbdb7 21646
267f6cd9 21647 From Vincent Pelletier <subdino2004@yahoo.fr>
21648 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21649 Redefined to use grub_getwh.
21650 (grub_term): New member named getwh.
21651 (grub_getwh): New prototype.
21652 * kern/term.c (grub_getwh): New function.
21653 * term/i386/pc/console.c (grub_console_getwh): New function.
21654 (grub_console_term): New member `getwh'.
21655 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21656 (grub_vga_term): New member `getwh'.
0b5abe02 21657 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21658 grub_ssize_t.
21659 (grub_ofconsole_getw): New function.
21660 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21661 (grub_ofconsole_term): New field named getwh and new initial
21662 value.
21663
3be7266d 216642005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21665
21666 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21667 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21668 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21669 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21670 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21671 of <grub/machine/ieee1275.h>.
21672 * commands/ieee1275/reboot.c: Likewise.
21673 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21674 * kern/ieee1275.c: ... to here. All users updated. Change all
21675 parameter structs to use new type `grub_ieee1275_cell_t'.
21676 * term/powerpc/ieee1275/ofconsole.c: Move ...
21677 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21678 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21679 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21680 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21681 to return int.
21682 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21683 Remove unused prototypes. All users updated.
21684 * include/grub/powerpc/ieee1275/console.h: Removed.
21685 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21686 `grub_ieee1275_cell_t'.
21687 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21688 Cast comparisons with -1 to the correct type.
21689 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21690 type to match `grub_ieee1275_entry_fn'.
21691
8b5f3938 216922005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21693
21694 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21695
21696 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21697 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21698 partmap/sun.c.
21699 (grub_probefs_SOURCES): New variable.
21700
21701 * util/i386/pc/grub-probefs.c: New file.
21702
21703 * util/i386/pc/grub-setup.c (main): Call
21704 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21705 grub_hfs_init and grub_jfs_init to initialize the system. Call
21706 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21707 grub_pc_partition_map_fini to finish the system.
21708
ea409713 217092005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21710
21711 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21712 function.
21713 (grub_multiboot_load_elf32): Likewise.
21714 (grub_multiboot_is_elf64): Likewise.
21715 (grub_multiboot_load_elf64): Likewise.
21716 (grub_multiboot_load_elf): Likewise.
21717 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21718 an ELF32 or ELF64 file.
21719 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21720
21721 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21722 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21723 NULL before calling FS->LABEL.
21724 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21725 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21726 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
21727 before calling FS->LABEL.
21728
141a288b 217292005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
21730
21731 * util/i386/pc/grub-install.in (datadir): New variable.
21732 (libdir): Removed.
21733 (pkgdatadir): New variable.
21734 (pkglibdir): Removed.
21735
0d5f8a54 217362005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
21737
21738 * DISTLIST: Added util/i386/pc/grub-install.in.
21739
21740 * util/i386/pc/grub-install.in: New file.
21741
21742 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
21743 (grub_install_SOURCES): Likewise.
21744
21745 * genmk.rb: Added support for scripts.
21746 (Script): New class.
21747 (scripts): New variable.
21748
21749 * Makefile.in (install-local): Install sbin_SCRIPTS by
21750 INSTALL_SCRIPT.
21751 (uninstall): Remove sbin_SCRIPTS.
21752
21753 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
21754 device, try to get a GRUB device by
21755 grub_util_biosdisk_get_grub_dev.
21756 Free DEST_DEV.
21757
21758 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
21759 description for --device-map.
21760
5f968e1e 217612005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21762
21763 Change the semantics of variable hooks. They now return strings
21764 instead of error values.
f19dbdb7 21765
5f968e1e 21766 * util/i386/pc/grub-setup.c: Include grub/env.h.
21767 (setup): Use grub_device_set_root instead of grub_env_set.
21768
21769 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
21770 grub_env_get instead of grub_device_set_root and
21771 grub_device_get_root, respectively.
21772
21773 * kern/main.c (grub_env_write_root): New function.
21774 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
21775 grub_env_set instead of grub_device_set_root.
21776
21777 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
21778 many variables.
21779 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
21780 rather than calling ENV->WRITE_HOOK afterwards.
21781 (grub_env_get): Return the result of ENV->READ_HOOK rather than
21782 passing a pointer of a pointer.
21783 (grub_register_variable_hook): Change the types of "read_hook" and
21784 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
21785 respectively.
21786 Allocate the default empty string on the heap, because this string
21787 may be freed later.
21788
21789 * kern/device.c: Include grub/env.h.
21790 (grub_device_set_root): Removed.
21791 (grub_device_get_root): Likewise.
21792 (grub_device_open): Use grub_env_get instead of
21793 grub_device_get_root.
21794
21795 * include/grub/env.h (grub_env_read_hook_t): New type.
21796 (grub_env_write_hook_t): Likewise.
21797 (grub_env_var): Change the types of "read_hook" and "write_hook"
21798 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
21799 (grub_register_variable_hook): Likewise.
21800
21801 * include/grub/device.h (grub_device_set_root): Removed.
21802 (grub_device_set_root): Likewise.
21803
21804 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
21805 make sure that DIRNAME terminates with '/', so that
21806 grub_fat_find_dir will fail if PATH is not a directory.
21807
21808 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
21809 from DIRNAME.
21810 Use the qualifier auto for print_files and print_files_long.
21811 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
21812 as a regular file.
21813 Put a newline only if there is no error.
21814 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
21815 used.
21816
896f0afd 218172005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21818
21819 * kern/partition.c (grub_partition_probe): Initialize PART to
21820 NULL. Otherwise, when no partition map is registered, this returns
21821 a garbage.
21822
b28b81b2 218232005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
21824
21825 * partmap/apple.c (apple_partition_map_iterate): Check if POS
21826 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
21827 valid.
21828
5f3607e0 218292005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
21830
21831 * commands/ls.c (grub_ls_list_disks): Print the filesystem
21832 information on each device, if it does not have partitions. Print
21833 "Device" instead of "Disk", because this function is not specific
21834 to disk devices.
21835
21836 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
21837 static to ensure that it is put on the memory rather than a
21838 register.
21839
502c87e8 218402005-07-17 Yoshinori Okuji <okuji@enbug.org>
21841
21842 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
21843 (grub_cat_init): Likewise.
21844 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
21845 (options): Likewise.
21846 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21847 (grub_configfile_init): Likewise.
21848 * font/manager.c (GRUB_MOD_INIT): Likewise.
21849 * commands/help.c (GRUB_MOD_INIT): Likewise.
21850 (grub_help_init): Likewise.
21851 * normal/command.c (grub_command_init): Likewise.
21852 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
21853 * disk/loopback.c (grub_loop_init): Likewise.
21854 (GRUB_MOD_INIT): Likewise.
21855 * commands/ls.c (grub_ls_init): Likewise.
21856 (GRUB_MOD_INIT): Likewise.
21857 (options): Likewise.
21858 * commands/boot.c (grub_boot_init): Likewise.
21859 (GRUB_MOD_INIT): Likewise.
21860 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
21861 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
21862 (GRUB_MOD_INIT): Likewise.
21863 * commands/cmp.c (grub_cmp_init): Likewise.
21864 (GRUB_MOD_INIT): Likewise.
21865
21866 * normal/arg.c: Use <> instead of "" to include header files.
21867 (SHORT_ARG_HELP): New macro.
21868 (SHORT_ARG_USAGE): Likewise.
21869 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
21870 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
21871 descriptions.
21872 (find_short): Check if C is 'h' or 'u' explicitly.
21873 (grub_arg_show_help): Use space characters instead of tabs. Treat
21874 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
21875 are shown with --help and --usage only if they are not used for
21876 the command itself.
21877 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
21878 'h' and 'u'.
21879
21880 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
21881 const into "longarg". Change the type of "shortarg" to int.
21882
f806d18e 218832005-07-17 Yoshinori Okuji <okuji@enbug.org>
21884
21885 * boot/i386/pc/boot.S (boot_drive_check): New label.
21886
21887 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
21888 macro.
21889
21890 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
21891 which do not pass a boot drive correctly. Copied from GRUB Legacy.
21892
e293232b 218932005-07-17 Yoshinori Okuji <okuji@enbug.org>
21894
21895 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
21896 When turning off Gate A20, skip the check and return immediately,
21897 because this is not fatal usually.
21898
ebedfd00 218992005-07-17 Yoshinori Okuji <okuji@enbug.org>
21900
21901 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
21902 be 0x7C00 instead of 0x8000.
21903
21904 * boot/i386/pc/pxeboot.S: Rewritten.
21905
21906 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
21907 EXT_C.
21908 (gate_a20_check_state): Read a byte from 0x108000. Invert the
21909 result.
21910
654fc59f 219112005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
21912
21913 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
21914 robustness. This routine now supports a BIOS call and System
21915 Control Port A to modify the gate A20.
21916
21917 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21918 Increased to 0x440.
21919
09f9923f 219202005-07-12 Hollis Blanchard <hollis@penguinppc.org>
21921
21922 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
21923 device path and resulting ihandle.
21924 (grub_ofdisk_close): dprintf the ihandle being closed.
21925 (grub_ofdisk_read): dprintf function parameters.
21926 * kern/mm.c (grub_mm_init_region): Likewise.
21927 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
21928 (grub_linux_boot): dprintf the Linux entry point, initrd address and
21929 size, and boot arguments.
21930 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
21931 before loading into memory.
21932 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
21933 before loading into memory.
21934
7ef504d8 219352005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
21936
21937 * kern/mm.c: Added much documentation.
21938 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
21939 8, set to 5 instead of 8.
21940
e0f050c2 219412005-07-10 Yoshinori Okuji <okuji@enbug.org>
21942
21943 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
21944
21945 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
21946 (grub_mkdevicemap_SOURCES): New variable.
21947
21948 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
21949 lib/device.c of GRUB Legacy.
21950
7224189a 219512005-07-10 Yoshinori Okuji <okuji@enbug.org>
21952
21953 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
21954 instead of PATH is NULL.
21955
68c864eb 219562005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
21957
21958 * commands/cmp.c (BUFFER_SIZE): New macro.
21959 (grub_cmd_cmp): Close the right file at the right time. Compare
21960 only data just read. Don't report files of different size as
21961 identical. Dynamically allocate buffers. Move variable
21962 declarations at the beginning of function.
21963
e6f3e614 219642005-07-09 Yoshinori Okuji <okuji@enbug.org>
21965
21966 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
21967 reverse.
21968
f8f1559a 219692004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
21970
21971 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
21972 when backspace is pressed at beginning of line.
21973
39c9d41d 219742005-07-03 Yoshinori Okuji <okuji@enbug.org>
21975
21976 * DISTLIST: Added genfslist.sh.
21977
21978 * normal/main.c (fs_module_list): New variable.
21979 (autoload_fs_module): New function.
21980 (read_fs_list): Likewise.
21981 (grub_normal_execute): Call read_fs_list.
21982
21983 * kern/fs.c (grub_fs_autoload_hook): New variable.
21984 (grub_fs_probe): Added support for auto-loading.
21985
21986 * include/grub/normal.h (struct grub_fs_module_list): New struct.
21987 (grub_fs_module_list_t): New type.
21988
21989 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
21990 (grub_fs_autoload_hook): New prototype.
21991
21992 * genfslist.sh: New file.
f19dbdb7 21993
39c9d41d 21994 * genmk.rb: Added a rule to generate a filesystem list.
21995
121c1d83 219962005-06-30 Marco Gerards <metgerards@student.han.nl>
21997
21998 * configure.ac: Fix the test for cross-compiling.
21999
22000 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22001 define GRUB_UTIL anymore.
22002
22003 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22004 so this function works on other systems than just big endian.
22005 (load_modules): Likewise.
22006 (add_segments): Likewise.
22007
e75d76e1 220082005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22009
22010 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22011 contains `l' modifier, get a long from va_arg().
22012
50b5a0a7 220132005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22014
22015 * kern/mm.c (grub_free): If the next free block which is being
22016 merged is the first free block, set the first block to the block
22017 being freed.
22018 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22019
89371b20 220202005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22021
22022 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22023 `grub_ieee1275_chosen'.
22024
168d6e58 220252005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22026
22027 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22028 (grub_ieee1275_chosen): New variable.
22029 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22030 `chosen'.
22031 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22032 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22033 Rename first argument to `phandle' for consistency.
22034 (grub_ieee1275_get_property_length): Likewise.
22035 (grub_ieee1275_next_property): Likewise. Change type of first argument
22036 to grub_ieee1275_phandle_t.
22037 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22038 Move export next to declaration.
22039 (grub_ieee1275_chosen): New variable.
22040 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22041 Correct cosmetic typo.
22042 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22043 `grub_ieee1275_chosen'.
22044 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22045 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22046 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22047 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22048 `grub_ieee1275_chosen'.
22049
ca5baa3f 220502005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22051
22052 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22053 /chosen/bootargs.
22054 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22055 /chosen/bootargs as "variable=value" pairs.
22056
708b345f 220572005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22058
22059 * include/grub/misc.h (grub_dprintf): New macro.
22060 (grub_real_dprintf): New prototype.
22061 (grub_strword): Likewise.
22062 (grub_iswordseparator): Likewise.
22063 * kern/misc.c (grub_real_dprintf): New function.
22064 (grub_strword): Likewise.
22065 (grub_iswordseparator): Likewise.
22066
f4c5e67c 220672005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22068
22069 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22070 (roundup): Remove macro.
22071 (grub_ieee1275_flags): Make static.
22072 (grub_ieee1275_realmode): Remove.
22073 (grub_ieee1275_test_flag): New function.
22074 (grub_ieee1275_set_flag): Likewise.
22075 (find_options): Rename to `grub_ieee1275_find_options'; update
22076 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22077 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22078 (cmain): New prototype.
22079 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22080 `grub_ieee1275_flags' directly.
22081 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22082 machine/biosdisk.h.
22083 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22084 Don't include grub/machine/init.h.
22085 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22086 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22087 Remove prototype.
22088 (grub_ieee1275_realmode): Likewise.
22089 (grub_ieee1275_flag): New enum.
22090 (grub_ieee1275_test_flag): New prototype.
22091 (grub_ieee1275_set_flag): New prototype.
22092 * include/grub/powerpc/ieee1275/init.h: Remove file.
22093 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22094 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22095 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22096 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22097 comment.
22098 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22099 `grub_ieee1275_test_flag'.
22100 (grub_ieee1275_encode_devname): Likewise.
22101
ed16607e 221022005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22103
22104 * include/grub/powerpc/ieee1275/ieee1275.h
22105 (grub_ieee1275_encode_devname): New prototype.
22106 (grub_ieee1275_get_filename): Likewise.
22107 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22108 function.
22109 (grub_set_prefix): Likewise.
22110 (grub_machine_init): Call grub_set_prefix.
22111 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22112 (grub_parse_type): New enum.
22113 (grub_ieee1275_get_devargs): New function.
22114 (grub_ieee1275_get_devname): Likewise.
22115 (grub_ieee1275_parse_args): Likewise.
22116 (grub_ieee1275_get_filename): Likewise.
22117 (grub_ieee1275_encode_devname): Likewise.
22118
be369920 221192005-03-30 Marco Gerards <metgerards@student.han.nl>
22120
22121 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22122 `grub_loader_unset'.
22123
a5ce3a4a 221242005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22125
22126 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22127 instead of grub_ieee1275_interpret.
22128 (grub_halt_init): New function.
22129 (grub_halt_fini): Likewise.
22130 (GRUB_MOD_INIT): Correct message grammar.
22131 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22132 instead of grub_ieee1275_interpret.
22133 (grub_reboot_init): New function.
22134 (grub_reboot_fini): Likewise.
22135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22136 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22137 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22138 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22139 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22140 function.
22141 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22142 Add prototype.
22143 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22144 prototype.
22145 (grub_halt): Likewise.
22146 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22147 (cmain): Remove __attribute__((unused)).
22148 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22149 (grub_heap_len): Likewise.
22150 (grub_machine_fini): New function.
22151 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22152 (grub_halt): Likewise.
22153 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22154 function.
22155 * util/powerpc/ieee1275/misc.c: New file.
22156
0058f771 221572005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22158
22159 * DISTLIST: New file.
22160 * gendistlist.sh: Likewise.
f19dbdb7 22161
0058f771 22162 * Makefile.in (COMMON_DISTFILES): Removed.
22163 (BOOT_DISTFILES): Likewise.
22164 (CONF_DISTFILES): Likewise.
22165 (DISK_DISTFILES): Likewise.
22166 (FS_DISTFILES): Likewise.
22167 (INCLUDE_DISTFILES): Likewise.
22168 (KERN_DISTFILES): Likewise.
22169 (LOADER_DISTFILES): Likewise.
22170 (TERM_DISTFILES): Likewise.
22171 (UTIL_DISTFILES): Likewise.
22172 (DISTFILES): Likewise.
22173 (uninstall): Uninstall files in $(pkgdata_DATA).
22174 (DISTLIST): New target.
22175 (distdir): Use the contents of the file DISTLIST to get a list of
22176 distributed files.
22177
46b3b8a5 221782005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22179
22180 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22181 descriptor. This is ported from GRUB Legacy.
22182
22183 * gencmdlist.sh: Added an extra semicolon to make it work with
22184 old sed versions. Reported by Robert Bihlmeyer
22185 <robbe@orcus.priv.at>.
22186
5822ff87 221872005-03-08 Yoshinori Okuji <okuji@enbug.org>
22188
22189 Automatic loading of commands is supported.
f19dbdb7 22190
5822ff87 22191 * normal/main.c (read_command_list): New function.
22192 (grub_normal_execute): Call read_command_list.
22193
22194 * normal/command.c (grub_register_command): Return zero or CMD.
22195 Allocate CMD->NAME from the heap.
22196 Initialize CMD->MODULE_NAME to zero.
22197 Find the same name as well. If the same command is found and it is
22198 a dummy command, overwrite members. If it is not a dummy command,
22199 return zero.
22200 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22201 (grub_command_find): If a dummy command is found, load a module
22202 and retry to find a command only once.
22203
22204 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22205 make sure that each command is loaded.
22206
22207 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22208 macro.
22209 (struct grub_command): Remove const from the member `name'.
22210 Add a new member `module_name'.
22211 (grub_register_command): Return grub_command_t.
22212
22213 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22214 sure that each command is loaded.
22215
22216 * genmk.rb (PModule::rule): Specify a module name without the
22217 suffix ".mod" to gencmdlist.sh.
22218
7b1f4b57 222192005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22220
22221 * gencmdlist.sh: New file.
f19dbdb7 22222
7b1f4b57 22223 * genmk.rb (PModule::rule): Generate a rule for a command list.
22224 Clean command.lst.
22225 Generate command.lst from $(COMMANDFILES).
22226
22227 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22228 (DATA): Added $(pkgdata_DATA).
22229 (install-local): Install files in $(pkgdata_DATA).
22230
062aaf39 222312005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22232
22233 * term/i386/pc/vga.c (debug_command): Removed.
22234 (GRUB_MOD_INIT): Do not register the command "debug".
22235
22236 From Hollis Blanchard:
22237 * commands/configfile.c: New file.
22238 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22239 commands/configfile.c.
22240 (pkgdata_MODULES): Added configfile.mod.
22241 (configfile_mod_SOURCES): New variable.
22242 (configfile_mod_CFLAGS): Likewise.
22243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22244 commands/configfile.c.
22245 (pkgdata_MODULES): Added configfile.mod.
22246 (configfile_mod_SOURCES): New variable.
22247 (configfile_mod_CFLAGS): Likewise.
22248 * util/grub-emu.c (main): Call grub_configfile_init and
22249 grub_configfile_fini.
22250 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22251 prototype.
22252 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22253
cee01aa6 222542005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22255
22256 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22257 address.
22258
22259 * commands/help.c (grub_cmd_help): Do not print newlines after
22260 the last command in print_command_help.
22261
93f3a1d8 222622005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22263
22264 * commands/default.h: New file.
22265 * commands/timeout.h: Likewise.
22266 * normal/context.c: Likewise.
f19dbdb7 22267
93f3a1d8 22268 * util/misc.c: Do not include sys/times.h.
22269 Include sys/time.h and grub/machine/time.h.
22270 (grub_get_rtc): Rewritten with gettimeofday.
22271
22272 * util/grub-emu.c (main): Call grub_default_init and
22273 grub_timeout_init before grub_normal_init, and call
22274 grub_timeout_fini and grub_default_fini after grub_main.
22275
22276 * util/console.c (grub_ncurses_checkkey): Return the read
22277 character or -1.
22278
22279 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22280 timeouts.
22281
22282 * normal/main.c (read_config_file): Push MENU. If this fails,
22283 print an error and wait for a user input.
22284 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22285 If a menu is empty or an error occurs, pop MENU.
22286 (grub_normal_execute): Pop and free MENU after grub_menu_run
22287 returns.
22288
22289 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22290
22291 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22292 include time.h.
22293 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22294 without GRUB_UTIL.
22295 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22296 time.h.
22297 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22298 without GRUB_UTIL.
22299
22300 * include/grub/normal.h (struct grub_menu_list): New struct.
22301 (grub_menu_list_t): New type.
22302 (struct grub_context): New struct.
22303 (grub_context_t): New type.
22304 (grub_register_command): Got rid of EXPORT_FUNC.
22305 (grub_unregister_command): Likewise.
22306 (grub_context_get): New prototype.
22307 (grub_context_get_current_menu): Likewise.
22308 (grub_context_push_menu): Likewise.
22309 (grub_context_pop_menu): Likewise.
22310 [GRUB_UTIL] (grub_default_init): Likewise.
22311 [GRUB_UTIL] (grub_default_fini): Likewise.
22312 [GRUB_UTIL] (grub_timeout_init): Likewise.
22313 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22314
22315 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22316 commands/timeout.c and normal/context.c.
22317 (pkgdata_MODULES): Added default.mod and timeout.mod.
22318 (normal_mod_SOURCES): Added normal/context.c.
22319 (default_mod_SOURCES): New variable.
22320 (default_mod_CFLAGS): Likewise.
22321 (timeout_mod_SOURCES): Likewise.
22322 (timeout_mod_CFLAGS): Likewise.
22323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22324 conf/i386-pc.rmk.
22325 (pkgdata_MODULES): Added default.mod and timeout.mod.
22326 (normal_mod_SOURCES): Added normal/context.c.
22327 (default_mod_SOURCES): New variable.
22328 (default_mod_CFLAGS): Likewise.
22329 (timeout_mod_SOURCES): Likewise.
22330 (timeout_mod_CFLAGS): Likewise.
22331
22332 * Makefile.in (all-local): Added $(MKFILES).
22333
4ed2e1dd 223342005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22335
22336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22337 (grub_emu_SOURCES): Likewise.
22338 (pkgdata_MODULES): Add `sun.mod'.
22339 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22341 `partmap/sun.c'.
22342 (pkgdata_MODULES): Add `sun.mod'.
22343 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22344 * include/grub/partition.h (grub_sun_partition_map_init): New
22345 prototype.
22346 (grub_sun_partition_map_fini): Likewise.
22347 * partmap/sun.c: New file.
22348 * util/grub-emu.c (main): Initialize and de-initialize the sun
22349 partitionmap support.
22350
4d4e372e 223512005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22352
22353 This implements an Emacs-like menu entry editor.
f19dbdb7 22354
4d4e372e 22355 * normal/menu_entry.c: New file.
f19dbdb7 22356
4d4e372e 22357 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22358 characters to ASCII.
22359 (saved_char): New variable.
22360 (grub_ncurses_checkkey): Rewritten completely.
22361 (grub_ncurses_getkey): Likewise.
22362 (grub_ncurses_init): Call raw instead of cbreak.
22363
22364 * normal/menu.c (print_entry): Do not put a space.
22365 (init_page): Renamed to ...
22366 (grub_menu_init_page): ... this. All callers changed.
22367 (edit_menu_entry): Removed.
22368 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22369
22370 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22371
22372 * kern/misc.c (grub_vprintf): Call grub_refresh.
22373
22374 * normal/menu.c (DISP_LEFT): Renamed to ...
22375 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22376 * normal/menu.c (DISP_UP): Renamed to ...
22377 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22378 * normal/menu.c (DISP_RIGHT): Renamed to ...
22379 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22380 * normal/menu.c (DISP_DOWN): Renamed to ...
22381 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22382 * normal/menu.c (DISP_HLINE): Renamed to ...
22383 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22384 * normal/menu.c (DISP_VLINE): Renamed to ...
22385 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22386 * normal/menu.c (DISP_UL): Renamed to ...
22387 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22388 * normal/menu.c (DISP_UR): Renamed to ...
22389 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22390 * normal/menu.c (DISP_LL): Renamed to ...
22391 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22392 * normal/menu.c (DISP_LR): Renamed to ...
22393 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22394 * normal/menu.c (TERM_WIDTH): Renamed to ...
22395 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22396 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22397 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22398 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22399 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22400 * normal/menu.c (TERM_MARGIN): Renamed to ...
22401 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22402 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22403 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22404 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22405 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22406 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22407 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22408 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22409 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22410 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22411 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22412 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22413 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22414 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22415 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22416 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22417 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22418 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22419 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22420 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22421 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22422 All callers changed.
22423
22424 * include/grub/normal.h: New prototype.
22425
22426 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22427 normal/menu_entry.c.
22428 (normal_mod_SOURCES): Likewise.
22429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22430 (normal_mod_SOURCES): Likewise.
22431
e6b92c8a 224322005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22433
22434 * include/grub/normal.h (grub_halt_init): New prototype.
22435 (grub_halt_fini): Likewise.
22436 (grub_reboot_init): Likewise.
22437 (grub_reboot_fini): Likewise.
22438
22439 * util/grub-emu.c: Include signal.h.
22440 (main_env): New global variable.
22441 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22442 catch C-c.
22443 (grub_machine_fini): New function.
22444 (main): Call grub_halt_init and grub_reboot_init before
22445 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22446 Call setjmp with MAIN_ENV to go back afterwards.
22447 Call grub_machine_fini right before return.
22448
22449 * include/grub/util/misc.h: Include setjmp.h.
22450 (main_env): New prototype.
22451
22452 * include/grub/kernel.h (grub_machine_fini): New prototype.
22453 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22454 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22455
22456 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22457 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22458 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22459
e6b92c8a 22460 * util/i386/pc/misc.c: New file.
f19dbdb7 22461
e6b92c8a 22462 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22463 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22464 commands/i386/pc/reboot.c.
22465
c642636f 224662005-02-14 Guillem Jover <guillem@hadrons.org>
22467
22468 * include/grub/dl.h (grub_dl_check_header): New prototype.
22469 (grub_arch_dl_check_header): Change return type to grub_err_t,
22470 remove size parameter and export function. Update all callers.
22471 * kern/dl.c (grub_dl_check_header): New function.
22472 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22473 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22474 are inside the core.
22475 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22476 independent ELF header checks.
22477 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22478 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22479 `grub_dl_check_header' instead of explicit checks. Check for the
22480 ELF type.
22481 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22482 `grub_dl_check_header' instead of explicit checks. Remove arch
22483 specific ELF header checks.
22484
e6b92c8a 22485 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22486 argument SIZE.
22487
5eabe94b 224882005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22489
22490 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22491 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22492
1b14a681 224932005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22494
22495 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22496 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22497 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22498 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22499 * partmap/amiga.c (amiga_partition_map_iterate): Return
22500 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22501 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22502
aca108aa 225032005-02-01 Guillem Jover <guillem@hadrons.org>
22504
22505 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22506 help info.
22507
c9f9c556 225082005-01-31 Marco Gerards <metgerards@student.han.nl>
22509
22510 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22511 Removed prototype.
22512 (grub_rescue_cmd_linux): New prototype.
22513 (grub_rescue_cmd_initrd): Likewise.
22514 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22515 `bi_rec'.
22516 (grub_linux_release_mem): Release the memory for the initrd.
22517 (grub_load_linux): Renamed from this...
22518 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22519 Changed `entry' not to be static. Loop over memory regions to
22520 find another one when the default fails.
22521 (grub_rescue_cmd_initrd): New function.
22522 (grub_linux_init): Remove function.
22523 (grub_linux_fini): Likewise.
22524 (GRUB_MOD_INIT): Register `initrd'.
22525 (GRUB_MOD_FINI): Unregister `initrd'.
22526 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22527 Function removed.
22528 (grub_linux_normal_fini): Likewise.
22529 (GRUB_MOD_INIT): Register `initrd'.
22530 (GRUB_MOD_FINI): Unregister `initrd'.
22531
990cf3aa 225322005-01-31 Marco Gerards <metgerards@student.han.nl>
22533
22534 * commands/help.c: New file.
22535 * normal/arg.c (show_help): Renamed to...
22536 (grub_arg_show_help): ... this.
22537 * commands/i386/pc/halt.c: New file.
22538 * commands/i386/pc/reboot.c: Likewise.
22539 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22540 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22541 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22542 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22543 variables.
22544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22545 `commands/help.c'.
22546 (pkgdata_MODULES): Add `help.mod'.
22547 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22548 * grub/i386/pc/init.h (grub_reboot): New prototype.
22549 (grub_halt): Likewise.
22550 * include/grub/normal.h (grub_arg_show_help): New prototype.
22551 (grub_help_init): Likewise.
22552 (grub_help_fini): Likewise.
22553 * util/grub-emu.c (main): Initialize and deinitialize the help
22554 command.
22555
22556 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22557
22558 * normal/command.c (grub_command_init): Fixed the description of
22559 the `set' and `unset' commands.
22560
225612005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22562
22563 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22564 function.
22565 * commands/ieee1275/halt.c: New file.
22566 * commands/ieee1275/reboot.c: Likewise.
22567 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22568 `__attribute__ ((unused))'. Some GCS related fixed.
22569 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22570 (grub_suspend_fini): Likewise.
22571 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22572 and `halt.mod'.
22573 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22574 (halt_mod_CFLAGS): New variables.
22575 * include/grub/powerpc/ieee1275/ieee1275.h
22576 (grub_ieee1275_interpret): New prototype.
22577
1ab09cc7 225782005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22579
22580 * include/grub/misc.h (memmove): New prototype.
22581 (memcpy): Likewise.
22582
8b8cbdb2 225832005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22584
22585 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22586 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22587
e3741a27 225882005-01-22 Marco Gerards <metgerards@student.han.nl>
22589
22590 * kern/misc.c (grub_strndup): Function rewritten.
22591
776bd780 225922005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22593
22594 * normal/menu.c (TERM_WIDTH): Macro redefined.
22595 (TERM_TOP_BORDER_Y): Likewise.
22596 (draw_border): Replaced while-loop by a for-loop. Make the number
22597 of lines consistent with the number of lines displayed in
22598 print_entries. Added a margin below the rectangle.
22599 (print_entry): Make the entry fit in the rectangle.
22600 (print_entries): Display the scroll arrows next to the right
22601 border.
22602
78026bce 226032005-01-21 Marco Gerards <metgerards@student.han.nl>
22604
22605 * fs/minix.c (grub_minix_find_file): Reserve more space for
22606 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22607 `grub_strncpy' to copy `path' into it.
22608
67bbaf0f 226092005-01-21 Marco Gerards <metgerards@student.han.nl>
22610
22611 Add the loopback device, a device via which files can be accessed
22612 as devices.
f19dbdb7 22613
67bbaf0f 22614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22615 (pkgdata_MODULES): Add loopback.mod.
22616 (loopback_mod_SOURCES): New variable.
22617 (loopback_mod_CFLAGS): Likewise.
22618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22619 `disk/loopback.c'.
22620 (pkgdata_MODULES): Add loopback.mod.
22621 (loopback_mod_SOURCES): New variable.
22622 (loopback_mod_CFLAGS): Likewise.
22623 * disk/loopback.c: new file.
22624 * include/grub/normal.h (grub_loop_init): New prototype.
22625 (grub_loop_fini): New prototype.
22626 * util/grub-emu.c (main): Initialize and de-initialize loopback
22627 support.
22628 * include/grub/disk.h (grub_disk_dev_id): Add
22629 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22630
6f1c18bd 226312005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22632
22633 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22634 function.
22635 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22636 (suspend_mod_SOURCES): New variable.
22637 (suspend_mod_CFLAGS): Likewise.
22638 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22639 New prototype.
22640 * commands/ieee1275/suspend.c: New file.
22641
b38551da 226422005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22643
22644 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22645 ((unused))' to `__attribute__ ((used))'.
b38551da 22646 (GRUB_MOD_FINI): Likewise.
22647 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22648 * genmk.rb (PModule): Assign space to common symbols when linking
22649 modules.
22650
777aff39 226512005-01-20 Marco Gerards <metgerards@student.han.nl>
22652
22653 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22654 `unsigned' arguments to `grub_size_t'.
22655 (grub_malloc): Likewise.
22656 (grub_realloc): Likewise.
22657 (grub_memalign): Likewise.
22658 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22659 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22660 * util/misc.c (grub_malloc): Likewise.
22661 (grub_realloc): Likewise.
22662 * kern/mm.c (get_header_from_pointer): Change the casts to
22663 `unsigned' into a cast to `grub_size_t'.
22664
22665 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22666 point to `currnode' when `currnode' is changed.
22667
22668 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22669 Schottelius <nico-linux@schottelius.org>.
22670
d0ff18e1 226712005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22672
22673 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22674 (note_path): Remove variable.
22675 (GRUB_IEEE1275_NOTE_NAME): New macro.
22676 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22677 (grub_ieee1275_note_hdr): New structure.
22678 (grub_ieee1275_note_desc): Likewise.
22679 (grub_ieee1275_note): Likewise.
22680 (load_note): Remove `dir' argument. All callers updated. Remove
22681 `note_img' and `path'. Do not load a file from `note_path'.
22682 Initialize a struct grub_ieee1275_note and write that to `out'.
22683 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22684
4ca7004c 226852005-01-05 Marco Gerards <metgerards@student.han.nl>
22686
22687 * util/misc.c (grub_util_read_image): Revert last change. It
22688 called `grub_util_read_at', which seeks from the beginning of the
22689 file.
22690
0b412211 226912005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22692
22693 * TODO: Add note about endianness in grub-mkimage.
22694 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22695 section.
22696 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22697 (grub_mkimage_SOURCES): New target.
22698 * include/grub/kernel.h (grub_start_addr): Remove variable.
22699 (grub_end_addr): Likewise.
22700 (grub_total_module_size): Likewise.
22701 (grub_kernel_image_size): Likewise.
22702 (GRUB_MODULE_MAGIC): New constant.
22703 (grub_module_info): New structure.
22704 (grub_arch_modules_addr): New prototype.
22705 (grub_get_end_addr): Remove prototype.
22706 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22707 * include/grub/powerpc/ieee1275/kernel.h: New file.
22708 * include/grub/util/misc.h (grub_util_get_fp_size): New
22709 prototype.
22710 (grub_util_read_at): Likewise.
22711 (grub_util_write_image_at): Likewise.
22712 * kern/main.c (grub_get_end_addr): Remove function.
22713 (grub_load_modules): Call grub_arch_modules_addr instead of using
22714 grub_end_addr. Look for a grub_module_info struct in memory. Use
22715 the grub_module_info fields instead of calling grub_get_end_addr
22716 as loop conditions. Move grub_add_unused_region code here.
22717 (grub_add_unused_region): Remove function.
22718 * kern/i386/pc/init.c: Include grub/cache.h.
22719 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22720 one call to add_mem_region.
22721 (grub_arch_modules_addr): New function.
22722 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22723 (grub_total_module_size): Likewise.
22724 Include grub/machine/kernel.h.
22725 (grub_arch_modules_addr): New function.
22726 * util/grub-emu.c (grub_end_addr): Remove variable.
22727 (grub_total_module_size): Likewise.
22728 (grub_arch_modules_addr): New function.
22729 * util/misc.c: Include unistd.h.
22730 (grub_util_get_fp_size): New function.
22731 (grub_util_read_at): Likewise.
22732 (grub_util_write_image_at): Likewise.
22733 (grub_util_read_image): Call grub_util_read_at.
22734 (grub_util_write_image): Call grub_util_write_image_at.
22735 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
22736 additional memory in kernel_img for a struct grub_module_info.
22737 Fill in that grub_module_info.
22738 * util/powerpc/ieee1275/grub-mkimage.c: New file.
22739
458786f8 227402005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22741
22742 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
22743 New function.
22744 * include/grub/powerpc/ieee1275/ieee1275.h
22745 (grub_ieee1275_milliseconds): New prototype.
22746 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
22747 Change to 1000.
22748 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
22749 grub_ieee1275_milliseconds.
22750
ac507d1b 227512005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22752
22753 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
22754 variable.
22755 (find_options): New function.
22756 (cmain): Call find_options.
22757 * include/grub/powerpc/ieee1275/ieee1275.h
22758 (grub_ieee1275_realmode): New extern variable.
22759 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
22760 grub_map if grub_ieee1275_realmode is false.
22761
6b8fd1c4 227622004-12-29 Marco Gerards <metgerards@student.han.nl>
22763
22764 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
22765 lines are inserted and make it work like readline. Reported by
22766 Vincent Pelletier <subdino2004@yahoo.fr>.
22767
8514a1e0 227682004-12-28 Marco Gerards <metgerards@student.han.nl>
22769
22770 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
22771
22772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
22773 `kern/powerpc/cache.S'.
22774
924b6140 227752004-12-27 Marco Gerards <metgerards@student.han.nl>
22776
22777 * genmk.rb: Handle the `Program' class in the main loop. Written
22778 by Johan Rydberg <jrydberg@gnu.org>.
22779 (Program): New class.
22780 (programs): New variable.
22781 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
22782 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
22783 instead of "grub/kernel.h". Include <grub/machine/init.h>.
22784 (help_arch): Function removed.
22785 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
22786 `powerpc/libgcc.h' and `loader.h'.
22787 (pkgdata_PROGRAMS): New variable.
22788 (sbin_UTILITIES): Variable removed.
22789 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
22790 (grubof_SOURCES): Variable re-defined so it only includes the
22791 core functionality.
22792 (grubof_CFLAGS): Remove `-DGRUBOF'.
22793 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
22794 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
22795 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
22796 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
22797 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
22798 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
22799 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
22800 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
22801 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
22802 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
22803 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22804 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
22805 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
22806 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
22807 (pc_mod_CFLAGS): New variables.
22808 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
22809 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
22810 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
22811 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
22812 Moved from here...
22813 * include/grub/i386/pc/init.h (grub_os_area_addr)
22814 (rub_os_area_size): ... to here.
22815 * include/grub/powerpc/ieee1275/ieee1275.h
22816 (grub_ieee1275_entry_fn): Export symbol.
22817 * include/grub/powerpc/ieee1275/init.h: New file.
22818 * include/grub/powerpc/libgcc.h: Likewise.
22819 * include/grub/cache.h: Likewise.
22820 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
22821 <hollis@penguinppc.org>.
22822 * kern/dl.c: Include <grub/cache.h>.
22823 (grub_dl_flush_cache): New function.
22824 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
22825 for this module.
22826 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
22827 (grub_console_init): Removed prototypes.
22828 (grub_machine_init): Don't initialize the modules anymore.
22829 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
22830 static.
22831 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
22832 Macro undef removed.
22833 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
22834 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
22835 relocation `R_PPC_REL32'. Return an error when the relocation is
22836 unknown.
22837 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
22838 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
22839 * util/misc.c (grub_arch_sync_caches): Likewise.
22840
e4b47e0c 228412004-12-19 Marco Gerards <metgerards@student.han.nl>
22842
22843 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
22844 `symlist.c', add `grubof_symlist.c'.
22845 (symlist.c): Variable removed.
22846 (grubof_HEADERS): Variable added.
22847 (grubof_symlist.c): New target.
22848 (kernel_syms.lst): Use `grubof_HEADERS' instead of
22849 `kernel_img_HEADERS'.
22850 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
22851 * kern/powerpc/dl.c: New file.
22852 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
22853 Function removed.
22854 (grub_arch_dl_relocate_symbols): Likewise.
22855 (grub_register_exported_symbols): Likewise.
22856
4ceb3636 228572004-12-13 Marco Gerards <metgerards@student.han.nl>
22858
22859 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
22860 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
22861 to fail instead. Reported by Vincent Pelletier
22862 <subdino2004@yahoo.fr>.
22863
22864 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
22865 it is not allocated. Reported by Vincent Pelletier
22866 <subdino2004@yahoo.fr>.
22867
22868 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
22869 output so the output looks better.
f19dbdb7 22870
3f1578fe 228712004-12-04 Marco Gerards <metgerards@student.han.nl>
22872
22873 Modulize the partition map support and add support for the amiga
22874 partition map.
f19dbdb7 22875
3f1578fe 22876 * commands/ls.c: Include <grub/partition.h> instead of
22877 <grub/machine/partition.h>.
22878 * kern/disk.c: Likewise.
22879 * kern/rescue.c: Likewise.
22880 * loader/i386/pc/chainloader.c: Likewise.
22881 * normal/cmdline.c: Likewise.
22882 * kern/powerpc/ieee1275/init.c: Likewise.
22883 (grub_machine_init): Call `grub_pc_partition_map_init',
22884 `grub_amiga_partition_map_init' and
22885 `grub_apple_partition_map_init'.
22886 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
22887 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
22888 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
22889 `partition.h' and `pc_partition.h'.
22890 (grub_setup_SOURCES): Remove
22891 `disk/i386/pc/partition.c'. Add `kern/partition.c',
22892 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22893 (grub_emu_SOURCES): Likewise.
22894 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
22895 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
22896 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
22897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22898 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
22899 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22900 (grubof_SOURCES): Likewise.
22901 * disk/i386/pc/partition.c: File removed.
22902 * disk/powerpc/ieee1275/partition.c: Likewise.
22903 * include/grub/powerpc/ieee1275/partition.h: Likewise.
22904 * include/grub/i386/pc/partition.h: Likewise.
22905 * kern/partition.c: New file.
22906 * partmap/amiga.c: Likewise.
22907 * partmap/apple.c: Likewise.
22908 * partmap/pc.c: Likewise.
22909 * include/grub/partition.h: Likewise..
22910 * include/grub/pc_partition.h: Likewise.
22911 * util/grub-emu.c: Include <grub/partition.h> instead of
22912 <grub/machine/partition.h>.
22913 (main): Call `grub_pc_partition_map_init',
22914 `grub_amiga_partition_map_init' and
22915 `grub_apple_partition_map_init' and deinitialize afterwards.
22916 * util/i386/pc/biosdisk.c: Include `#include
22917 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22918 `<grub/machine/partition.h>'.
22919 * util/i386/pc/grub-setup.c: Likewise.
22920 * util/i386/pc/biosdisk.c: Likewise.
22921 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
22922 partition information in case of a PC partition.
22923 * util/i386/pc/grub-setup.c: Include `#include
22924 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22925 `<grub/machine/partition.h>'.
22926 (setup): Only access the PC specific partition information in case
22927 of a PC partition.
22928
0ef4ced9 229292004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22930
0ef4ced9 22931 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
22932 (grub_longjmp): Likewise.
22933 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
22934 20.
22935 * normal/powerpc/setjmp.S: New file.
22936 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22937 `normal/powerpc/setjmp.S'.
22938 (grubof_CFLAGS): Add `-DGRUBOF'.
22939 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
22940 [GRUB_UTIL && !GRUBOF].
f19dbdb7 22941
19950e29 229422004-11-16 Marco Gerards <metgerards@student.han.nl>
22943
22944 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
22945 property named `name'. Correctly handle the error returned by
22946 `grub_ieee1275_finddevice' if a device can not be opened.
22947
a2fea427 229482004-11-02 Hollis Blanchard <hollis@penguinppc.org>
22949
22950 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
22951 `actual' for negativity.
22952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22953 kern/fshelp.c.
22954
41ea0ea3 229552004-11-01 Marco Gerards <metgerards@student.han.nl>
22956
22957 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
22958 (PAGE_OFFSET): New macro.
22959 (CRTC_ADDR_PORT): Likewise.
22960 (CRTC_DATA_PORT): Likewise.
22961 (START_ADDR_HIGH_REGISTER): Likewise.
22962 (START_ADDR_LOW_REGISTER): Likewise.
22963 (GRAPHICS_ADDR_PORT): Likewise.
22964 (GRAPHICS_DATA_PORT): Likewise.
22965 (READ_MAP_REGISTER): Likewise.
22966 (INPUT_STATUS1_REGISTER): Likewise.
22967 (INPUT_STATUS1_VERTR_BIT): Likewise.
22968 (page): New variable.
22969 (wait_vretrace): New function.
22970 (set_read_map): Likewise.
22971 (set_start_address): Likewise.
22972 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
22973 the right page.
22974 (check_vga_mem): Take the page into account.
22975 (write_char): Likewise.
22976 (write_cursor): Likewise.
22977 (scroll_up): Likewise. Copy the page to the page that is not
22978 shown and switch between both pages.
22979 (grub_vga_putchar): Fix off by one error.
22980 (grub_vga_cls): Wait for the vertical retrace. Take the page into
22981 account.
22982
ad0bd20b 229832004-11-01 Marco Gerards <metgerards@student.han.nl>
22984
22985 Add support for iso9660 (including rockridge).
f19dbdb7 22986
ad0bd20b 22987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22988 (iso9660_mod_SOURCES): New variable.
22989 (iso9660_mod_CFLAGS): Likewise.
22990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22991 * include/grub/fs.h (grub_iso9660_init): New prototype.
22992 * util/grub-emu.c (main): Call `grub_iso9660_init'.
22993 * fs/iso9660.c: New file.
22994
22995 * include/grub/misc.h (grub_strncat): New prototype.
22996 * kern/misc.c (grub_strncat): New function.
f19dbdb7 22997
ad0bd20b 22998 * fs/hfs.c (grub_hfs_mount): Translate the error
22999 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23000 * fs/jfs.c (grub_jfs_mount): Likewise.
23001 * fs/ufs.c (grub_ufs_mount): Likewise.
23002
a5477a59 230032004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23004
23005 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23006 which initialized BAT registers.
23007 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23008 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23009 Move from here...
23010 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23011 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23012 ... to here.
23013 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23014 (grub_mapclaim): Likewise.
23015 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23016 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23017 hand.
23018
9304c1f8 230192004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23020
23021 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23022 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23023 -ffreestanding and -msoft-float.
23024
86f4ae25 230252004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23026
23027 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23028 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23029 set in grub_ieee1275_flags.
23030
38912228 230312004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23032
23033 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23034 prototype.
23035 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23036 grub_console_init first.
23037 Change the memory range used for grub_ieee1275_claim and
23038 grub_mm_init_region.
23039 Print an error message if the claim fails.
23040 Include <grub/misc.h>.
23041
d1923dc8 230422004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23043
23044 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23045 Call grub_children_iterate for device nodes of type `scsi',
23046 `ide', or `ata'.
23047 (grub_ofdisk_open): Remove manual device alias resolution.
23048 Fix memory leak when device cannot be opened.
f19dbdb7 23049 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23050 (grub_children_iterate): New prototype.
23051 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23052 New function.
23053 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23054 Return -1 if args.size was -1.
23055
4512e4f3 230562004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23057
23058 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23059 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23060 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23061 Open Firmware's memory for it; claim memory from _start to _end.
23062 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23063 (_end): New extern.
23064 (_start): Zero BSS from __bss_start to _end.
23065 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23066 New extern.
23067 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23068
4d61feb0 230692004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23070
ad0bd20b 23071 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23072 -1 if args.base was -1.
4d61feb0 23073
026fa2f9 230742004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23075
23076 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23077 escape sequence instead of a literal ^L. Also call
23078 grub_ofconsole_gotoxy.
23079
9f2220ef 230802004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23081
23082 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23083 void * arguments to grub_addr_t. All callers updated. Also make
23084 the `result' argument optional.
23085 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23086 All callers updated.
23087
8a572cd7 230882004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23089
23090 * commands/ls.c (grub_ls_list_files): Use the string following the
23091 initial ')', if present, as the filesystem path.
23092 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23093
23094 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23095
18aa81f2 230962004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23097
23098 Make the source code of the menu interface more readable.
f19dbdb7 23099
18aa81f2 23100 * normal/menu.c: Include grub/mm.h.
23101 (TERM_WIDTH): New macro.
23102 (TERM_HEIGHT): Likewise.
23103 (TERM_INFO_HEIGHT): Likewise.
23104 (TERM_MARGIN): Likewise.
23105 (TERM_SCROLL_WIDTH): Likewise.
23106 (TERM_TOP_BORDER_Y): Likewise.
23107 (TERM_LEFT_BORDER_X): Likewise.
23108 (TERM_BORDER_WIDTH): Likewise.
23109 (TERM_MESSAGE_HEIGHT): Likewise.
23110 (TERM_BORDER_HEIGHT): Likewise.
23111 (TERM_NUM_ENTRIES): Likewise.
23112 (TERM_FIRST_ENTRY_Y): Likewise.
23113 (TERM_ENTRY_WIDTH): Likewise.
23114 (TERM_CURSOR_X): Likewise.
23115 (draw_border): Use macros instead of magic numbers.
23116 (print_entry): Likewise.
23117 (print_entries): Likewise.
23118 (run_menu): Likewise. Also, handle the key 'e'.
23119 (run_menu_entry): Ignore empty command lines.
23120 (print_message): Added a new argument EDIT. If EDIT is true,
23121 print a different message.
23122 (init_page): Likewise.
23123 (edit_menu_entry): New function. Not implemented yet.
23124
b47efe30 231252004-09-17 Marco Gerards <metgerards@student.han.nl>
23126
23127 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23128 can be loaded from normal mode.
f19dbdb7 23129
b47efe30 23130 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23131 `multiboot.mod'.
23132 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23133 (multiboot_mod_CFLAGS): New variables.
23134 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23135 * loader/i386/pc/multiboot_normal.c: Likewise.
23136
b47efe30 23137 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23138 attribute `unused'.
f19dbdb7 23139
b47efe30 23140 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23141 `fdiro' to read the mode information from instead of `diro'.
23142
23143 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23144 looking up a symlink.
23145
23146 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23147 macro.
23148 * normal/command.c (grub_command_execute): Don't parse the
23149 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23150 flags of the command.
23151
23152 * normal/menu.c (grub_menu_run): Fix typo.
23153
da75ac71 231542004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23155
23156 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23157
23158 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23159 `y + 1' instead of `y - 1'.
23160
23161 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23162
062b24c2 231632004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23164
23165 From Hollis Blanchard <hollis@penguinppc.org>:
23166 * kern/misc.c (memmove): New alias for grub_memmove.
23167 (memcmp): New alias for grub_memcmp.
23168 (memset): New alias for grub_memset.
f19dbdb7 23169 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23170 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23171 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23172 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23173
8ddad845 231742004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23175
23176 Added normal mode command `chainloader' as module chain.mod, which
23177 depends on normal.mod and _chain.mod.
f19dbdb7 23178
8ddad845 23179 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23180 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23181 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23182 Deleted prototype.
23183 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23184 but arguments parsing moved to ...
23185 (grub_chainloader_cmd): ... here. New function.
23186 * include/grub/i386/pc/chainloader.h: New file.
23187 * loader/i386/pc/chainloader_normal.c: Likewise.
23188
2c1f4ce3 231892004-09-11 Marco Gerards <metgerards@student.han.nl>
23190
23191 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23192 (grub_mkimage_LDFLAGS): Likewise.
23193 (grub_emu_SOURCES): Likewise.
23194 (kernel_img_HEADERS): Added fshelp.h.
23195 * fs/ext2.c: Include <grub/fshelp.h>.
23196 (FILETYPE_REG): New macro.
23197 (FILETYPE_INO_REG): Likewise.
23198 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23199 Changed all users.
23200 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23201 all users.
23202 (grub_fshelp_node): New struct.
23203 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23204 to a pointer.
23205 (grub_ext2_get_file_block): Removed function.
23206 (grub_ext2_read_block): New function.
23207 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23208 This function was written.
23209 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23210 (grub_ext2_find_file): Removed function.
23211 (grub_ext2_read_symlink): New function.
23212 (grub_ext2_iterate_dir): Likewise.
23213 (grub_ext2_open): Rewritten.
23214 (grub_ext2_dir): Rewritten.
23215 * include/grub/fshelp.h: New file.
23216 * fs/fshelp.c: Likewise.
23217
3c52136a 232182004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23219
23220 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23221 (print_message): Add a missing newline.
23222 (run_menu): Added timeout support.
23223 (run_menu_entry): New local function.
23224 (grub_menu_run): Added support for booting.
23225
23226 * kern/loader.c (grub_loader_is_loaded): New function.
23227
23228 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23229 (grub_get_rtc): Exported.
23230
23231 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23232 (grub_get_rtc): Exported.
23233
23234 * include/grub/normal.h (struct grub_command_list): Remove
23235 constant from the member `command'.
23236
23237 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23238
23239 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23240
23241 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23242
aa033560 232432004-08-28 Marco Gerards <metgerards@student.han.nl>
23244
23245 Add support for the JFS filesystem.
23246
23247 * fs/jfs.c: New file.
23248 * include/grub/fs.h (grub_jfs_init): New prototype.
23249 (grub_jfs_fini): New prototype.
23250 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23251 (grub_emu_SOURCES): Likewise.
23252 (pkgdata_MODULES): Add jfs.mod.
23253 (jfs_mod_SOURCES): New variable.
23254 (jfs_mod_CFLAGS): Likewise.
23255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23256 (grubof_SOURCES): Likewise.
23257 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23258
23259 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23260 endian to the host endian.
23261 (grub_fat_utf16_to_utf8): Move function from there...
23262 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23263 the endianness of the source string anymore.
aa033560 23264 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23265
94bc45af 232662004-08-24 Marco Gerards <metgerards@student.han.nl>
23267
23268 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23269 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23270 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23271 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23272
94bc45af 23273 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23274 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23275 for `node_found' and `it_dir'.
23276 (grub_hfs_dir): Add prototype for `dir_hook'.
23277
23278 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23279 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23280 and `indir32' to silence a gcc warning.
23281
23282 * include/grub/fs.h (grub_hfs_init): New prototype.
23283 (grub_hfs_fini): Likewise.
f19dbdb7 23284
23285
97543f08 232862004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23287
23288 Each disk device has its own id now. This is useful to make use
23289 of multiple disk devices.
f19dbdb7 23290
97543f08 23291 * include/grub/disk.h (grub_disk_dev_id): New enum.
23292 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23293 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23294
23295 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23296 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23297
23298 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23299 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23300
23301 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23302 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23303
23304 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23305 "id" which is used by the cache manager.
23306
23307 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23308 of just "GRUB".
23309
64372eb4 233102004-08-18 Marco Gerards <metgerards@student.han.nl>
23311
23312 * fs/hfs.c: New file.
23313 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23314 (grub_emu_SOURCES): Likewise.
23315 (pkgdata_MODULES): Add hfs.mod.
23316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23317 (grubof_SOURCES): Likewise.
23318 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23319
23320 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23321 * kern/misc.c (grub_strncasecmp): Add function.
23322
cc61b58f 233232004-08-14 Marco Gerards <metgerards@student.han.nl>
23324
23325 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23326 with parentheses.
23327
23328 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23329 (grub_ext2_dir): In case the directory entry type is unknown, read
23330 it from the inode.
23331
0ef123f6 233322004-08-02 Peter Bruin <pjbruin@dds.nl>
23333
23334 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23335 grub_load_linux instead of grub_rescue_cmd_linux as second
23336 argument of grub_rescue_register_command.
23337
23338 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23339
a447c5df 233402004-07-27 Marco Gerards <metgerards@student.han.nl>
23341
23342 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23343 function.
23344 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23345 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23346 `loader/powerpc/ieee1275/linux.c',
23347 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23348 * include/grub/powerpc/ieee1275/ieee1275.h
23349 (grub_ieee1275_release): New prototype.
23350 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23351 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23352 normal, boot, linux and linux_normal.
23353 * loader/powerpc/ieee1275/linux.c: New file.
23354 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23355
5a9e3546 233562004-07-12 Marco Gerards <metgerards@student.han.nl>
23357
23358 * normal/arg.c (grub_arg_parse): Correct error handling after
23359 reallocating the argumentlist (check if `argl' is not null instead
23360 of checking if `args' is not null).
23361 * kern/mm.c (grub_realloc): Return the same pointer when using the
23362 same region, instead of returning the header address.
23363
e15199cb 233642004-07-11 Marco Gerards <metgerards@student.han.nl>
23365
23366 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23367 one block instead of two when looking for the initial partition.
23368 (grub_partition_probe): Initialize the local variable `p' with 0.
23369 Use base 10 for the grub_strtoul call.
23370 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23371 need for one local variable.
23372 (grub_strtoul): Don't add the new value to `num', instead of that
23373 just assign it.
23374
020616c2 233752004-07-11 Marco Gerards <metgerards@student.han.nl>
23376
23377 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23378 (pxeboot_img_SOURCES): New variable.
23379 (pxeboot_img_ASFLAGS): Likewise.
23380 (pxeboot_img_LDFLAGS): Likewise.
23381 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23382 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23383 <lode_leroy@hotmail.com>.
23384
6c51eb64 233852004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23386
23387 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23388 there was no input.
23389
cfb12aff 233902004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23391
23392 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23393 the history buffer logic.
23394
6eabba74 233952004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23396
23397 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23398 (FILETYPE_INO_SYMLINK): New macros.
23399 (grub_ext2_find_file): Check if the node is a directory using the
23400 inode stat information instead of using the filetype in the
23401 dirent. Exclude the first character of an absolute symlink.
23402 (grub_ext2_dir): Mask out the filetype part of the mode member of
23403 the inode.
23404
66e19ef8 234052004-05-24 Marco Gerards <metgerards@student.han.nl>
23406
23407 Add support for UFS version 1 and 2. Add support for the minix
23408 filesystem version 1 and 2, both the variants with 14 and 30 long
23409 filenames.
f19dbdb7 23410
66e19ef8 23411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23412 fs/minix.c.
23413 (grub_emu_SOURCES): Likewise.
23414 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23415 (ufs_mod_SOURCES): New variable.
23416 (ufs_mod_CFLAGS): Likewise.
23417 (minix_mod_SOURCES): Likewise.
23418 (minix_mod_CFLAGS): Likewise.
23419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23420 fs/minix.c.
23421 (grubof_SOURCES): Likewise.
23422 * fs/ufs.c: New file.
23423 * fs/minix.c: New file.
23424 * include/grub/fs.h (grub_ufs_init): New prototype.
23425 (grub_ufs_fini): Likewise.
23426 (grub_minix_init): Likewise.
23427 (grub_minix_fini): Likewise.
23428 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23429 minix fs.
23430
cc2e748a 234312004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23432
23433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23434 commands/ls.c, commands/terminal.c, commands/boot.c,
23435 commands/cmp.c and commands/cat.c.
23436 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23437
23438 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23439 "env.h"
23440
4b13b216 234412004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23442
23443 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23444 and grub_, respectively. Because the conversion is trivial and
23445 mechanical, I omit the details here. Please refer to the CVS
23446 if you need more information.
23447
6a142551 234482004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23449
23450 * include/pupa: Renamed to ...
23451 * include/grub: ... this.
23452 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23453 * util/i386/pc/grub-mkimage.c: ... this.
23454 * util/i386/pc/pupa-setup.c: Renamed to ...
23455 * util/i386/pc/grub-setup.c: ... this.
23456 * util/pupa-emu.c: Renamed to ...
23457 * util/grub-emu.c: ... this.
23458
e56cdf21 234592004-03-29 Marco Gerards <metgerards@student.han.nl>
23460
23461 Add support for the newworld apple macintosh (PPC). This has been
23462 tested on the powerbook 2000 only. It only adds support for
23463 generic ieee1275 functions, console and disk support. This should
23464 be easy to port to other architectures with support for Open
23465 Firmware.
f19dbdb7 23466
e56cdf21 23467 * configure.ac: Accept the powerpc as host_cpu. In the case of
23468 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23469 specific tests are only executed while building for the i386.
23470 Inverse test for crosscompile.
23471 * genmk.rb (Utility): Allow assembler files.
23472 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23473 * conf/powerpc-ieee1275.rmk: New file.
23474 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23475 * disk/powerpc/ieee1275/partition.c: Likewise.
23476 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23477 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23478 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23479 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23480 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23481 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23482 * include/pupa/powerpc/ieee1275/loader.h
23483 * include/pupa/powerpc/setjmp.h: Likewise.
23484 * include/pupa/powerpc/types.h: Likewise.
23485 * kern/powerpc/ieee1275/init.c: Likewise.
23486 * kern/powerpc/ieee1275/openfw.c: Likewise.
23487 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23488
23489 These files were written by Johan Rydberg
23490 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23491
e56cdf21 23492 * boot/powerpc/ieee1275/cmain.c: New file.
23493 * boot/powerpc/ieee1275/crt0.S: Likewise.
23494 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23495 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23496
8c8cc205 234972004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23498
23499 * Makefile.in: Update copyright.
23500 * genmodsrc.sh: Likewise.
23501 * gensymlist.sh: Likewise.
23502 * term/i386/pc/vga.c: Indent correctly.
23503
23504 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23505 bugreporting address.
23506 * util/i386/pc/pupa-setup.c (usage): Likewise,
23507 (main): Call pupa_ext2_init and pupa_ext2_fini.
23508
f19dbdb7 23509 * fs/fat.c (log2): Renamed to ...
8c8cc205 23510 (fat_log2): ... this.
23511 All callers changed.
23512 * kern/misc.c (memcpy): Alias to pupa_memmove.
23513 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23514 lvalue cast.
23515 * util/console.c (pupa_ncurses_fini): Return 0.
23516
23517 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23518 Move fail label here.
23519 [__GNU__]: Don't warn when using stat.
23520 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23521 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23522 long int. Use strtol instead of strtoul.
f19dbdb7 23523
db1771cf 235242004-03-14 Marco Gerards <metgerards@student.han.nl>
23525
23526 * commands/boot.c: New file.
23527 * commands/cat.c: Likewise.
23528 * commands/cmp.c: Likewise.
23529 * commands/ls.c: Likewise.
23530 * commands/terminal.c: Likewise.
23531 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23532 (pupa_register_command): Changed interface to match the new
23533 argument parser.
23534 (pupa_command_execute): Changed (almost rewritten) so it uses
23535 pupa_split_command. Added support for setting variables using the
23536 syntax `foo=bar'.
23537 (rescue_command): Changed to work with the new argument parser.
23538 (terminal_command): Moved from here to commands/terminal.c.
23539 (set_command): New function.
23540 (unset_command): New function.
23541 (insmod_command): New function.
23542 (rmmod_command): New function.
23543 (lsmod_command): New function.
23544 (pupa_command_init): Don't initialize the command terminal
23545 anymore. Initialize the commands set, unset, insmod, rmmod and
23546 lsmod.
23547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23548 (kernel_img_HEADERS): Add arg.h and env.h.
23549 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23550 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23551 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23552 normal/arg.c.
23553 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23554 terminal.mod.
23555 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23556 (boot_mod_SOURCES): New variable.
23557 (terminal_mod_SOURCES): Likewise.
23558 (ls_mod_SOURCES): Likewise.
23559 (cmp_mod_SOURCES): Likewise.
23560 (cat_mod_SOURCES): Likewise.
23561
23562 * normal/arg.c: New file.
23563 * kern/env.c: Likewise.
23564 * include/pupa/arg.h: Likewise.
23565 * include/pupa/env.h: Likewise.
23566 * font/manager.c (font_command): Changed to match argument parsing
23567 interface changes.
23568 (PUPA_MOD_INIT): Likewise.
23569 * hello/hello.c (pupa_cmd_hello): Likewise.
23570 (PUPA_MOD_INIT): Likewise.
23571 * include/pupa/disk.h: Include <pupa/device.h>.
23572 (pupa_print_partinfo): New prototype.
23573 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23574 (pupa_dl_get_prefix): Likewise.
23575 * include/pupa/misc.h: Include <pupa/err.h>.
23576 (pupa_isgraph): New prototype.
23577 (pupa_isdigit): Likewise.
23578 (pupa_split_cmdline): Likewise.
23579 * include/pupa/normal.h: Include <pupa/arg.h>.
23580 (pupa_command): Changed the prototype of the member `func' to
23581 match the argument parsing interface. Added member `options'.
23582 (pupa_register_command): Updated to match function.
23583 (pupa_arg_parse): New prototype.
23584 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23585 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23586 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23587 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23588 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23589 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23590 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23591 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23592 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23593 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23594 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23595 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23596 * kern/disk.c: Include <pupa/file.h>.
23597 (pupa_print_partinfo): New function.
23598 * kern/dl.c: Include <pupa/env.h>.
23599 (pupa_dl_dir): Variable removed.
23600 (pupa_dl_load): Use the environment variable `prefix' instead of
23601 the variable pupa_dl_dir.
23602 (pupa_dl_set_prefix): Function removed.
23603 (pupa_dl_get_prefix): Likewise.
23604 * kern/i386/pc/init.c: Include <pupa/env.h>.
23605 (pupa_machine_init): Use the environment variable `prefix' instead of
23606 using pupa_dl_set_prefix to set the prefix.
23607 * kern/main.c: Include <pupa/env.h>.
23608 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23609 using pupa_dl_get_prefix to get the prefix.
23610 * kern/misc.c: Include <pupa/env.h>.
23611 (pupa_isdigit): New function.
23612 (pupa_isgraph): Likewise.
23613 (pupa_ftoa): Likewise.
23614 (pupa_vsprintf): Added support for printing values of the type
23615 `double'. Make it possible to format variable output when using
23616 formatting like `%1.2%f'.
23617 (pupa_split_cmdline): New function.
23618 * kern/rescue.c: Include <pupa/env.h>.
23619 (next_word): Removed function.
23620 (pupa_rescue_cmd_prefix): Likewise.
23621 (pupa_rescue_cmd_set): New function.
23622 (pupa_rescue_cmd_unset): New function.
23623 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23624 split the command line instead of splitting it here. Added
23625 support for setting variables using the syntax `foo=bar'. Don't
23626 initialize the prefix command anymore. Initialized the set and
23627 unset commands.
23628 * normal/cmdline.c: Include <pupa/env.h>.
23629 (pupa_tab_complete): Added prototypes for print_simple_completion,
23630 print_partition_completion, add_completion, iterate_commands,
23631 iterate_dev, iterate_part and iterate_dir. Moved code to print
23632 partition information from here to kern/disk.c.
fe6b695a 23633 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23634 * normal/main.c: Include <pupa/env.h>.
23635 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23636 instead of using pupa_dl_get_prefix to get the prefix.
23637 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23638 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23639 warning.
23640 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23641 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23642 ((unused))' to silence a gcc warning.
23643 (pupa_vga_setcolor): Likewise.
23644 (debug_command): Changed to match argument parsing
23645 interface changes.
23646 * util/pupa-emu.c: Include <pupa/env.h>.
23647 (options): Added 0's for unused fields to silence a gcc warning.
23648 (argp): Likewise.
23649 (main): Use the environment variable `prefix' instead of using
23650 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23651 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23652 and terminal.
23653
23654 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23655 * util/misc.c: Include <malloc.h>.
23656 (pupa_malloc): Rewritten so errors are correctly reported.
23657 (pupa_realloc): Likewise.
23658 (pupa_memalign): Likewise.
23659 (pupa_mm_init_region): Declare unused variables with
23660 `__attribute__ ((unused))' to silence a gcc warning.
23661 * normal/i386/setjmp.S: Remove tab at the end of the file to
23662 silence a gcc warning.
23663 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23664 variables with `__attribute__ ((unused))' to silence a gcc
23665 warning.
23666 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23667 local variable i unsigned to silence a gcc warning.
23668
23669 * kern/term.c: Include <pupa/misc.h>.
23670 (pupa_more_lines): New variable.
23671 (pupa_more): Likewise.
23672 (pupa_putcode): When the pager is active pause at the end of every
23673 screen.
23674 (pupa_set_more): New function.
23675 * include/pupa/term.h (pupa_set_more): New prototype.
23676
23677
3b1139cb 236782004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23679
23680 Now this project is GRUB 2 rather than PUPA. The location of
23681 the CVS repository was moved to GRUB's.
f19dbdb7 23682
3b1139cb 23683 * configure.ac: Use bug-grub as the reporting address.
23684 Use GRUB instead of PUPA.
23685 Change the version number to 1.90.
23686
8367695c 236872004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23688
23689 * genkernsyms.sh: Updated copyright information.
23690 * genmk.rb: Likewise.
23691 * genmodsrc.sh: Likewise.
23692 * gensymlist.sh: Likewise.
23693 * boot/i386/pc/boot.S: Likewise.
23694 * boot/i386/pc/diskboot.S: Likewise.
23695 * disk/i386/pc/biosdisk.c: Likewise.
23696 * disk/i386/pc/partition.c: Likewise.
23697 * font/manager.c: Likewise.
23698 * fs/ext2.c: Likewise.
23699 * fs/fat.c: Likewise.
23700 * include/pupa/boot.h: Likewise.
23701 * include/pupa/device.h: Likewise.
23702 * include/pupa/disk.h: Likewise.
23703 * include/pupa/dl.h: Likewise.
23704 * include/pupa/elf.h: Likewise.
23705 * include/pupa/err.h: Likewise.
23706 * include/pupa/file.h: Likewise.
23707 * include/pupa/font.h: Likewise.
23708 * include/pupa/fs.h: Likewise.
23709 * include/pupa/kernel.h: Likewise.
23710 * include/pupa/loader.h: Likewise.
23711 * include/pupa/misc.h: Likewise.
23712 * include/pupa/mm.h: Likewise.
23713 * include/pupa/net.h: Likewise.
23714 * include/pupa/normal.h: Likewise.
23715 * include/pupa/rescue.h: Likewise.
23716 * include/pupa/setjmp.h: Likewise.
23717 * include/pupa/symbol.h: Likewise.
23718 * include/pupa/term.h: Likewise.
23719 * include/pupa/types.h: Likewise.
23720 * include/pupa/i386/setjmp.h: Likewise.
23721 * include/pupa/i386/types.h: Likewise.
23722 * include/pupa/i386/pc/biosdisk.h: Likewise.
23723 * include/pupa/i386/pc/boot.h: Likewise.
23724 * include/pupa/i386/pc/console.h: Likewise.
23725 * include/pupa/i386/pc/init.h: Likewise.
23726 * include/pupa/i386/pc/kernel.h: Likewise.
23727 * include/pupa/i386/pc/linux.h: Likewise.
23728 * include/pupa/i386/pc/loader.h: Likewise.
23729 * include/pupa/i386/pc/memory.h: Likewise.
23730 * include/pupa/i386/pc/multiboot.h: Likewise.
23731 * include/pupa/i386/pc/partition.h: Likewise.
23732 * include/pupa/i386/pc/time.h: Likewise.
23733 * include/pupa/i386/pc/vga.h: Likewise.
23734 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
23735 * include/pupa/util/getroot.h: Likewise.
23736 * include/pupa/util/misc.h: Likewise.
23737 * include/pupa/util/resolve.h: Likewise.
23738 * kern/device.c: Likewise.
23739 * kern/disk.c: Likewise.
23740 * kern/dl.c: Likewise.
23741 * kern/err.c: Likewise.
23742 * kern/file.c: Likewise.
23743 * kern/fs.c: Likewise.
23744 * kern/loader.c: Likewise.
23745 * kern/main.c: Likewise.
23746 * kern/misc.c: Likewise.
23747 * kern/mm.c: Likewise.
23748 * kern/rescue.c: Likewise.
23749 * kern/term.c: Likewise.
23750 * kern/i386/dl.c: Likewise.
23751 * kern/i386/pc/init.c: Likewise.
23752 * kern/i386/pc/lzo1x.S: Likewise.
23753 * kern/i386/pc/startup.S: Likewise.
23754 * loader/i386/pc/chainloader.c: Likewise.
23755 * loader/i386/pc/linux.c: Likewise.
23756 * loader/i386/pc/multiboot.c: Likewise.
23757 * normal/cmdline.c: Likewise.
23758 * normal/command.c: Likewise.
23759 * normal/main.c: Likewise.
23760 * normal/menu.c: Likewise.
23761 * normal/i386/setjmp.S: Likewise.
23762 * term/i386/pc/console.c: Likewise.
23763 * term/i386/pc/vga.c: Likewise.
23764 * util/console.c: Likewise.
23765 * util/genmoddep.c: Likewise.
23766 * util/misc.c: Likewise.
23767 * util/pupa-emu.c: Likewise.
23768 * util/resolve.c: Likewise.
23769 * util/unifont2pff.rb: Likewise.
23770 * util/i386/pc/biosdisk.c: Likewise.
23771 * util/i386/pc/getroot.c: Likewise.
23772 * util/i386/pc/pupa-mkimage.c: Likewise.
23773 * util/i386/pc/pupa-setup.c: Likewise.
23774
e6eced71 237752004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
23776
23777 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
23778 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
23779 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
23780 reading and reset it after reading.
23781 (pupa_ext2_close): Return PUPA_ERR_NONE.
23782
23783 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
23784 Correct value.
23785 (struct linux_kernel_header): Add kernel_version and
23786 initrd_addr_max.
23787 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
23788 pupa_file_read succeeds.
23789 (pupa_rescue_cmd_initrd): Implement.
23790
5aded270 237912003-12-03 Marco Gerards <metgerards@student.han.nl>
23792
23793 * fs/ext2.c (pupa_ext2_label): New function.
23794 (pupa_ext2_fs): Added label.
23795 * fs/fat.c (pupa_fat_label): New function.
23796 (pupa_fat_fs): Added label.
23797 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
23798
23799 * kern/misc.c (pupa_strndup): New function.
23800 * include/pupa/misc.h (pupa_strndup): New prototype.
23801
23802 * include/pupa/normal.h: Include <pupa/err.h>.
23803 (pupa_set_history): New prototype.
23804 (pupa_iterate_commands): New prototype.
23805 * normal/cmdline.c: Include <pupa/machine/partition.h>,
23806 <pupa/disk.h>, <pupa/file.h>.
23807 (hist_size): New variable.
23808 (hist_lines): Likewise.
23809 (hist_end): Likewise.
23810 (hist_used): Likewise.
23811 (pupa_set_history): New function.
23812 (pupa_history_get): Likewise.
23813 (pupa_history_add): Likewise.
23814 (pupa_history_replace): Likewise.
23815 (pupa_tab_complete): Likewise.
23816 (pupa_cmdline_run): Added tab completion and history buffer. Tab
23817 completion shows partitionnames while completing partitions, this
23818 feature was suggested by Jeff Bailey.
23819 * normal/command.c (pupa_iterate_commands): New function.
23820 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
23821 (pupa_normal_init): Initialize history buffer.
23822 (PUPA_MOD_INIT): Likewise.
23823 (pupa_normal_fini): Free the history buffer.
23824 (PUPA_MOD_FINI): Likewise.
23825
23826 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
23827 key.
23828
23829 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
23830 * configure.ac [i386]: Check for regparam bug.
23831 (NESTED_FUNC_ATTR) [! i386]: Defined.
23832
1f7315a3 238332003-11-17 Marco Gerards <metgerards@student.han.nl>
23834
23835 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
23836 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
23837 (pupa_emu_SOURCES): New variable.
23838 (pupa_emu_LDFLAGS): Likewise.
23839 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
23840 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
23841 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
23842 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23843 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
23844 (pupa_jmp_buf): New typedef.
23845 (pupa_setjmp) [PUPA_UTIL]: New macro.
23846 (pupa_longjmp) [PUPA_UTIL]: Likewise.
23847 * include/pupa/term.h (struct pupa_term): New member `refresh'.
23848 (pupa_refresh): New prototype.
23849 * include/pupa/util/getroot.h: New file.
23850 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
23851 it.
23852 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
23853 (pupa_rescue_cmd_cat): Likewise.
23854 (pupa_rescue_cmd_ls): Likewise.
23855 (pupa_rescue_cmd_testload): Likewise.
23856 (pupa_rescue_cmd_lsmod): Likewise.
23857 * normal/cmdline.c (pupa_cmdline_get): Likewise.
23858 * normal/menu.c (run_menu): Likewise.
23859 * kern/term.c (pupa_cls): Likewise.
23860 (pupa_refresh): New function.
23861 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
23862 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23863 * util/console.c: New file.
f19dbdb7 23864
1f7315a3 23865 * util/i386/pc/getroot.c: New file.
23866 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
23867 (pupa_putchar): New function.
23868 (pupa_refresh): Likewise.
23869 (xgetcwd): Function moved to ...
23870 (strip_extra_slashes): Likewise.
23871 (get_prefix): Likewise.
f19dbdb7 23872 * util/i386/pc/getroot.c: ... here.
1f7315a3 23873 (find_root_device): Function moved and renamed to...
23874 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
23875 Changed all callers.
23876 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
23877 and renamed to...
23878 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
23879 Changed all callers.
23880 * util/misc.c (pupa_memalign): New function.
23881 (pupa_mm_init_region): Likewise.
23882 (pupa_register_exported_symbols): Likewise.
23883 (pupa_putchar): Function removed.
23884 * util/pupa-emu.c: New file.
23885
9a5c1ade 238862003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
23887
23888 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
23889 (_multiboot_mod_SOURCES): New variable.
23890 (_multiboot_mod_CFLAGS): Likewise.
23891 * loader/i386/pc/multiboot.c: New file.
23892 * include/pupa/i386/pc/multiboot.h: Likewise.
23893 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
23894 (pupa_multiboot_real_boot): New function.
23895 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
23896 (pupa_multiboot_real_boot): New prototype.
23897 (pupa_rescue_cmd_multiboot): Likewise
23898 (pupa_rescue_cmd_module): Likewise.
23899
23900 * kern/loader.c (pupa_loader_set): Continue when
23901 pupa_loader_unload_func() fails.
23902 (pupa_loader_unset): New function.
23903 * include/pupa/loader.h (pupa_loader_unset): New prototype.
23904
23905 * kern/misc.c (pupa_stpcpy): New function.
23906 * include/pupa/misc.h (pupa_stpcpy): New prototype.
23907
8e72a9c0 239082003-11-12 Marco Gerards <metgerards@student.han.nl>
23909
23910 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
23911 for available extensions.
23912
23913 * include/pupa/i386/pc/time.h: New file.
23914 * kern/disk.c: Include <pupa/machine/time.h>.
23915 (PUPA_CACHE_TIMEOUT): New macro.
23916 (pupa_last_time): New variable.
23917 (pupa_disk_open): Flush the cache when there was a timeout.
23918 (pupa_disk_close): Reset the timer.
23919 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
23920 pupa_currticks.
23921 * util/misc.c: Include <sys/times.h>
23922 (pupa_get_rtc): New function.
23923
c4adbd32 239242003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23925
23926 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
23927 as blocks.
23928 (pupa_ext2_get_file_block): Use blocks member.
23929
23930 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
23931 first block. Return -1 instead of pupa_errno on error.
23932
bfd30f06 239332003-10-27 Marco Gerards <metgerards@student.han.nl>
23934
23935 * README: In the pupa-mkimage example use _chain instead of chain
23936 and ext2 instead of fat.
23937 * TODO: Replace ext2fs with jfs as an example. Add an item for
23938 adding journal playback for ext2fs.
23939 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
23940 (pkgdata_MODULES): Added ext2.mod.
23941 (ext2_mod_SOURCES): New variable.
23942 (ext2_mod_CFLAGS): Likewise.
23943 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
23944 * include/pupa/misc.h (pupa_strncpy): New prototype.
23945 (pupa_strcat): Likewise.
23946 (pupa_strncmp): Likewise.
23947 * kern/misc.c (pupa_strcat): Enable function.
23948 (pupa_strncpy): New function.
23949 (pupa_strncmp): Likewise.
23950 * fs/ext2.c: New file.
f19dbdb7 23951
bfd30f06 23952 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
23953 when the read failed before retrying.
23954 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
23955 (_FILE_OFFSET_BITS): Likewise.
23956 * configure.ac: Added AC_SYS_LARGEFILE.
23957
98d15063 239582003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23959
23960 * genmk.rb (PModule#rule): Make sure to get only symbol names
23961 from the output of nm.
59cad637 23962 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 23963
18d9c7cd 239642003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23965
23966 I forgot to check in these changes for a long time. This adds
23967 incomplete support for VGA console, and this is still very
23968 buggy. Also, a lot of consideration is required for I18N,
23969 UNICODE, and VGA font issues. Therefore, assume that this is
23970 such that "better than nothing".
f19dbdb7 23971
18d9c7cd 23972 * font/manager.c: New file.
23973 * include/pupa/font.h: Likewise.
23974 * include/pupa/i386/pc/vga.h: Likewise.
23975 * term/i386/pc/vga.c: Likewise.
23976 * util/unifont2pff.rb: Likewise.
23977
23978 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
23979 (pkgdata_MODULES): Added vga.mod and font.mod.
23980 (vga_mod_SOURCES): New variables.
23981 (vga_mod_CFLAGS): Likewise.
23982 (font_mod_SOURCES): Likewise.
23983 (font_mod_CFLAGS): Likewise.
23984
23985 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
23986
23987 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 23988 (struct pupa_term): Added init and fini.
18d9c7cd 23989 Changed the argument of putchar to pupa_uint32_t.
23990
23991 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
23992 (pupa_console_real_putchar): New prototype.
23993 (pupa_console_putchar): Removed.
23994 (pupa_console_checkkey): Exported.
23995 (pupa_console_getkey): Likewise.
23996
23997 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
23998 characters.
23999
24000 * kern/term.c (pupa_term_set_current): Rewritten.
24001 (pupa_putchar): Likewise.
24002 (pupa_putcode): New function.
24003
24004 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24005 (pupa_console_real_putchar): ... this.
24006 (pupa_vga_set_mode): New function.
24007 (pupa_vga_get_font): Likewise.
24008
24009 * normal/command.c: Include pupa/term.h.
24010 (terminal_command): New function.
24011 (pupa_command_init): Register the command "terminal".
24012
24013 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24014 (DISP_UP): Likewise.
24015 (DISP_RIGHT): Likewise.
24016 (DISP_DOWN): Likewise.
24017 (DISP_HLINE): Likewise.
24018 (DISP_VLINE): Likewise.
24019 (DISP_UL): Likewise.
24020 (DISP_UR): Likewise.
24021 (DISP_LL): Likewise.
24022 (DISP_LR): Likewise.
24023
24024 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24025
977329f5 240262003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24027
24028 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24029 FIX. Reverse the path_list.
24030
24031 * include/pupa/normal.h: Export pupa_register_command and
24032 pupa_unregister_command.
24033
24034 * hello/hello.c (pupa_cmd_hello): New module.
24035 * conf/i386-pc.rmk: Added hello.mod.
24036
1f5ab428 240372003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24038
24039 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24040
1f5ab428 24041 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24042 (compress_kernel): New variable.
24043 (generate_image): Heavily modified to support compressing a
24044 large part of the core image.
24045
24046 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24047 leak.
24048 (pupa_util_load_image): New function.
24049
24050 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24051 (pupa_compressed_size): New variable.
24052 (codestart): Enable Gate A20 here.
24053 Decompress the compressed part of the core image.
24054 Rearrange the code to put functions and variables which are
24055 required for initialization in the non-compressed part.
24056 Include lzo1x.S.
24057
24058 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24059 here.
24060
24061 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24062
f19dbdb7 24063 * include/pupa/i386/pc/kernel.h
1f5ab428 24064 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24065 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24066 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24067 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24068 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24069
24070 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24071
24072 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24073 (Utility#rule): Likewise.
24074
24075 * configure.ac: Check if LZO is available.
24076
ce5bf700 240772003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24078
24079 * include/pupa/normal.h: New file.
24080 * include/pupa/setjmp.h: Likewise.
24081 * include/pupa/i386/setjmp.h: Likewise.
24082 * normal/cmdline.c: Likewise.
24083 * normal/command.c: Likewise.
24084 * normal/main.c: Likewise.
24085 * normal/menu.c: Likewise.
24086 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24087
ce5bf700 24088 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24089 (pupa_rescue_cmd_initrd): Likewise.
24090
24091 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24092 Likewise.
24093
24094 * kern/i386/pc/startup.S (translation_table): New variable.
24095 (translate_keycode): New function.
24096 (pupa_console_getkey): Call translate_keycode.
24097
24098 * kern/rescue.c (attempt_normal_mode): New function.
24099 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24100 it failed, print a message.
24101
24102 * kern/mm.c (pupa_real_malloc): Print more information when a
24103 free magic is broken.
24104 (pupa_free): If the first free header is not free actually, set
24105 it to P.
24106
24107 * kern/main.c (pupa_load_normal_mode): Just load the module
24108 "normal".
24109 (pupa_main): Don't print the message
24110 "Entering into rescue mode..." here.
24111
24112 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24113 Declared.
24114 (pupa_rescue_cmd_initrd): Likewise.
24115 (pupa_rescue_cmd_initrd): Likewise.
24116
24117 * include/pupa/symbol.h (FUNCTION): Specify the type.
24118 (VARIABLE): Likewise.
24119
24120 * include/pupa/err.h (pupa_err_t): Added
24121 PUPA_ERR_UNKNOWN_COMMAND.
24122
24123 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24124 (pupa_dl_get_prefix): Likewise.
24125
24126 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24127 Added _chain.mod and _linux.mod instead of chain.mod and
24128 linux.mod.
24129 (chain_mod_SOURCES): Renamed to ...
24130 (_chain_mod_SOURCES): ... this.
24131 (chain_mod_CFLAGS): Renamed to ...
24132 (_chain_mod_CFLAGS): ... this.
24133 (linux_mod_SOURCES): Renamed to ...
24134 (_linux_mod_SOURCES): ... this.
24135 (linux_mod_CFLAGS): Renamed to ...
24136 (_linux_mod_CFLAGS): ... this.
24137 (normal_mod_SOURCES): New variable.
24138 (normal_mod_CFLAGS): Likewise.
24139 (normal_mod_ASFLAGS): Likewise.
24140
241412003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24142
24143 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24144 possible.
24145
fe6b695a 24146 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24147 recursively.
24148 (pupa_dl_unref): Unrefer depending modules recursively.
24149 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24150 a module is unloaded before one depending on that module is
24151 unloaded.
24152 (pupa_dl_unload): Unload depending modules explicitly,
24153 if possible.
24154
c04da074 241552003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24156
24157 * include/pupa/i386/pc/linux.h: New file.
24158 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24159
c04da074 24160 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24161 Removed.
24162 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24163 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24164 of PUPA_CHAINLOADER_BOOT_SECTOR.
24165
24166 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24167 (pupa_linux_prot_size): New variable.
24168 (pupa_linux_tmp_addr): Likewise.
24169 (pupa_linux_real_addr): Likewise.
24170 (pupa_linux_boot_zimage): New function.
24171 (pupa_linux_boot_bzimage): Likewise.
24172
24173 * kern/i386/pc/init.c (struct mem_region): New structure.
24174 (MAX_REGIONS): New macro.
24175 (mem_regions): New variable.
24176 (num_regions): Likewise.
24177 (pupa_os_area_addr): Likewise.
24178 (pupa_os_area_size): Likewise.
24179 (pupa_lower_mem): Likewise.
24180 (pupa_upper_mem): Likewise.
24181 (add_mem_region): New function.
24182 (compact_mem_regions): Likewise.
24183 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24184 the size of the conventional memory and that of so-called upper
24185 memory (before the first memory hole).
24186 Instead of adding each found region to free memory, use
24187 add_mem_region and add them after removing overlaps.
24188 Also, add only 1/4 of the upper memory to free memory. The rest
24189 is used for loading OS images. Maybe this is ad hoc, but this
24190 makes it much easier to relocate OS images when booting.
24191
24192 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24193 (pupa_enter_rescue_mode): Don't register initrd and module.
24194
24195 * kern/mm.c: Include pupa/dl.h.
24196
24197 * kern/main.c: Include pupa/file.h and pupa/device.h.
24198
24199 * kern/loader.c (pupa_loader_load_module_func): Removed.
24200 (pupa_loader_load_module): Likewise.
24201
24202 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24203 ``.o''.
24204
24205 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24206 (pupa_linux_tmp_addr): Likewise.
24207 (pupa_linux_real_addr): Likewise.
24208 (pupa_linux_boot_zimage): Likewise.
24209 (pupa_linux_boot_bzimage): Likewise.
24210
24211 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24212 (pupa_upper_mem): Likewise.
24213 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24214 module is too dangerous.
24215
24216 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24217 (pupa_os_area_size): Likewise.
24218 (pupa_loader_set): Remove the first argument. Loader doesn't
24219 manage modules or initrd any longer.
24220 (pupa_loader_load_module): Removed.
24221
24222 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24223 (linux_mod_SOURCES): New variable.
24224 (linux_mod_CFLAGS): Likewise.
24225
a13f9237 242262003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24227
24228 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24229 the length of a blocklist correctly.
24230
24231 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24232 Use ioctl only if the OS file is a block device.
24233 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24234 not very useful for normal files.
24235
24236 * kern/main.c (pupa_set_root_dev): New function.
24237 (pupa_load_normal_mode): Likewise.
24238 (pupa_main): Call those above.
24239
24240 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24241 pupa_uint16_t.
24242
24243 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24244
a5ffe966 242452003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24246
24247 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24248 (setup): Configure the installed partition information and the
24249 dl prefix.
24250
24251 * loader/i386/pc/chainloader.c (my_mod): New variable.
24252 (pupa_chainloader_unload): New function.
24253 (pupa_rescue_cmd_chainloader): Refer itself.
24254 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24255
24256 * kern/i386/pc/startup.S (install_partition): Removed.
24257 (version_string): Likewise.
24258 (config_file): Likewise.
24259 (pupa_install_dos_part): New variable.
24260 (pupa_install_bsd_part): Likewise.
24261 (pupa_prefix): Likewise.
24262 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24263
24264 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24265 and pupa/misc.h.
24266 (make_install_device): New function.
24267 (pupa_machine_init): Set the dl prefix.
24268
24269 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24270 (buf): Renamed to ...
24271 (linebuf): ... this.
24272 (pupa_rescue_cmd_prefix): New function.
24273 (pupa_rescue_cmd_insmod): Likewise.
24274 (pupa_rescue_cmd_rmmod): Likewise.
24275 (pupa_rescue_cmd_lsmod): Likewise.
24276 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24277 rmmod and lsmod.
24278
24279 * kern/mm.c (pupa_memalign): If failed even after invalidating
24280 disk caches, unload unneeded modules and retry.
24281
24282 * kern/misc.c (pupa_memmove): New function.
24283 (pupa_memcpy): Removed.
24284 (pupa_strcpy): New function.
24285 (pupa_itoa): Made static.
24286
24287 * kern/dl.c (pupa_dl_iterate): New function.
24288 (pupa_dl_ref): Likewise.
24289 (pupa_dl_unref): Likewise.
24290 (pupa_dl_unload): Return if succeeded or not.
24291 (pupa_dl_unload_unneeded): New function.
24292 (pupa_dl_unload_all): Likewise.
24293 (pupa_dl_init): Renamed to ...
24294 (pupa_dl_set_prefix): ... this.
24295 (pupa_dl_get_prefix): New function.
24296
24297 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24298 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24299 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24300 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24301 (pupa_install_dos_part): Declared.
24302 (pupa_install_bsd_part): Likewise.
24303 (pupa_prefix): Likewise.
24304 (pupa_boot_drive): Likewise.
24305
24306 * include/pupa/types.h: Fix a typo.
24307
24308 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24309 pupa_memmove.
24310 (pupa_memmove): Declared.
24311 (pupa_strcpy): Likewise.
24312
24313 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24314 pupa_mod_init takes one argument, its own module.
24315 (pupa_dl_unload_unneeded): Declared.
24316 (pupa_dl_unload_all): Likewise.
24317 (pupa_dl_ref): Likewise.
24318 (pupa_dl_unref): Likewise.
24319 (pupa_dl_iterate): Likewise.
24320 (pupa_dl_init): Renamed to ...
24321 (pupa_dl_set_prefix): ... this.
24322 (pupa_dl_get_prefix): Declared.
24323
24324 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24325 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24326 unloaded.
24327 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24328 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24329
24330 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24331 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24332
012d7999 243332003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24334
24335 * util/i386/pc/pupa-setup.c (setup): Define the internal
24336 function find_first_partition_start at the top level, because GCC
24337 3.0.x cannot compile internal functions in deeper scopes
24338 correctly.
24339 (find_root_device): Use lstat instead of stat.
24340 Don't follow symbolic links.
24341 Fix the path-constructing code.
24342
24343 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24344 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24345 by a BLKGETSIZE ioctl first, because block devices don't fill
24346 the member st_mode of the structure stat on Linux.
24347 [__linux__] (linux_find_partition): Use a temporary buffer
24348 REAL_DEV for the working space. Copy it to DEV before returning.
24349 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24350 buffer cache consistent.
24351 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24352 strncmp. The previous value was merely wrong.
24353 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24354
24355 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24356 FAT size is 12. The previous value was merely wrong.
24357
24358 * kern/main.c (pupa_main): Don't split the starting message from
24359 newlines.
24360
24361 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24362 LF, because BIOS goes crazy about character attributes in this
24363 case.
24364
1cc73a62 243652003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24366
24367 * include/i386/pc/util/biosdisk.h: New file.
24368 * util/i386/pc/biosdisk.c: Likewise.
24369 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24370
1cc73a62 24371 * Makefile.in (INCLUDE_DISTFILES): Added
24372 include/pupa/i386/pc/util/biosdisk.h.
24373 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24374 directory util/i386/pc.
24375 (install-local): Added a rule for sbin_UTILITIES.
24376 (uninstall): Likewise.
24377
24378 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24379
24380 * util/misc.c (xrealloc): New function.
24381 (pupa_malloc): Likewise.
24382 (pupa_free): Likewise.
24383 (pupa_realloc): Likewise.
24384 (pupa_stop): Likewise.
24385 (pupa_putchar): Likewise.
24386
24387 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24388
24389 * include/pupa/util/misc.h (xrealloc): Declared.
24390
24391 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24392 macro.
24393 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24394 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24395
24396 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24397 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24398
24399 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24400 way should be implemented.
24401 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24402
24403 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24404 the size of NAME for safety.
24405 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24406 0x88.
24407
24408 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24409 (pupa_setup_SOURCES): Likewise.
24410
24411 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24412
08b70fe8 244132002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24414
24415 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24416 bunch of pushl's from pusha, because this destroys the return
24417 value.
24418
62ddcc8f 244192002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24420
24421 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24422 This means that any missing prototypes could be fatal. Also, you
24423 must take care when writing assembly code. See the comments at
24424 the beginning of startup.S, for more details.
f19dbdb7 24425
62ddcc8f 24426 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24427 compilation mechanism.
24428 (pupa_chainloader_real_boot): Likewise.
24429 (pupa_biosdisk_rw_int13_extensions): Likewise.
24430 (pupa_biosdisk_rw_standard): Likewise.
24431 (pupa_biosdisk_check_int13_extensions): Likewise.
24432 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24433 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24434 (pupa_get_memsize): Likewise.
24435 (pupa_get_mmap_entry): Likewise.
24436 (pupa_console_putchar): Likewise.
24437 (pupa_console_setcursor): Likewise.
24438 (pupa_getrtsecs): Use pushl instead of push.
24439
24440 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24441 memory instead of the stack for a mmap entry, because some
24442 BIOSes may ignore the maximum size and overflow.
24443
24444 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24445
24446 * genmk.rb (PModule#rule): Compile automatically generated
24447 sources with module-specific CFLAGS as well as other sources.
24448
9962ed99 244492002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24450
24451 * configure.ac: Check ld.
24452 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24453 respectively, before checking endianness and sizes.
24454
24455 * Makefile.in (LD): New variable.
f19dbdb7 24456
abdfc3c5 244572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24458
24459 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24460
6a161fa9 244612002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24462
24463 * Changelog: New file.
24464