]> git.proxmox.com Git - grub2.git/blame - ChangeLog
fix grub-script-check
[grub2.git] / ChangeLog
CommitLineData
63533ab0
VS
12010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
4 of the line.
5
989e1f93
VS
62010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9 last sectors.
10
e709ebe2
VS
112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14 having a 4KiB and not 32KiB buffer size.
15
27dea7ed
RM
162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17
18 * util/hostfs.c: Include `<errno.h>'.
19 (grub_hostfs_read): Handle errors from fseeko() and fread().
20
67667b9c
RM
212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22
23 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24 loop when using read hooks on files whose size isn't sector-aligned.
25
c294d9d8
RM
262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27
28 Remove unused parameter.
29
30 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
31 (grub_iso9660_open): Remove initialization of `data->length'.
32
af75a9f1
RM
332010-01-27 Robert Millan <rmh.grub@aybabtu.com>
34
35 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
36 memleak conditions.
37
254e2ce5 382010-01-27 Carles Pina i Estany <carles@pina.cat>
39
40 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
41 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
42
b510928c 432010-01-26 Carles Pina i Estany <carles@pina.cat>
44
45 * util/bin2h.c (usage): Fix warning (space after backslash).
46
aa2f9dd2 472010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 48
49 * font/font.c: Include `grub/fontformat.h.
50 Remove font file format constants.
51 (grub_font_load): Use the new macros.
52 * include/grub/fontformat.h: New file.
53 * util/grub-mkfont.c: Include `grub/fontformat.c'.
54 (write_font_pf2): Use the new macros.
55
94e7e712
RM
562010-01-26 Robert Millan <rmh.grub@aybabtu.com>
57
58 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
59 does.
60
3973a59a
RM
612010-01-26 Robert Millan <rmh.grub@aybabtu.com>
62
63 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
64
65 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
66 (_start): Macroify `0x7F'.
67
68 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
69 (make_install_device): Use "(pxe)" as fallback prefix when booting
70 via PXE.
71
42e0cba3
GS
722010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * configure.ac: Reset LIBS after check for libgcc symbols.
75
847effd8
CW
762010-01-25 Colin Watson <cjwatson@ubuntu.com>
77
78 * util/hostdisk.c (open_device): Add trailing newline to debug
79 message.
80
ea4a7e35
GS
812010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
82
83 * configure.ac: Check for `limits.h'.
84 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
85
67951a53
RM
862010-01-24 Robert Millan <rmh.grub@aybabtu.com>
87
88 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
89 capitalize error strings.
90
c273d4ce
ST
912010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
92
93 * util/grub.d/10_hurd.in: Add a recovery mode.
94
69be5b74
VS
952010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * configure.ac: Check for libgcc symbols with -nostdlib.
98
fc9e5810
BC
992010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
100
101 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
102
4b358c0a
VS
1032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
106 stack since heap may be unavailable at that point.
107 (grub_ofconsole_gotoxy): Likewise.
108
454fcd1c
VS
1092010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * configure.ac: Check for _restgpr_14_x.
112 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
113 and _savegpr_* prototypes.
114
566863ca
RM
1152010-01-22 Robert Millan <rmh.grub@aybabtu.com>
116
117 Use generic grub_reboot() for i386-efi.
118
119 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
120 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
121 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
122
bf86e59a
VS
1232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
126 presence of "prefix" variable as it breaks when normal.mod is
127 embedded.
128
d645e0f8
VS
1292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
132 stack since heap is unavailable at that point.
133
f9ab2e25
VS
1342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
137 (grub_freebsd_bootinfo): Rewritten.
138 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
139
01fc7054
VS
1402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
143
caab4fd6
RM
1442010-01-21 Robert Millan <rmh.grub@aybabtu.com>
145
146 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
147 domain now.
148
67eb1427
FZ
1492010-01-20 Felix Zielcke <fzielcke@z-51.de>
150
151 * util/misc.c (make_system_path_relative_to_its_root): Change the work
152 around for handling "/" to the correct fix. Fix a memory leak. Use
153 xstrdup instead of strdup.
154
a9ed4ff3
VS
1552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
158
1592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
160
161 Optimise glyph lookup by Basic Multilingual Plane lookup array.
162
163 * font/font.c (struct grub_font): New member 'bmp_idx'.
164 (font_init): Initialise 'bmp_idx'.
165 (load_font_index): Fill 'bmp_idx'.
166 (find_glyph): Make inline. Use bmp_idx for BMP characters.
167
48209f4f
VS
1682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
171 unnecessary calls.
172
9f0a4bb7
VS
1732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Move context handling out of the kernel.
176
177 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
178 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
179 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
180 * conf/i386-efi.rmk: Likewise.
181 * conf/i386-ieee1275.rmk: Likewise.
182 * conf/i386-pc.rmk: Likewise.
183 * conf/powerpc-ieee1275.rmk: Likewise.
184 * conf/sparc64-ieee1275.rmk: Likewise.
185 * conf/x86_64-efi.rmk: Likewise.
186 * include/grub/env.h: Include grub/menu.h.
187 (grub_env_var_type): Removed.
188 (grub_env_var): Replaced field 'type' with 'global'.
189 (grub_env_find): New prototype.
190 (grub_env_context_open): Remove EXPORT_FUNC.
191 (grub_env_context_close): Likewise.
192 (grub_env_export): Likewise.
193 (grub_env_set_data_slot): Removed.
194 (grub_env_get_data_slot): Likewise.
195 (grub_env_unset_data_slot): Likewise.
196 (grub_env_unset_menu): New prototype.
197 (grub_env_set_menu): Likewise.
198 (grub_env_get_menu): Likewise.
199 * include/grub/env_private.h: New file.
200 * include/grub/normal.h (grub_context_init): New prototype.
201 (grub_context_fini): Likewise.
202 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
203 * normal/context.c (grub_cmd_export): ... to here.
204 * kern/env.c: Include env_private.h.
205 (HASHSZ): Moved to include/grub/env_private.h.
206 (grub_env_context): Likewise.
207 (grub_env_sorted_var): Likewise.
208 (current_context): Renamed from this ...
209 (grub_current_context): ...to this. 'static' removed. All users updated.
210 (grub_env_find): Removed 'static'.
211 (grub_env_context_open): Moved to normal/context.c.
212 (grub_env_context_close): Likewise.
213 (grub_env_export): Likewise.
214 (mangle_data_slot_name): Removed.
215 (grub_env_set_data_slot): Likewise.
216 (grub_env_get_data_slot): Likewise.
217 (grub_env_unset_data_slot): Likewise.
218 * kern/main.c (grub_set_root_dev): Don't export root.
219 It will be done later.
220 (grub_main): Don't export prefix.
221 It will be done later.
222 * normal/context.c: New file.
223 * normal/main.c (free_menu): Use grub_env_unset_menu.
224 (grub_normal_add_menu_entry): Use grub_env_get_menu.
225 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
226 (GRUB_MOD_INIT(normal)): Call grub_context_init.
227 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
228
8dd35b8c
VS
2292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
230
231 setpci support.
232
233 * commands/setpci.c: New file.
234 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
235 (setpci_mod_SOURCES): New variable.
236 (setpci_mod_CFLAGS): Likewise.
237 (setpci_mod_LDFLAGS): Likewise.
238
449193d5
VS
2392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Byte-addressable PCI configuration space.
242
243 * bus/pci.c (grub_pci_make_address): Use byte address instead of
244 dword address.
245 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
246 GRUB_PCI_REG_CACHELINE.
247 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
248 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
249 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
250 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
251 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
252 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
253 grub_pci_make_address.
254 (lock_rom_area): Likewise.
255 * commands/lspci.c (grub_lspci_iter): Use macroses
256 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
257 of grub_pci_make_address.
258 * disk/ata.c (grub_ata_pciinit): Likewise.
259 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
260 (GRUB_PCI_REG_VENDOR): Likewise.
261 (GRUB_PCI_REG_DEVICE): Likewise.
262 (GRUB_PCI_REG_COMMAND): Likewise.
263 (GRUB_PCI_REG_STATUS): Likewise.
264 (GRUB_PCI_REG_REVISION): Likewise.
265 (GRUB_PCI_REG_CLASS): Likewise.
266 (GRUB_PCI_REG_CACHELINE): Likewise.
267 (GRUB_PCI_REG_LAT_TIMER): Likewise.
268 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
269 (GRUB_PCI_REG_BIST): Likewise.
270 (GRUB_PCI_REG_ADDRESSES): Likewise.
271 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
272 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
273 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
274 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
275 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
276 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
277 (GRUB_PCI_REG_CIS_POINTER): Likewise.
278 (GRUB_PCI_REG_SUBVENDOR): Likewise.
279 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
280 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
281 (GRUB_PCI_REG_CAP_POINTER): Likewise.
282 (GRUB_PCI_REG_IRQ_LINE): Likewise.
283 (GRUB_PCI_REG_IRQ_PIN): Likewise.
284 (GRUB_PCI_REG_MIN_GNT): Likewise.
285 (GRUB_PCI_REG_MAX_LAT): Likewise.
286 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
287 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
288 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 289 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
290 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
291 space.
292
96d73208
RM
2932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
294
295 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
296 can be reliably determined to be supported.
297
d4484482
RM
2982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
299
300 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
301 that VESA is supported.
302 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
303 supported.
304
00308ecf
VS
3052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
308
f66924a4
RM
3092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
310
311 * util/misc.c (make_system_path_relative_to_its_root): Work around
312 special-casing of "/", as previous incarnation of this routine did.
313
cbca0ada
VS
3142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Fix any-emu compilation.
317
318 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
319 * grub_bin2h_SOURCES: New variable.
320
34a66d99
RM
3212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
322
323 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
324
94fabf58
RM
3252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
326
327 * util/grub.d/00_header.in: Fix handling of locale_dir.
328
02cf98ca
VS
3292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
332 as possible unifont location (Gentoo).
333 Reported by: Alexander Brüning
334
327dbcd7
VS
3352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Don't try to generate lists for kernel.img.
338
339 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
340 (pkglib_MODULES): Remove kernel.img.
341 (kernel_img_EXPORTS): Removed.
342 (kernel_img_RELOCATABLE): New variable.
343 * conf/x86_64-efi.rmk: Likewise.
344 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
345
ca467290
VS
3462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
349 grub_xasprintf or grub_snprintf.
350 (grub_vsprintf): Likewise.
351 (grub_snprintf): New proto.
352 (grub_vsnprintf): Likewise.
353 (grub_xasprintf): Likewise.
354 (grub_xvasprintf): Likewise.
355 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
356 (grub_sprintf): Removed.
357 (grub_vsnprintf): New function.
358 (grub_snprintf): Likewise.
359 (grub_xvasprintf): Likewise.
360 (grub_xasprintf): Likewise.
361 (grub_vsprintf): Renamed to ...
362 (grub_vsnprintf_real): ...this. New argument max_len.
363
aca655fd
BC
3642010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
365
366 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
367 fix grub-script-check warning.
368
7ee92c32
VS
3692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * include/grub/font.h (grub_font_load): Fix prototype.
372
f80927ca
VS
3732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
376
119c50ea
VS
3772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * include/grub/x86_64/at_keyboard.h: New file.
380
47d5f3c1
VS
3812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * loader/mips/linux.c: Include missing grub/i18n.h.
384
55ff5266
RM
3852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
386
387 * normal/menu.c (notify_execution_failure): Clarify error message.
388
c893cc87
RM
3892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
390
391 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
392 return value (and revert all return statements). Update users.
393
917dd370
CW
3942010-01-20 Dan Merillat <debian@dan.merillat.org>
395
396 * kern/device.c (grub_device_iterate): Allocate new part_ent
397 structure based on sizeof (*p) rather than sizeof (p->next), to
398 account for structure padding.
399
400 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
401 disk is NULL, which might happen for LVM physical volumes with no
402 LVM signature.
403
d4a4ee57
RM
4042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
405
406 * loader/mips/linux.c (grub_cmd_initrd)
407 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
408
4092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
410
411 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
412 (grub_video_video_init, grub_video_bitmap_init)
413 (grub_font_manager_init, grub_term_gfxterm_init)
414 (grub_at_keyboard_init): New extern declarations.
415 (grub_machine_init): Initialize gfxterm and at_keyboard.
416
417 * kern/main.c (grub_main): Revert grub_printf delay kludge.
418
419 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
420 `gfxterm.mod' into core image.
421
422 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
423 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
424 (kernel_img_FORMAT): Copy to ...
425
426 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
427 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
428 (kernel_img_FORMAT): ... here, and ...
429
430 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
431 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
432 (kernel_img_FORMAT): ... here.
433
434 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
435 and input (at_keyboard) terminals in kernel.
436 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
437
438 (pkglib_MODULES): Remove `pci.mod'.
439 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
440 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
441 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
442 (at_keyboard_mod_LDFLAGS): Remove variables.
443
4442010-01-11 Felix Zielcke <fzielcke@z-51.de>
445
446 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
447
4482009-12-10 Robert Millan <rmh.grub@aybabtu.com>
449
450 * include/grub/mips/libgcc.h: Only export symbols for functions
451 that libgcc provides.
452
4532009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
454
455 MIPS support.
456
457 * bus/bonito.c: New file.
458 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
459 GRUB_PCI_NUM_DEVICES.
460 * term/i386/pc/serial.c: Move to ...
461 * term/serial.c: ... here. All users updated.
462 * util/i386/pc/grub-mkimage.c: Move to ...
463 * util/grub-mkrawimage.c: ... here. All users updated.
464 * term/i386/pc/at_keyboard.c: Move to ...
465 * term/at_keyboard.c: ... here. All users updated.
466 * conf/mips-qemu-mips.rmk: New file.
467 * conf/mips-yeeloong.rmk: Likewise.
468 * conf/mips.rmk: Likewise.
469 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
470 mipsel-qemu-mips.
471 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
472 to port addresses.
473 (grub_ata_pciinit): Support CS5536.
474 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
475 * font/font_cmd.c (loadfont_command): Open file before passing it to
476 grub_font_load.
477 (pseudo_file_read): New function.
478 (pseudo_file_close): Likewise.
479 (pseudo_fs): New structure.
480 (load_font_module): New function.
481 (GRUB_MOD_INIT(font_manager)): Load embedded font.
482 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
483 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
484 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
485 * include/grub/i386/at_keyboard.h: Split into ...
486 * include/grub/at_keyboard.h: ... this ...
487 * include/grub/i386/at_keyboard.h: ... and this.
488 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
489 New prototype.
490 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
491 updated.
492 (grub_elf64_size): Likewise.
493 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
494 filename.
495 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
496 * include/grub/i386/coreboot/serial.h: Rewritten.
497 * include/grub/i386/ieee1275/serial.h: Include
498 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
499 * include/grub/i386/pc/serial.h: Moved from here ...
500 * include/grub/serial.h: ... to here. All users updated.
501 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
502 (GRUB_PCI_NUM_BUS): Likewise.
503 (GRUB_PCI_NUM_DEVICES): Likewise.
504 (grub_pci_device_map_range): Add missing volatile keyword.
505 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
506 * include/grub/mips/at_keyboard.h: New file.
507 * include/grub/mips/cache.h: Likewise.
508 * include/grub/mips/io.h: Likewise.
509 * include/grub/mips/kernel.h: Likewise.
510 * include/grub/mips/libgcc.h: Likewise.
511 * include/grub/mips/pci.h: Likewise.
512 * include/grub/mips/qemu-mips/boot.h: Likewise.
513 * include/grub/mips/qemu-mips/kernel.h: Likewise.
514 * include/grub/mips/qemu-mips/loader.h: Likewise.
515 * include/grub/mips/qemu-mips/memory.h: Likewise.
516 * include/grub/mips/qemu-mips/serial.h: Likewise.
517 * include/grub/mips/qemu-mips/time.h: Likewise.
518 * include/grub/mips/relocator.h: Likewise.
519 * include/grub/mips/time.h: Likewise.
520 * include/grub/mips/types.h: Likewise.
521 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
522 * include/grub/mips/yeeloong/boot.h: Likewise.
523 * include/grub/mips/yeeloong/kernel.h: Likewise.
524 * include/grub/mips/yeeloong/loader.h: Likewise.
525 * include/grub/mips/yeeloong/memory.h: Likewise.
526 * include/grub/mips/yeeloong/pci.h: Likewise.
527 * include/grub/mips/yeeloong/serial.h: Likewise.
528 * include/grub/mips/yeeloong/time.h: Likewise.
529 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
530 * kern/elf.c (grub_elf32_size): New parameter. All users
531 updated.
532 (grub_elf64_size): Likewise.
533 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
534 Load modules before saying "Welcome to GRUB!".
535 Call grub_refresh after saying "Welcome to GRUB!".
536 * kern/mips/cache.S: New file.
537 * kern/mips/cache_flush.S: Likewise.
538 * kern/mips/dl.c: Likewise.
539 * kern/mips/init.c: Likewise.
540 * kern/mips/qemu-mips/init.c: Likewise.
541 * kern/mips/startup.S: Likewise.
542 * kern/mips/yeeloong/init.c: Likewise.
543 * kern/term.c (grub_putcode): Handle NULL terminal.
544 (grub_getcharwidth): Likewise.
545 (grub_getkey): Likewise.
546 (grub_checkkey): Likewise.
547 (grub_getkeystatus): Likewise.
548 (grub_getxy): Likewise.
549 (grub_getwh): Likewise.
550 (grub_gotoxy): Likewise.
551 (grub_cls): Likewise.
552 (grub_setcolorstate): Likewise.
553 (grub_setcolor): Likewise.
554 (grub_getcolor): Likewise.
555 (grub_refresh): Likewise.
556 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
557 (write_jump): Add hatch nop.
558 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
559 * lib/mips/setjmp.S: New file.
560 * loader/mips/linux.c: Likewise.
561 * term/i386/pc/at_keyboard.c: Move from here ...
562 * term/at_keyboard.c: ... to here.
563 * term/i386/pc/serial.c: Moved from here ...
564 * term/serial.c: ... to here. All users updated.
565 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
566 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
567 (serial_translate_key_sequence): Avoid deadlock.
568 (grub_serial_getkey): Handle backspace.
569 (grub_serial_putchar): Fix newline handling.
570 * util/i386/pc/grub-mkimage.c: Move from here ...
571 * util/grub-mkrawimage.c: ... to here. All users updated.
572 (generate_image): New parameters 'font_path' and 'format'.
573 Support embedding font.
574 Use grub_host_to_target* instead of grub_cpu_to_le*.
575 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
576 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
577 (options): New option "--font".
578 (usage): Likewise.
579 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
580 (main): Handle "--font".
581 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
582 (grub_virtual_screen_setup): Set bg_color_display.
583 (redraw_screen_rect): Use bg_color_display instead of incorrect
584 bg_color.
585 (grub_gfxterm_cls): Likewise.
586 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
587 Support embedding config file.
588 (add_segments): Likewise.
589 (options): New option "--config".
590 (main): Handle "--config".
591 * video/sm712.c: New file.
592
25c2b5b3
RM
5932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
594
595 Fix parallel builds.
596
597 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
598 font.c depend on ascii.h).
599
6002010-01-12 Carles Pina i Estany <carles@pina.cat>
601
602 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
603
6042010-01-11 Carles Pina i Estany <carles@pina.cat>
605
606 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
607 By default: disabled.
608 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
609 parameter.
610
6112010-01-10 Carles Pina i Estany <carles@pina.cat>
612
613 * font/font.c: Update copyright years.
614 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
615
6162010-01-10 Carles Pina i Estany <carles@pina.cat>
617
618 * font/font.c: Include `ascii.h'.
619 (ASCII_BITMAP_SIZE): New macro.
620 (ascii_font_glyph): Define.
621 (ascii_glyph_lookup): New function.
622 (grub_font_get_string_width): Change comment. If glyph not found, use
623 ascii_glyph_lookup.
624 (grub_font_get_glyph_with_fallback): If glyph not available returns
625 ascii_glyph_lookup.
626 * util/grub-mkfont.c (file_formats): New enum.
627 (options): Add `ascii-bitmaps' new option.
628 (usage): Add `asii-bitmaps' new option.
629 (write_font_ascii_bitmap): New function.
630 (write_font): Rename to ...
631 (write_font_p2): ... this. Remove print_glyphs call.
632 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
633 used. Call print_glyphs.
634 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
635
6362010-01-14 Robert Millan <rmh.grub@aybabtu.com>
637
638 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
639 (grub_bin2h_SOURCES): New variable.
640 * util/bin2h.c: New file.
641
915fc1b8
VS
6422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * include/multiboot.h: Resynced with spec.
645 * include/multiboot2.h: Likewise.
646 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
647 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
648
9444b678
RM
6492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
650
651 * include/grub/term.h (grub_term_register_input,
652 grub_term_register_output): Check return of terminal init()
653 routines, and abort if errors are raised.
654
655 * commands/terminal.c: Update copyright year.
656
cba98e8d
RM
6572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
658
659 * commands/terminal.c (grub_cmd_terminal_input)
660 (grub_cmd_terminal_output): Check return of terminal init()
661 routines, and abort if errors are raised.
662
6f7db5d6
VS
6632010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * include/grub/i386/bsd.h: Fix include pathes.
666
262bff8d
VS
6672010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Add missing *BSD copyright headers.
670
671 * include/grub/aout.h: Add BSD licence.
672 * include/grub/i386/bsd.h: Parts under different licences moved to ...
673 * include/grub/i386/freebsd_linker.h: ... here,
674 * include/grub/i386/freebsd_reboot.h: ... here,
675 * include/grub/i386/netbsd_bootinfo.h: ... here,
676 * include/grub/i386/netbsd_reboot.h: ... here,
677 * include/grub/i386/openbsd_bootarg.h: ... here,
678 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
679 licence to each file.
680
b2cab848
RM
6812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
682
683 * acinclude.m4: Remove `nop' assembly instruction; it's not
684 implemented by all architectures.
685
2cb6be4b
RM
6862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
687
688 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
689 ELILO. This is no longer necessary.
690
a2eaee15
BC
6912010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
692
693 Added new tool, grub-scrit-check to verify grub.cfg syntax.
694
695 * util/grub-script-check.c: grub-script-check tool.
696 * conf/common.rmk: Make rules for grub-script-check.
697
88d17012
RM
6982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
699
700 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
701 spotting it back in 2008. Shame on me for forgetting he did.
702
703 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
704
8040619d
RM
7052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
706
707 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
708 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
709 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
710 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
711 (GRUB_VIDEO_TYPE_EFI): Rename to ...
712 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
713
a0c2a0f6
RM
7142010-01-17 Robert Millan <rmh.grub@aybabtu.com>
715
716 * include/grub/test.h: Add license header.
717 * tests/example_functional_test.c: Likewise.
718 * tests/example_unit_test.c: Likewise.
719 * tests/lib/functional_test.c: Likewise.
720 * tests/lib/test.c: Likewise.
721 * tests/lib/unit_test.c: Likewise.
722
b0b13907
VS
7232010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Use flag-based instead of hook-based video mode selection and "auto"
726 keyword.
727
728 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
729 (grub_video_set_mode): Changed prototype. All users updated.
730 (grub_video_check_mode_flag): New inline function.
731 * video/video.c (parse_modespec): New function.
732 (grub_video_set_mode): Parse flags and keywords.
733
ea379330 7342010-01-17 Carles Pina i Estany <carles@pina.cat>
735
736 * util/misc.c (grub_util_info): Fix the order of the parameters in a
737 fprintf call.
738
e15c215e
FZ
7392010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
740
741 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
742
409ae1c9 7432010-01-16 Carles Pina i Estany <carles@pina.cat>
744
745 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
746 string.
747 * util/grub-emu.c (usage): Likewise.
748 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
749 * util/i386/efi/grub-mkimage.c (usage): Likewise.
750 * util/i386/pc/grub-mkimage.c (usage): Likewise.
751 * util/i386/pc/grub-setup.c (usage): Likewise.
752
70a14d3d 7532010-01-16 Carles Pina i Estany <carles@pina.cat>
754
755 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
756 the message.
757 (grub_util_info): Likewise.
758 (grub_util_error): Likewise.
759 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
760 and/or new lines in `grub_util_warna', `grub_util_info',
761 `grub_util_error' calls.
762 * util/getroot.c: Likewise.
763 * util/grub-editenv.c: Likewise.
764 * util/grub-emu.c: Likewise.
765 * util/grub-fstest.c: Likewise.
766 * util/grub-mkdevicemap.c: Likewise.
767 * util/grub-mkfont.c: Likewise.
768 * util/grub-mkpasswd-pbkdf2.c: Likewise.
769 * util/grub-mkrelpath.c: Likewise.
770 * util/grub-pe2elf.c: Likewise.
771 * util/grub-probe.c: Likewise.
772 * util/hostdisk.c: Likewise.
773 * util/i386/efi/grub-mkimage.c: Likewise.
774 * util/i386/pc/grub-mkimage.c: Likewise.
775 * util/i386/pc/grub-setup.c: Likewise.
776 * util/ieee1275/ofpath.c: Likewise.
777 * util/mkisofs/eltorito.c: Likewise.
778 * util/mkisofs/rock.c: Likewise.
779 * util/mkisofs/write.c: Likewise.
780 * util/raid.c: Likewise.
781 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
782 * util/sparc64/ieee1275/grub-setup.c: Likewise.
783
a0b766fc
VS
7842010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Enable multiboot on non-pc.
787
788 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
789 multiboot.mod and multiboot2.mod to ...
790 * conf/i386.rmk (pkglib_MODULES): ... here.
791 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
792 Moved to ...
793 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
794 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
795 Moved to ...
796 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
797 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
798 Moved to ...
799 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
800 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
801 Moved to ...
802 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
803 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
804 relocator.mod.
805 (ata_mod_SOURCES): Removed.
806 (ata_mod_CFLAGS): Likewise.
807 (ata_mod_LDFLAGS): Likewise.
808 (relocator_mod_SOURCES): Removed.
809 (relocator_mod_CFLAGS): Likewise.
810 (relocator_mod_ASFLAGS): Likewise.
811 (relocator_mod_LDFLAGS): Likewise.
812 Include i386.mk.
813 * include/grub/x86_64/multiboot.h: New file.
814 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
815 Terminate EFI.
816
884ade56
VS
8172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
818
819 Video multiboot support.
820
821 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
822 New prototype.
823 * include/multiboot.h: Resynced with multiboot specification.
824 * include/multiboot2.h: Likewise.
825 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
826 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
827 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
828 (HAS_VGA_TEXT): Likewise.
829 (accepts_video): New variable.
830 (grub_multiboot_set_accepts_video): New function.
831 (grub_multiboot_get_mbi_size): Account for video structures.
832 (set_video_mode): New function.
833 (retrieve_video_parameters): Likewise.
834 (grub_multiboot_make_mbi): Fill video fields.
835
0d90e8a6
VS
8362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Video driver ids.
839
840 * include/grub/video.h (grub_video_driver_id): New type.
841 (grub_video_adapter): New member 'id'. All users updated.
842 (grub_video_get_driver_id): New proto.
843 * video/video.c (grub_video_get_driver_id): New function.
844
5c71db1b 8452010-01-14 Carles Pina i Estany <carles@pina.cat>
846
847 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
848 `var=val'.
849
cca15b52 8502010-01-14 Carles Pina i Estany <carles@pina.cat>
851
852 * normal/cmdline.c (print_completion): Gettextizze.
853
c586fbb2 8542001-01-14 Carles Pina i Estany <carles@pina.cat>
855
856 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
857
ba2f6848 8582010-01-14 Carles Pina i Estany <carles@pina.cat>
859
860 * gettext/gettext.c (grub_gettext_translate): Push and pop
861 grub_errno.
862 (grub_gettext_delete_list): Change comment style.
863 * kern/err.c (grub_error): Gettextizze.
864 (grub_fatal): Gettextizze.
865
0a46429a
RM
8662010-01-14 Robert Millan <rmh.grub@aybabtu.com>
867
868 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
869 (grub_linux16_real_boot): ... this.
870 * kern/i386/loader.S: Likewise.
871 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
872 (grub_linux16_boot): New function. Switches to text mode and calls
873 grub_linux16_real_boot().
874
875 * loader/i386/bsd.c: Include `<grub/video.h>'.
876 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
877 text mode before calling grub_unix_real_boot().
878
879 * loader/i386/multiboot.c: Include `<grub/video.h>'.
880 (grub_multiboot_boot): Switch to text mode before calling
881 grub_relocator32_boot().
882
883 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
884 (grub_chainloader_boot): Switch to text mode before calling
885 grub_chainloader_real_boot().
886
d6f93a66
RM
8872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
8882010-01-05 Colin Watson <cjwatson@ubuntu.com>
889
890 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
891 non-empty value.
892
8932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
8942010-01-05 Colin Watson <cjwatson@ubuntu.com>
895
896 * util/grub.d/00_header.in: Define a "savedefault" function for use
897 in menu entries.
898 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
899
9002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
9012010-01-05 Colin Watson <cjwatson@ubuntu.com>
902
903 * util/grub-mkconfig_lib.in (save_default_entry): Only set
904 saved_entry if boot_once is unset.
905 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
906 previous saved entry (i.e. grub-reboot).
907
9082009-12-08 Colin Watson <cjwatson@ubuntu.com>
909
910 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
911
9122009-12-08 Colin Watson <cjwatson@ubuntu.com>
913
914 * util/grub.d/00_header.in: Use `set var=val' rather than plain
915 `var=val'.
916 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
917
9182009-12-08 Colin Watson <cjwatson@ubuntu.com>
919
920 * util/grub-reboot.in: Fix --version output.
921 * util/grub-set-default.in: Likewise.
922
9232009-12-08 Colin Watson <cjwatson@ubuntu.com>
924
925 * util/grub.d/00_header.in: Silently ignore zero-sized environment
926 blocks.
927
9282009-12-08 Colin Watson <cjwatson@ubuntu.com>
929
930 * util/grub.d/00_header.in: Quote the value assigned to `default',
931 in case it contains spaces.
932
9332009-12-08 Colin Watson <cjwatson@ubuntu.com>
934
935 * util/grub.d/30_os-prober.in: Fix merge error that moved a
936 `save_default_entry' call from the macosx case to the linux case.
937
9382009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9392009-10-25 Colin Watson <cjwatson@ubuntu.com>
940
941 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
942 in `chosen' environment variable.
943 * normal/menu_text.c (get_entry_number): Check if the variable
944 matches the title of a menu entry.
945 (run_menu): Pass menu to get_entry_number.
946
947 * util/grub-reboot.in: New file.
948 * util/grub-set-default.in: New file.
949 * conf/common.rmk (grub-reboot): New utility.
950 (grub-set-default): New utility.
951
952 * util/grub-mkconfig_lib.in (save_default_entry): New function.
953 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
954 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
955 move it to `saved_entry' for the next boot. Load environment on
956 initialisation.
957 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
958 * util/grub.d/10_hurd.in: Likewise.
959 * util/grub.d/10_linux.in (linux_entry): Likewise.
960 * util/grub.d/10_windows.in: Likewise.
961 * util/grub.d/30_os-prober.in: Likewise.
962
963 * util/grub-install.in: Create environment block.
964 * util/i386/efi/grub-install.in: Likewise.
965 * util/ieee1275/grub-install.in: Likewise.
966 * util/sparc64/ieee1275/grub-install.in: Likewise.
967
0934d184
BC
9682010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
969
970 Unit testing framework for GRUB.
971
972 * Makefile.in: Test framework build rules for 'make check'.
973 * conf/tests.rmk: Build rules for individual tests and framework.
974
975 * include/grub/test.h: Header file for whitebox tests.
976 * tests/lib/functional_test.c: Framework support for whitebox
977 functional tests.
978 * tests/lib/test.c: Common whitebox testing code for unit and
979 functional tests.
980 * tests/lib/unit_test.c: Framework support for whitebox unit
981 tests.
982
983 * tests/util/grub-shell-tester.in: Support utility for grub-script
984 tests.
985 * tests/util/grub-shell.in: Utility to execute grub-script
986 commands in a Qemu instance.
987
988 * tests/example_functional_test.c: Example whitebox functional
989 test.
990 * tests/example_grub_script_test.in: Example grub-script test.
991 * tests/example_scripted_test.in: Example scripted test.
992 * tests/example_unit_test.c: Example whitebox unit test.
993
9c4ffeeb
VS
9942010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
997 Add loader/i386/multiboot_mbi.c.
998 (multiboot2_mod_SOURCES): Likewise.
999 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1000 (multiboot2_mod_SOURCES): Likewise.
1001 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1002 (grub_multiboot_make_mbi): Likewise.
1003 (grub_multiboot_free_mbi): Likewise.
1004 (grub_multiboot_init_mbi): Likewise.
1005 (grub_multiboot_add_module): Likewise.
1006 (grub_multiboot_set_bootdev): Likewise.
1007 * loader/i386/multiboot.c (mbi): Removed.
1008 (mbi_dest): Likewise.
1009 (alloc_mbi): New variable.
1010 (grub_multiboot_payload_size): Removed. All users updated.
1011 (grub_multiboot_pure_size): New variable.
1012 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1013 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1014 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1015 (grub_fill_multiboot_mmap): Likewise.
1016 (grub_multiboot_get_bootdev): Likewise.
1017 (grub_multiboot): Use multiboot_mbi functions.
1018 * loader/i386/multiboot_mbi.c: New file.
1019
17383dfe
VS
10202010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1023 it would result in module crash.
1024
c1f28820
VS
10252010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1028 (grub_ofconsole_getwh): Split to ...
1029 (grub_ofconsole_getwh): ... this.
1030 (grub_ofconsole_dimensions): ...and this.
1031 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1032
58655a16
RM
10332010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1034
1035 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
1036
10891398
VS
10372010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * loader/i386/pc/multiboot2.c: Removed stalled file.
1040
0b8a223c
VS
10412010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
1044 Reported by: Grégoire Sutre
1045
92ab12b0
RM
10462010-01-11 Robert Millan <rmh.grub@aybabtu.com>
1047
1048 * util/misc.c (canonicalize_file_name): New function.
1049 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
1050 instead of realpath().
1051
a788afb6
CW
10522010-01-11 Colin Watson <cjwatson@ubuntu.com>
1053
1054 * util/grub-install.in (usage): Clarify meaning of --root-directory,
1055 and make it clearer that it's optional. Based on confusion
1056 witnessed on IRC.
1057
ffa8e3d2
VS
10582010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
1061 in premature implicit newline.
1062
e9060a9d
VS
10632010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1066 which resulted in garbled command line at the end of screen.
1067
f0d0c0b7
RM
10682010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1069
1070 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
1071 initialization with similar approach as with other Linux loaders.
1072
0e60bae7
RM
10732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
1074
1075 Fix i386-ieee1275 build.
1076
1077 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
1078 and grub_term_height() for video_{width,height} initialization.
1079
10802010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
1081
1082 Fix grub-emu build.
1083
1084 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
1085
cdb3f378
RM
10862010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10872010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1088
1089 Support for multiple terminals.
1090
1091 * Makefile.in (pkglib_DATA): terminal.lst.
1092 (terminal.lst): New target.
1093 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
1094 (GRUB_MOD_INIT(handler)): Likewise.
1095 (GRUB_MOD_FINI(handler)): Likewise.
1096 * commands/help.c (grub_cmd_help): Handle multiple terminals.
1097 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
1098 * commands/sleep.c (do_print): Use grub_term_restore_pos.
1099 (grub_cmd_sleep): Use grub_term_save_pos.
1100 * commands/terminal.c: New file.
1101 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
1102 commands/terminal.c and lib/charset.c.
1103 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
1104 (pkglib_MODULES): Add terminal.mod.
1105 (terminal_mod_SOURCES): New variable.
1106 (terminal_mod_CFLAGS): Likewise.
1107 (terminal_mod_LDFLAGS): Likewise.
1108 * genhandlerlist.sh: Don't handle terminals.
1109 * genmk.rb: Generate terminal-*.lst.
1110 * genterminallist.sh: New file.
1111 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
1112 (grub_is_valid_utf8): Likewise.
1113 (grub_utf8_to_ucs4_alloc): Likewise.
1114 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
1115 (grub_menu_register_viewer): Changed argument.
1116 (grub_menu_try_text): New proto.
1117 (grub_gfxmenu_try_hook): New declaration.
1118 * include/grub/normal.h (grub_normal_exit_level): New declaration.
1119 (grub_menu_init_page): Additional argument term.
1120 (grub_normal_init_page): Likewise.
1121 (grub_cmdline_get): Arguments simplified.
1122 (grub_utf8_to_ucs4_alloc): Removed.
1123 (grub_print_ucs4): Additional argument term.
1124 (grub_getstringwidth): Likewise.
1125 (grub_print_message_indented): Likewise.
1126 (grub_menu_text_register_instances): New proto.
1127 (grub_show_menu): Likewise.
1128 (read_terminal_list): Likewise.
1129 (grub_set_more): Likewise.
1130 * include/grub/parser.h: Include handler.h.
1131 * include/grub/reader.h: Rewritten.
1132 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
1133 (GRUB_TERM_WIDTH): Changed to function.
1134 (GRUB_TERM_HEIGHT): Likewise.
1135 (GRUB_TERM_BORDER_WIDTH): Likewise.
1136 (GRUB_TERM_BORDER_HEIGHT): Likewise.
1137 (GRUB_TERM_NUM_ENTRIES): Likewise.
1138 (GRUB_TERM_ENTRY_WIDTH): Likewise.
1139 (GRUB_TERM_CURSOR_X): Likewise.
1140 (grub_term_input_class): Likewise.
1141 (grub_term_output_class): Likewise.
1142 (grub_term_outputs_disabled): New declaration.
1143 (grub_term_inputs_disabled): Likewise.
1144 (grub_term_outputs): Likewise.
1145 (grub_term_inputs): Likewise.
1146 (grub_term_register_input): Rewritten.
1147 (grub_term_register_output): Likewise.
1148 (grub_term_unregister_input): Likewise.
1149 (grub_term_unregister_output): Likewise.
1150 (FOR_ACTIVE_TERM_INPUTS): New macro.
1151 (FOR_DISABLED_TERM_INPUTS): Likewise.
1152 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
1153 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
1154 * include/grub/terminfo.h: Add oterm argument to all protypes.
1155 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
1156 Use grub_rescue_run.
1157 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
1158 All users updated.
1159 * kern/reader.c: Removed. All users updated.
1160 * kern/rescue_reader.c (grub_rescue_init): Removed.
1161 (grub_rescue_reader): Likewise.
1162 (grub_register_rescue_reader): Likewise.
1163 (grub_rescue_run): New function based on kern/reader.c.
1164 * kern/term.c: Adapted for multiterm.
1165 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
1166 (grub_is_valid_utf8): Likewise.
1167 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
1168 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
1169 right terminal.
1170 * loader/i386/linux.c (grub_linux_boot): Likewise.
1171 * normal/auth.c (grub_username_get): New function.
1172 (grub_auth_check_authentication): Use grub_username_get.
1173 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
1174 * normal/color.c: Adapt for multiterm.
1175 * normal/main.c (read_config_file): Don't use grub_reader_loop.
1176 (grub_normal_init_page): Additional argument term.
1177 (read_lists): Call read_terminal_lists.
1178 (grub_enter_normal_mode): Call grub_cmdline_run.
1179 Handle grub_normal_exit_level.
1180 (grub_cmd_normal): Make reentrant.
1181 (grub_cmd_normal_exit): New function.
1182 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
1183 * normal/menu.c: Adapt for multiterm.
1184 * normal/menu_entry.c: Likewise.
1185 * normal/menu_text.c: Likewise.
1186 * normal/menu_viewer.c: Removed. All users updated.
1187 * normal/term.c: New file.
1188 * util/console.c: Change order of includes to workaround a bug in
1189 ncurses headers.
1190 * term/terminfo.c: New argument oterm on all exported functions.
1191 All users updated.
1192 * util/grub-editenv.c (grub_term_input_class): Removed.
1193 (grub_term_output_class): Likewise.
1194
1a064917
RM
11952010-01-09 Robert Millan <rmh.grub@aybabtu.com>
1196
1197 Make loader output a bit more user-friendly.
1198
1199 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
1200 is being loaded. Likewise for the Hurd.
1201
1202 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
1203 that kernel of FreeBSD ${version} is being loaded.
1204
1205 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
1206 grub_dprintf().
1207 (grub_cmd_initrd): Likewise.
1208 * util/grub.d/10_linux.in (linux_entry): Print message indicating
1209 that Linux ${version} is being loaded. Likewise for initrd.
1210
5ce0a83a 12112010-01-09 Carles Pina i Estany <carles@pina.cat>
1212
1213 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
1214
809bbfeb 12152010-01-08 Carles Pina i Estany <carles@pina.cat>
1216
1217 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
1218 (GRUB_MOD_INIT): Gettextizze.
1219 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
1220 (GRUB_MOD_INIT): Gettextizze.
1221 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
1222 (grub_cmd_linux): Capitalise Linux.
1223 (GRUB_MOD_INIT): Gettextizze.
1224 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
1225 (grub_cmd_linux): Capitalise Linux.
1226 (GRUB_MOD_INIT): Gettextizze.
1227 * loader/i386/linux.c: Include `<grub/i18n.h>'.
1228 (grub_cmd_linux): Capitalise Linux.
1229 (GRUB_MOD_INIT): Gettextizze.
1230 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
1231 (GRUB_MOD_INIT): Gettextizze.
1232 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
1233 (grub_cmd_linux): Capitalise Linux.
1234 (GRUB_MOD_INIT): Gettextizze.
1235 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
1236 (grub_cpu_xnu_init): Gettextizze.
1237 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
1238 (GRUB_MOD_INIT): Gettextizze.
1239 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
1240 (GRUB_MOD_INIT): Gettextizze.
1241 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
1242 (grub_linux_load64): Capitalise Linux.
1243 (GRUB_MOD_INIT): Gettextizze.
1244 * loader/xnu.c: Include `<grub/i18n.h>'.
1245 (GRUB_MOD_INIT): Gettextizze.
1246 * po/POTFILES: Add `loader/efi/appleloader.c',
1247 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
1248 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
1249 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
1250 `loader/i386/xnu.c', `loader/multiboot_loader.c',
1251 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
1252 and `loader/xnu.c'.
1253
b394b2ca
RM
12542010-01-08 Robert Millan <rmh.grub@aybabtu.com>
1255
1256 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
1257
12582010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
1259
1260 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
1261 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
1262 * util/mkisofs/mkisofs.c (main): Readjust --version output.
1263
bc8b32b3
RM
12642010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1265
1266 Reset Multiboot 2 support. New loader implements the draft in
1267 /branches/multiboot2 and shares as much code as possible with the
1268 production Multiboot 1 implementation.
1269
1270 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
1271 * loader/multiboot2.c: Likewise.
1272 * loader/i386/multiboot_helper.S: Likewise.
1273 * include/multiboot2.h: Replace with latest version from the draft
1274 in /branches/multiboot2.
1275
1276 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
1277 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
1278 and `loader/multiboot2.c'.
1279 (pkglib_MODULES): Add `multiboot2.mod'.
1280 (multiboot2_mod_SOURCES): New variable.
1281 (multiboot2_mod_LDFLAGS): Likewise.
1282 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
1283
1284 * conf/i386-pc.rmk: Likewise.
1285
1286 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1287 (multiboot_mod_SOURCES): Remove variable.
1288 (multiboot_mod_LDFLAGS): Likewise.
1289 (multiboot_mod_CFLAGS): Likewise.
1290
1291 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
1292 `<multiboot2.h>' instead of `<multiboot.h>'.
1293 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
1294 (MULTIBOOT_HEADER_MAGIC): New macros.
1295
1296 * loader/multiboot_loader.c (module_version_status): Remove variable.
1297 (find_multi_boot2_header): Remove function.
1298 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
1299 logic. Always check for the Multiboot version we're compiling for.
1300 (grub_cmd_module_loader): Likewise.
1301 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
1302 command instead of `multiboot'.
1303
5d2c52b8
RM
13042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1305
1306 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
1307 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
1308 all users.
1309
53108d92
RM
13102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13112010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 Fix breakage introduced with previous commit.
1314
1315 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
1316 commands.
1317 * normal/handler.c (read_handler_list): Revert part of previous commit
1318 affecting this file.
1319 * normal/main.c (read_lists): Move read_handler_list() call back to ...
1320 (grub_normal_execute): ... here.
1321
e2e936b2
RM
13222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
1323
1324 Merge prefix-redefinition-fix branch.
1325
1326 * normal/autofs.c (read_fs_list): Make function capable of being
1327 run multiple times, gracefuly replacing the previous data
1328 structures.
1329 * normal/dyncmd.c (read_command_list): Likewise.
1330 * normal/handler.c (read_handler_list): Likewise.
1331 * normal/main.c (read_lists): New function. Calls all the
1332 list reading functions.
1333 (grub_normal_execute): Use read_lists() instead of calling all
1334 list reading functions explicitly. Register read_lists() as a
1335 variable hook attached to ${prefix}.
1336
607a3701
VS
13372010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 Merge crypto branch.
1340
1341 * Makefile.in (pkglib_DATA): Add crypto.lst.
1342 (crypto.lst): New target.
1343 * commands/hashsum.c: New file.
1344 * commands/password.c (check_password): Use grub_crypto_memcmp.
1345 * commands/password_pbkdf2.c: New file.
1346 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
1347 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
1348 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
1349 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
1350 -I$(srcdir)/lib/libgcrypt_wrap.
1351 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
1352 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
1353 password_pbkdf2.mod.
1354 (crypto_mod_SOURCES): New variable.
1355 (crypto_mod_CFLAGS): Likewise.
1356 (crypto_mod_LDFLAGS): Likewise.
1357 (hashsum_mod_SOURCES): New variable.
1358 (hashsum_mod_CFLAGS): Likewise.
1359 (hashsum_mod_LDFLAGS): Likewise.
1360 (pbkdf2_mod_SOURCES): New variable.
1361 (pbkdf2_mod_CFLAGS): Likewise.
1362 (pbkdf2_mod_LDFLAGS): Likewise.
1363 (password_pbkdf2_mod_SOURCES): New variable.
1364 (password_pbkdf2_mod_CFLAGS): Likewise.
1365 (password_pbkdf2_mod_LDFLAGS): Likewise.
1366 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
1367 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
1368 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
1369 Include conf/gcry.rmk.
1370 * include/grub/auth.h: Rewritten.
1371 * include/grub/crypto.h: New file.
1372 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
1373 * include/grub/normal.h (read_crypto_list): New prototype.
1374 * lib/crypto.c: New file.
1375 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
1376 * lib/pbkdf2.c: Likewise.
1377 * normal/auth.c (grub_auth_strcmp): Removed.
1378 (grub_iswordseparator): Likewise.
1379 (grub_auth_strword): Likewise.
1380 (is_authenticated): Use grub_strword.
1381 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
1382 and grub_strword. Pass entered password to authentication callback.
1383 * normal/crypto.c: New file.
1384 * normal/main.c: Call read_crypto_list.
1385 * util/grub-mkpasswd-pbkdf2.c: New file.
1386 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
1387
42841caa
VS
13882010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 Fix descent and ascent calculation.
1391
1392 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
1393 (options): New option "asce".
1394 (usage): Likewise.
1395 (add_char): Ignore invalid glyphs for descent calculation.
1396 Calculate ascent from actual content.
1397 (print_glyphs): Use 'asce'.
1398 (write_font): Likewise. Allow ascent override.
1399 (main): Handle "asce" option.
1400
e7730de7 14012010-01-06 Carles Pina i Estany <carles@pina.cat>
1402
1403 * kern/err.c: Include `<grub/i18n.h>'.
1404 (grub_print_error): Add full stop. Gettextizze.
1405 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
1406 (grub_bsd_load_elf): Capitalise ELF.
1407 (grub_cmd_freebsd_loadenv): Add `s' in error string.
1408 (grub_cmd_freebsd_module): Likewise.
1409 (grub_cmd_freebsd_module_elf): Likewise.
1410 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
1411
40e3a41f 14122010-01-06 Carles Pina i Estany <carles@pina.cat>
1413
1414 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
1415 * commands/search_file.c (HELP_MESSAGE): New macro.
1416 * commands/search_label.c (HELP_MESSAGE): Likewise.
1417 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
1418 * po/POTFILES: Add `commands/search_file.c',
1419 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
1420 `commands/search.c'.
1421
83507e68
RM
14222010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1423
1424 * config.rpath: Update from Gnulib.
1425
465c787b
YB
14262010-01-05 Yves Blusseau <blusseau@zetam.org>
1427
1428 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
1429
6581dd3a
YB
14302010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
1431
1432 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
1433
3bff18c5
CW
14342010-01-05 Colin Watson <cjwatson@ubuntu.com>
1435
1436 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
1437 arguments to fread so that we get a return value in bytes, rather
1438 than something that will normally be rounded down to 0.
1439 Adjust error handling to avoid producing garbage when size_t is not
1440 the same size as long long.
1441
a1368118
CW
14422010-01-05 Colin Watson <cjwatson@ubuntu.com>
1443
1444 * util/mkisofs/write.c (padblock_write): Check return value of
1445 fread.
1446
7c302978
RM
14472010-01-05 Robert Millan <rmh.grub@aybabtu.com>
1448
1449 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
1450 floppy images now.
1451
1452 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
1453
e33ace06
RM
14542010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1455
1456 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
1457 instead of manual alignment.
1458 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
1459 verbose). Avoid attempts to read past end of the device
1460 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
1461 but GRUB_DISK_CACHE_SIZE may exceed that).
1462
4b856776
RM
14632010-01-04 Robert Millan <rmh.grub@aybabtu.com>
1464
1465 * commands/crc.c (grub_cmd_crc): Abort on read errors.
1466 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
1467 it to upper layer.
1468
52c2d97f
VS
14692010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
1472 New constant.
1473 (grub_efi_piwg_device_path): New structure
1474 (grub_efi_piwg_device_path_t): New type.
1475 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
1476 (devpath_1): Transform to a structure. All users updated.
1477 (devpath_2): Likewise.
1478 (devpath_3): Likewise.
1479 (devpath_4): Likewise.
1480 (devpath_5): Likewise.
1481
98ff6a54
VS
14822010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * loader/efi/appleloader.c: Restored. Update all users.
1485
3a73dcb6
RM
14862010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1487
1488 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
1489
1490 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
1491 (struct boot_blocklist): Move from here ...
1492 * include/grub/i386/pc/boot.h [ASM_FILE]
1493 (struct grub_boot_blocklist): ... to here. Update all users.
1494 (setup): Only initialize `start' member of `first_block'
1495 structure. Add assert() calls to verify the other members.
1496
1497 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
1498 (generate_image): Fix broken blocklist length initialization.
1499 Add assert() call to verify blocklist `segment' field.
1500
ab0eeb0c
RM
15012010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1502
1503 * loader/efi/appleloader.c: Remove. Update all users.
1504
58bc8bd5
RM
15052010-01-03 Robert Millan <rmh.grub@aybabtu.com>
1506
1507 * boot/i386/pc/boot.S: Update copyright year.
1508 * boot/i386/pc/cdboot.S: Likewise.
1509 * boot/i386/pc/diskboot.S: Likewise.
1510 * boot/i386/pc/lnxboot.S: Likewise.
1511 * boot/i386/pc/pxeboot.S: Likewise.
1512 * bus/pci.c: Likewise.
1513 * commands/cmp.c: Likewise.
1514 * commands/help.c: Likewise.
1515 * commands/hexdump.c: Likewise.
1516 * commands/i386/pc/halt.c: Likewise.
1517 * commands/i386/pc/play.c: Likewise.
1518 * commands/i386/pc/vbeinfo.c: Likewise.
1519 * commands/ls.c: Likewise.
1520 * commands/test.c: Likewise.
1521 * disk/dmraid_nvidia.c: Likewise.
1522 * disk/i386/pc/biosdisk.c: Likewise.
1523 * disk/ieee1275/nand.c: Likewise.
1524 * disk/ieee1275/ofdisk.c: Likewise.
1525 * disk/lvm.c: Likewise.
1526 * disk/raid.c: Likewise.
1527 * disk/raid6_recover.c: Likewise.
1528 * disk/scsi.c: Likewise.
1529 * fs/affs.c: Likewise.
1530 * fs/cpio.c: Likewise.
1531 * fs/ext2.c: Likewise.
1532 * fs/hfs.c: Likewise.
1533 * fs/iso9660.c: Likewise.
1534 * fs/ntfs.c: Likewise.
1535 * fs/sfs.c: Likewise.
1536 * fs/udf.c: Likewise.
1537 * fs/ufs.c: Likewise.
1538 * fs/xfs.c: Likewise.
1539 * gencmdlist.sh: Likewise.
1540 * genmk.rb: Likewise.
1541 * include/grub/disk.h: Likewise.
1542 * include/grub/efi/api.h: Likewise.
1543 * include/grub/efi/efi.h: Likewise.
1544 * include/grub/efi/pe32.h: Likewise.
1545 * include/grub/elf.h: Likewise.
1546 * include/grub/fs.h: Likewise.
1547 * include/grub/i386/at_keyboard.h: Likewise.
1548 * include/grub/i386/pc/memory.h: Likewise.
1549 * include/grub/i386/pc/vbe.h: Likewise.
1550 * include/grub/i386/pci.h: Likewise.
1551 * include/grub/i386/tsc.h: Likewise.
1552 * include/grub/ieee1275/ieee1275.h: Likewise.
1553 * include/grub/ntfs.h: Likewise.
1554 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
1555 * include/grub/sparc64/libgcc.h: Likewise.
1556 * include/grub/symbol.h: Likewise.
1557 * include/grub/types.h: Likewise.
1558 * include/multiboot2.h: Likewise.
1559 * io/gzio.c: Likewise.
1560 * kern/device.c: Likewise.
1561 * kern/disk.c: Likewise.
1562 * kern/efi/efi.c: Likewise.
1563 * kern/efi/mm.c: Likewise.
1564 * kern/elf.c: Likewise.
1565 * kern/file.c: Likewise.
1566 * kern/i386/dl.c: Likewise.
1567 * kern/i386/pc/init.c: Likewise.
1568 * kern/i386/pc/startup.S: Likewise.
1569 * kern/ieee1275/ieee1275.c: Likewise.
1570 * kern/ieee1275/init.c: Likewise.
1571 * kern/main.c: Likewise.
1572 * kern/mm.c: Likewise.
1573 * kern/powerpc/dl.c: Likewise.
1574 * kern/sparc64/dl.c: Likewise.
1575 * kern/x86_64/dl.c: Likewise.
1576 * lib/hexdump.c: Likewise.
1577 * loader/efi/appleloader.c: Likewise.
1578 * loader/i386/ieee1275/linux.c: Likewise.
1579 * loader/i386/pc/chainloader.c: Likewise.
1580 * loader/i386/pc/linux.c: Likewise.
1581 * loader/i386/pc/multiboot2.c: Likewise.
1582 * loader/ieee1275/multiboot2.c: Likewise.
1583 * loader/multiboot2.c: Likewise.
1584 * loader/multiboot_loader.c: Likewise.
1585 * loader/powerpc/ieee1275/linux.c: Likewise.
1586 * normal/completion.c: Likewise.
1587 * normal/menu_entry.c: Likewise.
1588 * partmap/apple.c: Likewise.
1589 * util/grub.d/10_hurd.in: Likewise.
1590 * util/hostfs.c: Likewise.
1591 * video/readers/png.c: Likewise.
1592
e2d70b5c
CW
15932010-01-03 Colin Watson <cjwatson@ubuntu.com>
1594
1595 * include/grub/misc.h (GNUC_PREREQ): New macro.
1596 (ATTRIBUTE_ERROR): New macro.
1597 * include/grub/list.h (grub_bad_type_cast_real): Use
1598 ATTRIBUTE_ERROR.
1599
a173283f 16002010-01-03 Carles Pina i Estany <carles@pina.cat>
1601
1602 * normal/menu_text.c (print_message): Change messages.
1603
7fa7ff74 16042010-01-03 Carles Pina i Estany <carles@pina.cat>
1605
1606 * normal/menu_entry.c (store_completion): Gettextizze.
1607
136d24f6 16082010-01-03 Carles Pina i Estany <carles@pina.cat>
1609
1610 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
1611
f936862e 16122010-01-03 Carles Pina i Estany <carles@pina.cat>
1613
1614 * po/POTFILES: Sort correctly.
1615
29c44ad1 16162010-01-03 Carles Pina i Estany <carles@pina.cat>
1617
1618 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
1619 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
1620 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
1621 full stop.
1622 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
1623 summary. Gettextizze the strings.
1624 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
1625 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
1626 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
1627 full stop.
1628 (GRUB_MOD_INIT): Remove command name from summary.
1629 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
1630 summary.
1631 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
1632 * term/i386/pc/serial.c (options): Add full stops.
1633 (GRUB_MOD_INIT): Remove command name from the summary.
1634
77a79592 16352010-01-03 Carles Pina i Estany <carles@pina.cat>
1636
1637 * commands/acpi.c: Gettextizze help strings and/or options. Include
1638 `grub/i18n.h' if needed.
1639 * commands/blocklist.c: Likewise.
1640 * commands/boot.c: Likewise.
1641 * commands/cat.c: Likewise.
1642 * commands/cmp.c: Likewise.
1643 * commands/configfile.c: Likewise.
1644 * commands/crc.c: Likewise.
1645 * commands/date.c: Likewise.
1646 * commands/echo.c: Likewise.
1647 * commands/efi/fixvideo.c: Likewise.
1648 * commands/efi/loadbios.c: Likewise.
1649 * commands/gptsync.c: Likewise.
1650 * commands/halt.c: Likewise.
1651 * commands/handler.c: Likewise.
1652 * commands/hdparm.c: Likewise.
1653 * commands/hexdump.c: Likewise.
1654 * commands/i386/cpuid.c: Likewise.
1655 * commands/i386/pc/drivemap.c: Likewise.
1656 * commands/i386/pc/halt.c: Likewise.
1657 * commands/i386/pc/pxecmd.c: Likewise.
1658 * commands/i386/pc/vbeinfo.c: Likewise.
1659 * commands/i386/pc/vbetest.c: Likewise.
1660 * commands/ieee1275/suspend.c: Likewise.
1661 * commands/keystatus.c: Likewise.
1662 * commands/loadenv.c: Likewise.
1663 * commands/ls.c: Likewise.
1664 * commands/lsmmap.c: Likewise.
1665 * commands/lspci.c: Likewise.
1666 * commands/memrw.c: Likewise.
1667 * commands/minicmd.c: Likewise.
1668 * commands/parttool.c: Likewise.
1669 * commands/password.c: Likewise.
1670 * commands/probe.c: Likewise.
1671 * commands/read.c: Likewise.
1672 * commands/reboot.c: Likewise.
1673 * commands/search.c: Likewise.
1674 * commands/sleep.c: Likewise.
1675 * commands/test.c: Likewise.
1676 * commands/true.c: Likewise.
1677 * commands/usbtest.c: Likewise.
1678 * commands/videotest.c: Likewise.
1679 * commands/xnu_uuid.c: Likewise.
1680 * disk/loopback.c: Likewise.
1681 * hello/hello.c: Likewise.
1682 * loader/i386/bsd.c: Likewise.
1683 * term/i386/pc/serial.c: Likewise.
1684 * po/POTFILES: Add new files.
1685
da8d5c53
CW
16862010-01-02 Colin Watson <cjwatson@ubuntu.com>
1687
1688 * term/i386/pc/at_keyboard.c
1689 (keyboard_controller_wait_untill_ready): Rename to ...
1690 (keyboard_controller_wait_until_ready): ... this. Update all users.
1691
33937904 16922010-01-01 Carles Pina i Estany <carles@pina.cat>
1693
1694 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
1695 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
1696 string using string width.
1697 * normal/menu_text.c (grub_print_message_indented): Use
1698 grub_print_spaces and not print_spaces.
1699 (print_timeout): Likewise.
1700 (print_spaces): Move to...
1701 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
1702
3fd3b8d8
RM
17032010-01-01 Robert Millan <rmh.grub@aybabtu.com>
1704
1705 Import from Gnulib.
1706
1707 * gnulib/getdelim.c: New file.
1708 * gnulib/getline.c: Likewise.
1709
33433555
VS
17102009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
1711
1712 * include/grub/list.h (grub_assert_fail): Removed.
1713 (grub_bad_type_cast_real): New function.
1714 (grub_bad_type_cast): New macro.
1715 (GRUB_AS_LIST): Use grub_bad_type_cast.
1716 (GRUB_AS_LIST_P): Likewise.
e44721e8 1717 (GRUB_AS_NAMED_LIST): Likewise.
33433555 1718 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 1719 (GRUB_AS_PRIO_LIST): Likewise.
33433555 1720 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 1721 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 1722
f5a51306
VS
17232009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
1726 Fix syntax error.
1727
90d1e879
RM
17282009-12-29 Robert Millan <rmh.grub@aybabtu.com>
1729
1730 * configure.ac: Check for TARGET_CFLAGS initialization before we
1731 initialize it ourselves (sigh).
1732 Move a few modifications to TARGET_CFLAGS to be unconditional
1733 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
1734 eh_frame)
1735
1736 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
1737 * term/i386/pc/at_keyboard.c
1738 (keyboard_controller_wait_untill_ready): Likewise.
1739 (keyboard_controller_led): Rename `led_status' paramter to avoid
1740 name conflict.
1741
465b5a81 17422009-12-28 Carles Pina i Estany <carles@pina.cat>
1743
1744 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
1745 quotes.
1746
c181849b
VS
17472009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
1750
9c8739a4
VS
17512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * normal/menu_text.c (grub_print_message_indented): Prevent
1754 past-the-end-of-array dereference.
1755
3e74249c
VS
17562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
1759 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
1760
64fd18ed 17612009-12-27 Carles Pina i Estany <carles@pina.cat>
1762
1763 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
1764 * normal/main.c (grub_normal_read_line): Remove a space from the
1765 default prompt.
1766
714af9b9 17672009-12-27 Carles Pina i Estany <carles@pina.cat>
1768
1769 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
1770 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1771 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1772 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1773 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1774 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1775 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1776
82f3e412 17772009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 1778
1779 * video/readers/jpeg.c (cmd): Declare.
1780 (grub_cmd_jpegtest): Use `grub_command_t' type.
1781 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1782 Assign to `cmd'.
1783 (GRUB_MOD_FINI): Use `cmd' to unregister.
1784 * video/readers/png.c (cmd): Declare.
1785 (grub_cmd_pngtest): Use `grub_command_t' type.
1786 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1787 Assign to `cmd'.
1788 (GRUB_MOD_FINI): Use `cmd' to unregister.
1789 * video/readers/tga.c (cmd): Declare.
1790 (grub_cmd_tgatest): Use `grub_command_t' type.
1791 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
1792 Assign to `cmd'.
1793 (GRUB_MOD_FINI): Use `cmd' to unregister.
1794
82f3e412 17952009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 1796
1797 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
1798 stops.
1799 * kern/corecmd.c (grub_register_core_commands): Likewise.
1800 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
1801 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1802 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
1803 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1804 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
1805 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
1806 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
1807 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
1808 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1809 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
1810 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1811 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1812 * normal/handler.c (insert_handler): Likewise.
1813 * normal/main.c (GRUB_MOD_INIT): Likewise.
1814 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1815
fdcdbb66 18162009-12-26 Carles Pina i Estany <carles@pina.cat>
1817
1818 * commands/help.c (grub_cmd_help): Print the command name before the
1819 summary.
1820 (GRUB_MOD_INIT): Remove command name from the summary.
1821 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 1822 string as summary.
fdcdbb66 1823 * lib/arg.c (find_long): Print the command name before the summary.
1824 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
1825 summary.
1826 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
1827 * commands/cat.c (GRUB_MOD_INIT): Likewise.
1828 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
1829 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
1830 * commands/crc.c (GRUB_MOD_INIT): Likewise.
1831 * commands/date.c (GRUB_MOD_INIT): Likewise.
1832 * commands/echo.c (GRUB_MOD_INIT): Likewise.
1833 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
1834 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
1835 * commands/handler.c (GRUB_MOD_INIT): Likewise.
1836 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
1837 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
1838 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
1839 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
1840 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
1841 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
1842 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
1843 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
1844 * commands/ls.c (GRUB_MOD_INIT): Likewise.
1845 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
1846 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
1847 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
1848 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
1849 * commands/password.c (GRUB_MOD_INIT): Likewise.
1850 * commands/probe.c (GRUB_MOD_INIT): Likewise.
1851 * commands/read.c (GRUB_MOD_INIT): Likewise.
1852 * commands/search.c (GRUB_MOD_INIT): Likewise.
1853 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
1854 * commands/test.c (GRUB_MOD_INIT): Likewise.
1855 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
1856 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1857 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1858 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
1859 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1860 * lib/arg.c (GRUB_MOD_INIT): Likewise.
1861 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
1862 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
1863 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
1864 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1865 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1866 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
1867 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
1868 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
1869
9c288be2
VS
18702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 Use search command for preliminar UUID search.
1873
1874 * commands/search.c: Split into ...
1875 * commands/search_wrap.c: ...this
1876 * commands/search.c: ...and this.
1877 * commands/search_file.c: New file.
1878 * commands/search_label.c: New file.
1879 * commands/search_uuid.c: New file.
1880 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
1881 Add commands/search_wrap.c, commands/search_file.c,
1882 commands/search_label.c and commands/search_uuid.c.
1883 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
1884 (search_mod_SOURCES): Set to commands/search_wrap.c.
1885 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
1886 search_label.mod.
1887 (search_fs_file_mod_SOURCES): New variable.
1888 (search_fs_file_mod_CFLAGS): Likewise.
1889 (search_fs_file_mod_LDFLAGS): Likewise.
1890 (search_label_mod_SOURCES): Likewise.
1891 (search_label_mod_CFLAGS): Likewise.
1892 (search_label_mod_LDFLAGS): Likewise.
1893 (search_fs_uuid_mod_SOURCES): New variable.
1894 (search_fs_uuid_mod_CFLAGS): Likewise.
1895 (search_fs_uuid_mod_LDFLAGS): Likewise.
1896 (fs_file_mod_SOURCES): Removed.
1897 (fs_file_mod_CFLAGS): Likewise.
1898 (fs_file_mod_LDFLAGS): Likewise.
1899 (fs_uuid_mod_SOURCES): Removed.
1900 (fs_uuid_mod_CFLAGS): Likewise.
1901 (fs_uuid_mod_LDFLAGS): Likewise.
1902 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
1903 Set to util/grub-install.in.
1904 * disk/fs_file.c: Removed.
1905 * disk/fs_uuid.c: Likewise.
1906 * include/grub/search.h: New file.
1907 * util/grub-install.in: Handle sparc64.
1908 Create and use load.cfg.
1909 * util/sparc64/ieee1275/grub-install.in: Removed.
1910
db943399
VS
19112009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
1914 Ignore return status if CF is cleared.
1915 (grub_biosdisk_get_diskinfo_standard): Likewise.
1916
3fdae612
RM
19172009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1918
1919 * term/i386/pc/at_keyboard.c
1920 (keyboard_controller_wait_untill_ready): New function.
1921 (grub_keyboard_controller_write, grub_keyboard_controller_read)
1922 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
1923 for keyboard polling, rather than duplicate the same loop. This
1924 saves a few bytes in code size.
1925
7ebaa2b4
VS
19262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Support for (pxe[:server[:gateway]]) syntax and
1929 use environment variable for PXE.
1930
1931 * commands/i386/pc/pxecmd.c (options): Removed.
1932 (print_ip): Removed.
1933 (grub_cmd_pxe): Removed
1934 (grub_cmd_pxe_unload): New function.
1935 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
1936 (grub_pxe_your_ip): Made static.
1937 (grub_pxe_default_server_ip): Likewise.
1938 (grub_pxe_default_gateway_ip): Likewise.
1939 (grub_pxe_blksize): Likewise.
1940 (parse_ip): New function.
1941 (grub_pxe_open): Support server and gateway specification.
1942 (grub_pxe_close): Free disk->data.
1943 (grub_pxefs_open): Use disk->data.
1944 (grub_pxefs_read): Likewise.
1945 (grub_env_write_readonly): New function.
1946 (set_mac_env): Likewise.
1947 (set_env_limn_ro): Likewise.
1948 (parse_dhcp_vendor): Likewise.
1949 (grub_pxe_detect): Set the environment variables.
1950 (set_ip_env): New function.
1951 (write_ip_env): Likewise.
1952 (grub_env_write_pxe_default_server): Likewise.
1953 (grub_env_write_pxe_default_gateway): Likewise.
1954 (grub_env_write_pxe_blocksize): Likewise.
1955 (GRUB_MOD_INIT(pxe)): Set environment variables.
1956 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
1957 (grub_pxe_mac_addr_t): ... this. All users updated.
1958 (grub_pxe_your_ip): Removed.
1959 (grub_pxe_server_ip): Likewise.
1960 (grub_pxe_gateway_ip): Likewise.
1961 (grub_pxe_blksize): Likewise.
1962
ec5f98ab 19632009-12-25 Carles Pina i Estany <carles@pina.cat>
1964
1965 * commands/help.c: Include `<grub/i18n.h>'.
1966 (grub_cmd_help): Gettextizze.
1967 (GRUB_MOD_INIT): Likewise.
1968 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
1969 (GRUB_MOD_INIT): Gettextizze.
1970 * commands/search.c: Include `<grub/i18n.h>'.
1971 (options): Gettextizze.
1972 (GRUB_MOD_INIT): Gettextizze.
1973 * lib/arg.c: Include `<grub/i18n.h>'.
1974 (help_options): Gettextizze.
1975 (find_long): Likewise.
1976 (grub_arg_show_help): Likewise.
1977 * normal/dyncmd.c: Include `<grub/i18n.h>'.
1978 (read_command_list): Gettextizze.
1979 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 1980 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 1981
22815526
RM
19822009-12-25 Robert Millan <rmh.grub@aybabtu.com>
1983
1984 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
1985 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
1986 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
1987 (led_status): New variable.
1988 (keyboard_controller_led): New function.
1989 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
1990 update led status for caps lock, num lock and scroll lock.
1991
0ad46fd7
FZ
19922009-12-25 Felix Zielcke <fzielcke@z-51.de>
1993
1994 * util/hostdisk.c (open_device): Fix a comment.
1995
d0e158c2
RM
19962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
1997
1998 * util/grub-install.in (host_os): New variable.
1999 * util/i386/efi/grub-install.in (host_os): Likewise.
2000
401c0ad6
RM
20012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2002
2003 * util/mkisofs/write.c (padblock_write): Abort when given an
2004 excedingly large embed image, instead of silently truncating it.
2005
d14d3370
RM
20062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2007
2008 * include/multiboot.h: Indentation fixes.
2009
eeed10b4
RM
20102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2011
2012 * include/multiboot.h (struct multiboot_aout_symbol_table)
2013 (struct multiboot_elf_section_header_table): New structure
2014 declarations (stolen from GRUB Legacy).
2015 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2016 table information.
2017
2018 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2019 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2020 type aliases.
2021
681c70ab
RM
20222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2023
2024 * include/multiboot.h: Make comments src2texi-friendly.
2025
e4d47d8d
RM
20262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2027
2028 For consistency with [multiboot]/docs/boot.S.
2029
2030 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2031 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2032 (MULTIBOOT_MAGIC2): Rename from this ...
2033 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2034
a0b70bda
RM
20352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2036
2037 * include/multiboot.h: Remove `<grub/types.h>'.
2038 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
2039 types. Update all users.
2040
61ba42be 20412009-12-25 Carles Pina i Estany <carles@pina.cat>
2042
2043 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
2044 `couldn't' and `can not' by `cannot'.
2045 * commands/i386/pc/drivemap.c: Likewise.
2046 * disk/ata.c: Likewise.
2047 * disk/ieee1275/nand.c: Likewise.
2048 * fs/affs.c: Likewise.
2049 * fs/fat.c: Likewise.
2050 * fs/hfs.c: Likewise.
2051 * fs/hfsplus.c: Likewise.
2052 * fs/iso9660.c: Likewise.
2053 * fs/jfs.c: Likewise.
2054 * fs/minix.c: Likewise.
2055 * fs/reiserfs.c: Likewise.
2056 * fs/sfs.c: Likewise.
2057 * fs/udf.c: Likewise.
2058 * fs/ufs.c: Likewise.
2059 * fs/xfs.c: Likewise.
2060 * loader/powerpc/ieee1275/linux.c: Likewise.
2061 * loader/sparc64/ieee1275/linux.c: Likewise.
2062 * util/grub-probe.c: Likewise.
2063 * util/misc.c: Likewise.
2064
7fd0baee 20652009-12-24 Carles Pina i Estany <carles@pina.cat>
2066
2067 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
2068 grub_errno calls.
2069 * commands/acpi.c: Likewise.
2070 * commands/blocklist.c: Likewise.
2071 * commands/efi/loadbios.c: Likewise.
2072 * commands/i386/pc/drivemap.c: Likewise.
2073 * commands/loadenv.c: Likewise.
2074 * commands/memrw.c: Likewise.
2075 * commands/password.c: Likewise.
2076 * commands/videotest.c: Likewise.
2077 * disk/ata.c: Likewise.
2078 * disk/ata_pthru.c: Likewise.
2079 * disk/dmraid_nvidia.c: Likewise.
2080 * disk/ieee1275/nand.c: Likewise.
2081 * disk/ieee1275/ofdisk.c: Likewise.
2082 * disk/loopback.c: Likewise.
2083 * disk/lvm.c: Likewise.
2084 * disk/mdraid_linux.c: Likewise.
2085 * disk/raid.c: Likewise.
2086 * disk/raid6_recover.c: Likewise.
2087 * disk/scsi.c: Likewise.
2088 * efiemu/main.c: Likewise.
2089 * efiemu/mm.c: Likewise.
2090 * efiemu/pnvram.c: Likewise.
2091 * efiemu/symbols.c: Likewise.
2092 * font/font.c: Likewise.
2093 * fs/cpio.c: Likewise.
2094 * fs/hfsplus.c: Likewise.
2095 * fs/iso9660.c: Likewise.
2096 * fs/jfs.c: Likewise.
2097 * fs/minix.c: Likewise.
2098 * fs/ntfs.c: Likewise.
2099 * fs/ntfscomp.c: Likewise.
2100 * fs/reiserfs.c: Likewise.
2101 * fs/ufs.c: Likewise.
2102 * fs/xfs.c: Likewise.
2103 * gettext/gettext.c: Likewise.
2104 * include/grub/auth.h: Likewise.
2105 * kern/elf.c: Likewise.
2106 * kern/file.c: Likewise.
2107 * kern/ieee1275/init.c: Likewise.
2108 * kern/ieee1275/mmap.c: Likewise.
2109 * kern/ieee1275/openfw.c: Likewise.
2110 * kern/powerpc/dl.c: Likewise.
2111 * kern/sparc64/dl.c: Likewise.
2112 * lib/arg.c: Likewise.
2113 * loader/i386/bsd.c: Likewise.
2114 * loader/i386/bsdXX.c: Likewise.
2115 * loader/i386/efi/linux.c: Likewise.
2116 * loader/i386/efi/xnu.c: Likewise.
2117 * loader/i386/ieee1275/linux.c: Likewise.
2118 * loader/i386/linux.c: Likewise.
2119 * loader/i386/multiboot.c: Likewise.
2120 * loader/i386/pc/linux.c: Likewise.
2121 * loader/i386/pc/multiboot2.c: Likewise.
2122 * loader/i386/xnu.c: Likewise.
2123 * loader/ieee1275/multiboot2.c: Likewise.
2124 * loader/macho.c: Likewise.
2125 * loader/machoXX.c: Likewise.
2126 * loader/multiboot2.c: Likewise.
2127 * loader/multiboot_loader.c: Likewise.
2128 * loader/powerpc/ieee1275/linux.c: Likewise.
2129 * loader/sparc64/ieee1275/linux.c: Likewise.
2130 * loader/xnu.c: Likewise.
2131 * loader/xnu_resume.c: Likewise.
2132 * mmap/i386/pc/mmap.c: Likewise.
2133 * normal/menu_viewer.c: Likewise.
2134 * partmap/acorn.c: Likewise.
2135 * partmap/amiga.c: Likewise.
2136 * partmap/apple.c: Likewise.
2137 * script/lexer.c: Likewise.
2138 * term/gfxterm.c: Likewise.
2139 * term/i386/pc/serial.c: Likewise.
2140 * term/i386/pc/vga.c: Likewise.
2141 * term/ieee1275/ofconsole.c: Likewise.
2142 * term/terminfo.c: Likewise.
2143 * video/bitmap.c: Likewise.
2144 * video/efi_gop.c: Likewise.
2145 * video/efi_uga.c: Likewise.
2146 * video/fb/video_fb.c: Likewise.
2147 * video/i386/pc/vbe.c: Likewise.
2148 * video/readers/tga.c: Likewise.
2149 * video/video.c: Likewise.
2150
0ad46fd7 21512009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
2152
2153 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
2154 * commands/lspci.c: Likewise.
2155 * commands/probe.c: Likewise.
2156 * commands/xnu_uuid.c: Likewise.
2157 * conf/i386-coreboot.rmk: Likewise.
2158 * conf/i386-efi.rmk: Likewise.
2159 * conf/i386-ieee1275.rmk: Likewise.
2160 * conf/i386-pc.rmk: Likewise.
2161 * conf/powerpc-ieee1275.rmk: Likewise.
2162 * conf/sparc64-ieee1275.rmk: Likewise.
2163 * conf/x86_64-efi.rmk: Likewise.
2164 * fs/i386/pc/pxe.c: Likewise.
2165 * gettext/gettext.c: Likewise.
2166 * include/grub/efi/graphics_output.h: Likewise.
2167 * include/grub/i386/pc/memory.h: Likewise.
2168 * kern/env.c: Likewise.
2169 * kern/i386/qemu/startup.S: Likewise.
2170 * lib/i386/pc/biosnum.c: Likewise.
2171 * lib/i386/relocator.c: Likewise.
2172 * lib/i386/relocator_asm.S: Likewise.
2173 * lib/relocator.c: Likewise.
2174 * loader/i386/bsd.c: Likewise.
2175 * loader/i386/multiboot.c: Likewise.
2176 * loader/i386/pc/chainloader.c: Likewise.
2177 * loader/i386/xnu.c: Likewise.
2178 * loader/xnu.c: Likewise.
2179 * normal/main.c: Likewise.
2180 * normal/menu_text.c: Likewise.
2181 * util/getroot.c: Likewise.
2182 * util/grub-mkconfig_lib.in: Likewise.
2183 * util/grub.d/00_header.in: Likewise.
2184 * util/i386/pc/grub-mkimage.c: Likewise.
2185 * util/mkisofs/eltorito.c: Likewise.
2186 * util/mkisofs/exclude.h: Likewise.
2187 * util/mkisofs/hash.c: Likewise.
2188 * util/mkisofs/iso9660.h: Likewise.
2189 * util/mkisofs/joliet.c: Likewise.
2190 * util/mkisofs/mkisofs.c: Likewise.
2191 * util/mkisofs/mkisofs.h: Likewise.
2192 * util/mkisofs/multi.c: Likewise.
2193 * util/mkisofs/name.c: Likewise.
2194 * util/mkisofs/rock.c: Likewise.
2195 * util/mkisofs/tree.c: Likewise.
2196 * util/mkisofs/write.c: Likewise.
2197 * video/efi_gop.c: Likewise.
2198
009ec743
VS
21992009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
2202 size counting.
2203
0ad46fd7 22042009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
2205
2206 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
2207 * genmk.rb (class SCRIPT): Modify the target file instead of source.
2208
d3d30ea0
VS
22092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
2212 (GRUB_MOD_INIT(memrw)): Update help line.
2213
a34f5c70
VS
22142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
2217 Use grub_extcmd_t. All users updated.
2218 (options): New variable.
2219 (grub_cmd_read): Restructure for readability. Support "-v" option.
2220 (grub_cmd_write): Restructure for readability.
2221
0ad46fd7 22222009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
2223
2224 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2225
0ad46fd7 22262009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
2227
2228 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
2229 with the actual contents of the correspondending make variable.
2230 * util/grub-mkrescue.in (pkglib_DATA): New variable.
2231 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
2232 specifying `*.lst' and `efiemu??.o'
2233
0ad46fd7 22342009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
2235
2236 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
2237 after function name.
2238 Noticed by Rene Engelhard <rene@debian.org>.
2239
dc77a799
VS
22402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
2243 (options): New variable.
2244 (iospace): Likewise.
2245 (grub_lspci_iter): List IO spaces if "-i" was given.
2246 (grub_cmd_lspci): Parse options.
2247 (GRUB_MOD_INIT(lspci)): Use extcmd.
2248 (GRUB_MOD_FINI(lspci)): Likewise.
2249
0ad46fd7 22502009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
2251
2252 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
2253 `function' keyword.
2254 Patch by Tony Mancill <tmancill@debian.org>.
2255
b5d5993b
VS
22562009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
2259 (grub_uhci_portstatus): Likewise.
2260 (grub_uhci_portstatus): Add necessary delay.
11d18281 2261 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 2262
941903f2 22632009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 2264
941903f2 2265 * commands/acpi.c (options): Fix capitalizations and/or full stops.
2266 (GRUB_MOD_INIT): Likewise.
2267 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 2268 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
2269 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 2270 * commands/efi/loadbios.c (enable_rom_area): Likewise.
2271 (enable_rom_area): Likewise.
2272 (GRUB_MOD_INIT): Likewise.
2273 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2274 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
2275 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2276 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
2277 * commands/hexdump.c (options): Likewise.
2278 * commands/i386/cpuid.c (options): Likewise.
2279 (GRUB_MOD_INIT): Likewise.
2280 * commands/i386/pc/drivemap.c (options): Likewise.
2281 (GRUB_MOD_INIT): Likewise.
2282 * commands/i386/pc/halt (options): Likewise.
2283 (GRUB_MOD_INIT): Likewise.
2284 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2285 * commands/i386/pc/pxecmd.c (options): Likewise.
2286 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
2287 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
2288 * commands/keystatus.c (options): Likewise.
2289 (GRUB_MOD_INIT): Likewise.
2290 * commands/loadenv.c (options): Likewise.
2291 * commands/ls.c (options): Likewise.
2292 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2293 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2294 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2295 * commands/parttool.c (helpmsg): Likewise.
2296 * commands/probe.c (options): Likewise.
2297 * commands/read.c (GRUB_MOD_INIT): Likewise.
2298 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
2299 * commands/search.c (options): Likewise.
2300 * commands/sleep.c (options): Likewise.
2301 * commands/test.c (GRUB_MOD_INIT): Likewise.
2302 * commands/true.c (GRUB_MOD_INIT): Likewise.
2303 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
2304 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
2305 * lib/arg.c (help_options): Likewise.
e9bbb4e7 2306 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
2307 `$(XGETTEXT)'.
98a50553 2308 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 2309
0ad46fd7 23102009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 2311
ef3c2c3a 2312 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
2313 instead of specifying them explicit.
2314
7922f68b
RM
23152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2316
2317 * NEWS: Add grub-probe support for GNU/Hurd.
2318
537ce47f
RM
23192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2320
2321 * NEWS: gettext was added after 1.97.
2322
9b214e3a
RM
23232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2324
2325 * util/mkisofs/msdos_partition.h: New file (based on
2326 include/grub/msdos_partition.h).
2327 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
2328 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
2329 (ld_options, main): Recognize --protective-msdos-label.
2330 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
2331 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
2332 (padblock_write): If `use_protective_msdos_label' is set, patch a
2333 protective DOS-style label in the output image.
2334
2335 * util/grub-mkrescue.in: Use --protective-msdos-label.
2336
e9309813
RM
23372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2338
2339 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
2340 boot.
2341
0ae56929
RM
23422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2343
2344 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
2345 variables.
2346 (ld_options, main): Recognize `--embedded-boot'.
2347 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
2348 declarations.
2349 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
2350 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
2351 (padblock_write): Likewise. Rewrite to support embedded boot image.
2352
2353 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
2354 for BIOS-based disk boot instead of only ElTorito.
2355
b15937b1
RM
23562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2357
2358 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
2359 build (not needed for bootstrap).
2360
52cc3ce0
RM
23612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2362
2363 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
2364 from i386-pc build (not needed for bootstrap).
2365 Rewrite a pair of strings.
2366
36f5ff04
RM
23672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
2368
2369 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2370
973c6c85 23712009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
2372
2373 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2374
05d21547
AB
23752009-12-21 Andreas Born <futur.andy@googlemail.com>
2376
2377 * kern/env.c (grub_env_context_open): Mark exported variable for
2378 reexport.
2379
0175d51f
AB
23802009-12-21 Andreas Born <futur.andy@googlemail.com>
2381
2382 * kern/env.c (grub_env_export): Create nonexistent variables before
2383 exporting.
2384
7f39d92f 23852009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 2386
7f39d92f 2387 * include/grub/auth.h: Include `<grub/i18n.h>'.
2388 (GRUB_GET_PASSWORD): Gettextizze string.
2389 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
2390 menu_text.c.
2391 (grub_utf8_to_ucs4_alloc): Fix indentation.
2392 (grub_print_ucs4): Likewise.
2393 (grub_getstringwidth): Likewise.
2394 (print_message_indented): New declaration.
2395 * normal/auth.c: Include `<grub/i18n.h>'.
2396 (grub_auth_check_authentication): Gettexttize string.
2397 * normal/cmdline.c: Include `<grub/i18n.h>'.
2398 (grub_cmdline_get): Gettextizze.
2399 * normal/color.c: Include `<grub/i18n.h>'.
2400 (grub_parse_color_name_pair): Gettexttize strings.
2401 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
2402 string (use `print_message_indented').
2403 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
2404 `include/grub/normal.h'.
2405 (print_message_indented): Renamed to ...
2406 (grub_print_message_indented): ... this. Remove `static' qualifer (now
2407 used in normal/main.c).
2408 (print_message): Use `grub_print_message_indented' instead of
2409 `print_message_indented'.
2410 (print_timeout): Likewise.
2411 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
2412 (grub_normal_print_device_info): Gettexttize strings.
2413 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2414
3041d898
VS
24152009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
2418 of arguments. Return number of tokens and not arguments. All users
2419 updated.
2420
de15bf8e
VS
24212009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
2424 non-MSDOS paritions.
2425
e0a6ca52
VS
24262009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * include/grub/types.h (UNUSED): Removed since it conflicts with
2429 NetBSD headers. All users changed to direct __attribute__ ((unused)).
2430 Reported by Grégoire Sutre.
2431
b99518d1 24322009-12-19 Carles Pina i Estany <carles@pina.cat>
2433
2434 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
2435 (grub_print_ucs4_alloc): Likewise.
2436 (grub_getstringwidth): Likewise.
2437 * normal/main.c (grub_normal_init_page): Gettextize version string.
2438 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
2439 (getstringwidth): Renamed to ...
2440 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
2441 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
2442 (grub_print_ucs4): Remove `static' qualifer (now used in
2443 normal/main.c).
2444 * po/POTFILES: Add normal/main.c.
2445
bfd5e52b 24462009-12-19 Carles Pina i Estany <carles@pina.cat>
2447
2448 * normal/menu_text.c (STANDARD_MARGIN): New macro.
2449 (print_message_indented): Add `margin_left' and `margin_right'
2450 parameters.
2451 (print_message): Update `print_message_indented' calls. Adds '\n' to the
2452 strings.
2453 (print_timeout): Use `print_message_indented' to print the message.
2454 Deletes `second_stage' parameter.
2455 (run_menu): Update `print_timeout' calls.
2456
5a1ad2b9
VS
24572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Fix console palette on OpenFirmware.
2460
2461 * term/ieee1275/ofconsole.c (MAX): Removed.
2462 (colors): Redone based on VGA palette.
2463 (grub_ofconsole_setcolor): Discard brightness bit since only 8
2464 colors are supported.
2465 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2466
b045f00a
VS
24672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Fix potential EfiEmu double prepare.
2470
2471 * efiemu/main.c (prepared): New variable
2472 (grub_efiemu_unload): Set prepare to '0'.
2473 (grub_efiemu_prepare): Return if already prepared. Set prepared.
2474
2475 set_virtual_address_map support.
2476
2477 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
2478 prototype.
2479 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
2480 prototype.
2481 (grub_efiemu_crc32): Likewise.
2482 (grub_efiemu_crc64): Likewise.
2483 (grub_efiemu_set_virtual_address_map): Likewise.
2484 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
2485 New definition.
2486 (grub_autoefi_set_virtual_address_map): Likewise.
2487 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
2488 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
2489 Restructure flow to accomodate it.
2490 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
2491 (grub_efiemu_crc): Recompute CRC32.
2492 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
2493 (efiemu_ptv_relocated): ... this. Made global. All users updated.
2494 * efiemu/symbols.c (relocated_handle): New variable.
2495 (grub_efiemu_free_syms): Free relocated_handle.
2496 (grub_efiemu_alloc_syms): Allocate relocated_handle.
2497 (grub_efiemu_write_sym_markers): New function.
2498 (grub_efiemu_set_virtual_address_map): Likewise.
2499
2500 Newer XNU parameters.
2501
2502 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
2503 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
2504 (grub_xnu_fill_devicetree): New prototype.
2505 (grub_xnu_heap_real_start): New variable.
2506 * loader/xnu.c (get_name_ptr): New function.
2507 (grub_xnu_load_driver): Fill namelen and name.
2508
2509 64-bit xnu support.
2510
2511 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
2512 and 'loader/macho64.c'.
2513 * conf/i386-pc.rmk: Likewise.
2514 * conf/x86_64-efi.rmk: Likewise.
2515 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
2516 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
2517 * include/grub/macho.h (grub_macho_segment64): New structure.
2518 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
2519 (grub_macho_size32): ... to this.
2520 (grub_macho32_get_entry_point): Renamed from ...
2521 (grub_macho_get_entry_point32): ... to this.
2522 (grub_macho_contains_macho64): New prototype.
2523 (grub_macho_size64): Likewise.
2524 (grub_macho_get_entry_point64): Likewise.
2525 (grub_macho32_load): Renamed from ...
2526 (grub_macho_load32): ... to this.
2527 (grub_macho32_filesize): Renamed from ...
2528 (grub_macho_filesize32): ... to this.
2529 (grub_macho32_readfile): Renamed from ...
2530 (grub_macho_readfile32): ... to this.
2531 (grub_macho_filesize64): New prototype.
2532 (grub_macho_readfile64): Likewise.
2533 (grub_macho_parse32): Likewise.
2534 (grub_macho_parse64): Likewise.
2535 * loader/macho.c: Split into ...
2536 * loader/machoXX.c: ... and this. Replace 32 with XX.
2537 * loader/macho32.c: New file.
2538 * loader/macho64.c: Likewise.
2539 * loader/xnu.c (grub_xnu_is_64bit): New variable.
2540 (grub_cmd_xnu_kernel): Make 32-bit only.
2541 (grub_cmd_xnu_kernel64): New function.
2542 (grub_xnu_load_driver): Support Mach-O 64.
2543 (grub_cmd_xnu_mkext): Likewise.
2544 * util/grub.d/30_os-prober.in (osx_entry): New function.
2545 Generate entries for 64-bit boot too.
2546
2547 Eliminate ad-hoc tree format in XNU and EfiEmu.
2548
2549 * efiemu/main.c (grub_efiemu_prepare): Update comment.
2550 * efiemu/pnvram.c: Rewritten to use environment variables.
2551 All users updated.
2552
2553 Inline utf16_to_utf8.
2554
2555 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
2556 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
2557 All users updated.
2558 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
2559
2560 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
2561 * commands/usbtest.c (grub_usb_get_string): ... move here.
2562 (usb_print_str): Fix error handling.
2563 * include/grub/usb.h (grub_usb_get_string): Remove.
2564
2565 UTF-8 to UTF-16 transformation.
2566
2567 * conf/common.rmk (pkglib_MODULES): Add charset.mod
2568 (charset_mod_SOURCES): New variable.
2569 (charset_mod_CFLAGS): Likewise.
2570 (charset_mod_LDFLAGS): Likewise.
2571 * include/grub/utf.h: New file.
2572 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
2573
2574 Support for device properties.
2575
2576 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
2577 (grub_xnu_devprop_device_header): Likewise.
2578 (grub_xnu_devprop_device_descriptor): Likewise.
2579 (grub_xnu_devprop_add_device): New prototype.
2580 (grub_xnu_devprop_remove_device): Likewise.
2581 (grub_xnu_devprop_remove_property): Likewise.
2582 (grub_xnu_devprop_add_property_utf8): Likewise.
2583 (grub_xnu_devprop_add_property_utf16): Likewise.
2584 (grub_cpu_xnu_init): Likewise.
2585 (grub_cpu_xnu_fini): Likewise.
2586 (grub_cpu_xnu_unload): Likewise.
2587 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
2588 (property_descriptor): Likewise.
2589 (devices): New variable.
2590 (grub_xnu_devprop_remove_property): New function.
2591 (grub_xnu_devprop_add_device): Likewise.
2592 (grub_xnu_devprop_remove_device): Likewise.
2593 (grub_xnu_devprop_add_property): Likewise.
2594 (grub_xnu_devprop_add_property_utf8): Likewise.
2595 (grub_xnu_devprop_add_property_utf16): Likewise.
2596 (hextoval): Likewise.
2597 (grub_cpu_xnu_fill_devprop): Likewise.
2598 (grub_cmd_devprop_load): Likewise.
2599 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
2600 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
2601 (cmd_devprop_load): New variable.
2602 (grub_cpu_xnu_init): New function.
2603 (grub_cpu_xnu_fini): Likewise.
2604 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
2605 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
2606 (grub_cmd_xnu_devtree): Likewise.
2607 (hextoval): New function.
2608 (unescape): Likewise.
2609 (grub_xnu_fill_devicetree): Likewise.
2610
2611 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
2612 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2613
0945f181
VS
26142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 Workaround for broken ATI VBE.
2617
2618 * video/i386/pc/vbe.c (last_set_mode): New variable.
2619 (grub_vbe_set_video_mode): Set 'last_set_mode'.
2620 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
2621 (grub_video_vbe_setup): Don't check for reserved flag.
2622
0ad46fd7 26232009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
2624
2625 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
2626 the `find' command.
2627
c179ebe4
VS
26282009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 UUID support for HFS.
2631
2632 * fs/hfs.c (grub_hfs_uuid): New function.
2633 (grub_hfs_fs): New value .uuid.
2634 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2635
0ad46fd7 26362009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
2637
2638 Fix a segfault with parsing unknown long options.
2639
2640 * util/grub-mkrelpath.c (options): Zero terminate it.
2641
c4a3e41a
CPE
26422009-12-13 Carles Pina i Estany <carles@pina.cat>
2643
2644 * include/grub/misc.h (grub_puts): New declaration.
2645 (grub_puts_): Likewise.
a22008a6 2646 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
2647 (grub_puts_): Likewise.
2648
2e8a7602
RM
26492009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2650
2651 * util/grub-probe.c (probe): Improve error message.
2652
b50b77b9
RM
26532009-12-13 Robert Millan <rmh.grub@aybabtu.com>
2654
2655 * loader/i386/multiboot_elfxx.c
2656 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
2657 initialization.
2658
26592009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 Relocator framework
2662
2663 * loader/i386/xnu_helper.S: Removed. All users updated.
2664 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
2665 (relocator_mod_SOURCES): New variable.
2666 (relocator_mod_CFLAGS): Likewise.
2667 (relocator_mod_LDFLAGS): Likewise.
2668 (relocator_mod_ASFLAGS): Likewise.
2669 * conf/x86_64.rmk: Likewise.
2670 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
2671 (grub_multiboot_payload_entry_offset): Likewise.
2672 (grub_multiboot_forward_relocator): Likewise.
2673 (grub_multiboot_forward_relocator_end): Likewise.
2674 (grub_multiboot_backward_relocator): Likewise.
2675 (grub_multiboot_backward_relocator_end): Likewise.
2676 (grub_multiboot_payload_eip): New variable.
2677 (grub_multiboot_payload_orig): Likewise.
2678 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
2679 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
2680 * include/grub/i386/memory.h
2681 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
2682 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
2683 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
2684 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
2685 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
2686 * include/grub/i386/relocator.h: New file.
2687 * include/grub/x86_64/relocator.h: Likewise.
2688 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
2689 (XNU_RELOCATOR): New macro.
2690 (grub_xnu_launcher_start): Remove.
2691 (grub_xnu_launcher_end): Likewise.
2692 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
2693 (grub_xnu_heap_real_start): Remove.
2694 (grub_xnu_heap_start): Change to void *. All users updated.
2695 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
2696 * lib/i386/relocator.c: New file.
2697 * lib/i386/relocator_asm.S: Likewise.
2698 * lib/i386/relocator_backward.S: Likewise.
2699 * lib/mips/relocator.c: Likewise.
2700 * lib/mips/relocator_asm.S: Likewise.
2701 * lib/relocator.c: Likewise.
2702 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
2703 (entry): Removed.
2704 (playground): Likewise.
2705 (grub_multiboot_payload_orig): New variable.
2706 (grub_multiboot_payload_dest): Likewise.
2707 (grub_multiboot_payload_size): Likewise.
2708 (grub_multiboot_payload_eip): Likewise.
2709 (grub_multiboot_payload_esp): Likewise.
2710 (grub_multiboot_boot): Use grub_relocator32_boot.
2711 (grub_multiboot_unload): Free relocators.
2712 (grub_multiboot): Setup stack. Use relocators.
2713 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
2714 (grub_multiboot_load_elfXX): Use relocators.
2715 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
2716 (grub_multiboot_payload_size): Likewise.
2717 (grub_multiboot_payload_dest): Likewise.
2718 (grub_multiboot_payload_entry_offset): Likewise.
2719 (grub_multiboot_forward_relocator): Likewise.
2720 (grub_multiboot_backward_relocator): Likewise.
2721 (grub_multiboot_real_boot): Likewise.
2722 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
2723 (grub_xnu_entry_point): Likewise.
2724 (grub_xnu_arg1): Likewise.
2725 (grub_xnu_stack): Likewise.
2726 (grub_xnu_launch): Removed.
2727 (grub_xnu_boot_resume): New function.
2728 (grub_xnu_boot): Use relocators.
2729 * loader/i386/xnu_helper.S: Removed.
2730 * loader/xnu.c (grub_xnu_heap_start): New variable.
2731 (grub_xnu_heap_size): Likewise.
2732 (grub_xnu_heap_malloc): Use relocators.
2733 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
2734
29eb90c6
VS
27352009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
2738 anything.
2739
31027430
CPE
27402009-12-13 Carles Pina i Estany <carles@pina.cat>
2741
2742 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
2743 GRUB_ERR_NONE before calling grub_env_set.
2744
dc0c71d9
RM
27452009-12-12 Robert Millan <rmh@aybabtu.com>
2746
2747 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
2748 * genmk.rb (video): New variable.
2749 (CLEANFILES, VIDEOFILES): Add #{video}.
2750 (#{video}): New target rule.
2751 * genvideolist.sh: New file.
2752 * Makefile.in (pkglib_DATA): Add video.lst.
2753 (video.lst): New target rule.
2754 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
2755 `video.lst'.
2756 * util/grub.d/30_os-prober.in: Replace `vbe' with
2757 ${GRUB_VIDEO_BACKEND}.
2758
2a4bfcf0
RM
27592009-12-11 Robert Millan <rmh.grub@aybabtu.com>
2760
2761 * THANKS: Add David Miller.
2762
2a3aa4d5
RM
27632009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 libpciaccess support.
2766
2767 * Makefile.in (LIBPCIACCESS): New variable.
2768 (enable_grub_emu_pci): Likewise.
2769 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
2770 util/pci.c and commands/lspci.c.
2771 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
2772 * configure.ac (grub-emu-pci): New option.
2773 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
2774 (grub_pci_device_unmap_range): Likewise.
2775 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
2776 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
2777 (grub_pci_address_t) [!GRUB_UTIL]: New type.
2778 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
2779 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
2780 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
2781 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
2782 * include/grub/pciutils.h: New file.
2783 * util/pci.c: Likewise.
2784
0ad46fd7 27852009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
2786
2787 * util/misc.c: Don't include <errno.h> twice.
2788
0ad46fd7 27892009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
2790
2791 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
2792 name in an error message.
2793 (grub_biosdisk_rw): Likewise.
2794
2e59983c
VS
27952009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Eliminate NTFS 4Gib barrier.
2798
2799 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
2800 (read_run_data): Likewise.
2801 (grub_ntfs_read_run_list): Likewise.
2802 (grub_ntfs_read_block): Likewise.
2803 (grub_ntfs_iterate_dir): Likewise.
2804 (read_mft): Likewise.
2805 (read_data): Likewise.
2806 Use COM_LOG_LEN.
2807 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
2808 to avoid 64-bit division
2809 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
2810 (grub_ntfs_rlst): Use grub_disk_addr_t.
2811
71ee178a
VS
28122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Eliminate grub-fstest 4Gib barrier.
2815
2816 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
2817 (read_file): Fix error reporting.
2818
2520d4b8
VS
28192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 Eliminate hexdump 4Gib barrier.
2822
2823 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
2824 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
2825
e1f27065
VS
28262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
2829 Fixes amarsh bug.
2830
1a0f7f45
RM
28312009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
2832
2833 Remove miscellaneous files in distclean target.
2834
2835 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2836
c631d9fb
CW
28372009-12-09 Colin Watson <cjwatson@ubuntu.com>
2838
2839 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
2840 if they're already set. This resolves the conflict between my
2841 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
2842 fixing the --grub-probe option again.
2843 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
2844 change on 2009-10-06, so that we now once again source
2845 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2846
7c7b6106
RM
28472009-12-08 Robert Millan <rmh.grub@aybabtu.com>
2848
2849 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
2850 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
2851 `util/devicemap.c'.
2852
e3069ec1
CPE
28532009-12-08 Carles Pina i Estany <carles@pina.cat>
2854
2855 * include/grub/misc.h (grub_printf_): New declaration.
2856 * kern/misc.c (grub_printf_): New definition.
2857 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
2858 instead of `grub_printf' and `_'.
2859 * normal/menu_entry.c (store_completion): Likewise.
2860 (run): Likewise.
2861 (grub_menu_entry_run): Likewise.
2862 * normal/menu_text.c (grub_wait_after_message): Likewise.
2863 (notify_booting): Likewise.
2864 (notify_fallback): Likewise.
2865 (notify_execution_failure): Likewise.
2866
d6ceebf1
CW
28672009-12-07 Colin Watson <cjwatson@ubuntu.com>
2868
2869 * configure.ac: Check for vasprintf.
2870 * util/misc.c (asprintf): Move allocation from here ...
2871 (vasprintf): ... to here. New function.
2872 (xasprintf): New function.
2873 * include/grub/util/misc.h (vasprintf, xasprintf): Add
2874 prototypes.
2875 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2876 * util/grub-mkfont.c (write_font): Likewise.
2877 * util/grub-probe.c (probe): Likewise.
2878 * util/hostdisk.c (make_device_name): Likewise.
2879
de6daa8b
DM
28802009-12-06 David S. Miller <davem@sunset.davemloft.net>
2881
2882 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
2883 anything even prefixed with 'cdrom' as a cdrom.
2884
0ad46fd7 28852009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
2886
2887 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
2888 mount points.
2889
98d3dc02
CPE
28902009-12-05 Carles Pina i Estany <carles@pina.cat>
2891
2892 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
2893 grub_gettext_msg_list.
2894 (grub_gettext_gettranslation_from_position): Return const char *
2895 and not char *.
a2c1332b 2896 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
2897 returns from the list if existing there.
2898 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
2899 (grub_gettext_delete_list): Delete the list.
2900 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
2901 lang environment variable is changed.
2902 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
2903
b283f108
VS
29042009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 Rename kernel.mod to kernel.img.
2907
2908 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
2909 (kernel_mod_EXPORTS): Rename to ...
2910 (kernel_img_EXPORTS): ... this.
2911 (kernel_mod_SOURCES): Rename to ...
2912 (kernel_img_SOURCES): ... this.
2913 (kernel_mod_HEADERS): Rename to ...
2914 (kernel_img_HEADERS): ... this. All users updated.
2915 (kernel_mod_CFLAGS): Rename to ...
2916 (kernel_img_CFLAGS): ... this.
2917 (kernel_mod_ASFLAGS): Rename to ...
2918 (kernel_img_ASFLAGS): ... this.
2919 (kernel_mod_LDFLAGS): Rename to ...
2920 (kernel_img_LDFLAGS): ... this.
2921 * conf/x86_64-efi.rmk: Likewise.
2922 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
2923 (read_kernel_image): ... this. All users updated.
2924 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
2925
69055f8a
CPE
29262009-12-05 Carles Pina i Estany <carles@pina.cat>
2927
2928 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
2929 (print_spaces): New function.
2930 (grub_print_ucs4): New function.
2931 (getstringwidth): New function.
2932 (print_message_indented): New function.
2933 (print_message): Gettexttize strings using print_message_indented.
2934 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
2935 width.
2936 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 2937 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
2938 Gettextize.
2939 * normal/menu_entry.c (store_completion): Cleanup the gettextized
2940 string.
2941 (run): Likewise.
2942 (grub_menu_entry_run): Likewise.
2943 * PO/POTFILES: Add normal/menu_entry.c.
2944
f616f51c
VS
29452009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
2948
57bbe3be
CPE
29492009-12-05 Carles Pina i Estany <carles@pina.cat>
2950
2951 * util/grub-install.in: Install gettext .mo files.
2952 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
2953
013d67a1
CPE
29542009-12-05 Carles Pina i Estany <carles@pina.cat>
2955
2956 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
2957 grub_dprintf.
2958
fb954db0
RM
29592009-12-05 Robert Millan <rmh.grub@aybabtu.com>
2960
2961 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
2962 non-firmware-dependant one in realmode.S takes precedence.
2963
6b8474f8
RM
29642009-12-04 Robert Millan <rmh.grub@aybabtu.com>
2965
2966 * commands/halt.c: Replace misc arch-specific headers with
2967 `<grub/misc.h>'.
2968 * commands/reboot.c: Likewise.
2969 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
2970 `<grub/misc.h>'.
2971 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
2972 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
2973 (kernel_img_SOURCES): ... to here.
2974
2975 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
2976 * include/grub/i386/pc/init.h: Likewise.
2977 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
2978 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
2979
2980 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
2981
2982 * include/grub/i386/halt.h: Remove.
2983 * include/grub/i386/reboot.h: Likewise.
2984
2985 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
2986
4b2e6ca2
DM
29872009-12-03 David S. Miller <davem@sunset.davemloft.net>
2988
2989 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
2990 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
2991 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
2992 "progname.h"
2993 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
2994 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2995 (usage): Add missing comma in printf.
2996
5239348f
RM
29972009-12-02 Robert Millan <rmh.grub@aybabtu.com>
2998
2999 Use the same reboot approach on i386 coreboot and qemu as we do on
3000 BIOS.
3001
3002 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3003 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3004 * kern/i386/reboot.c: Remove.
3005 * include/grub/i386/reboot.h (grub_reboot): Export function.
3006 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3007 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3008 0xf000:0xfff0 instead of 0xffff:0x0000.
3009 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3010 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3011
ef34cbd4
RM
30122009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3013
3014 Fix $srcdir != $objdir build.
3015
3016 * Makefile.in (po/%.po): Rewrite as ...
3017 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3018
dc9837ea
ST
30192009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3020
3021 Fix GNU/Hurd grub-install crash.
3022 * util/grub-probe.c (probe): Try to access `path' only when it is not
3023 NULL.
3024
2f857f98
VS
30252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Correct module naming.
3028
3029 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3030 (GRUB_MOD_INIT(efi_uga)): ... to this
3031 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3032 (GRUB_MOD_FINI(efi_uga)): ... to this
3033 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3034 (GRUB_MOD_INIT(efi_gop)): ... to this
3035 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3036 (GRUB_MOD_FINI(efi_gop)): ... to this
3037
c5448046
RM
30382009-11-28 Robert Millan <rmh.grub@aybabtu.com>
3039
3040 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
3041 translatable.
3042 (usage): Translate `arg' strings using gettext().
3043 Thanks to Jordi Mallach for the suggestion.
3044
c85184ad
VS
30452009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 GOP support. Based on patch from Bean
3048 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3049
3050 * video/efi_gop.c: New file.
3051 * include/grub/efi/graphics_output.h: Likewise.
3052 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
3053 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3054 variables.
3055 * conf/x86_64-efi.rmk: Likewise.
3056
8a4c48d8
VS
30572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Rename efi_fb to efi_uga.
3060
3061 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3062 'efi_uga.mod'.
3063 (efi_fb_mod_SOURCES): Rename this ...
3064 (efi_uga_mod_SOURCES): ... to this.
3065 (efi_fb_mod_CFLAGS): Rename this ...
3066 (efi_uga_mod_CFLAGS): ... to this.
3067 (efi_fb_mod_LDFLAGS): Rename this ...
3068 (efi_uga_mod_LDFLAGS): ... to this.
3069 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
3070 'efi_uga.mod'.
3071 (efi_fb_mod_SOURCES): Rename this ...
3072 (efi_uga_mod_SOURCES): ... to this.
3073 (efi_fb_mod_CFLAGS): Rename this ...
3074 (efi_uga_mod_CFLAGS): ... to this.
3075 (efi_fb_mod_LDFLAGS): Rename this ...
3076 (efi_uga_mod_LDFLAGS): ... to this.
3077 * video/efi_fb.c: Move this ...
3078 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
3079
fb6c1a7b
RM
30802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3081
3082 * po/README: New file. Explain our PO file workflow.
3083
3bc7896c
RM
30842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3085
3086 * po/ChangeLog: Remove. Move relevant entries back to ...
3087 * ChangeLog: ... here.
3088 * po/ca.po: Remove (now handled by TLP).
3089 * po/id.po: Likewise.
3090 * po/zh_CN.po: Likewise.
3091 * Makefile.in (LINGUAS): Initialize in a way that supports
3092 empty set.
3093
9ed4841d
RM
30942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
3095
3096 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
3097 reliing on po/LINGUAS.
3098 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
3099 (po/%.po): ... this.
3100
0ad46fd7 31012009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
3102
3103 * util/i386/efi/grub-mkimage.c: Include "progname.h".
3104 (main): Use `program_name' instead of nonexistent `progname'.
3105
e30dd392
FZ
31062009-11-26 Felix Zielcke <fzielcke@z-51.de>
3107
3108 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3109 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
3110
7656de4f
RM
31112009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3112
3113 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
3114 commit.
3115 * conf/i386-efi.rmk: Likewise.
3116 * conf/i386-ieee1275.rmk: Likewise.
3117 * conf/powerpc-ieee1275.rmk: Likewise.
3118 * conf/sparc64-ieee1275.rmk: Likewise.
3119 * conf/x86_64-efi.rmk: Likewise.
3120
db77c4d4
FZ
31212009-11-26 Felix Zielcke <fzielcke@z-51.de>
3122
3123 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
3124
a755bb04
FZ
31252009-11-26 Felix Zielcke <fzielcke@z-51.de>
3126
3127 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
3128
8a4c07fd
RM
31292009-11-26 Robert Millan <rmh.grub@aybabtu.com>
3130
3131 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
3132 (grub_mkdevicemap_SOURCES): New variable.
3133 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
3134 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
3135 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
3136 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
3137 (grub_mkdevicemap_SOURCES): Remove.
3138 * conf/i386-efi.rmk: Likewise.
3139 * conf/i386-ieee1275.rmk: Likewise.
3140 * conf/i386-pc.rmk: Likewise.
3141 * conf/powerpc-ieee1275.rmk: Likewise.
3142 * conf/sparc64-ieee1275.rmk: Likewise.
3143 * conf/x86_64-efi.rmk: Likewise.
3144 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
3145 (usage): Fix strings to use `program_name'.
3146 (main): Initialize gettext.
3147 * util/grub-editenv.c: Likewise.
3148 * util/grub-emu.c: Likewise.
3149 * util/grub-fstest.c: Likewise.
3150 * util/grub-mkdevicemap.c: Likewise.
3151 * util/grub-mkfont.c: Likewise.
3152 * util/grub-mkrelpath.c: Likewise.
3153 * util/grub-pe2elf.c: Likewise.
3154 * util/grub-probe.c: Likewise.
3155 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
3156 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3157 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3158
3159 * util/misc.c: Include `"progname.h"'.
3160 (progname): Remove variable.
3161 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
3162
6f61ed55
FZ
31632009-11-25 Felix Zielcke <fzielcke@z-51.de>
3164
3165 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
3166 printf and print a newline after the menuentry header line.
3167 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3168
f022876b
FZ
31692009-11-25 Felix Zielcke <fzielcke@z-51.de>
3170
3171 autoconf >= 2.60 support $(localedir).
3172
3173 * INSTALL: Note that autoconf 2.60 is required.
3174 * configure.ac (AC_PREREQ): Bump to 2.60.
3175 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
3176 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3177
6717926e
YB
31782009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
3179
3180 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
3181 aclocal is run.
3182
08806a54
RM
31832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3184
3185 * normal/main.c (grub_normal_read_line): Fix off-by-one
3186 buffer overflow.
3187
13b33fba
RM
31882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
3189
3190 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
3191 "parser.grub" in grub_command_execute() call.
3192
4a8572e9
CPE
31932009-11-24 Carles Pina i Estany <carles@pina.cat>
3194
3195 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
3196 * conf/i386-efi.rmk: Likewise.
3197 * conf/i386-ieee1275.rmk: Likewise.
3198 * conf/i386-pc.rmk: Likewise.
3199 * conf/powerpc-ieee1275.rmk: Likewise.
3200 * conf/sparc64-ieee1275.rmk: Likewise.
3201 * conf/x86_64-efi.rmk: Likewise.
3202 * gettext/gettex.c: Include <grub/i18n.h>.
3203 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
3204 here ...
3205 * include/grub/i18n.h: ... to here
3206 * include/grub/i18n.h: ... to here.
3207 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 3208 (grub_gettext_dummy): Move above user.
4a8572e9 3209
bee48093
FZ
32102009-11-24 Felix Zielcke <fzielcke@z-51.de>
3211
3212 * util/Makefile.in (install-local): Convert a `for' into a normal
3213 shell expansion.
3214
a031e91c
RM
32152009-11-24 Robert Millan <rmh.grub@aybabtu.com>
3216
3217 * autogen.sh: Add automake call.
3218 * config.guess: Remove.
3219 * config.sub: Likewise.
3220 * install-sh: Likewise.
3221
26bec39d
FZ
32222009-11-24 Felix Zielcke <fzielcke@z-51.de>
3223
3224 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
3225
8e2532fd
FZ
32262009-11-24 Felix Zielcke <fzielcke@z-51.de>
3227
3228 * util/Makefile.in (install-local): Convert a make `$(foreach)'
3229 function to a normal shell `for'.
3230
fefa1b7d
FZ
32312009-11-24 Felix Zielcke <fzielcke@z-51.de>
3232
3233 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3234
4501250b
FZ
32352009-11-24 Felix Zielcke <fzielcke@z-51.de>
3236
3237 * util/grub-mkrelpath.c: New file.
3238 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
3239 (grub_mkrelpath_SOURCES): New variable.
3240 * include/grub/util/misc.h: New function prototype.
3241 * util/misc.c (make_system_path_relative_to_its_root): New function.
3242
3243 * util/grub-mkconfig_lib.in (bindir): New variable.
3244 (grub_mkrelpath): Likewise.
3245 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
3246
3247 * util/probe.c (probe): Make the file path relative to its root.
3248 Change a info message to use the GRUB path. Enable again the
3249 check if we can read the file with GRUB facilities.
3250
3251 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
3252 to its root.
3253
11d9778b
FZ
32542009-11-24 Felix Zielcke <fzielcke@z-51.de>
3255
3256 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
3257 platform.
3258
4465287d
FZ
32592009-11-24 Felix Zielcke <fzielcke@z-51.de>
3260
3261 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
3262 strncmp().
3263
62b47f22
FZ
32642009-11-24 Felix Zielcke <fzielcke@z-51.de>
3265
3266 * util/getroot.c (grub_util_is_dmraid): New function.
3267 (grub_util_get_dev_abstraction): Treat dmraid and multipath
3268 devices as normal ones, not as LVM.
3269
1eafb9b9 32702009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
3271
3272 * conf/common.rmk: Add grub-gettext_lib target and updates
3273 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
3274 LDFLAGS.
3275 * gettext/gettext.c: New file. (Reads mo files).
3276 * include/grub/file.h (grub_file_pread): New prototype.
3277 * include/grub/i18n.h (_): New prototype.
3278 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
3279 prototypes.
3280 * kern/misc.c (grub_gettext_dummy): New function.
3281 * normal/menu_text.c: Include <grub/i18n.h>.
3282 * normal/menu_text.c (print_timeout): Gettexttize string.
3283 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
3284 * po/POTFILES: Add `normal/menu_text.c'.
3285 * po/ca.po: Add new translations.
c3ea6bd4
CPE
3286 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
3287 gettext module and defines locale_dir and lang in grub.cfg.
3288 * NEWS: Add gettext support.
3289
0fdb2568
RM
32902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3291
3292 * util/hostdisk.c: Include `<grub/i18n.h>'.
3293 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
3294 (make_device_name): Rewrite using asprintf.
3295 (convert_system_partition_to_system_disk): Replace 0 with NULL.
3296 (find_system_device): If a device is not found, generate one just
3297 by reusing the OS path name.
3298 (read_device_map): Make it permissible for device.map not to exist.
3299
f515aa62
RM
33002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3301
3302 * script/sh/execute.c: Move from here ...
3303 * script/execute.c: ... to here. Update all users.
3304 * script/sh/function.c: Move from here ...
3305 * script/function.c: ... to here. Update all users.
3306 * script/sh/lexer.c: Move from here ...
3307 * script/lexer.c: ... to here. Update all users.
3308 * script/sh/main.c: Move from here ...
3309 * script/main.c: ... to here. Update all users.
3310 * script/sh/parser.y: Move from here ...
3311 * script/parser.y: ... to here. Update all users.
3312 * script/sh/script.c: Move from here ...
3313 * script/script.c: ... to here. Update all users.
3314
f84b481b
RM
33152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3316
3317 * configure.ac: Detect all `emu' platforms. Define
3318 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
3319 --enable-grub-emu logic. Disable include/grub/machine
3320 symlink on `emu' platforms.
3321
3322 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
3323 * gensymlist.sh.in: Likewise.
3324
3325 * include/grub/i386/coreboot/machine.h: Remove file.
3326 * include/grub/i386/efi/machine.h: Likewise.
3327 * include/grub/i386/ieee1275/machine.h: Likewise.
3328 * include/grub/i386/pc/machine.h: Likewise.
3329 * include/grub/i386/qemu/machine.h: Likewise.
3330 * include/grub/powerpc/ieee1275/machine.h: Likewise.
3331 * include/grub/sparc64/ieee1275/machine.h: Likewise.
3332 * include/grub/x86_64/efi/machine.h: Likewise.
3333
3334 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
3335 * commands/halt.c: Likewise.
3336 * commands/reboot.c: Likewise.
3337 * include/grub/autoefi.h: Likewise.
3338 * include/grub/i386/at_keyboard.h: Likewise.
3339 * include/grub/i386/kernel.h: Likewise.
3340 * include/grub/i386/loader.h: Likewise.
3341 * include/grub/i386/pc/memory.h: Likewise.
3342 * kern/dl.c: Likewise.
3343 * kern/i386/coreboot/init.c: Likewise.
3344 * loader/i386/bsd.c: Likewise.
3345 * loader/i386/linux.c: Likewise.
3346 * loader/multiboot_loader.c: Likewise.
3347 * term/i386/pc/serial.c: Likewise.
3348 * term/usb_keyboard.c: Likewise.
3349
3350 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
3351 `<grub/machine/machine.h>'
3352 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
3353 * util/misc.c: Remove `<grub/machine/machine.h>' and
3354 `<grub/machine/time.h>'.
3355
3356 * Makefile.in (enable_grub_emu): Remove variable.
3357 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
3358
3359 * conf/any-emu.rmk: New file.
3360 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
3361 (grub_emu_init.c): Move from here ...
3362 * conf/any-emu.rmk: ... to here.
3363
3364 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
3365 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
3366 * conf/any-emu.rmk: ... to here.
3367
4efeab03
RM
33682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3369
3370 * include/grub/parser.h (grub_parser_register): Document need
3371 of `name' parameter.
3372 * normal/main.c (grub_normal_read_line): Simplify prompt string.
3373 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
3374 "sh" to "grub".
3375
ea1dd8bf
RM
33762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3377
3378 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
3379 `$(XGETTEXT)'.
3380 * include/grub/i18n.h (N_): New macro.
3381 * util/mkisofs/mkisofs.h: Likewise.
3382 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
3383 around N_().
3384 (usage): Use gettext() to translate help strings when printing them.
3385
0c140626
RM
33862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
3387
3388 Based on patch from Bean
3389 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
3390
3391 * video/efi_fb.c: New file.
3392 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
3393 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
3394 variables.
3395 * conf/x86_64-efi.rmk: Likewise.
3396
87d58298
RM
33972009-11-22 Robert Millan <rmh.grub@aybabtu.com>
3398
3399 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
3400 * util/i386/pc/grub-setup.c: Likewise.
3401
994cc3a3
ST
34022009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3403
3404 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
3405 <hurd/fs.h>
3406 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
3407 file_get_storage_info to implement grub_guess_root_device.
3408
26a61d6a
FZ
34092009-11-21 Felix Zielcke <fzielcke@z-51.de>
3410
3411 * Makefile.in (target): Use make's builtin $(shell) function
3412 instead of calling directly $(SHELL) to create the locale directories,
3413 inside the $(foreach) function.
3414
74ff1dd5
FZ
34152009-11-21 Felix Zielcke <fzielcke@z-51.de>
3416
3417 * util/grub-mkrescue.in: Print an error and usage if output option
3418 has not been given.
3419
0b787d0e
FZ
34202009-11-21 Felix Zielcke <fzielcke@z-51.de>
3421
3422 Patch from Loïc Minier <loic.minier@ubuntu.com>.
3423 * util/grub.d/30_os-prober.in: Cope with Linux entries where
3424 root and /boot are on different devices.
3425
1164b270
RM
34262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3427
3428 Fix build for srcdir != objdir.
3429
3430 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
3431 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
3432 $(srcdir).
3433 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
3434 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
3435 reference for input.
3436
13774a2f
RM
34372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3438
3439 * util/grub-mkrescue.in: Use source directory direcly (without copiing
3440 or hardlinking it). Remove -J option, Joliet is not compatible with
3441 multiple source directories.
3442
efda854e
RM
34432009-11-21 Carles Pina i Estany <carles@pina.cat>
34442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
3445
3446 * util/grub-mkrescue.in: Recognize `--override-directory' option.
3447 (process_input_dir): New function. Process an arbitrary input
3448 directory.
3449 Misc adjustments to support both "override mode" and system-wide mode.
3450
6c09890c
FZ
34512009-11-20 Felix Zielcke <fzielcke@z-51.de>
3452
3453 * configure.ac (UNIFONT_BDF): Rename to ...
3454 (FONT_SOURCE): ... this. Update all users.
3455
a797824f
FZ
34562009-11-20 Felix Zielcke <fzielcke@z-51.de>
3457
3458 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
3459 to the list of unifont files to look for.
3460
cd4f42b0
RM
34612009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3462
3463 Patch from Joe Auricchio <jauricchio@gmail.com>
3464 * commands/minicmd.c (grub_mini_cmd_clear): New function.
3465 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
3466 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
3467
393c783d
FZ
34682009-11-19 Felix Zielcke <fzielcke@z-51.de>
3469
3470 * Makefile.in (install-local): Add a missing backslash.
3471
b2f1e327
FZ
34722009-11-19 Felix Zielcke <fzielcke@z-51.de>
3473
3474 * include/grub/x86_64/io.h: New file.
3475
f577f7a0
RM
34762009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3477
3478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
3479 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
3480 Include `"progname.h"'.
3481 (main): Initialize gettext.
3482 * util/i386/pc/grub-setup.c: Gettexttize.
3483 * util/i386/pc/grub-mkimage.c: Likewise.
3484
3485 * Makefile.in (po/*.po): Redefine as ...
3486 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
3487
3bc7896c
RM
3488 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
3489
c37943b6
RM
34902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
3491
3492 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
3493 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
3494 (program_name): Remove.
3495 (main): Initialize gettext support.
6323f705
RM
3496 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
3497 Include `<libintl.h>'.
3498 (_): New macro.
c37943b6
RM
3499
3500 * util/mkisofs/eltorito.c: Gettexttize.
3501 * util/mkisofs/joliet.c: Likewise.
3502 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
3503 * util/mkisofs/multi.c: Likewise.
3504 * util/mkisofs/rock.c: Likewise.
3505 * util/mkisofs/tree.c: Likewise.
3506 * util/mkisofs/write.c: Likewise.
3507
3bc7896c
RM
3508 * po/POTFILES: Update with new files.
3509
5ce77c6e
RM
35102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3511
3512 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
3513 * util/mkisofs/iso9660.h: Likewise.
3514 * util/mkisofs/joliet.c: Likewise.
3515 * util/mkisofs/mkisofs.c: Likewise.
3516 * util/mkisofs/mkisofs.h: Likewise.
3517 * util/mkisofs/rock.c: Likewise.
3518 * util/mkisofs/tree.c: Likewise.
3519 * util/mkisofs/write.c: Likewise.
3520
3521 * util/mkisofs/eltorito.c (rcsid): Remove.
3522 * util/mkisofs/hash.c: Likewise.
3523 * util/mkisofs/joliet.c: Likewise.
3524 * util/mkisofs/name.c: Likewise.
3525 * util/mkisofs/rock.c: Likewise.
3526 * util/mkisofs/tree.c: Likewise.
3527 * util/mkisofs/write.c: Likewise.
3528
1dabbc77
RM
35292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3530
3531 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
3532 instead of static allocation.
3533 * util/mkisofs/match.h: Likewise.
3534
633877cb
RM
35352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3536
3bc7896c
RM
3537 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
3538 and `util/grub.d/10_linux.in'.
633877cb
RM
3539 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
3540 translatable Shell files.
3541
af1c0c85
RM
35422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
3543
3544 * Makefile.in ($(srcdir)/aclocal.m4): New target.
3545
769ae37b
RM
35462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3547
3548 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 3549 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
3550 * util/grub.d/10_kfreebsd.in (bindir): New variable.
3551 Add gettext initialization.
3552 (kfreebsd_entry): Make menuentry output translatable.
3553
35542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3555
3556 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
3557 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
3558 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
3559 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
3560 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 3561 * po/LINGUAS: New file.
769ae37b
RM
3562
35632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3564
3565 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
3566 other things).
3567 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
3568 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
3569 bindtextdomain() calls for gettext initialization.
3570
35712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3572
3573 * gnulib/progname.c: New file (imported from Gnulib).
3574 * gnulib/progname.h: Likewise.
3575 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
3576 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
3577 (usage): Replace `progname' with `program_name'.
3578 (main): Use set_program_name() for program name initialization.
3579
35802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3581
3582 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
3583 from here ...
3584 * Makefile.in (CPPFLAGS): ... to here.
3585
35862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3587
3588 * aclocal.m4: Move from here ...
3589 * acinclude.m4: ... to here.
3590 * autogen.sh: Add call to `aclocal'.
3591 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
3592
35932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3594
3595 * Makefile.in (CLEANFILES): Add `po/*.mo'.
3596 (LINGUAS): New variable.
3597 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
3598 (install-local): Install MO files.
3599 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
3600 * include/grub/i18n.h: New file.
3bc7896c
RM
3601 * po/POTFILES: New file.
3602 * po/ca.po: New file.
769ae37b
RM
3603 * util/grub.d/10_linux.in (bindir): New variable.
3604 Add gettext initialization.
3605 (linux_entry): Make menuentry output translatable.
3606 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
3607 (usage): Make --help output translatable.
3608 (main): Initialize gettext.
3609
02c0a6ad
RM
36102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3611
3612 * import_gcry.py: New file (written by Vladimir with minor
3613 adjustments).
3614 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
3615 ciphers.
3616 * INSTALL: Document that Python is required for bootstrap.
3617
36182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
3619
3620 Import ciphers from libgcrypt 1.4.4.
3621
3622 * lib/libgcrypt/cipher/ChangeLog
3623 * lib/libgcrypt/cipher/ac.c
3624 * lib/libgcrypt/cipher/arcfour.c
3625 * lib/libgcrypt/cipher/bithelp.h
3626 * lib/libgcrypt/cipher/blowfish.c
3627 * lib/libgcrypt/cipher/camellia-glue.c
3628 * lib/libgcrypt/cipher/camellia.c
3629 * lib/libgcrypt/cipher/camellia.h
3630 * lib/libgcrypt/cipher/cast5.c
3631 * lib/libgcrypt/cipher/cipher.c
3632 * lib/libgcrypt/cipher/crc.c
3633 * lib/libgcrypt/cipher/des.c
3634 * lib/libgcrypt/cipher/dsa.c
3635 * lib/libgcrypt/cipher/ecc.c
3636 * lib/libgcrypt/cipher/elgamal.c
3637 * lib/libgcrypt/cipher/hash-common.c
3638 * lib/libgcrypt/cipher/hash-common.h
3639 * lib/libgcrypt/cipher/hmac-tests.c
3640 * lib/libgcrypt/cipher/md.c
3641 * lib/libgcrypt/cipher/md4.c
3642 * lib/libgcrypt/cipher/md5.c
3643 * lib/libgcrypt/cipher/primegen.c
3644 * lib/libgcrypt/cipher/pubkey.c
3645 * lib/libgcrypt/cipher/rfc2268.c
3646 * lib/libgcrypt/cipher/rijndael-tables.h
3647 * lib/libgcrypt/cipher/rijndael.c
3648 * lib/libgcrypt/cipher/rmd.h
3649 * lib/libgcrypt/cipher/rmd160.c
3650 * lib/libgcrypt/cipher/rsa.c
3651 * lib/libgcrypt/cipher/seed.c
3652 * lib/libgcrypt/cipher/serpent.c
3653 * lib/libgcrypt/cipher/sha1.c
3654 * lib/libgcrypt/cipher/sha256.c
3655 * lib/libgcrypt/cipher/sha512.c
3656 * lib/libgcrypt/cipher/tiger.c
3657 * lib/libgcrypt/cipher/twofish.c
3658 * lib/libgcrypt/cipher/whirlpool.c
3659
af2f93ac
RM
36602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3661
3662 Fix build for systems without error().
3663
3664 * gnulib/error.c: New file (imported from Gnulib).
3665 * gnulib/error.h: Likewise.
3666 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
3667 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
3668 (this variable is now used by error()).
3669
73fb3dd5
FZ
36702009-11-16 Felix Zielcke <fzielcke@z-51.de>
3671
814f5e96
FZ
3672 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
3673 instead of relying that char is signed.
73fb3dd5 3674
a691ca33
VS
36752009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
3678 blocksize different from specified.
3679 (grub_pxefs_read): Likewise.
3680
2af8f0f4
FZ
36812009-11-16 Felix Zielcke <fzielcke@z-51.de>
3682
3683 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
3684
3685 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
3686 (grub_ata_readwrite): Likewise. Update 2 format strings.
3687 (grub_atapi_read): Likewise.
3688
3689 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
3690 * conf/i386.rmk (pkglib_MODULES): ... to here ...
3691 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
3692 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
3693 (ata_mod_LDFLAGS): Move from here ...
3694 * conf/i386.rmk: ... to here ...
3695 * conf/x86_64-efi.rmk: ... and here.
3696 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
3697 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
3698
83bdecaf
RM
36992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
3700
3701 Relicense multiboot.h, with RMS' blessing.
3702
3703 * include/multiboot.h: Change to X11 license.
3704
fd6fd3d7
RM
37052009-11-15 Robert Millan <rmh.grub@aybabtu.com>
3706
3707 Support --version in grub-mkisofs.
3708
3709 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
3710 (OPTION_VERSION): New macro.
3711 (ld_options): Recognize --version.
3712 (usage): Move `program_name' from here ...
3713 (program_name): ... to here. Add `static' qualifier.
3714 (main): Recognize `OPTION_VERSION'.
3715
16a88c49
FZ
37162009-11-15 Felix Zielcke <fzielcke@z-51.de>
3717
3718 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
3719 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
3720
a4158476
RM
37212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3722
3723 Fix help2man generation for mkisofs.
3724
3725 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
3726 (usage): Send output to stdout (rather than stderr).
3727
fc2208b0
RM
37282009-11-14 Robert Millan <rmh.grub@aybabtu.com>
3729
3730 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
3731 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3732 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
3733 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
3734 (bin_SCRIPTS): Add `grub-mkfloppy'.
3735 (grub_mkfloppy_SOURCES): New variable.
3736
3737 * util/grub-mkrescue.in: New file.
3738 * util/i386/pc/grub-mkfloppy.in: New file.
3739
3740 * util/i386/coreboot/grub-mkrescue.in: Remove.
3741 * util/i386/pc/grub-mkrescue.in: Remove.
3742
8d0edf4a
RM
37432009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3744
3745 * include/grub/multiboot.h (struct grub_multiboot_header): Move
3746 from here ...
3747 * include/multiboot.h (struct multiboot_header): ... to here. Update
3748 all users.
3749 * include/grub/multiboot.h (struct grub_multiboot_info): Move
3750 from here ...
3751 * include/multiboot.h (struct multiboot_info): ... to here. Update
3752 all users.
3753 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
3754 from here ...
3755 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
3756 Update all users.
3757 * include/grub/multiboot.h (struct grub_mod_list): Move
3758 from here ...
3759 * include/multiboot.h (struct multiboot_mod_list): ... to here.
3760 Update all users.
3761
a73f5969
RM
37622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3763
3764 * include/multiboot2.h (multiboot_word): Rename from this ...
3765 (multiboot2_word): ... to this. Update all users.
3766 (multiboot_header): Rename from this ...
3767 (multiboot2_header): ... to this. Update all users.
3768 (multiboot_tag_header): Rename from this ...
3769 (multiboot2_tag_header): ... to this. Update all users.
3770 (multiboot_tag_start): Rename from this ...
3771 (multiboot2_tag_start): ... to this. Update all users.
3772 (multiboot_tag_name): Rename from this ...
3773 (multiboot2_tag_name): ... to this. Update all users.
3774 (multiboot_tag_module): Rename from this ...
3775 (multiboot2_tag_module): ... to this. Update all users.
3776 (multiboot_tag_memory): Rename from this ...
3777 (multiboot2_tag_memory): ... to this. Update all users.
3778 (multiboot_tag_unused): Rename from this ...
3779 (multiboot2_tag_unused): ... to this. Update all users.
3780 (multiboot_tag_end): Rename from this ...
3781 (multiboot2_tag_end): ... to this. Update all users.
3782
1c8927f0
RM
37832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
3784
3785 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
3786 this platform we should support Multiboot1 first.
3787
3788 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3789 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
3790 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
3791
6e1e0d89
RM
37922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3793
3794 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
3795 of write calls (converting them to fwrite() if they aren't already).
3796 (get_torito_desc): Likewise.
3797 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
3798
7f2b34d8
RM
37992009-11-12 Robert Millan <rmh.grub@aybabtu.com>
3800
3801 * util/i386/pc/grub-install.in: Move from here ...
3802 * util/grub-install.in: ... to here. Update all users.
3803
c0ef3311
CW
38042009-11-11 Colin Watson <cjwatson@ubuntu.com>
3805
3806 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
3807
e1f240ff
RM
38082009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3809
3810 Support for El Torito without floppy emulation.
3811
3812 * util/mkisofs/eltorito.c: Include `<errno.h>'.
3813 (init_boot_catalog): Improve error handling.
3814 (get_torito_desc): Don't use floppy emulation unless requested by
3815 user. Patch boot information table when requested via
3816 `-boot-info-table'.
3817 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
3818 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
3819 (use_boot_info_table): New variables.
3820 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
3821 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
3822 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
3823 `--eltorito-emul-floppy'.
3824 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
3825 and `OPTION_ELTORITO_EMUL_FLOPPY'.
3826 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
3827 (use_boot_info_table, get_731): New prototypes.
3828 * util/mkisofs/write.c (get_731): New function.
3829
af7d4de5
FZ
38302009-11-11 Felix Zielcke <fzielcke@z-51.de>
3831
3832 Fix the generation of the man page.
3833
3834 * util/pc/i386/grub-install.in: Source
3835 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3836
2c55dbc0
RM
38372009-11-11 Robert Millan <rmh.grub@aybabtu.com>
3838
3839 Large file support for grub-mkisofs.
3840
3841 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
3842 * util/mkisofs/mkisofs.c (next_extent, last_extent)
3843 (session_start): Upgrade type to `uint64_t'. Update all users.
3844 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
3845 (struct directory_entry): Upgrade type of `starting_block' and
3846 `size' to `uint64_t'. Update all users.
3847 (struct deferred): Remove unused structure.
3848 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
3849 Update all users.
3850 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
3851 file is larger than `UINT32_MAX'.
3852 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
3853 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
3854 return value.
3855 (struct deferred_write): Upgrade type of `extent' and `size' to
3856 `uint64_t'. Update all users.
3857 (last_extent_written): Upgrade type to `uint64_t'. Update all
3858 users.
3859 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
3860 Update all users. Upgrade type of `remain' to `int64_t' and
3861 `use' to `size_t'. Use error() to handle fread() errors.
3862 (write_files): Rely on write_one_file() rather than calling
3863 xfwrite() directly.
3864
6a9cead5
FZ
38652009-11-09 Felix Zielcke <fzielcke@z-51.de>
3866
3867 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
3868
4825d790
RM
38692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3870
3871 * util/mkisofs/fnmatch.c: Remove.
3872 * util/mkisofs/getopt1.c: Likewise.
3873 * util/mkisofs/getopt.c: Likewise.
3874 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
3875 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
3876 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
3877 `gnulib/getopt1.c' and `gnulib/getopt.c'.
3878 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
3879
3880 * configure.ac: Detect `mingw32msvc' host_os.
3881 Check for lstat(), getuid() and getgid().
3882
3883 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
3884 instances of `u_char' with `uint8_t'.
3885
3886 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
3887 [!HAVE_GETUID] (getuid): New function (stub).
3888 [!HAVE_GETGID] (getgid): Likewise.
3889 [!HAVE_LSTAT] (lstat): Likewise.
3890 [!S_IROTH] (S_IROTH): New macro (dummy).
3891 [!S_IRGRP] (S_IRGRP): Likewise.
3892
84b860d8
RM
38932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3894
3895 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
3896 conditional expression).
3897
66e9b712
RM
38982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3899
3900 Import from Gnulib.
3901
3902 * gnulib/fnmatch.c: New file.
3903 * gnulib/fnmatch.h: Likewise.
3904 * gnulib/fnmatch_loop.c: Likewise.
3905 * gnulib/getopt.c: Likewise.
3906 * gnulib/getopt.h: Likewise.
3907 * gnulib/getopt1.c: Likewise.
3908 * gnulib/getopt_int.h: Likewise.
3909 * gnulib/gettext.h: Likewise.
3910
34f4a5b0
RM
39112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3912
3913 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
3914 * normal/handler.c (read_handler_list): Likewise.
3915
ac451143
RM
39162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3917
3918 Misc cleanup.
3919
3920 * kern/command.c (grub_register_command_prio): Use
3921 grub_zalloc() instead of explicitly zeroing data.
3922 * kern/list.c: Include `<grub/mm.h>'.
3923 (grub_named_list_find): Replace `0' with `NULL'.
3924 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
3925 (fs_module_list): Change type to `grub_named_list_t'. Update all
3926 users.
3927 * normal/dyncmd.c (read_command_list): Add space between function
3928 call and parenthesis.
3929 * normal/handler.c (read_handler_list): Likewise.
3930
4089b167
RM
39312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3932
3933 * normal/auth.c (punishment_delay): Moved from here ...
3934 (grub_auth_strcmp): ... to here (inside function).
3935
325f5037
RM
39362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3937
3938 * include/grub/list.h (struct grub_named_list): Remove `const'
3939 qualifier from `name'.
3940 (struct grub_prio_list): Likewise.
3941
7aea29a3
RM
39422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3943
3944 * normal/auth.c: Include `<grub/time.h>'.
3945 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
3946
3fd6f044
RM
39472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3948
3949 * normal/auth.c (punishment_delay): New variable.
3950 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
3951 (grub_auth_check_authentication): Punish failed login attempts with
3952 an incremental (2^N) delay.
3953
a4cd68e4
RM
39542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3955
3956 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
3957 path with $(srcdir).
3958
7ad12f43
VS
39592009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
3962
c1129f03
RM
39632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
3964
3965 * util/i386/coreboot/grub-mkrescue.in: New file.
3966 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
3967 variables.
3968
3969 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
3970 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
3971 * configure.ac: Add header and function checks to satisfy grub-mkisofs
3972 requirements.
3973 * util/mkisofs/defaults.h: New file.
3974 * util/mkisofs/eltorito.c: Likewise.
3975 * util/mkisofs/exclude.h: Likewise.
3976 * util/mkisofs/fnmatch.c: Likewise.
3977 * util/mkisofs/getopt.c: Likewise.
3978 * util/mkisofs/getopt1.c: Likewise.
3979 * util/mkisofs/hash.c: Likewise.
3980 * util/mkisofs/include/fctldefs.h: Likewise.
3981 * util/mkisofs/include/mconfig.h: Likewise.
3982 * util/mkisofs/include/prototyp.h: Likewise.
3983 * util/mkisofs/include/statdefs.h: Likewise.
3984 * util/mkisofs/iso9660.h: Likewise.
3985 * util/mkisofs/joliet.c: Likewise.
3986 * util/mkisofs/match.c: Likewise.
3987 * util/mkisofs/match.h: Likewise.
3988 * util/mkisofs/mkisofs.c: Likewise.
3989 * util/mkisofs/mkisofs.h: Likewise.
3990 * util/mkisofs/multi.c: Likewise.
3991 * util/mkisofs/name.c: Likewise.
3992 * util/mkisofs/rock.c: Likewise.
3993 * util/mkisofs/tree.c: Likewise.
3994 * util/mkisofs/write.c: Likewise.
3995
ec8bb77d
VS
39962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
3999 being insecure.
4000
3716b12c
RM
40012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4002
4003 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4004 `grub-mkimage' (and use $0 when possible).
4005
b97b7b91
RM
40062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4007
4008 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4009 error message for excessively large memory map.
4010
04114812
RM
40112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4012
4013 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4014 executable bit.
4015
e4eb2373
RM
40162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4017
4018 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4019 message for coreboot users.
4020
c926e1d5 40212009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4022
4023 Fix build with GNU gold.
4024
4025 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4026 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4027 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4028 link addresses.
4029 * aclocal.m4: Likewise.
4030
86e5b1db 40312009-11-04 Felix Zielcke <fzielcke@z-51.de>
4032
4033 * configure.ac (AC_PREREQ): Bump to 2.59d.
4034 * INSTALL: Make it more clear when Autoconf and Ruby are
4035 needed and when to run `./autogen.sh'.
4036
246cd78f 40372009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4038
4039 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
4040 OSes.
4041
4f9dfb37 40422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4043
4044 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
4045
b82bd5e1 40462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4047
4048 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
4049 giving it to GNU Mach.
4050
ff1a9bca 40512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4052
4053 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
4054 GNU partition number to get internal GRUB partition number.
4055
61697d9c 40562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
4057
4058 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
4059 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
4060
a50569e1 40612009-11-01 Robert Millan <rmh.grub@aybabtu.com>
4062
4063 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
4064 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
4065 case.
4066
5b153867 40672009-11-01 Felix Zielcke <fzielcke@z-51.de>
4068
4069 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
4070
d9e2cd70 40712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4072
4073 Fix build problem.
4074
4075 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
4076 `-isystem=$(srcdir)/include'.
4077
805111a4 40782009-10-30 Robert Millan <rmh.grub@aybabtu.com>
4079
4080 * util/i386/pc/grub-install.in: Remove hint that device.map should be
4081 checked (grub-install doesn't currently rely on it).
4082
fa6e945f 40832009-10-29 Robert Millan <rmh.grub@aybabtu.com>
4084
4085 Revert SVN r2660.
4086
4087 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
4088 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4089 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
4090 * conf/i386-ieee1275.rmk: Likewise.
4091 * conf/i386-pc.rmk: Likewise.
4092 * conf/powerpc-ieee1275.rmk: Likewise.
4093 * conf/sparc64-ieee1275.rmk: Likewise.
4094 * conf/x86_64-efi.rmk: Likewise.
4095
cee15086 40962009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4097
4098 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
4099
95b9239e 41002009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4101
4102 * include/grub/misc.h: Stop checking for APPLE_CC.
4103
2ed19dfd 41042009-10-28 Robert Millan <rmh.grub@aybabtu.com>
4105
4106 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
4107 doesn't cause an infinite call loop.
4108
fdcdde19 41092009-10-28 Felix Zielcke <fzielcke@z-51.de>
4110
4111 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
4112 strings.
4113
cefabfe1 41142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4115
4116 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
4117 variable.
4118 * Makefile.in: Likewise.
4119
ed96ab6d 41202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4121
4122 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
4123
0579b753 41242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4125
4126 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
4127
478df409 41282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4129
4130 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
4131
083d1679 41322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4133
4134 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
4135 from here ...
4136 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
4137
5947ae32 41382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4139
4140 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
4141 in $(MAKEINFO) invocation. This makes it clear in output that
4142 errors are being ignored.
4143
94180ff6 41442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4145
4146 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
4147 from here ...
4148 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
4149 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
4150 * conf/i386-ieee1275.rmk: Likewise.
4151 * conf/i386-pc.rmk: Likewise.
4152 * conf/powerpc-ieee1275.rmk: Likewise.
4153 * conf/sparc64-ieee1275.rmk: Likewise.
4154 * conf/x86_64-efi.rmk: Likewise.
4155
9031b03a 41562009-10-26 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * util/grub-editenv.c (main): If only a command is given, use
4159 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
4160 (usage): FILENAME is now optional and has a default.
4161
e4f6809b 41622009-10-26 Colin Watson <cjwatson@ubuntu.com>
4163
4164 Improve grub-mkconfig performance when there are several menu
4165 entries on a single filesystem.
4166
4167 * util/grub.d/10_linux.in (linux_entry): Cache the output of
4168 prepare_grub_to_access_device.
4169 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4170 * util/grub.d/30_os-prober.in: Likewise.
4171
67937d4d 41722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4173
4174 * util/grub.d/10_freebsd.in: Remove.
4175 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
4176 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
4177
ee3756cc 41782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
4179
5c35048e 4180 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 4181
4dea1c6f 41822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4183
4184 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
4185 grub_util_error() call.
4186
042484d7 41872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4188
4189 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
4190 `reserved_first_sector' member.
4191 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
4192 `reserved_first_sector' to 1.
4193 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
4194 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
4195 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
4196 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
4197 filesystems which begin at first sector.
4198 (options): New option --skip-fs-probe.
4199 (main): Handle --skip-fs-probe and pass it to setup().
4200
d64448a7 42012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4202
4203 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
4204 (memset): Fix function prototype.
4205
508d42ec 42062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
42072009-10-25 Vasily Averin <vvs@parallels.com>
4208
4209 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
4210 `dirent.direntlen == 0'.
4211
b240e30c 42122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4213
4214 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
4215 `cpio'.
4216 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
4217
346e7fbe 42182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4219
4220 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
4221 `__trampoline_setup' and `__ucmpdi2'.
4222 * include/grub/powerpc/libgcc.h: Only export symbols for functions
4223 that libgcc provides.
4224
cdb308b0 42252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4226
4227 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
4228 * include/grub/sparc64/libgcc.h (memset): Likewise.
4229 * include/grub/misc.h (memset, memcmp): New function prototypes.
4230
fb26abc2 42312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4232
4233 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
4234 `cpio'.
4235 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
4236
f6693890 42372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
4238
4239 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
4240 * docs/grub.cfg: Compensate for recent change in multiboot
4241 loader (since 2009-08-14 it won't pass filename to payload).
4242 * util/grub.d/10_hurd.in: Likewise.
4243
0933cdc0 42442009-10-21 Felix Zielcke <fzielcke@z-51.de>
4245
4246 * config.guess: Update to latest version from config git
4247 repository.
4248 * config.sub: Likewise.
4249
3b2fe8c2 42502009-10-20 Robert Millan <rmh.grub@aybabtu.com>
4251
4252 Fix build on sparc64.
4253
4254 * configure.ac: Perform checks for libgcc symbols before
4255 adding `-nostdlib' to LDFLAGS.
4256
46695a62 42572009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Let user specify OpenBSD root device.
4260
4261 * loader/i386/bsd.c (openbsd_root): New variable.
4262 (openbsd_opts): New option 'root'.
4263 (OPENBSD_ROOT_ARG): New macro.
4264 (grub_openbsd_boot): Use 'openbsd_root'.
4265 (grub_cmd_openbsd): Fill 'openbsd_root'.
4266
d2b6b7fc 42672009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4268
4269 * NEWS: Misc adjustments.
4270
421bd7ac 42712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
4274
f1d29d87 42752009-10-16 Robert Millan <rmh.grub@aybabtu.com>
4276
4277 * configure.ac: Bump version to 1.97.
4278
6f3cd880 42792009-10-16 Colin Watson <cjwatson@ubuntu.com>
4280
4281 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
4282 -mno-3dnow on x86 architectures. Some toolchains enable these
4283 features by default, but they rely on registers that aren't enabled
4284 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
4285
035f7122 42862009-10-15 Robert Millan <rmh.grub@aybabtu.com>
4287
4288 Make entry text a bit more readable.
4289
4290 * util/grub.d/10_linux.in: Add `with' before `Linux'.
4291
44998e58 42922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
4295
cd2851b3 42962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
4299 operations.
4300
c6f3b249 43012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * configure.ac: Add missing dollar.
4304
6b5886ba 43052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
4308
4309 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
4310 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
4311 exports.
4312 * include/grub/sparc64/libgcc.h: Likewise. Use
4313 preprocessor conditionals.
4314
e9d66f6d 43152009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4316
4317 * conf/common.rmk (grub-dumpbios): Remove rule.
4318 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
4319 * util/grub-dumpbios.in: Remove file.
4320
9155bc17 43212009-10-14 Robert Millan <rmh.grub@aybabtu.com>
4322
4323 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
4324 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
4325
4326 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
4327 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
4328 users.
4329
4330 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
4331 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
4332 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
4333 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
4334 users.
4335
bf7f7a18 43362009-10-12 Robert Millan <rmh.grub@aybabtu.com>
4337
4338 * term/tparm.c: Switch to GPLv3.
4339
86564c26 43402009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4341
4342 * include/grub/i386/cpuid.h: Add header protection.
4343
5c936493 43442009-10-09 Robert Millan <rmh.grub@aybabtu.com>
4345
4346 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
4347
4348 * include/grub/i386/cpuid.h: New file.
4349 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
4350 (has_longmode): Rename to ...
4351 (grub_cpuid_has_longmode): ... this. Update all users. Remove
4352 `static' attribute.
4353 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
4354 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
4355 on a CPU that doesn't implement AMD64 instruction set.
4356
186e7cf2 43572009-10-06 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
4360 that version.texi is rebuilt on version number changes.
4361
83b65c4a 43622009-10-06 Colin Watson <cjwatson@ubuntu.com>
4363
4364 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
4365 Fixes bug #27602.
4366
d244281c 43672009-10-06 Colin Watson <cjwatson@ubuntu.com>
4368
4369 * util/i386/pc/grub-install.in: Source
4370 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
4371 that the --grub-probe option will work.
4372 * util/sparc64/ieee1275/grub-install.in: Likewise.
4373
da25306d 43742009-10-05 Robert Millan <rmh.grub@aybabtu.com>
4375
4376 * configure.ac: Bump version to 1.97~beta4.
4377
e8ee83c0 43782009-10-03 Robert Millan <rmh.grub@aybabtu.com>
4379
4380 Resync grub-mkdevicemap in x86_64-efi.
4381
4382 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
4383 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
4384 `util/devicemap.c'.
4385
50dcabcf 43862009-10-01 Colin Watson <cjwatson@ubuntu.com>
4387
4388 * util/grub-editenv.c (create_envblk_file): Write new block with a
4389 .new suffix and then rename it into place, to ensure atomic
4390 creation.
4391
0e51c3a7 43922009-09-28 Robert Millan <rmh.grub@aybabtu.com>
4393
4394 Do not automatically install headers.
4395
4396 * Makefile.in (include_DATA): Remove. Update all users.
4397
31299a95 43982009-09-26 Robert Millan <rmh.grub@aybabtu.com>
4399
4400 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
4401 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
4402
4403 * util/osdetect.lua: Remove.
4404 * script/lua/lauxlib.c: Likewise.
4405 * script/lua/ldebug.c: Likewise.
4406 * script/lua/grub_main.c: Likewise.
4407 * script/lua/lauxlib.h: Likewise.
4408 * script/lua/ldebug.h: Likewise.
4409 * script/lua/ltablib.c: Likewise.
4410 * script/lua/liolib.c: Likewise.
4411 * script/lua/lstrlib.c: Likewise.
4412 * script/lua/lualib.h: Likewise.
4413 * script/lua/ldo.c: Likewise.
4414 * script/lua/ldump.c: Likewise.
4415 * script/lua/ldo.h: Likewise.
4416 * script/lua/loslib.c: Likewise.
4417 * script/lua/lundump.c: Likewise.
4418 * script/lua/grub_lib.c: Likewise.
4419 * script/lua/ldblib.c: Likewise.
4420 * script/lua/lundump.h: Likewise.
4421 * script/lua/lmem.c: Likewise.
4422 * script/lua/grub_lib.h: Likewise.
4423 * script/lua/lmathlib.c: Likewise.
4424 * script/lua/lstate.c: Likewise.
4425 * script/lua/ltm.c: Likewise.
4426 * script/lua/lvm.c: Likewise.
4427 * script/lua/lmem.h: Likewise.
4428 * script/lua/lstate.h: Likewise.
4429 * script/lua/ltm.h: Likewise.
4430 * script/lua/ltable.c: Likewise.
4431 * script/lua/lvm.h: Likewise.
4432 * script/lua/llex.c: Likewise.
4433 * script/lua/lgc.c: Likewise.
4434 * script/lua/grub_lua.h: Likewise.
4435 * script/lua/loadlib.c: Likewise.
4436 * script/lua/lfunc.c: Likewise.
4437 * script/lua/lopcodes.c: Likewise.
4438 * script/lua/lparser.c: Likewise.
4439 * script/lua/ltable.h: Likewise.
4440 * script/lua/llex.h: Likewise.
4441 * script/lua/lgc.h: Likewise.
4442 * script/lua/lfunc.h: Likewise.
4443 * script/lua/lbaselib.c: Likewise.
4444 * script/lua/lopcodes.h: Likewise.
4445 * script/lua/lparser.h: Likewise.
4446 * script/lua/lzio.c: Likewise.
4447 * script/lua/linit.c: Likewise.
4448 * script/lua/lobject.c: Likewise.
4449 * script/lua/llimits.h: Likewise.
4450 * script/lua/lstring.c: Likewise.
4451 * script/lua/lzio.h: Likewise.
4452 * script/lua/lapi.c: Likewise.
4453 * script/lua/lcode.c: Likewise.
4454 * script/lua/lua.h: Likewise.
4455 * script/lua/lobject.h: Likewise.
4456 * script/lua/lstring.h: Likewise.
4457 * script/lua/lapi.h: Likewise.
4458 * script/lua/lcode.h: Likewise.
4459 * script/lua/luaconf.h: Likewise.
4460
cb8a2c38 44612009-09-26 Colin Watson <cjwatson@ubuntu.com>
4462
4463 * docs/grub.texi (Command-line and menu entry commands): Document
4464 date and echo commands.
4465
6b9b6276 44662009-09-24 Pavel Roskin <proski@gnu.org>
4467
4468 * include/grub/kernel.h (struct grub_module_header): Remove
4469 `grub_module_header_types'. Make `type' unsigned. Make `size'
4470 32-bit on all platforms.
4471 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
4472 8-bit field. Use grub_host_to_target32() for `size'.
4473 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
4474 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
4475 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
4476
4e5a02a7 44772009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4478
4479 Fix "lost keypress" bug in at_keyboard.
4480
4481 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
4482 Checks for readyness of input buffer (without flushing it).
4483 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
4484 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
4485
c6dcedf6 44862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4487
4488 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
4489 size check within GRUB_MACHINE_PCBIOS section.
4490
74c958b1 44912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
4492
4493 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
4494 return value.
4495 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
4496 KEYBOARD_ISREADY check.
4497 (grub_at_keyboard_checkkey): Rename to ...
4498 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
4499 Remove gratuitous cast.
4500
ff420223 45012009-09-23 Colin Watson <cjwatson@ubuntu.com>
4502
4503 * configure.ac: Call AC_PROG_MKDIR_P.
4504 * Makefile.in (docs/stamp-vti): Create docs directory. Create
4505 version.texi in $(builddir) rather than $(srcdir).
4506 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
4507 to makeinfo's @include search path.
4508
d96875df 45092009-09-23 Felix Zielcke <fzielcke@z-51.de>
4510
4511 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
4512
9b3f8365 45132009-09-23 Felix Zielcke <fzielcke@z-51.de>
4514
4515 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
4516 for `*.dpkg-new'.
4517
c44c90db 45182009-09-21 Colin Watson <cjwatson@ubuntu.com>
4519
4520 Build info documentation. Some code borrowed from Automake.
4521
4522 * configure.ac: Check for makeinfo.
4523 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
4524 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
4525 docs/version.texi.
4526 (MOSTLYCLEANFILES): Add vti.tmp.
4527 (docs/version.texi, docs/stamp-vti): Update automatically.
4528 (docs/grub.info): Build info documentation. Use --force and ignore
4529 errors for now.
4530 (all-local): Add $(INFOS).
4531 (install-local): Install info files.
4532 (uninstall): Uninstall info files.
4533 * docs/version.texi: Remove from revision control. This file is
4534 automatically generated on build now.
4535 * gendistlist.sh: Add `*.info'.
4536
e0b37bb5 45372009-09-21 Felix Zielcke <fzielcke@z-51.de>
4538
4539 * kern/term.c: Fix indentation.
4540
5a78865b 45412009-09-21 Felix Zielcke <fzielcke@z-51.de>
4542
4543 * util/hostdisk.c: Fix a comment.
4544
dace7e8a 45452009-09-20 Robert Millan <rmh.grub@aybabtu.com>
4546
4547 Fix regression introduced in r2539.
4548
4549 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
4550 to 0xA1.
4551
a83d079b 45522009-09-19 Colin Watson <cjwatson@ubuntu.com>
4553
4554 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 4555 os-prober. Under normal operation, it does not print anything to
4556 stderr; if it does, we need to debug it, and throwing away stderr
4557 makes that excessively difficult.
a83d079b 4558
be94a509 45592009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
4562
63f745e8 45632009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4564
4565 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
4566 AC_LANG_PROGRAM from autoconf.
4567 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
4568 prototypes (fixes warning).
4569
4570 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
4571 `--disable-werror' was used.
4572
bbb2a70f 45732009-09-16 Robert Millan <rmh.grub@aybabtu.com>
4574
4575 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
4576 uninitialized `lastaddr'.
4577
77c24f1d 45782009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4579
0f0b8c87 4580 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 4581
07197f23 45822009-09-14 Colin Watson <cjwatson@ubuntu.com>
4583
4584 * commands/test.c (get_fileinfo): Return immediately if
4585 grub_fs_probe fails.
4586
dabf1798 45872009-09-14 José Martínez <xosemp@gmail.com>
4588
4589 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
4590
d52109a7 45912009-09-14 Colin Watson <cjwatson@ubuntu.com>
4592
4593 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
4594 output.
4595
56532179 45962009-09-13 Robert Millan <rmh.grub@aybabtu.com>
4597
4598 * configure.ac: Remove --enable-grub-pe2elf. Only build
4599 grub-pe2elf when needed by the build system itself.
4600 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
4601
8ef070f5 46022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4603
4604 * configure.ac: Bump version to 1.97~beta3.
4605 * docs/version.texi: Likewise.
4606
61229557 46072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4608
4609 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
4610 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
4611 from here ...
4612 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
4613 (grub_linux_setup_video): ... to here (with some adjustments).
4614
5c9f8d84 46152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
4616
4617 Fix memory corruption issue (spotted by Colin Watson).
4618
4619 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
4620 causing returned size to be stored in an incorrect memory location.
4621 Fix use of uninitialized value when storing the returned size.
4622
e8f5d6e9 46232009-09-12 Yves Blusseau <blusseau@zetam.org>
4624
4625 Change clean rules to properly remove files
4626
4627 * genmk.rb: add new clean rules
4628 * Makefile.in (clean): add the new targets
4629 (mostlyclean): likewise
4630
cda2a409 46312009-09-11 Colin Watson <cjwatson@ubuntu.com>
4632
4633 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
4634 to grub_uint64_t.
4635 * fs/ntfs.c (init_file): Understand 64-bit sizes for
4636 non-resident files.
4637
86695375 46382009-09-11 Colin Watson <cjwatson@ubuntu.com>
4639
4640 * configure.ac: Don't look for help2man when cross-compiling. Fixes
4641 part of bug #27349.
4642
8aa1541a 46432009-09-10 Felix Zielcke <fzielcke@z-51.de>
4644
4645 * util/grub-mkconfig.in: Make the created config mode 400 and
4646 print a warning if it fails.
4647
48d9bb0a 46482009-09-10 Robert Millan <rmh.grub@aybabtu.com>
4649
4650 * util/grub.d/40_custom.in: Ask user to type custom entries below
4651 comment, rather than below 'exec tail' line.
4652
3b0521be 46532009-09-10 Colin Watson <cjwatson@ubuntu.com>
4654
4655 * util/grub.d/40_custom.in: Make sure that the explanatory text is
4656 visible in grub.cfg.
4657
50051d55 46582009-09-10 Colin Watson <cjwatson@ubuntu.com>
4659
4660 * util/grub.d/40_custom.in: Make it a little clearer how to use this
4661 file.
4662
c0d34387 46632009-09-10 Felix Zielcke <fzielcke@z-51.de>
4664
4665 * docs/grub.cfg: Add an example menu entry for memtest86+.
4666
80a608f3 46672009-09-09 Felix Zielcke <fzielcke@z-51.de>
4668
a2094832 4669 * config.guess: Update to latest version from config git.
80a608f3 4670 * config.sub: Likewise.
4671
99423078 46722009-09-08 Colin Watson <cjwatson@ubuntu.com>
4673
4674 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
4675 unknown-command case. Fixes bug #27320.
4676
44454e4c 46772009-09-08 Felix Zielcke <fzielcke@z-51.de>
4678
4679 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
4680 `help' if the command exists.
4681
e30d87ad 46822009-09-06 Robert Millan <rmh.grub@aybabtu.com>
4683
4684 * INSTALL: Require GCC 4.1.3 or later.
4685
9a86f1ec 46862009-09-06 Yves Blusseau <blusseau@zetam.org>
4687
4688 * Makefile.in (RMKFILES): add i386-qemu.rmk
4689 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
4690 $(srcdir)/stamp-h.in
4691
7f26d466 46922009-09-05 Robert Millan <rmh.grub@aybabtu.com>
4693
4694 * util/grub-probe.c (probe): Comment out buggy codepath, which
4695 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
4696 should be re-enabled after 1.97.
4697
3a613259 46982009-09-05 Felix Zielcke <fzielcke@z-51.de>
4699
4700 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
4701 find searches for.
4702
197f76c7 47032009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
4706 unnecessary calls to grub_error.
4707
70ba68ce 47082009-09-04 Colin Watson <cjwatson@ubuntu.com>
4709
4710 * NEWS: Mention `keystatus' and Unicode fonts.
4711
4ff0d7a4 47122009-09-04 Robert Millan <rmh.grub@aybabtu.com>
4713
4714 * configure.ac: Bump version to 1.97~beta2.
4715 * docs/version.texi: Likewise.
4716
77c55a87 47172009-09-03 Colin Watson <cjwatson@ubuntu.com>
4718
4719 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
4720 containing unwind information in some cases where it previously did
4721 not. Use -fno-dwarf2-cfi-asm if available to restore the old
4722 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
4723 discussion.
4724
f79572cd 47252009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
4726
4727 Embedding loadenv module into grub-emu
4728
4729 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
4730 commands/loadenv.c
4731 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
4732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
4733 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
4734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
4735 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
4736 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
4737
93a81088 47382009-09-03 Magnus Granberg <zorry@ume.nu>
4739
4740 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
4741 include -fPIE in the default specs.
4742 * configure.ac: Check if pie_possible is yes and add -fno-PIE
4743 to TARGET_CFLAGS.
4744
160034b2 47452009-09-03 Felix Zielcke <fzielcke@z-51.de>
4746
4747 * INSTALL: Note that GNU Bison 2.3 or later is required.
4748
087c07c4 47492009-09-03 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * kern/i386/pc/startup.S: Fix typo.
4752
cbf978c0 47532009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
4756 according to GCS.
4757
47582009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 4759
4760 * docs/grub.texi (Naming convention): Describe one-based partition
4761 numbering.
4762 (Device syntax): Likewise.
4763 (File name syntax): Likewise.
4764 (Block list syntax): Likewise.
4765 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
4766 menu.lst.
4767 (File name syntax): Likewise.
4768 (Command-line and menu entry commands): Document acpi, blocklist,
4769 crc, export, insmod, keystatus, ls, set, and unset commands.
4770
f3e8cdfd 47712009-09-02 Colin Watson <cjwatson@ubuntu.com>
4772
4773 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
4774 to avoid implying that only one of --shift, --ctrl, or --alt may be
4775 used.
4776
c0bc232b 47772009-09-02 Colin Watson <cjwatson@ubuntu.com>
4778
4779 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
4780 rather than comparing against S_IFREG, which will almost never work.
4781
aa0f752d 47822009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
4785 (write_blocklists): Likewise.
4786
ecb3166a 47872009-09-01 Colin Watson <cjwatson@ubuntu.com>
4788
4789 * script/lua/grub_lua.h (fputs): Supply a format string as the first
4790 argument to grub_printf.
4791
c403a125 47922009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 4793
4794 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 4795 non GNU test.
31aba781 4796
b5e7312c 47972009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * kern/file.c (grub_file_read): Spelling fix
4800
fe00f472 48012009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
4804 loading of headers in some cases.
4805
cc55302e 48062009-08-30 Robert Millan <rmh.grub@aybabtu.com>
4807
4808 * configure.ac: Bump version to 1.97~beta1.
4809 * docs/version.texi: Likewise.
4810
5c90cdd2 48112009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 4812
4813 * include/grub/i386/xnu.h: Add license header.
4814 include grub/err.h explicitly.
4815
c90edae4 48162009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4817
4818 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
4819 to `ufs' in the vfs.root.mountfrom kernel parameter.
4820
d8888b5c 48212009-08-29 Robert Millan <rmh.grub@aybabtu.com>
4822
4823 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
4824
4825 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
4826 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
4827
4828 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
4829 `ARRAY_SIZE' macro.
4830
6f07b921 48312009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * kern/file.c (grub_file_read): Check offset.
4834 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
4835 * fs/jfs.c (grub_jfs_read_file): Likewise.
4836 * fs/ntfs.c (grub_ntfs_read): Likewise.
4837 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
4838 * fs/minix.c (grub_minix_read_file): Correct offset check.
4839 * fs/ufs.c (grub_ufs_read_file): Likewise.
4840
b4f34077 48412009-08-28 Colin Watson <cjwatson@ubuntu.com>
4842
4843 * term/i386/pc/console.c (bios_data_area): Cast
4844 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
4845
e7c69859 48462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 1-bit optimised blitters.
4849
4850 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
4851 prototype.
4852 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4853 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4854 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4855 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4856 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4857 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4858 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
4859 function.
4860 (grub_video_fbblit_replace_24bit_1bit): Likewise.
4861 (grub_video_fbblit_replace_16bit_1bit): Likewise.
4862 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4863 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4864 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
4865 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
4866 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
4867 when possible.
4868 * video/video.c (grub_video_get_blit_format): Return
4869 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
4870
a57da43f 48712009-08-28 Colin Watson <cjwatson@ubuntu.com>
4872
4873 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
4874 the first argument to grub_printf.
4875
4cbe67e5 48762009-08-28 Colin Watson <cjwatson@ubuntu.com>
48772009-08-28 Robert Millan <rmh.grub@aybabtu.com>
4878
4879 Add `getkeystatus' terminal method. Add a new `keystatus' command
4880 to query it.
4881
4882 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
4883 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
4884 modifier key bitmasks.
4885 (struct grub_term_input): Add `getkeystatus' member.
4886 (grub_getkeystatus): Add prototype.
4887 * kern/term.c (grub_getkeystatus): New function.
4888
4889 * include/grub/i386/pc/memory.h
4890 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
4891 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
4892 Data Area layout.
4893 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
4894 (grub_console_term_input): Set `getkeystatus' member.
4895 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
4896 constants.
4897 (grub_usb_keyboard_getreport): Likewise.
4898 (grub_usb_keyboard_checkkey): Likewise.
4899 (grub_usb_keyboard_getkeystatus): New function.
4900 (grub_usb_keyboard_term): Set `getkeystatus' member.
4901
4902 * commands/keystatus.c: New file.
4903 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
4904 (keystatus_mod_SOURCES): New variable.
4905 (keystatus_mod_CFLAGS): Likewise.
4906 (keystatus_mod_LDFLAGS): Likewise.
4907 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
4908 commands/keystatus.c.
4909 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4911 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4913 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4914 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 4915
6e2a9085 49162009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Split befs.mod and afs.mod into *_be.mod and *.mod
4919
4920 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
4921 (grub_fstest_SOURCES): Likewise.
4922 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
4923 (afs_be_mod_SOURCES): New variable.
4924 (afs_be_mod_CFLAGS): Likewise.
4925 (afs_be_mod_LDFLAGS): Likewise.
4926 (befs_be_mod_SOURCES): Likewise.
4927 (befs_be_mod_CFLAGS): Likewise.
4928 (befs_be_mod_LDFLAGS): Likewise.
4929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
4930 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4931 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4932 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4933 (grub_emu_SOURCES): Likewise.
4934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4937 * fs/afs_be.c: New file.
4938 * fs/befs_be.c: New file.
4939 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
4940 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
4941 (U16): Replaced with ...
4942 (grub_afs_to_cpu16): ...this. All users updated.
4943 (U32): Replaced with ...
4944 (grub_afs_to_cpu32): ...this. All users updated.
4945 (U64): Replaced with ...
4946 (grub_afs_to_cpu64): ...this. All users updated.
4947 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
4948 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 4949 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 4950 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4951 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4952 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4953 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4954 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
4955 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
4956 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
4957 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
4958
32a71655 49592009-08-26 Bean <bean123ch@gmail.com>
4960
4961 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
4962 64-bit number.
4963 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4964 (grub_xfs_inode_block): Change return type to grub_uint64_t.
4965 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
4966
552bf6c5 49672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 NetBSD memory map support.
4970
4971 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
4972 (grub_netbsd_btinfo_mmap_header): New structure.
4973 (grub_netbsd_btinfo_mmap_entry): Likewise.
4974 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
4975
1ae2078c 49762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 Enable bsd.mod on coreboot.
4979
4980 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
4981 (bsd_mod_SOURCES): New variable.
4982 (bsd_mod_CFLAGS): Likewise.
4983 (bsd_mod_LDFLAGS): Likewise.
4984 (bsd_mod_ASFLAGS): Likewise.
4985 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
4986 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
4987
beefc598 49882009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Cleanup NetBSD root support.
4991
4992 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
4993 grub_bsd_get_device.
4994 Fix typo.
4995
3b76e68b 49962009-08-25 Felix Zielcke <fzielcke@z-51.de>
4997
4998 * util/grub.d/00_header.in: Move check for the video backend of
4999 gfxterm from here ...
5000 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5001 a suitable video backend.
5002
aea664ea 50032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Fix breakage in grub-setup.
5006
5007 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5008 "msdos_partition_map".
5009
ff747d50 50102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Fix breakage in normal/auth.c.
5013
5014 * normal/auth.c (grub_iswordseparator): New function.
5015
e7e1f93f 50162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 Authentication support.
5019
5020 * commands/password.c: New file.
5021 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5022 (password_mod_SOURCES): New variable.
5023 (password_mod_CFLAGS): Likewise.
5024 (password_mod_LDFLAGS): Likewise.
5025 (normal_mod_SOURCES): Add normal/auth.c.
5026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5027 normal/auth.c.
5028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5029 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5034 * include/grub/auth.h: New file.
5035 * include/grub/err.h (grub_err_t): New enum value
5036 GRUB_ERR_ACCESS_DENIED.
5037 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
5038 'users'.
5039 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
5040 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
5041 users updated.
5042 * normal/auth.c: New file.
5043 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
5044 (grub_cmdline_run): Don't allow to go to command line without
5045 authentication.
5046 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
5047 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
5048 menuentry without superuser rights.
5049 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
5050 user isn't a superuser.
5051
70f1161d 50522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Save space by inlining misc.c functions.
5055
5056 * kern/misc.c (grub_iswordseparator): Made static.
5057 * kern/misc.c (grub_strcat): Moved from here ...
5058 * include/grub/misc.h (grub_strcat): ... here. Inlined.
5059 * kern/misc.c (grub_strncat): Moved from here ...
5060 * include/grub/misc.h (grub_strncat): ... here. Inlined.
5061 * kern/misc.c (grub_strcasecmp): Moved from here ...
5062 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
5063 * kern/misc.c (grub_strncasecmp): Moved from here ...
5064 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
5065 * kern/misc.c (grub_isalpha): Moved from here ...
5066 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
5067 * kern/misc.c (grub_isdigit): Moved from here ...
5068 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
5069 * kern/misc.c (grub_isgraph): Moved from here ...
5070 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
5071 * kern/misc.c (grub_tolower): Moved from here ...
5072 * include/grub/misc.h (grub_tolower): ... here. Inlined.
5073
48e40bff 50742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * script/sh/function.c (grub_script_function_find): Cut error message
5077 not to flood terminal.
5078 * script/sh/lexer.c (grub_script_yylex): Remove command line length
5079 limit.
5080 * script/sh/script.c (grub_script_arg_add): Duplicate string.
5081
c385bfc3 50822009-08-24 Colin Watson <cjwatson@ubuntu.com>
5083
5084 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
5085 `report' grub_uint8_t *.
5086 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
5087 Use a 50-millisecond timeout rather than just repeating
5088 grub_usb_keyboard_getreport 50 times.
5089 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
5090
2d21e3e8 50912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Rename *_partition_map to part_*
5094
5095 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
5096 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
5097 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
5098 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
5099 All users updated.
5100 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
5101 All users updated.
5102 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
5103 * util/grub-probe.c (probe_partmap): Don't transform partition name
5104 to get module name.
5105
dd103c4e 51062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 Fix OpenBSD and NetBSD support.
5109
5110 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
5111 memory address conflict.
5112 (OPENBSD_MMAP_ACPI): New definition.
5113 (OPENBSD_MMAP_NVS): Likewise.
5114 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
5115 and OPENBSD_MMAP_NVS.
5116 Add memory map terminator
5117 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 5118 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 5119
16c84d74 51202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 Let user specify NetBSD root device.
5123
5124 * loader/i386/bsd.c (netbsd_root): New variable.
5125 (netbsd_opts): New option 'root'.
5126 (NETBSD_ROOT_ARG): New macro.
5127 (grub_netbsd_boot): Use 'netbsd_root'.
5128 (grub_bsd_unload): Free 'netbsd_root'.
5129 (grub_cmd_netbsd): Fill 'netbsd_root'.
5130
adb29902 51312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Support for 64-bit NetBSD.
5134
5135 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
5136 point when booting non-FreeBSD.
5137
f5ae9f74 51382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 Support --no-smp and --no-acpi for NetBSD.
5141
5142 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
5143 (NETBSD_AB_NOACPI): Likewise.
5144 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
5145 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
5146
de74f136 51472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
5150 errors.
5151 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
5152 errors. Call grub_error when needed.
5153
e9a925da 51542009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * commands/search.c (search_fs): Try searching without autoload first.
5157 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5158 filesystem module explicitly for faster booting.
5159
5174302b 51602009-08-23 Colin Watson <cjwatson@ubuntu.com>
5161
5162 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
5163
c8c80635 51642009-08-23 Colin Watson <cjwatson@ubuntu.com>
5165
5166 * util/grub.d/30_os-prober.in: Disable os-prober if
5167 `GRUB_DISABLE_OS_PROBER' was set to true.
5168
71acf5e5 51692009-08-23 Robert Millan <rmh.grub@aybabtu.com>
5170
5171 * partmap/pc.c: Rename to ...
5172 * partmap/msdos.c: ... this. Update all users.
5173 (grub_pc_partition_map): Rename to ...
5174 (grub_msdos_partition_map): ... this. Update all users.
5175
5176 * parttool/pcpart.c: Rename to ...
5177 * parttool/msdospart.c: ... this. Update all users.
5178
5179 * include/grub/pc_partition.h: Rename to ...
5180 * include/grub/msdos_partition.h: ... this. Update all users.
5181 (grub_pc_partition_bsd_entry): Rename to ...
5182 (grub_msdos_partition_bsd_entry): ... this. Update all users.
5183 (grub_pc_partition_disk_label): Rename to ...
5184 (grub_msdos_partition_disk_label): ... this. Update all users.
5185 (grub_pc_partition_entry): Rename to ...
5186 (grub_msdos_partition_entry): ... this. Update all users.
5187 (grub_pc_partition_mbr): Rename to ...
5188 (grub_msdos_partition_mbr): ... this. Update all users.
5189 (grub_pc_partition): Rename to ...
5190 (grub_msdos_partition): ... this. Update all users.
5191 (grub_pc_partition_is_empty): Rename to ...
5192 (grub_msdos_partition_is_empty): ... this. Update all users.
5193 (grub_pc_partition_is_extended): Rename to ...
5194 (grub_msdos_partition_is_extended): ... this. Update all users.
5195 (grub_pc_partition_is_bsd): Rename to ...
5196 (grub_msdos_partition_is_bsd): ... this. Update all users.
5197
5198 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
5199 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
5200 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
5201 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
5202 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
5203 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
5204 (gpt_mod_LDFLAGS): Rename to ...
5205 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
5206 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
5207 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
5208 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
5209 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
5210 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
5211 (part_gpt_mod_LDFLAGS): ... this.
5212 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
5213 `pcpart.mod' to `msdospart.mod'.
5214 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
5215 to ...
5216 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
5217 (msdospart_mod_LDFLAGS): ... this.
5218
c11fded5 52192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
5222 (openbsd_opts): Likewise.
5223 (netbsd_opts): Likewise.
5224 (freebsd_flags): Added 0 terminator.
5225 (openbsd_flags): Likewise.
5226 (netbsd_flags): Likewise.
5227 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
5228 (grub_cmd_freebsd): Transformed into extended command.
5229 (grub_cmd_openbsd): Likewise.
5230 (grub_cmd_netbsd): Likewise.
5231 (cmd_freebsd): Changed type to grub_extcmd_t.
5232 (cmd_openbsd): Likewise.
5233 (cmd_netbsd): Likewise.
5234 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
5235 grub_cmd_openbsd as extended commands.
5236 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
5237 cmd_netbsd and cmd_openbsd
5238
11d1c769 52392009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
5242
7a9094e5 52432009-08-21 Pavel Roskin <proski@gnu.org>
5244
5496c37e 5245 * Makefile.in (install-local): When checking if a file is in the
5246 build directory, use "test -e" to detect symlinks.
5247
7a9094e5 5248 * Makefile.in (install-local): Remove all files in
5249 $(DESTDIR)$(pkglibdir) before installing new files there.
5250
e53cea11 52512009-08-18 Felix Zielcke <fzielcke@z-51.de>
5252
5253 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
5254 grub-mkelfimage.
5255
9aced544 52562009-08-18 Felix Zielcke <fzielcke@z-51.de>
5257
5258 * util/grub-mkconfig.in: Don't use gfxterm by default if not
5259 explicitly specified by the user.
5260
b7da6bab 52612009-08-18 Pavel Roskin <proski@gnu.org>
5262
5263 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
5264 grub_uint8_t pointer for data.
5265 * include/grub/fbutil.h (struct grub_video_fbblit_info):
5266 Likewise.
5267 * video/fb/fbutil.c: Remove unnecessary casts.
5268
19f1b335 52692009-08-17 Michal Suchanek <hramrach@centrum.cz>
5270
5271 VBE cleanup.
5272
5273 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
5274 (grub_vbe_set_video_mode): Save active mode info
5275 only after setting the mode.
5276 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
5277 second argument.
5278
2f467aa9 52792009-08-17 Michal Suchanek <hramrach@centrum.cz>
5280
5281 Rename variables for clarity.
5282
5283 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
5284 (active_vbe_mode_info): ... this. All users updated.
5285 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
5286 All users updated.
5287 (initial_mode): Rename to ...
5288 (initial_vbe_mode): ... this. All users updated.
5289 (mode_in_use): Rename to ..
5290 (vbe_mode_in_use): ... this. All users updated.
5291 (mode_list): Rename to ..
5292 (vbe_mode_list): ... this. All users updated.
5293 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
5294 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
5295 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
5296 'mode_list_size' to 'vbe_mode_list_size'.
5297 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
5298 'best_mode_info' to 'best_vbe_mode_info' and
5299 'best_mode' to 'best_vbe_mode'
5300
6025fcd7 53012009-08-17 Michal Suchanek <hramrach@centrum.cz>
5302
5303 Remove duplicate grub_video_fb_get_video_ptr.
5304
5305 * include/grub/fbutil.h (get_data_ptr): Rename to ...
5306 (grub_video_fb_get_video_ptr): ... this.
5307 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
5308 * video/fb/fbutil.c: Add comment about addressing.
5309 (get_data_ptr): Rename to ...
5310 (grub_video_fb_get_video_ptr): ... this. All users updated.
5311 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
5312
cc8c6faf 53132009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5314
5315 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
5316 grub_dprintf() that was just added.
5317
08aa61f0 53182009-08-17 Robert Millan <rmh.grub@aybabtu.com>
5319
5320 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
5321 (DEFAULT_VIDEO_MODE): Remove macros.
5322 (grub_linux_boot): Remove assumption that Linux has FB support,
5323 and use "text" as default video mode.
5324
7cef4f75 53252009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
5328 grub_dprintf.
5329 * fs/fat.c (grub_fat_read_data): Likewise.
5330
e1f39873 53312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
5334 payload.
5335 (grub_module): Likewise.
5336
c166d79e 53372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
5340 mbi->cmdline but free playground.
5341
c60cee8e 53422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Handle group offset on UFS1.
5345
5346 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
5347 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
5348
c0d8b5d4 53492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 Split ufs.mod into ufs1.mod and ufs2.mod.
5352
5353 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
5354 (grub_fstest_SOURCES): Likewise.
5355 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
5356 (ufs_mod_SOURCES): Remove.
5357 (ufs_mod_CFLAGS): Likewise.
5358 (ufs_mod_LDFLAGS): Likewise.
5359 (ufs1_mod_SOURCES): New variable.
5360 (ufs1_mod_CFLAGS): Likewise.
5361 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 5362 (ufs2_mod_SOURCES): New variable.
5363 (ufs2_mod_CFLAGS): Likewise.
5364 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 5365 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
5366 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5367 Likewise.
5368 (grub_emu_SOURCES): Likewise.
5369 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5370 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5371 (grub_setup_SOURCES): Likewise.
5372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5373 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
5374 (grub_setup_SOURCES): Likewise.
5375 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
5376 Likewise.
5377 * fs/ufs2.c: New file.
5378 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
5379
d3539132 53802009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 Framebuffer split.
5383
5384 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
5385 subsystem at the end.
5386 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
5387 (video_fb_mod_SOURCES): New variable.
5388 (video_fb_mod_CFLAGS): Likewise.
5389 (video_fb_mod_LDFLAGS): Likewise.
5390 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
5391 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
5392 * video/i386/pc/vbeblit.c: Moved from here ...
5393 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
5394 * video/i386/pc/vbefill.c: Moved from here ...
5395 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
5396 * video/i386/pc/vbeutil.c: Moved from here ...
5397 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
5398 * include/grub/i386/pc/vbeblit.h: Moved from here ...
5399 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
5400 * include/grub/i386/pc/vbefill.h: Moved from here ...
5401 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
5402 * include/grub/i386/pc/vbeutil.h: Moved from here ...
5403 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
5404 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
5405 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
5406 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
5407 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
5408 (grub_video_adapter): Added 'get_info_and_fini'.
5409 (grub_video_get_info_and_fini): New prototype.
5410 (grub_video_set_mode): make modestring const char *.
5411 * loader/i386/linux.c (grub_linux_setup_video): Use
5412 grub_video_get_info_and_fini.
5413 (grub_linux_boot): Move modesetting just before booting.
5414 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
5415 grub_video_get_info_and_fini.
5416 * video/i386/pc/vbe.c: Moved framebuffer part ...
5417 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
5418 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
5419 grub_video_fbstd_colors and grub_video_fb_set_palette.
5420 (grub_video_vbe_init): Clear 'framebuffer' variable and use
5421 grub_video_fb_init.
5422 (grub_video_vbe_fini): Use grub_video_fb_fini.
5423 (grub_video_vbe_setup): Use framebuffer.render_target instead of
5424 render_target and use grub_video_fb_set_active_render_target and
5425 grub_video_fb_set_palette.
5426 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
5427 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
5428 (grub_video_vbe_adapter): Use framebuffer.
5429 * video/video.c (grub_video_get_info_and_fini): New function.
5430 (grub_video_set_mode): Make modestring const char *.
5431 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
5432 values are already initialised.
5433
d404ee56 54342009-08-14 Pavel Roskin <proski@gnu.org>
5435
5436 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
5437 ABS and APPLE_CC.
5438 * boot/i386/pc/diskboot.S: Likewise.
5439 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
5440 sectors allow compilation on MacOSX.
5441 * conf/i386-pc.rmk: Enable unconditional compilation of
5442 lnxboot.img.
5443
9a10df16 54442009-08-13 Colin Watson <cjwatson@ubuntu.com>
5445
5446 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
5447 * util/grub.d/00_header.in: Enter interruptible sleep if
5448 GRUB_HIDDEN_TIMEOUT is set.
5449
be3c9ca7 54502009-08-13 Yves Blusseau <blusseau@zetam.org>
5451
5452 * include/grub/symbol.h: Add the LOCAL macro.
5453 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
5454 starting with "L_".
5455
1f9e557e 54562009-08-13 Pavel Roskin <proski@gnu.org>
5457
9ca62843 5458 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
5459 any modern compilers we support.
5460
1f9e557e 5461 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
5462 Use local labels starting with "L_" so that Apple assembler
5463 knows they are local.
5464
81623db6 54652009-08-10 Robert Millan <rmh.grub@aybabtu.com>
5466
5467 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
5468 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
5469 (bsd_kernel_types): ... this enum.
5470
5471 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
5472 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
5473 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
5474
5475 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
5476 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
5477 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
5478 messages.
5479
f5d35e7a 54802009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5481
5482 * util/grub-dumpdevtree: Moved from here ...
5483 * util/i386/efi/grub-dumpdevtree: ... to here.
5484 (hexify): New function. Converts a string to its hex version.
5485 Generate hex versions of "efi" and "device-properties" by calling
5486 hexify() on the ASCII strings rather than by hardcoding numbers.
5487
d1e1d527 54882009-08-08 Robert Millan <rmh.grub@aybabtu.com>
5489
5490 * fs/jfs.c: Update copyright year.
5491
1ebbe064 54922009-08-08 Felix Zielcke <fzielcke@z-51.de>
5493
5494 * util/grub.d/00_header.in: Fix a comment.
5495 * util/grub.d/10_linux.in: Likewise.
5496 * util/grub.d/10_windows.in: Likewise.
5497 * util/grub.d/10_hurd.in: Likewise.
5498
a78c8d24 54992009-08-08 Felix Zielcke <fzielcke@z-51.de>
5500
5501 * util/grub-mkconfig.in: Allow the user to specify the used font
5502 with GRUB_FONT.
5503
29a6b9e8 55042009-08-08 Pavel Roskin <proski@gnu.org>
5505
b5f16cc4 5506 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
5507 available, xfs.mod needs it now.
5508
2f5cb827 5509 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
5510 the "g" modifier in sed when the intention is to strip something
5511 once. This fixes comparison of kernels with multiple dashes.
5512
29a6b9e8 5513 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
5514 on it. Add missing space before closing bracket. Fix
5515 misleading formatting.
5516
892a3d98 55172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5518
5519 * docs/grub.texi: Major overhaul. Remove all sections that are
5520 specific to GRUB Legacy, or mostly composed of Legacy-specific
5521 information.
5522
ed94253f 55232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5524
5525 * docs/version.texi: New file. Provides version information for
5526 grub.texi.
5527
126d6628 55282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5529
5530 * docs/grub.texi: Update CVS information to SVN.
5531 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
5532
998b5aa9 55332009-08-07 Felix Zielcke <fzielcke@z-51.de>
5534
5535 * util/grub-mkconfig.in: Remove a wrong `fi'.
5536
818e094a 55372009-08-07 Felix Zielcke <fzielcke@z-51.de>
5538
5539 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
5540 (grub_jfs_uuid): New function.
5541 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
5542
b969c52f 55432009-08-07 Felix Zielcke <fzielcke@z-51.de>
5544
5545 * util/grub-mkconfig_lib.in (font_path): Move the functionality
5546 of it to ...
5547 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
5548 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
5549
7a4894cc 55502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5551
5552 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
5553 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
5554 Update all users.
5555
5556 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
5557 not just "vmlinu[zx]".
5558 Moved from here ...
5559 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
5560 all users.
5561
5562 * util/grub.d/10_linux.in (find_latest): Moved from here ...
5563 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
5564 all users.
5565
4e2171f8 55662009-08-07 Robert Millan <rmh.grub@aybabtu.com>
5567
5568 * util/grub.d/10_freebsd.in: Use an absolute device path for
5569 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
5570
6dcfcb32 55712009-08-06 Felix Zielcke <fzielcke@z-51.de>
5572
5573 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5574 handling of multiple abstraction modules.
5575
f56a8756 55762009-08-04 Robert Millan <rmh.grub@aybabtu.com>
5577
5578 Fix a bug resulting in black screen when loading Linux using a
5579 packed video mode.
5580
5581 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
5582 function.
5583
5584 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
5585 (grub_vbe_bios_getset_dac_palette_width): New function.
5586 (grub_vbe_bios_get_dac_palette_width)
5587 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
5588 grub_vbe_bios_getset_dac_palette_width()).
5589
5590 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
5591 check for return status.
5592 (grub_vbe_get_video_mode_info): When getting information for a packed
5593 mode (<= 8 bpp), obtain DAC palette width using
5594 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
5595 {red,green,blue}_mark_size.
5596
222671b2 55972009-08-04 Felix Zielcke <fzielcke@z-51.de>
5598
ecb1a6d9 5599 * commands/search.c (options): Fix help output to match actual code.
222671b2 5600
f84114f5 56012009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
5604 of homegrown code.
5605
bd288a20 56062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 5607
5608 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
5609 on XFS or ReiserFS.
5610
8aab5e25 56112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 Support Apple partition map with sector size different from 512 bytes.
5614
5615 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
5616 (apple_partition_map_iterate): Respect 'aheader.blocksize'
5617 and 'apart.partmap_size'.
5618
6ad6258a 56192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
56202009-08-01 Robert Millan <rmh.grub@aybabtu.com>
5621
5622 Fix cpuid command.
5623
5624 * commands/i386/cpuid.c (options): New variable.
5625 (grub_cmd_cpuid): Return real error.
5626 (GRUB_MOD_INIT(cpuid)): Declare options.
5627
67459bc6 56282009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
5631 valid.
5632
fbc6ab54 56332009-07-31 Bean <bean123ch@gmail.com>
5634
5635 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
5636 log2_inode.
5637 (grub_fshelp_node): Move inode field to the end.
5638 (grub_xfs_data): Remove inode field.
5639 (grub_xfs_inode_block): Calculate inode size using sblock.
5640 (grub_xfs_inode_offset): Likewise.
5641 (grub_xfs_read_inode): Calculate inode size using sblock.
5642 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
5643 (grub_xfs_iterate_dir): Calculate inode size using sblock.
5644 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
5645 to match inode size.
5646 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
5647 not accessible when data is null.
5648 (grub_xfs_open): Likewise.
5649
f45d6cfc 56502009-07-31 Bean <bean123ch@gmail.com>
5651
5652 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
5653 Don't change pv->disk if it's already set.
5654
5655 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
5656 (grub_raid_register): ... here.
5657 (grub_raid_rescan): Removed.
5658
5659 * include/grub/raid.h (grub_raid_rescan): Removed.
5660
5661 * util/grub-fstest.c: Remove include file <grub/raid.h>.
5662 (fstest): Replace grub_raid_rescan with module fini function followed
5663 by init function.
5664
5665 * util/grub-probe.c: Add include file <grub/raid.h>.
5666 (probe_raid_level): New function.
5667 (probe): Detect abstraction by walking the disk device, support two
5668 level of abstraction (LVM on RAID) when detecting partition map.
5669
24443b5a 56702009-07-31 Pavel Roskin <proski@gnu.org>
5671
5672 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
5673 to grub_zalloc(), it was erroneous.
5674 Reported by Bean <bean123ch@gmail.com>
5675
a275d9e7 56762009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 5679 embedding zone, not only the first one.
a275d9e7 5680
56c5a47f 56812009-07-29 Joe Auricchio <jauricchio@gmail.com>
5682
5683 * term/gfxterm.c (clear_char): New function.
5684 (grub_virtual_screen_setup): Use clear_char.
5685 (scroll_up): Likewise.
5686 (grub_virtual_screen_cls): Likewise.
5687
67bb323a 56882009-07-29 Felix Zielcke <fzielcke@z-51.de>
5689
5690 * util/deviceiter.c (get_acceleraid_disk_name): New static
5691 function.
5692 (grub_util_iterate_devices): Handle Accelraid devices.
5693 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
5694
388a7c75 56952009-07-28 Robert Millan <rmh.grub@aybabtu.com>
5696
5697 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
5698 separator for the suggested gfxpayload string (';' collides with the
5699 parser and needs escaping).
5700
3bb7abcf 57012009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
5704 Clear direction flag before jumping to OS.
5705 (grub_multiboot2_real_boot): Likewise.
5706
2ddd36d7 57072009-07-28 Felix Zielcke <fzielcke@z-51.de>
5708
5709 * util/i386/pc/grub-install: Fix parsing of --disk-module
5710 option.
5711
c521b62b 57122009-07-28 Felix Zielcke <fzielcke@z-51.de>
5713
5714 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
5715 when embedding.
5716
880e0a0c 57172009-07-26 Felix Zielcke <fzielcke@z-51.de>
5718
5719 * util/grub-mkconfig.in (package_version): New variable.
5720 Use it do display the version.
5721
2366e356 57222009-07-25 Felix Zielcke <fzielcke@z-51.de>
5723
5724 * kern/file.c (grub_file_open): Revert to previous check with
5725 grub_errno.
5726
7ad8c80e 57272009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
5730 from help line. It's out of sync with code.
5731
72b9658b 57322009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
5735 entries on failed boot.
5736
77435277 57372009-07-25 Felix Zielcke <fzielcke@z-51.de>
5738
5739 * kern/file.c (grub_file_open): Fix an error check.
5740
fcaa8b21 57412009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
5742
35d16c74 5743 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
5744 partition map couldn't be identified.
fcaa8b21 5745
48904cd1 57462009-07-23 Pavel Roskin <proski@gnu.org>
5747
ef3c317f 5748 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
5749 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
5750 case of little endian words becomes just an optimization.
5751 Respect const modifier.
ad8ea1f4 5752 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 5753
48904cd1 5754 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
5755 to avoid loss of upper bits if align is unsigned and shorter
5756 than addr.
5757
260c9a89 57582009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 UUID support for UFS
5761
5762 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
5763 (grub_ufs_uuid): New function.
5764 (grub_ufs_fs): add .uuid
5765
f76ce889 57662009-07-21 Pavel Roskin <proski@gnu.org>
5767
5768 * kern/dl.c (grub_dl_check_header): Make static.
5769
6a6cbcaf 57702009-07-21 Felix Zielcke <fzielcke@z-51.de>
5771
5772 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
5773 add drivemap for Vista. It breaks Windows 7.
5774
cffcddb2 57752009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
5778 128 bytes
5779
1ef44b80 57802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Add BFS support
5783
5784 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
5785 (grub_fstest_SOURCES): Likewise.
5786 (pkglib_MODULES): Add befs.mod.
5787 (befs_mod_SOURCES): New variable.
5788 (befs_mod_CFLAGS): Likewise.
5789 (befs_mod_LDFLAGS): Likewise.
5790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5791 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5792 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5793 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5794 (grub_setup_SOURCES): Likewise.
5795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5797 (grub_setup_SOURCES): Likewise.
5798 * fs/befs.c: New file.
5799 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
5800 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
5801 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
5802 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
5803 (B_KEY_INDEX_ALIGN): New declaration.
5804 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
5805 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
5806 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
5807 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
5808 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
5809 (grub_afs_mount) [MODE_BFS]: Likewise.
5810 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
5811 (grub_afs_fs): Use GRUB_AFS_FSNAME
5812 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
5813 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
5814 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
5815 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
5816
4f253044 58172009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
5818
5819 * util/getroot.c (find_root_device): Add support for MacOSX.
5820 * util/hostdisk.c: Likewise.
5821
57a55913 58222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * font/font.c (find_glyph): Check whether a font is present to avoid
5825 segmentation fault.
75421ca9 5826
58272009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 5828
5829 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
5830
e98cd0c2 58312009-07-20 Pavel Roskin <proski@gnu.org>
5832
5833 * configure.ac: Trim excessively wordy excuses.
5834
1d2d169a 58352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Add symlink, mtime and label support to AtheFS.
5838
5839 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
5840 (grub_afs_iterate_dir): Handle symlinks.
5841 (grub_afs_open): Use grub_afs_read_symlink.
5842 (grub_afs_dir): Likewise.
5843 Pass mtime.
5844 (grub_afs_label): New function.
5845 (grub_afs_fs): Add grub_afs_label.
5846 (grub_afs_read_symlink): New function.
5847
186f3189 58482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Fix AtheFS support.
5851
5852 * fs/afs.c: Fix comments style.
5853 (grub_afs_blockrun): Declare as packed.
5854 (grub_afs_datastream): Likewise.
5855 (grub_afs_bnode): Likewise.
5856 (grub_afs_btree): Likewise.
5857 (grub_afs_sblock): Likewise.
5858 Declare `name' as char.
5859 (grub_afs_inode): Declare as packed.
5860 Change void *vnode to grub_uint32_t unused.
5861 (grub_afs_iterate_dir): Check that key_size is positive.
5862 (grub_afs_mount): Don't read superblock twice.
75421ca9 5863 (grub_afs_dir): Don't free node in case of error,
186f3189 5864 grub_fshelp_find_file already handles this.
5865 (grub_afs_open): Likewise.
5866
5680109e 58672009-07-19 Pavel Roskin <proski@gnu.org>
5868
5869 * Makefile.in: Remove LIBLZO and enable_lzo.
5870 * conf/i386-pc.rmk: Remove lzo support.
5871 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
5872 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
5873 support.
5874 * kern/i386/pc/lzo1x.S: Remove.
5875 * kern/i386/pc/startup.S: Remove lzo support.
5876 * util/i386/pc/grub-mkimage.c: Likewise.
5877
ac70fa32 58782009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
5881 * fs/xfs.c (grub_xfs_dir): Likewise.
5882 * fs/afs.c (grub_afs_dir): Likewise.
5883 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5884 (grub_iso9660_open): Likewise.
5885 * fs/jfs.c (grub_jfs_open): Likewise.
5886 * fs/ext2.c (grub_ext2_dir): Likewise.
5887 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
5888 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 5889
eab58da2 58902009-07-16 Pavel Roskin <proski@gnu.org>
5891
d2838156 5892 * configure.ac: Never add "-c" to CFLAGS.
5893
55c70904 5894 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
5895
43e6200c 5896 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
5897 grub_cv_cc_efiemu should be used.
5898
ce7a733d 5899 * configure.ac: Typo fixes.
5900
eab58da2 5901 * kern/mm.c (grub_zalloc): New function.
5902 (grub_debug_zalloc): Likewise.
5903 * include/grub/mm.h: Declare grub_zalloc() and
5904 grub_debug_zalloc().
5905 * util/misc.c (grub_zalloc): New function.
5906 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
5907 instead of grub_malloc(), remove unneeded initializations.
5908 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
5909 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
5910 * commands/parttool.c (grub_cmd_parttool): Likewise.
5911 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5912 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
5913 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
5914 * disk/usbms.c (grub_usbms_finddevs): Likewise.
5915 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
5916 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
5917 (grub_cmd_efiemu_pnvram): Likewise.
5918 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
5919 * fs/iso9660.c (grub_iso9660_mount): Likewise.
5920 (grub_iso9660_iterate_dir): Likewise.
5921 * fs/jfs.c (grub_jfs_opendir): Likewise.
5922 * fs/ntfs.c (list_file): Likewise.
5923 (grub_ntfs_mount): Likewise.
5924 * kern/disk.c (grub_disk_open): Likewise.
5925 * kern/dl.c (grub_dl_load_core): Likewise.
5926 * kern/elf.c (grub_elf_file): Likewise.
5927 * kern/env.c (grub_env_context_open): Likewise.
5928 (grub_env_set): Likewise.
5929 (grub_env_set_data_slot): Likewise.
5930 * kern/file.c (grub_file_open): Likewise.
5931 * kern/fs.c (grub_fs_blocklist_open): Likewise.
5932 * loader/i386/multiboot.c (grub_module): Likewise.
5933 * loader/xnu.c (grub_xnu_create_key): Likewise.
5934 (grub_xnu_create_value): Likewise.
5935 * normal/main.c (grub_normal_add_menu_entry): Likewise.
5936 (read_config_file): Likewise.
5937 * normal/menu_entry.c (make_screen): Likewise.
5938 * partmap/sun.c (sun_partition_map_iterate): Likewise.
5939 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
5940 * script/sh/script.c (grub_script_parse): Likewise.
5941 * video/bitmap.c (grub_video_bitmap_create): Likewise.
5942 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5943 * video/readers/png.c (grub_png_output_byte): Likewise.
5944 (grub_video_reader_png): Likewise.
5945
830afef7 59462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 5947
5948 Enable all targets that can be built by default
5949
830afef7 5950 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 5951 grub-mkfont and grub-fstest if they can be built
5952
ee293aee 59532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Fix hang and segmentation fault in grub-emu-usb
5956
5957 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
5958 * util/usb.c (grub_libusb_devices): likewise
5959 (grub_libusb_init): rename to ...
5960 (GRUB_MOD_INIT (libusb)):...this
5961 (grub_libusb_fini): rename to ..
5962 (GRUB_MOD_FINI (libusb)):...this
5963 * disk/usbms.c (grub_usbms_transfer): fix retry logic
5964 * include/grub/disk.h (grub_raid_init): removed, it's useless
5965 (grub_raid_fini): likewise
5966 (grub_lvm_init): likewise
5967 (grub_lvm_fini): likewise
5968 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
5969 by grub_init_all
5970
94414221 59712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Fix libusb
5974
5975 * Makefile.in (LIBUSB): new macro
5976 * genmk.rb (Utility/print_tail): new method
5977 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
5978 (top level): call util.print_tail at the end.
5979
59ade63d 59802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 Make FreeBSD accept zpool.cache
5983
5984 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
5985 type is /boot/zfs/zpool.cache
5986
a58da8c7 59872009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 Fix 64-bit efiemu
5990
5991 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
5992 correct wrong typedef
5993 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
5994
20591577 59952009-07-15 Pavel Roskin <proski@gnu.org>
5996
560ca572 5997 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
5998 * kern/disk.c (struct grub_disk_cache): Likewise.
5999
e8e8e4fd 6000 * commands/probe.c (options): Typo fix.
6001
fde24e10 6002 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6003 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6004 accordingly.
6005 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6006
379c54c1 6007 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6008 the end of "Error" to make the message more readable.
6009
7bd8f5bf 6010 * boot/i386/pc/boot.S (kernel_segment): Remove.
6011 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6012 for destination.
6013
40b132c5 6014 * boot/i386/pc/boot.S (boot_version): Remove.
6015 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6016 Remove.
6017
20591577 6018 * include/grub/i386/pc/boot.h: Sort all offsets.
6019 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6020 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6021 * boot/i386/pc/boot.S: Assert location of every offset listed in
6022 include/grub/i386/pc/boot.h.
6023
2df32b2c 60242009-07-13 Pavel Roskin <proski@gnu.org>
6025
44b5d879 6026 * include/grub/i386/coreboot/machine.h: Rename
6027 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6028 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6029 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6030
17dc3751 6031 * kern/dl.c: Force native word size to suppress warnings when
6032 compiling grub-emu.
6033
2df32b2c 6034 * kern/device.c (grub_device_iterate): Change struct part_ent to
6035 hold the name, not a pointer to it. Use one grub_malloc() per
6036 partition, not two. Free partition_name if grub_malloc() fails.
6037 Set ents to NULL only before grub_partition_iterate() is called.
6038
75c59f59 60392009-07-11 Bean <bean123ch@gmail.com>
6040
6041 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
6042 childname.
6043
0ae1bf88 60442009-07-10 Bean <bean123ch@gmail.com>
60452009-07-10 Robert Millan <rmh.grub@aybabtu.com>
6046
6047 * kern/ieee1275/openfw.c (grub_children_iterate)
6048 (grub_devalias_iterate): Fix size evaluation for property or path
6049 strings, which was broken since r2132.
6050
8279cade 60512009-07-07 Pavel Roskin <proski@gnu.org>
6052
7d8a52d3 6053 * commands/search.c (search_file): Merge into ...
6054 (search_fs): ... this. Accept search type as argument.
6055 (grub_cmd_search): Pass search type to search_fs().
6056
25f9a05a 6057 * include/grub/util/console.h: New file.
6058 * util/console.c: Use it instead of grub/machine/console.h.
6059 * util/grub-emu.c: Likewise.
6060
8279cade 6061 * lib/arg.c (find_long_option): Remove.
6062 (find_long): Add `len' argument, make `s' const char *.
6063 (grub_arg_parse): Parse long options in place, not in a
6064 temporary buffer.
6065
4a11b60f 60662009-07-06 Pavel Roskin <proski@gnu.org>
6067
99f68041 6068 * commands/search.c (search_fs): Fix potential NULL pointer
6069 dereference.
6070
4a11b60f 6071 * commands/search.c (search_fs): Replace QUID macro with quid_fn
6072 function pointer.
6073
e110f4de 60742009-07-06 Daniel Mierswa <impulze@impulze.org>
6075
6076 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
6077 comparison.
6078
46eeb6a2 60792009-07-05 Pavel Roskin <proski@gnu.org>
6080
bab74958 6081 * include/grub/i386/linux.h (struct linux_kernel_params):
6082 Restore padding3, it's still needed.
6083
46eeb6a2 6084 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
6085 FreeBSD.
6086 * util/osdetect.lua: Likewise.
6087
b4a1dc79 60882009-07-05 Bean <bean123ch@gmail.com>
6089
6090 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
6091
6092 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
6093 (grub_lua_getenv): Likewise.
6094 (grub_lua_setenv): Likewise.
6095 (save_errno): New function.
6096 (push_result): Likewise.
6097 (grub_lua_enum_device): Likewise.
6098 (grub_lua_enum_file): Likewise.
6099 (grub_lua_file_open): Likewise.
6100 (grub_lua_file_close): Likewise.
6101 (grub_lua_file_seek): Likewise.
6102 (grub_lua_file_read): Likewise.
6103 (grub_lua_file_getline): Likewise.
6104 (grub_lua_file_getsize): Likewise.
6105 (grub_lua_file_getpos): Likewise.
6106 (grub_lua_file_eof): Likewise.
6107 (grub_lua_file_exist): Likewise.
6108 (grub_lua_add_menu): Likewise.
6109
6110 * script/lua/grub_lua.h (isupper): New inline function.
6111 (islower): Likewise.
6112 (ispunct): Likewise.
6113 (isxdigit): Likewise.
6114 (strcspn): Change to normal function.
6115 (strpbkr): New function declaration.
6116 (memchr): Likewise.
6117
6118 * script/lua/grub_main.c (scan_str): New function.
6119 (strcspn): Likewise.
6120 (strpbrk): Likewise.
6121 (memchr): Likewise.
6122
6123 * script/lua/linit.c (lualibs): Enable the string library.
6124
6125 * util/osdetect.lua: New file.
6126
2da92295 61272009-07-04 Robert Millan <rmh.grub@aybabtu.com>
6128
6129 * include/grub/i386/linux.h (struct linux_kernel_params): Add
6130 `capabilities' member.
6131
b2582ec9 61322009-07-02 Pavel Roskin <proski@gnu.org>
6133
6134 * genparttoollist.sh: Add missing newline at the end.
6135
32622956 61362009-07-01 Pavel Roskin <proski@gnu.org>
6137
87a7339e 6138 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
6139
d23af54e 6140 * util/hostdisk.c (open_device): Remove `const' from
6141 `sysctl_size', as sysctlbyname() can change it (in this case it
6142 doesn't actually happen).
6143
c94b18a9 6144 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
6145 using signed long int constants.
6146
c6cd3ef0 6147 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
6148 constant to avoid a warning on FreeBSD.
6149
0df63420 6150 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
6151 where it's needed.
6152
999577f1 6153 * Makefile.in: Install include/grub/machine symlink.
6154
6f41557f 6155 * Makefile.in: When installing symlinks, use "cp -fR", which
6156 works on FreeBSD and MacOSX.
6157 From Yves Blusseau <cl7m42e02@sneakemail.com>
6158
c8d22988 6159 * kern/dl.c (grub_dl_resolve_symbol): Make static.
6160 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
6161
1b96e952 6162 * util/misc.c: Move grub_reboot() and grub_halt() ...
6163 * util/grub-emu.c: ... here. Make main_env static.
6164 * include/grub/util/misc.h: Remove main_env.
6165
2ef0084d 6166 * kern/mm.c: Use correct format to print size_t.
6167
32622956 6168 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
6169 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
6170 * kern/powerpc/dl.c: Likewise.
6171 * kern/sparc64/dl.c: Likewise.
6172 * kern/x86_64/dl.c: Likewise.
6173
3f7f0cd0 61742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6175
6176 Fix grub-emu build on sparc64-ieee1275.
6177
75421ca9 6178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 6179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
6180
211d06b5 61812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6182
6183 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
6184 (grub_reboot, grub_halt): New functions.
6185
6186 * util/i386/pc/misc.c: Delete. Update all users.
6187 * util/sparc64/ieee1275/misc.c: Likewise.
6188 * util/powerpc/ieee1275/misc.c: Likewise.
6189
aaf53e3c 61902009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6191
6192 * conf/i386.rmk (setjmp_mod_SOURCES)
6193 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
6194 * conf/common.rmk (setjmp_mod_SOURCES)
6195 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
6196 to use $(target_cpu).
6197 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
6198 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
6199 * conf/powerpc-ieee1275.rmk: Likewise.
6200 * conf/sparc64-ieee1275.rmk: Likewise.
6201
6202 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
6203 $(target_cpu) for kern/$(target_cpu)/dl.c.
6204 * conf/i386-efi.rmk: Likewise.
6205 * conf/i386-ieee1275.rmk: Likewise.
6206 * conf/x86_64-efi.rmk: Likewise.
6207 * conf/i386-coreboot.rmk: Likewise.
6208 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
6209 $(target_cpu) for kern/$(target_cpu)/dl.c and for
6210 kern/$(target_cpu)/cache.S.
6211 * conf/sparc64-ieee1275.rmk: Likewise.
6212
a337130b 62132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
6214
6215 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
6216 type to `grub_uint8_t', and adjust `padding9' accordingly.
6217
c6fe4d53 62182009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6219
b09db61d 6220 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
6221
c6fe4d53 6222 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
6223 assembly in final jump, using register constraints.
6224
b09db61d 6225 (grub_linux_boot): For text mode, initialize `have_vga' using
6226 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
6227
6228 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
6229 right before the final jump.
6230
6231 Set `video_mode' to 0x3.
6232
6233 Document initialization of `video_page', `video_mode' and
6234 `video_ega_bx'.
6235
28333ad0 62362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6237
6238 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
6239 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 6240 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 6241
02164e1b 62422009-06-29 Robert Millan <rmh.grub@aybabtu.com>
6243
6244 Fix build on Debian / sparc.
6245
6246 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
6247
18b6c557 62482009-06-28 Pavel Roskin <proski@gnu.org>
6249
85f2aab6 6250 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
6251 fix a warning.
6252
18b6c557 6253 * util/grub.d/10_linux.in: Match SUSE style initrd names.
6254
ad760f81 62552009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6256
6257 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
6258 `err'.
6259
87a4623b 62602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6261
6262 Revert r2338.
6263
6264 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
6265 file can't be opened. grub_file_open() is already supposed to set
75421ca9 6266 grub_errno / grub_errmsg appropriately.
87a4623b 6267 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6268
8231fb77 62692009-06-27 Pavel Roskin <proski@gnu.org>
62702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
6271
6272 * include/grub/dl.h: Include grub/elf.h.
6273 (struct grub_dl): Add symtab field.
6274 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
6275 GRUB_MODULES_MACHINE_READONLY.
6276 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
6277 of the header for read-only modules.
6278 (grub_dl_unload): Free mod->symtab for read-only modules.
6279 * kern/i386/dl.c: Use mod->symtab.
6280 * kern/powerpc/dl.c: Likewise.
6281 * kern/sparc64/dl.c: Likewise.
6282 * kern/x86_64/dl.c: Likewise.
6283
6284 * conf/i386-qemu.rmk: New file.
6285 * kern/i386/qemu/startup.S: Likewise.
6286 * kern/i386/qemu/mmap.c: Likewise.
6287 * boot/i386/qemu/boot.S: Likewise.
6288 * include/grub/i386/qemu/time.h: Likewise.
6289 * include/grub/i386/qemu/serial.h: Likewise.
6290 * include/grub/i386/qemu/kernel.h: Likewise.
6291 * include/grub/i386/qemu/console.h: Likewise.
6292 * include/grub/i386/qemu/boot.h: Likewise.
6293 * include/grub/i386/qemu/init.h: Likewise.
6294 * include/grub/i386/qemu/machine.h: Likewise.
6295 * include/grub/i386/qemu/loader.h: Likewise.
6296 * include/grub/i386/qemu/memory.h: Likewise.
6297
6298 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
6299 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
6300 [qemu] (pkglib_IMAGES): Add `boot.img'.
6301 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
6302 [qemu] (boot_img_FORMAT): New variables.
6303 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
6304 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
6305 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
6306 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6307 [qemu] (kernel_img_FORMAT): New variables.
6308
6309 * configure.ac: Recognise `i386-qemu'.
6310
6311 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
6312 (for no compression).
6313 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
6314 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
6315 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
6316 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
6317 ifdefs).
6318
97fe384e 63192009-06-27 Pavel Roskin <proski@gnu.org>
6320
6321 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
6322 read.
6323 * efiemu/prepare32.c: Likewise.
6324 * efiemu/prepare64.c: Likewise.
6325
c402ab17 63262009-06-26 Pavel Roskin <proski@gnu.org>
6327
6328 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
6329 * include/grub/elf.h: Define symbols without "32" or "64" based
6330 on GRUB_TARGET_WORDSIZE.
6331 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
6332 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
6333 ELF definitions.
6334 * efiemu/loadcore64.c: Likewise.
6335 * loader/i386/bsd32.c: Likewise.
6336 * loader/i386/bsd64.c: Likewise.
6337 * kern/dl.c: Remove own ELF definitions.
6338 * util/i386/efi/grub-mkimage.c: Likewise.
6339
9bbdfd4d 63402009-06-23 Robert Millan <rmh.grub@aybabtu.com>
6341
6342 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
6343 segment 0x0 unconditionally, because the reference generated by
6344 GAS is an absolute address.
6345
a42ce6e9 63462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6347
6348 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
6349 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
6350
c952cf92 63512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6352
6353 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
6354 indexes. Check for -f explicitly.
cc3752ad 6355 (search_file): Improve error message.
6356 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 6357
132a0a59 63582009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6359
6360 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
6361 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
6362
387a140c 63632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6364
6365 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
6366 * conf/i386-ieee1275.rmk: Likewise.
6367 * conf/i386-coreboot.rmk: Likewise.
6368
6369 * kern/i386/pc/startup.S (grub_stop): Remove function.
6370 * kern/i386/ieee1275/startup.S: Likewise.
6371 * kern/i386/coreboot/startup.S: Likewise.
6372 * kern/i386/misc.S (grub_stop): New function.
6373
41da9665 63742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6375
6376 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
6377 * kern/i386/realmode.S (real_to_prot): ... to here.
6378
bf337234 63792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
6380
6381 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
6382 with `kernel.img'.
6383 (kernel_elf_SOURCES): Rename to ...
6384 (kernel_img_SOURCES): ... this.
6385 (kernel_elf_HEADERS): Rename to ...
6386 (kernel_img_HEADERS): ... this. Update all users.
6387 (kernel_elf_ASFLAGS): Rename to ...
6388 (kernel_img_ASFLAGS): ... this.
6389 (kernel_elf_CFLAGS): Rename to ...
6390 (kernel_img_CFLAGS): ... this.
6391 (kernel_elf_LDFLAGS): Rename to ...
6392 (kernel_img_LDFLAGS): ... this.
6393 * conf/i386-coreboot.rmk: Likewise.
6394 * conf/powerpc-ieee1275.rmk: Likewise.
6395
6396 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
6397 with "kernel.img".
6398
f52196ff 63992009-06-21 Pavel Roskin <proski@gnu.org>
6400
c3cee413 6401 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
6402 to match nested functions.
6403 * loader/sparc64/ieee1275/linux.c: Likewise.
6404
f52196ff 6405 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
6406
58750afc 64072009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6408
6409 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
6410 all i386 platforms.
6411
15355c7d 64122009-06-21 Robert Millan <rmh.grub@aybabtu.com>
6413
6414 Fix asm file handling on ELF, and remove workarounds.
6415
6416 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 6417 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 6418 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
6419 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
6420
3f3ec72b 64212009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 Load BSD ELF modules
6424
6425 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
6426 and loader/i386/bsd64.c
6427 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
6428 (FREEBSD_MODTYPE_ELF_MODULE): New definition
6429 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
6430 (grub_freebsd_load_elfmodule32): New declaration
6431 (grub_freebsd_load_elfmoduleobj64): Likewise
6432 (grub_freebsd_load_elf_meta32): Likewise
6433 (grub_freebsd_load_elf_meta64): Likewise
6434 (grub_freebsd_add_meta): Likewise
6435 (grub_freebsd_add_meta_module): Likewise
6436 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
6437 (grub_freebsd_add_meta_module): Likewise and move module-specific
6438 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
6439 (grub_cmd_freebsd): Add elf-kernel specific parts
6440 based on grub_freebsd_add_meta_module
6441 (grub_cmd_freebsd_module): Add type parsing moved from
6442 grub_freebsd_add_meta_module
6443 (grub_cmd_freebsd_module_elf): New function
6444 (cmd_freebsd_module_elf): New variable
6445 (GRUB_MOD_INIT): Register freebsd_module_elf
6446 * loader/i386/bsd32.c: New file
6447 * loader/i386/bsd64.c: Likewise
6448 * loader/i386/bsdXX.c: Likewise
6449 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
6450 (grub_elf64_load): Likewise
6451 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
6452 All users updated
6453 (grub_elf64_load_hook_t): Likewise
6454
0db15301 64552009-06-21 Colin Watson <cjwatson@ubuntu.com>
6456
6457 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
6458 variable.
6459 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
6460 don't write a menu entry for recovery mode.
6461
546796c1 64622009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6463
6464 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
6465 after it's no longer needed.
6466
cd7310d5 64672009-06-20 Robert Millan <rmh.grub@aybabtu.com>
6468
6469 * include/grub/i386/loader.h (grub_linux_prot_size)
6470 (grub_linux_tmp_addr, grub_linux_real_addr)
6471 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
6472 GRUB_MACHINE_PCBIOS.
6473 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
6474 common grub_util_info() call to ...
6475 (generate_image): ... here.
6476 Fix use of uninitialized memory, comparison of signed with
6477 unsigned integers and memory leak.
6478 Remove bogus module address message.
6479
ab32d3b5 64802009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
6483 grub_raid_register
6484 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
6485
024ef597 64862009-06-19 Pavel Roskin <proski@gnu.org>
6487
6488 * configure.ac: Remove stray AC_MSG_CHECKING.
6489
3ac72b51 64902009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 6493
e14cd814 64942009-06-18 Pavel Roskin <proski@gnu.org>
6495
6496 * conf/common.rmk: Add fs_file.mod.
6497 * disk/fs_file.c: New file.
6498 * include/grub/disk.h (enum grub_disk_dev_id): Add
6499 GRUB_DISK_DEVICE_FILE_ID.
6500
26586d98 65012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix build with Apple's toolchain. Part 2
6504
6505 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
6506 a fake start
6507
26de2bcd 65082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 Fix build with Apple's toolchain. Part 1
6511
6512 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
6513 for long calls
6514 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 6515 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 6516 Apple's toolchain
6517
09b3490b 65182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 Fix warnings
6521
6522 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
6523 (decomp_block): initialize ch
6524 use grub_memcpy instead of memcpy
6525
c22a006a 65262009-06-17 Pavel Roskin <proski@gnu.org>
6527
d3638678 6528 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
6529 version, use declarations needed to use vga_text as the startup
6530 console.
6531
c22a006a 6532 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
6533 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
6534 the kernel.
6535 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
6536 and grub_at_keyboard_fini(), it's done on module load and
6537 unload.
6538
05b129e0 65392009-06-17 Felix Zielcke <fzielcke@z-51.de>
6540
6541 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
6542 file can't be found.
6543 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6544
cf24ed9e 65452009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 Fix newline handling
6548
6549 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 6550 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 6551 (grub_script_yylex): don't segfault on unterminated script
6552 newline terminates command and variable
6553
74aa8e4b 65542009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 avoid double grub_adjust_range call. Bug reported by David Simner
6557
6558 * kern/disk.c (grub_disk_write): change to raw disk access before
6559 calling disk_read
6560
1bd265f3 65612009-06-17 Colin Watson <cjwatson@ubuntu.com>
6562
6563 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
6564 spaces, for the benefit of help2man.
6565 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6566
a2d08c06 65672009-06-16 Pavel Roskin <proski@gnu.org>
6568
6569 * kern/i386/halt.c: Include grub/machine/init.h.
6570 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
6571
b97bcb19 65722009-06-16 Felix Zielcke <fzielcke@z-51.de>
6573
6574 * util/grub.d/30_os-prober.in: Use ${root} in the generated
6575 drivemap menuentry.
6576
0644f96c 65772009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
6578
6579 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
6580 `echo' command.
6581
3ef17a2e 65822009-06-16 Pavel Roskin <proski@gnu.org>
6583
6584 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
6585 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
6586 save %dx, we only need %dl and we never change it.
6587 * boot/i386/pc/cdboot.S: Don't set the root drive.
6588 * boot/i386/pc/pxeboot.S: Likewise.
6589 * include/grub/i386/pc/boot.h: Remove
6590 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
6591 GRUB_BOOT_MACHINE_DRIVE_CHECK.
6592 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
6593 * kern/i386/pc/init.c (make_install_device): Remove references
6594 to grub_root_drive.
6595 * kern/i386/pc/startup.S: Likewise.
6596 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
6597
693fe637 65982009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 xnu_uuid command
6601
6602 * commands/xnu_uuid.c: new file
6603 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
6604 (xnu_uuid_mod_SOURCES): new variable
6605 (xnu_uuid_mod_CFLAGS): likewise
6606 (xnu_uuid_mod_LDFLAGS): likewise
6607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6608 * conf/i386-ieee1275.rmk: likewise
6609 * conf/i386-pc.rmk: likewise
6610 * conf/powerpc-ieee1275.rmk: likewise
6611 * conf/sparc64-ieee1275.rmk: likewise
6612 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
6613
c9da87d0 66142009-06-16 Pavel Roskin <proski@gnu.org>
6615
6616 * configure.ac: Avoid '==' in test command, it's not portable.
6617
9c6f4596 66182009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Probe command
6621
6622 * commands/probe.c: new file
6623 * conf/common.rmk (pkglib_MODULES): add probe.mod
6624 (probe_mod_SOURCES): new variable
6625 (probe_mod_CFLAGS): likewise
6626 (probe_mod_LDFLAGS): likewise
6627 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
6628 * conf/i386-ieee1275.rmk: likewise
6629 * conf/i386-pc.rmk: likewise
6630 * conf/powerpc-ieee1275.rmk: likewise
6631 * conf/sparc64-ieee1275.rmk: likewise
6632
70b7f9fd 66332009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 Fix handling of string like \"hello\" and "a
6636 b"
6637
6638 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
6639 (grub_script_yylex): fix parsing of quoting, escaping and newline
6640
71c79a6b 66412009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6642
dd74360c 6643 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 6644 handling
dd74360c 6645
0644f96c 66462009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 6647
6648 * util/grub-mkconfig.in: Fix parsing of --output option.
6649
e40893c3 66502009-06-12 Pavel Roskin <proski@gnu.org>
6651
6652 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
6653 genmk.rb don't need to be generated or installed.
6654
3a1acfe2 66552009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * commands/i386/pc/drivemap_int13h.S: add more comments
6658
3a4575d4 66592009-06-11 Pavel Roskin <proski@gnu.org>
6660
0658e928 6661 * Makefile.in (uninstall): Uninstall manuals.
6662
ca0388f0 6663 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
6664 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
6665 and update-grub_lib in two places.
6666 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
6667
e3b27c39 6668 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
6669 a compiler warning.
6670
3a4575d4 6671 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
6672 `entry_lo' to fix variable shadowing.
6673
af1f4f55 66742009-06-11 Christian Franke <franke@computer.org>
6675
6676 * kern/misc.c (__enable_execute_stack): Add missing return type
6677 to prevent gcc warning.
6678
5225e649 66792009-06-11 Felix Zielcke <fzielcke@z-51.de>
6680
6681 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
6682
7d83bd47 66832009-06-11 Pavel Roskin <proski@gnu.org>
6684
c1cb63ba 6685 * Makefile.in: Don't rely on any scripts being executable.
6686 Always use $(SHELL) to run shell scripts.
6687
7d83bd47 6688 * configure.ac: Always define ___main if using -nostdlib. This
6689 fixes tests on Cygwin.
6690
948f48e7 66912009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
6692
6693 UDF fix
6694
7d83bd47 6695 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 6696 is in bytes and not in blocks
7d83bd47 6697
8ada9bc1 66982009-06-11 Pavel Roskin <proski@gnu.org>
6699
6700 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
6701 warning.
6702
25ad2323 67032009-06-11 Felix Zielcke <fzielcke@z-51.de>
6704
6705 * util/grub.d/30_os-prober.in: Fix a comment. Source
6706 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
6707 to set the root device. Place drivemap command in the generated
6708 chain entry.
6709
e65acb0c 67102009-06-11 Pavel Roskin <proski@gnu.org>
6711
6712 * configure.ac: Remove host_m32. Issues with 64-bit utilities
6713 have long been resolved.
6714
f285fe2d 67152009-06-11 Colin Watson <cjwatson@ubuntu.com>
6716
bd47b0b5 6717 * util/grub.d/10_linux.in: Capitalise "Linux".
6718
f285fe2d 6719 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
6720
a0c62e4e 67212009-06-11 Pavel Roskin <proski@gnu.org>
6722
b6783cb2 6723 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
6724 fix a gcc warning and ensure that the function won't ever exit.
6725
dde032e8 6726 * kern/i386/ieee1275/init.c: Add missing prototype for
6727 grub_stop_floppy().
6728
22cd079d 6729 * loader/ieee1275/multiboot2.c [__i386__]: Include
6730 grub/cpu/multiboot.h.
6731
a0c62e4e 6732 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
6733 casts to short - they are not portable and cause warnings. Fix
6734 use of uninitialized values in input_buf. Use ARRAY_SIZE.
6735
63963d17 67362009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 Drivemap fixes
6739
6740 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
6741 new function
6742 (grub_get_root_biosnumber_saved): new variable
6743 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
6744 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 6745 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 6746 %dx after the call if necessary
6747 * conf/common.rmk (pkglib_MODULES): remove boot.mod
6748 (boot_mod_SOURCES): remove
6749 (boot_mod_CFLAGS): remove
6750 (boot_mod_LDFLAGS): remove
6751 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
6752 (boot_mod_SOURCES): new variable
6753 (boot_mod_CFLAGS): likewise
6754 (boot_mod_LDFLAGS): likewise
6755 * conf/i386-efi.rmk: likewise
6756 * conf/i386-ieee1275.rmk: likewise
6757 * conf/i386-pc.rmk: likewise
6758 * conf/powerpc-ieee1275.rmk: likewise
6759 * conf/sparc64-ieee1275.rmk: likewise
6760 * conf/x86_64-efi.rmk: likewise
6761 * include/grub/i386/pc/biosnum.h: new file
6762 * lib/i386/pc/biosnum.c: likewise
6763 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
6764 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
6765 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 6766
33abf7ae 67672009-06-10 Pavel Roskin <proski@gnu.org>
6768
5ac35b35 6769 * io/gzio.c (test_header): Don't reuse one buffer for all data.
6770 Use separate variables. Read only the file size at the end, but
6771 not the checksum that we don't use.
6772
5c5215d5 6773 * kern/file.c (grub_file_read): Use void pointer for the buffer.
6774 Adjust all callers.
6775
27d5fef7 6776 * kern/ieee1275/openfw.c: Remove libc includes.
6777 * kern/ieee1275/cmain.c: Likewise.
6778 * include/grub/ieee1275/ieee1275.h: Likewise.
6779
33abf7ae 6780 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
6781 compiler warnings.
6782
19d50c2b 67832009-06-10 Felix Zielcke <fzielcke@z-51.de>
6784
6785 * Makefile.in: Remove all trailing whitespace.
6786 * conf/i386-pc.rmk: Likewise.
6787 * conf/powerpc-ieee1275.rmk: Likewise.
6788 * conf/sparc64-ieee1275.rmk: Likewise.
6789 * docs/grub.texi: Likewise.
6790 * docs/texinfo.tex: Likewise.
6791 * disk/fs_uuid.c: Likewise.
6792 * disk/lvm.c: Likewise.
6793 * disk/scsi.c: Likewise.
6794 * disk/ata.c: Likewise.
6795 * disk/ieee1275/ofdisk.c: Likewise.
6796 * disk/i386/pc/biosdisk.c: Likewise.
6797 * disk/host.c: Likewise.
6798 * disk/raid.c: Likewise.
6799 * disk/efi/efidisk.c: Likewise.
6800 * disk/usbms.c: Likewise.
6801 * disk/memdisk.c: Likewise.
6802 * disk/loopback.c: Likewise.
6803 * kern/powerpc/dl.c: Likewise.
6804 * kern/device.c: Likewise.
6805 * kern/dl.c: Likewise.
6806 * kern/sparc64/dl.c: Likewise.
6807 * kern/ieee1275/ieee1275.c: Likewise.
6808 * kern/term.c: Likewise.
6809 * kern/fs.c: Likewise.
6810 * kern/i386/dl.c: Likewise.
6811 * kern/i386/pc/startup.S: Likewise.
6812 * kern/i386/pc/init.c: Likewise.
6813 * kern/i386/pc/mmap.c: Likewise.
6814 * kern/i386/pc/lzo1x.S: Likewise.
6815 * kern/i386/ieee1275/init.c: Likewise.
6816 * kern/i386/realmode.S: Likewise.
6817 * kern/i386/tsc.c: Likewise.
6818 * kern/partition.c: Likewise.
6819 * kern/corecmd.c: Likewise.
6820 * kern/file.c: Likewise.
6821 * kern/efi/efi.c: Likewise.
6822 * kern/efi/init.c: Likewise.
6823 * kern/efi/mm.c: Likewise.
6824 * kern/main.c: Likewise.
6825 * kern/err.c: Likewise.
6826 * kern/env.c: Likewise.
6827 * kern/disk.c: Likewise.
6828 * kern/generic/millisleep.c: Likewise.
6829 * kern/generic/rtc_get_time_ms.c: Likewise.
6830 * kern/misc.c: Likewise.
6831 * kern/parser.c: Likewise.
6832 * genmk.rb: Likewise.
6833 * configure.ac: Likewise.
6834 * boot/i386/pc/diskboot.S: Likewise.
6835 * boot/i386/pc/pxeboot.S: Likewise.
6836 * boot/i386/pc/boot.S: Likewise.
6837 * boot/i386/pc/lnxboot.S: Likewise.
6838 * boot/i386/pc/cdboot.S: Likewise.
6839 * parttool/pcpart.c: Likewise.
6840 * video/readers/tga.c: Likewise.
6841 * video/video.c: Likewise.
6842 * video/bitmap.c: Likewise.
6843 * lib/envblk.c: Likewise.
6844 * lib/i386/setjmp.S: Likewise.
6845 * fs/xfs.c: Likewise.
6846 * fs/afs.c: Likewise.
6847 * fs/fat.c: Likewise.
6848 * fs/ntfs.c: Likewise.
6849 * fs/udf.c: Likewise.
6850 * fs/affs.c: Likewise.
6851 * fs/iso9660.c: Likewise.
6852 * fs/hfs.c: Likewise.
6853 * fs/fshelp.c: Likewise.
6854 * fs/ext2.c: Likewise.
6855 * fs/jfs.c: Likewise.
6856 * fs/reiserfs.c: Likewise.
6857 * fs/hfsplus.c: Likewise.
6858 * fs/minix.c: Likewise.
6859 * fs/cpio.c: Likewise.
6860 * fs/sfs.c: Likewise.
6861 * fs/ufs.c: Likewise.
6862 * efiemu/prepare.c: Likewise.
6863 * efiemu/loadcore_common.c: Likewise.
6864 * efiemu/runtime/efiemu.sh: Likewise.
6865 * efiemu/runtime/efiemu.S: Likewise.
6866 * efiemu/runtime/efiemu.c: Likewise.
6867 * efiemu/pnvram.c: Likewise.
6868 * efiemu/main.c: Likewise.
6869 * efiemu/i386/pc/cfgtables.c: Likewise.
6870 * efiemu/i386/loadcore64.c: Likewise.
6871 * efiemu/i386/loadcore32.c: Likewise.
6872 * efiemu/loadcore.c: Likewise.
6873 * efiemu/symbols.c: Likewise.
6874 * efiemu/mm.c: Likewise.
6875 * include/grub/autoefi.h: Likewise.
6876 * include/grub/datetime.h: Likewise.
6877 * include/grub/term.h: Likewise.
6878 * include/grub/hfs.h: Likewise.
6879 * include/grub/lvm.h: Likewise.
6880 * include/grub/i386/tsc.h: Likewise.
6881 * include/grub/i386/linux.h: Likewise.
6882 * include/grub/i386/xnu.h: Likewise.
6883 * include/grub/i386/efiemu.h: Likewise.
6884 * include/grub/i386/pc/biosdisk.h: Likewise.
6885 * include/grub/i386/pc/memory.h: Likewise.
6886 * include/grub/i386/pc/vbe.h: Likewise.
6887 * include/grub/parttool.h: Likewise.
6888 * include/grub/video.h: Likewise.
6889 * include/grub/memory.h: Likewise.
6890 * include/grub/fs.h: Likewise.
6891 * include/grub/partition.h: Likewise.
6892 * include/grub/xnu.h: Likewise.
6893 * include/grub/efi/api.h: Likewise.
6894 * include/grub/efi/pe32.h: Likewise.
6895 * include/grub/efi/memory.h: Likewise.
6896 * include/grub/multiboot.h: Likewise.
6897 * include/grub/usbdesc.h: Likewise.
6898 * include/grub/multiboot2.h: Likewise.
6899 * include/grub/acpi.h: Likewise.
6900 * include/grub/efiemu/efiemu.h: Likewise.
6901 * include/grub/disk.h: Likewise.
6902 * include/grub/ieee1275/ieee1275.h: Likewise.
6903 * include/grub/net.h: Likewise.
6904 * include/grub/machoload.h: Likewise.
6905 * include/grub/macho.h: Likewise.
6906 * include/multiboot.h: Likewise.
6907 * genmoddep.awk: Likewise.
6908 * normal/main.c: Likewise.
6909 * normal/menu_entry.c: Likewise.
6910 * normal/menu_viewer.c: Likewise.
6911 * normal/completion.c: Likewise.
6912 * normal/cmdline.c: Likewise.
6913 * normal/misc.c: Likewise.
6914 * normal/datetime.c: Likewise.
6915 * bus/usb/usbtrans.c: Likewise.
6916 * bus/usb/ohci.c: Likewise.
6917 * bus/usb/uhci.c: Likewise.
6918 * bus/usb/usb.c: Likewise.
6919 * mmap/efi/mmap.c: Likewise.
6920 * mmap/i386/pc/mmap_helper.S: Likewise.
6921 * mmap/i386/pc/mmap.c: Likewise.
6922 * mmap/i386/mmap.c: Likewise.
6923 * mmap/i386/uppermem.c: Likewise.
6924 * mmap/mmap.c: Likewise.
6925 * commands/acpi.c: Likewise.
6926 * commands/echo.c: Likewise.
6927 * commands/blocklist.c: Likewise.
6928 * commands/loadenv.c: Likewise.
6929 * commands/usbtest.c: Likewise.
6930 * commands/boot.c: Likewise.
6931 * commands/parttool.c: Likewise.
6932 * commands/search.c: Likewise.
6933 * commands/cat.c: Likewise.
6934 * commands/i386/pc/play.c: Likewise.
6935 * commands/i386/pc/drivemap.c: Likewise.
6936 * commands/i386/pc/vbeinfo.c: Likewise.
6937 * commands/i386/pc/acpi.c: Likewise.
6938 * commands/i386/pc/vbetest.c: Likewise.
6939 * commands/ls.c: Likewise.
6940 * commands/cmp.c: Likewise.
6941 * commands/test.c: Likewise.
6942 * commands/efi/acpi.c: Likewise.
6943 * commands/gptsync.c: Likewise.
6944 * commands/help.c: Likewise.
6945 * partmap/amiga.c: Likewise.
6946 * partmap/apple.c: Likewise.
6947 * partmap/acorn.c: Likewise.
6948 * partmap/pc.c: Likewise.
6949 * partmap/sun.c: Likewise.
6950 * partmap/gpt.c: Likewise.
6951 * script/sh/lexer.c: Likewise.
6952 * script/sh/function.c: Likewise.
6953 * font/font.c: Likewise.
6954 * font/font_cmd.c: Likewise.
6955 * loader/powerpc/ieee1275/linux.c: Likewise.
6956 * loader/efi/chainloader.c: Likewise.
6957 * loader/multiboot_loader.c: Likewise.
6958 * loader/macho.c: Likewise.
6959 * loader/i386/multiboot.c: Likewise.
6960 * loader/i386/linux.c: Likewise.
6961 * loader/i386/pc/linux.c: Likewise.
6962 * loader/i386/pc/multiboot2.c: Likewise.
6963 * loader/i386/pc/chainloader.c: Likewise.
6964 * loader/i386/pc/xnu.c: Likewise.
6965 * loader/i386/bsd_trampoline.S: Likewise.
6966 * loader/i386/efi/linux.c: Likewise.
6967 * loader/i386/multiboot_elfxx.c: Likewise.
6968 * loader/i386/bsd_helper.S: Likewise.
6969 * loader/i386/bsd.c: Likewise.
6970 * loader/i386/linux_trampoline.S: Likewise.
6971 * loader/i386/xnu_helper.S: Likewise.
6972 * loader/i386/xnu.c: Likewise.
6973 * loader/i386/bsd_pagetable.c: Likewise.
6974 * loader/i386/multiboot_helper.S: Likewise.
6975 * loader/xnu.c: Likewise.
6976 * loader/xnu_resume.c: Likewise.
6977 * io/gzio.c: Likewise.
6978 * term/efi/console.c: Likewise.
6979 * term/terminfo.c: Likewise.
6980 * term/ieee1275/ofconsole.c: Likewise.
6981 * term/i386/pc/serial.c: Likewise.
6982 * term/i386/pc/vesafb.c: Likewise.
6983 * term/i386/pc/vga.c: Likewise.
6984 * term/usb_keyboard.c: Likewise.
6985 * term/gfxterm.c: Likewise.
6986 * aclocal.m4: Likewise.
6987 * util/lvm.c: Likewise.
6988 * util/grub.d/30_os-prober.in: Likewise.
6989 * util/grub.d/10_hurd.in: Likewise.
6990 * util/console.c: Likewise.
6991 * util/grub-macho2img.c: Likewise.
6992 * util/grub-probe.c: Likewise.
6993 * util/hostfs.c: Likewise.
6994 * util/i386/pc/grub-mkimage.c: Likewise.
6995 * util/i386/pc/grub-setup.c: Likewise.
6996 * util/i386/efi/grub-mkimage.c: Likewise.
6997 * util/grub-mkconfig.in: Likewise.
6998 * util/raid.c: Likewise.
6999 * util/resolve.c: Likewise.
7000 * util/grub-mkdevicemap.c: Likewise.
7001 * util/grub-emu.c: Likewise.
7002 * util/getroot.c: Likewise.
7003 * util/hostdisk.c: Likewise.
7004 * util/usb.c: Likewise.
7005 * util/grub-editenv.c: Likewise.
7006 * util/misc.c: Likewise.
7007
d2d49665 70082009-06-10 Felix Zielcke <fzielcke@z-51.de>
7009
7010 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7011 `genparttoollist.sh'.
7012 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7013 Add `*.sh' to the list find searches for and change `mdate.sh'
7014 to `mdate-sh'.
7015
fe052e37 70162009-06-10 Pavel Roskin <proski@gnu.org>
7017
2763ac18 7018 * include/grub/multiboot2.h: Provide compatibility defines for
7019 multiboot2.h.
7020 * include/multiboot2.h: Include stdint.h only if needed, using
7021 angle brackets.
7022 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7023 grub/multiboot2.h.
7024 * loader/ieee1275/multiboot2.c: Likewise.
7025 * loader/multiboot2.c: Likewise.
7026 * loader/multiboot_loader.c: Likewise.
7027
437e6adc 7028 * configure.ac: Use -nostdlib when probing for the target. It
7029 should not be required to have libc for the target.
7030
06a6836c 7031 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7032 they fail without libc headers for the target.
7033 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7034 exports.
7035 * include/grub/sparc64/libgcc.h: Likewise. Don't use
7036 preprocessor conditionals.
7037
fe052e37 7038 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
7039 build system doesn't need to be aware of the tar.c internals.
7040
afd22553 70412009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 7042
afd22553 7043 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 7044
6b787c4f 70452009-06-09 Robert Millan <rmh.grub@aybabtu.com>
7046
7047 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
7048 disk limit to 26 for IDE, Virtio, Xen and SCSI.
7049
70502009-06-09 Felix Zielcke <fzielcke@z-51.de>
7051
7052 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 7053 aren't available if ata.mod gets used.
6b787c4f 7054
473d1e45 70552009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 7056
473d1e45 7057 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 7058 initialising controller.
473d1e45 7059 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 7060
255a27d4 70612009-06-08 Felix Zielcke <fzielcke@z-51.de>
7062
7063 * util/i386/pc/grub-install.in: Add a parameter --disk-module
7064 to choose between ata and biosdisk module on i386-pc.
7065
473d1e45 70662009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 7067
d55842d8 7068 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
7069 Subclass and Programming Interface fields in terms of the 3 byte
7070 Class Code register.
7071 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
7072
fa5db0b1 7073 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
7074 interface is OHCI. Add grub_dprintf for symmetry with
7075 bus/usb/uhci.c.
7076 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
7077 interface is UHCI. Add interf variable for programming
7078 interface. Print interface with class/subclass.
7079
c0947beb 7080 * bus/usb/ohci.c: Set interf with correct field.
7081
69da8877 7082 * bus/usb/uhci.c: Remove unneeded doubled lines.
7083 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
7084 Remove whitespace inside comment.
7085
9e172e30 70862009-06-08 Robert Millan <rmh.grub@aybabtu.com>
7087
7088 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
7089 as fallback an equivalent option without depth.
7090
de65ee2b 70912009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 Not fail if unable to retrieve C/H/S on LBA disks
7094
473d1e45 7095 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 7096 if unable to retrieve C/H/S on LBA disks
7097
b57ea2c9 70982009-06-08 Pavel Roskin <proski@gnu.org>
7099
7100 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
7101 about aliasing.
7102
af361263 71032009-06-08 Felix Zielcke <fzielcke@z-51.de>
7104
7105 * Makefile.in (uninstall): Remove all $lib_DATA files.
7106
4c9ec6b3 71072009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 Bugfix: install on partitionless device
7110
7111 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
7112 is a whole disk
7113
e76fc924 71142009-06-08 Felix Zielcke <fzielcke@z-51.de>
7115
7116 * Makefile.in (uninstall): Remove all $include_DATA files.
7117
ba5a0d05 71182009-06-08 Felix Zielcke <fzielcke@z-51.de>
7119
7120 * commands/true.c: New file. Implement the true and false commands.
7121 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
7122 (true_mod_SOURCES): New variable.
7123 (true_mod_CFLAGS): Likewise.
7124 (true_mod_LDFLAGS): Likewise.
7125
c8048e32 71262009-06-05 Colin D Bennett <colin@gibibit.com>
7127
7128 Optimized font character lookup using binary search instead of linear
7129 search. Fonts now are required to have the character index ordered by
7130 code point.
7131
7132 * font/font.c (load_font_index): Verify that fonts have ordered
7133 character indices.
7134 (find_glyph): Use binary search instead of linear search to find a
7135 character in a font.
7136
408305be 71372009-06-05 Michael Scherer <misc@mandriva.org>
7138
7139 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
7140 uses case sensitive btree.
7141 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
7142 only for case insensitive filesystems.
7143
8ee1e0d9 71442009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
7147 * conf/common.rmk (search_mod_CFLAGS): likewise
7148
a9966eb1 71492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7150
473d1e45 7151 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 7152 compensate a compiler bug
7153
9e7100fb 71542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7155
473d1e45 7156 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 7157 instead of '\b'
473d1e45 7158
ede21d71 71592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 Definitions for creating asm symbols with Apple's CC
7162
7163 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
7164 [APPLE_CC] (VARIABLE): likewise
7165
9dbf7653 71662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 Disable lnxboot.img when compiled
7169 with Apple's CC
7170
7171 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
7172 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
7173 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
7174 [! APPLE_CC] (CODE_LENG): skip
7175 [! APPLE_CC] (setup_sects): likewise
7176 [! APPLE_CC]: skip filling
473d1e45 7177
e93cdc3d 71782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Address in trampolines based on 32-bit registers when compiled
7181 with Apple's CC
7182
473d1e45 7183 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 7184 for addresses
7185 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
7186
6c688477 71872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Avoid aliases when compiling with Apple's CC for PCBIOS machine
7190
7191 * kern/misc.c [APPLE_CC] (memcpy): new function
7192 [APPLE_CC] (memmove): likewise
7193 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 7194 (memcpy): define alias conditionally on !APPLE_CC
6c688477 7195 (memset): likewise
7196 (abort): likewise
7197 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
7198 APPLE_CC are defined
7199 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
7200 (grub_assert_fail): make prototype conditional
7201
e37ffc5c 72022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
7205
473d1e45 7206 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
7207 grub-macho2img
e37ffc5c 7208 (CLEANFILES): add grub-macho2img
7209 (grub_macho2img_SOURCES): new variable
7210 * kern/i386/pc/startup.S (bss_start): new variable
7211 (bss_end): likewise
7212 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
7213 * util/grub-macho2img.c: new file
7214
cf00df31 72152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 Use objconv when compiling with Apple's CC
7218
7219 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
7220 (efiemu64.o): likewise
7221 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
7222 when compiling with Apple's CC
7223 (efiemu64_s.o): likewise
7224 * configure.ac: check for objconv when compiling with Apple's CC
7225 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 7226
d119a20c 72272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Define segment as well as section when compiling with
7230 Apple's CC
7231
7232 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
7233 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
7234 (efiemu_convert_pointer): likewise
7235 (efiemu_set_virtual_address_map): likewise
7236 (efiemu_convert_pointer): likewise
7237 (efiemu_getcrc32): likewise
7238 (init_crc32_table): likewise
7239 (reflect): likewise
7240 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
7241 (GRUB_MOD_DEP): likewise
473d1e45 7242
c8600122 72432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 Allow a compilation without -mcmodel=large
7246
7247 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
7248 when compiled without -mcmodel=large
473d1e45 7249 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 7250 without -mcmodel=large
473d1e45 7251 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 7252 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 7253
e8df1d4e 72542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Remove nested functions in efiemu core
7257
7258 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 7259
cc6c3ac1 72602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
7263
7264 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
7265 temporary storage
473d1e45 7266 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
7267 using Apple's CC
cc6c3ac1 7268 (grub_cpu_is_tsc_supported): likewise
7269 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 7270
3e325901 72712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Absolute addressing through constant with Apple's cc
7274
7275 * kern/i386/pc/startup.S: Define necessary constants
7276 and address through it when using ABS with Apple's CC
7277 * boot/i386/pc/diskboot.S: likewise
7278 * boot/i386/pc/boot.S: likewise
7279 * boot/i386/pc/lnxboot.S: likewise
7280 * boot/i386/pc/cdboot.S: likewise
7281 * mmap/i386/pc/mmap_helper.S: likewise
7282 * commands/i386/pc/drivemap_int13h.S: likewise
7283
2b167a72 72842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Check if compiler is apple cc
7287
7288 * Makefile.in (ASFLAGS): new variable
7289 (TARGET_ASFLAGS): likewise
7290 (TARGET_MODULE_FORMAT): likewise
7291 (TARGET_APPLE_CC): likewise
7292 (OBJCONV): likewise
7293 (TARGET_IMG_CFLAGS): likewise
7294 (TARGET_CPPFLAGS): add includedir
7295 * configure.ac: call grub_apple_cc and grub_apple_target_cc
7296 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
7297 Check for linker script only if compiler isn't Apple's CC
7298 (TARGET_MODULE_FORMAT): set
7299 (TARGET_APPLE_CC): likewise
7300 (TARGET_ASFLAGS): likewise
7301 (ASFLAGS): likewise
7302 Check for objcopy only if compiler isn't Apple's CC
7303 Check for BSS symbol only if compiler isn't Apple's CC
7304 * genmk.rb: adapt nm options if we use Apple's utils
7305 * aclocal.m4 (grub_apple_cc): new test
7306 (grub_apple_target_cc): likewise
473d1e45 7307
fb14123e 73082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 Simplify sed expressions and improve awk
7311
7312 * Makefile.in (install-local): simplify sed expression
7313 * gencmdlist.sh: likewise
7314 * genmoddep.awk: avoid adding module as a dependency of itself
7315
5b889789 73162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 Add missing start symbols
7319
7320 * boot/i386/pc/boot.S: add start
fb14123e 7321 * boot/i386/pc/pxeboot.S: likewise
473d1e45 7322
fd2bf2e3 73232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 7326
7327 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 7328 (relocate_addresses): consider both r_addend and value at offset
7329 (make_mods_section): zerofill modinfo and header
7330 (convert_elf): write prefix here
473d1e45 7331
5389763d 73322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 Use .asciz instead of .string
7335
7336 * i386/pc/diskboot.S: use .asciz instead of .string
7337 * i386/pc/boot.S: likewise
7338 * include/grub/dl.h (GRUB_MOD_DEP): likewise
7339 (GRUB_MOD_NAME): likewise
473d1e45 7340
3eb5ed4e 73412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 gfxpayload support
7344
7345 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
7346 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
7347 (grub_video_setup): remove
7348 (grub_video_set_mode): new prototype
7349 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
7350 (vid_mode): remove
7351 (linux_vesafb_res): compile only on PCBIOS
7352 (grub_linux_boot): support gfxpayload
7353 * loader/i386/pc/xnu.c (video_hook): new function
7354 (grub_xnu_set_video): support gfxpayload
7355 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
7356 (DEFAULT_VIDEO_HEIGHT): likewise
7357 (DEFAULT_VIDEO_FLAGS): likewise
7358 (DEFAULT_VIDEO_MODE): new definition
7359 (video_hook): new function
7360 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 7361 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 7362 loading xnu
7363 * video/video.c (grub_video_setup): removed
473d1e45 7364 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 7365 grub_video_setup
7366
4b0e1143 73672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 Avoid calling biosdisk in drivemap
7370
7371 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
7372 (revparse_biosdisk): likewise
7373 (list_mappings): derive name from id directly
7374 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 7375
fda6cb98 73762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 Script fixes
7379
7380 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
7381 (grub_lexer_param): add tokenonhold
7382 (grub_script_create_cmdline): remove cmdline. All callers updated
7383 (grub_script_function_create): make functionname
7384 grub_script_arg. All callers updated
7385 (grub_script_execute_argument_to_string): new prototype
7386 * kern/parser.c (state_transitions): reorder
7387 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 7388 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 7389 make global
7390 (grub_script_execute_cmdline): use new format
7391 * script/sh/function.c (grub_script_function_create): make functionname
7392 grub_script_arg. All callers updated
473d1e45 7393 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 7394 (grub_script_yylex): remove
7395 (grub_script_yylex2): renamed to ...
7396 (grub_script_yylex): ...renamed
7397 parse the expressions like a${b}c
7398 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
7399 (GRUB_PARSER_TOKEN_VAR): remove
7400 (GRUB_PARSER_TOKEN_NAME): likewise
7401 ("if"): declare as typeless
7402 ("while"): likewise
7403 ("function"): likewise
7404 ("else"): likewise
7405 ("then"): likewise
7406 ("fi"): likewise
7407 (text): remove
7408 (argument): likewise
7409 (script): accept empty scripts and make exit on error
7410 (arguments): use GRUB_PARSER_TOKEN_ARG
7411 (function): likewise
7412 (command): move error handling to script
7413 (menuentry): move grub_script_lexer_ref before
473d1e45 7414 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 7415 argument. All callers updated
7416
f4448a07 74172009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7418
7419 Prevent GRUB from probing floppies during boot.
7420
7421 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
7422 * commands/search.c (options): Add --no-floppy.
7423 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
7424 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
7425 --no-floppy when searching for UUIDs.
7426
2bf5885a 74272009-06-04 Robert Millan <rmh.grub@aybabtu.com>
7428
7429 Simplify the code duplication in commands/search.c.
7430
7431 * commands/search.c (search_label, search_fs_uuid): Merge into ...
7432 (search_fs): ... this. Update all users.
7433
f6fd460a 74342009-06-03 Felix Zielcke <fzielcke@z-51.de>
7435
7436 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
7437
cbb3c83e 74382009-05-28 Pavel Roskin <proski@gnu.org>
7439
57788cfd 7440 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
7441 Remove the original symlink explicitly.
7442
cbb3c83e 7443 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
7444 just one slash. That's how grub_fshelp_find_file() does it.
7445
cd0d5e30 74462009-05-26 Pavel Roskin <proski@gnu.org>
7447
f0f8bbe2 7448 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
7449 to `str'.
7450
cd0d5e30 7451 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
7452 possibly unused.
7453
8c2cab51 74542009-05-25 Christian Franke <franke@computer.org>
7455
7456 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
7457 register.
7458 (grub_atapi_identify): Add wait after drive select.
7459 (grub_ata_identify): Do more strict status register check before
7460 calling grub_atapi_identify (). Suppress error message if status
7461 register is 0x00 after command failure. Add status register
7462 check after PIO read to avoid bogus identify due to stuck DRQ.
7463 Thanks to Pavel Roskin for testing.
7464 (grub_device_initialize): Remove unsafe status register check.
7465 Thanks to 'phcoder' for problem report and patch.
7466 Prevent sign extension in debug message.
7467
230c0ad6 74682009-05-23 Colin D Bennett <colin@gibibit.com>
7469
7470 Cleaned up `include/grub/normal.h'. Grouped prototypes by
7471 definition file, and functions defined in `normal/menu.c' have had
7472 their prototypes moved to `include/grub/menu.h' for consistency.
7473
7474 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
7475 from normal.h.
7476 (grub_menu_get_entry): Likewise.
7477 (grub_menu_get_timeout): Likewise.
7478 (grub_menu_set_timeout): Likewise.
7479 (grub_menu_execute_entry): Likewise.
7480 (grub_menu_execute_with_fallback): Likewise.
7481 (grub_menu_entry_run): Likewise.
7482
7483 * include/grub/normal.h: Re-ordered and grouped function
7484 prototypes by file that the function is defined in.
7485 (grub_menu_execute_callback): Removed; moved to menu.h.
7486 (grub_menu_get_entry): Likewise.
7487 (grub_menu_get_timeout): Likewise.
7488 (grub_menu_set_timeout): Likewise.
7489 (grub_menu_execute_entry): Likewise.
7490 (grub_menu_execute_with_fallback): Likewise.
7491 (grub_menu_entry_run): Likewise.
7492 (grub_menu_addentry): Renamed from this ...
7493 (grub_normal_add_menu_entry): ... to this.
7494
7495 * normal/main.c (grub_menu_addentry): Renamed from this ...
7496 (grub_normal_add_menu_entry): ... to this.
7497
7498 * script/sh/execute.c (grub_script_execute_menuentry): Update
7499 reference to renamed grub_menu_addentry function.
7500
861f03a5 75012009-05-23 Felix Zielcke <fzielcke@z-51.de>
7502
7503 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
7504
96b1619a 75052009-05-22 Pavel Roskin <proski@gnu.org>
7506
bf6a5fb2 7507 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
7508 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
7509 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
7510 compiling for the i386 targets, but not for the utilities.
7511
96b1619a 7512 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
7513 to grub_uint8_t.
7514 (grub_root_drive): Likewise.
7515 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
7516 remove alignment.
7517 (grub_root_drive): Change size to byte.
7518 (grub_start_addr): Remove.
7519 (grub_end_addr): Likewise.
7520 (grub_apm_bios_info): Likewise.
7521
b729776b 75222009-05-21 Felix Zielcke <fzielcke@z-51.de>
7523
7524 * normal/i386: Remove.
7525 * normal/powerpc: Likewise.
7526 * normal/sparc64: Likewise.
7527 * normal/x86_64: Likewise.
7528
0a15ce80 75292009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 7532 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 7533 * loader/i386/xnu_helper.S: Likewise
d6da58e6 7534
33db9015 75352009-05-18 Colin D Bennett <colin@gibibit.com>
7536
d6da58e6 7537 Display error messages when parsing a Lua statement fails.
7538 Previously, executing a syntactically invalid statement like
7539 ")foo" or "bar;" would silently fail.
33db9015 7540
7541 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 7542 (grub_lua_parse_line): Improved reporting of Lua parser and
7543 execution errors.
33db9015 7544
46422c89 75452009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 Remove -Werror which causes build to fail on some systems
7548
7549 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
7550 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
7551 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 7552
22f53a96 75532009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 trampoline for linux on 64-bit platform
7556
18f547ad 7557 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
7558 loader/i386/efi/linux_trampoline.S
7559 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 7560 declaration
d6da58e6 7561 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
7562 here
22f53a96 7563 * loader/i386/linux_trampoline.S: moved here
d6da58e6 7564 * loader/i386/efi/linux.c (allocate_pages): reserve space for
7565 trampoline
22f53a96 7566 (jumpvector): removed
7567 (grub_linux_trampoline_start): new declaration
7568 (grub_linux_trampoline_end): likewise
7569 (grub_linux_boot): use trampoline when on 64-bit platform
7570 * loader/i386/linux.c: likewise
7571
cb5a0f40 75722009-05-16 Pavel Roskin <proski@gnu.org>
7573
7574 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
7575 const to avoid a warning.
7576 (grub_lua_setenv): Likewise.
7577 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
7578 lmsg to fix a warning.
7579
334f2c28 75802009-05-16 Felix Zielcke <fzielcke@z-51.de>
7581
7582 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 7583 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7584 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
7585 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7586 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7587 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
7588 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
7589 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 7590
59e5d3ec 75912009-05-16 Felix Zielcke <fzielcke@z-51.de>
7592
7593 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
7594
9d87a1ba 75952009-05-16 Bean <bean123ch@gmail.com>
7596
7597 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
7598 (lua_mod_SOURCES): New variable.
7599 (lua_mod_CFLAGS): Likewise.
7600 (lua_mod_LDFLAGS): Likewise.
7601
7602 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
7603 (setjmp_mod_SOURCES): New variable.
7604 (setjmp_mod_CFLAGS): Likewise.
7605 (setjmp_LDFLAGS): Likewise.
7606
7607 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
7608 (setjmp_mod_SOURCES): New variable.
7609 (setjmp_mod_CFLAGS): Likewise.
7610 (setjmp_LDFLAGS): Likewise.
7611
7612 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7613 (setjmp_mod_SOURCES): New variable.
7614 (setjmp_mod_CFLAGS): Likewise.
7615 (setjmp_LDFLAGS): Likewise.
7616
7617 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
7618 (setjmp_mod_SOURCES): New variable.
7619 (setjmp_mod_CFLAGS): Likewise.
7620 (setjmp_LDFLAGS): Likewise.
7621
7622 * normal/i386/setjmp.S: Moved from here ...
7623 * lib/i386/setjmp.S: ... Moved here
7624 * normal/x86_64/setjmp.S: Moved from here ...
7625 * lib/x86_64/setjmp.S: ... Moved here
7626 * normal/powerpc/setjmp.S: Moved from here ...
7627 * lib/powerpc/setjmp.S: ... Moved here
7628 * normal/sparc64/setjmp.S: Moved from here ...
7629 * lib/sparc64/setjmp.S: ... Moved here
7630
7631 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
7632 returns_twice in mingw.
7633
7634 * script/lua/grub_lib.c: New file.
7635 * script/lua/grub_lib.h: Likewise.
7636 * script/lua/grub_lua.h: Likewise.
7637 * script/lua/grub_main.c: Likewise.
7638 * script/lua/lapi.c: Likewise.
7639 * script/lua/lapi.h: Likewise.
7640 * script/lua/lauxlib.c: Likewise.
7641 * script/lua/lauxlib.h: Likewise.
7642 * script/lua/lbaselib.c: Likewise.
7643 * script/lua/lcode.c: Likewise.
7644 * script/lua/lcode.h: Likewise.
7645 * script/lua/ldblib.c: Likewise.
7646 * script/lua/ldebug.c: Likewise.
7647 * script/lua/ldebug.h: Likewise.
7648 * script/lua/ldo.c: Likewise.
7649 * script/lua/ldo.h: Likewise.
7650 * script/lua/ldump.c: Likewise.
7651 * script/lua/lfunc.c: Likewise.
7652 * script/lua/lfunc.h: Likewise.
7653 * script/lua/lgc.c: Likewise.
7654 * script/lua/lgc.h: Likewise.
7655 * script/lua/linit.c: Likewise.
7656 * script/lua/liolib.c: Likewise.
7657 * script/lua/llex.c: Likewise.
7658 * script/lua/llex.h: Likewise.
7659 * script/lua/llimits.h: Likewise.
7660 * script/lua/lmathlib.c: Likewise.
7661 * script/lua/lmem.c: Likewise.
7662 * script/lua/lmem.h: Likewise.
7663 * script/lua/loadlib.c: Likewise.
7664 * script/lua/lobject.c: Likewise.
7665 * script/lua/lobject.h: Likewise.
7666 * script/lua/lopcodes.c: Likewise.
7667 * script/lua/lopcodes.h: Likewise.
7668 * script/lua/loslib.c: Likewise.
7669 * script/lua/lparser.c: Likewise.
7670 * script/lua/lparser.h: Likewise.
7671 * script/lua/lstate.c: Likewise.
7672 * script/lua/lstate.h: Likewise.
7673 * script/lua/lstring.c: Likewise.
7674 * script/lua/lstring.h: Likewise.
7675 * script/lua/lstrlib.c: Likewise.
7676 * script/lua/ltable.c: Likewise.
7677 * script/lua/ltable.h: Likewise.
7678 * script/lua/ltablib.c: Likewise.
7679 * script/lua/ltm.c: Likewise.
7680 * script/lua/ltm.h: Likewise.
7681 * script/lua/lua.h: Likewise.
7682 * script/lua/luaconf.h: Likewise.
7683 * script/lua/lualib.h: Likewise.
7684 * script/lua/lundump.c: Likewise.
7685 * script/lua/lundump.h: Likewise.
7686 * script/lua/lvm.c: Likewise.
7687 * script/lua/lvm.h: Likewise.
7688 * script/lua/lzio.c: Likewise.
7689 * script/lua/lzio.h: Likewise.
7690
5e898c9d 76912009-05-16 Bean <bean123ch@gmail.com>
7692
7693 * include/grub/kernel.h (grub_module_header_types): Add type
7694 OBJ_TYPE_CONFIG.
7695
7696 * kern/main.c (grub_load_config): New function.
7697 (grub_main): Call grub_load_config to read boot config.
7698
7699 * grub-mkimage (generate_image): New parameter config_path.
7700 (options): New option --config.
7701 (main): Parse --config option, and pass it to generate_image.
7702
cf353a47 77032009-05-14 Christian Franke <franke@computer.org>
7704
7705 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
7706 This fixes build on Cygwin.
7707
3834887f 77082009-05-14 Pavel Roskin <proski@gnu.org>
7709
7710 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
7711 jump. This saves two bytes, so the typical case of 2 swapped
7712 drives would fit 32 bytes.
7713
8090fc01 77142009-05-13 Pavel Roskin <proski@gnu.org>
7715
ac963883 7716 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
7717 grub_uint32_t to avoid a warning.
7718
8090fc01 7719 * loader/i386/linux.c (allocate_pages): When assigning
7720 real_mode_mem, cast through grub_size_t to fix a warning. The
7721 code already makes sure that the value would fit a pointer.
7722 (grub_linux_setup_video): Cast render_target->data to
7723 grub_size_t to fix a warning.
7724
18f547ad 77252009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 7726
7727 * commands/i386/pc/drivemap.c: New file - implement drivemap
7728 command.
7729 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
7730 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
7731
6f6a8b28 77322009-05-13 Pavel Roskin <proski@gnu.org>
7733
7734 * util/i386/pc/grub-setup.c (setup): Remove unused variable
7735 embedding_area_exists.
7736
15fbf4c4 77372009-05-13 Robert Millan <rmh.grub@aybabtu.com>
7738
7739 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
7740 it easier to understand / work with.
59978c8a 7741 Improve warning messages for cases where there's no embedding area,
7742 or when it is too small (or core.img too large).
15fbf4c4 7743
238e871f 77442009-05-13 Pavel Roskin <proski@gnu.org>
7745
0ab3a9a4 7746 * loader/i386/pc/multiboot2.c: Add necessary includes for
7747 grub_multiboot2_real_boot().
7748
a2c8c5f8 7749 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
7750 PX record is always little-endian. We only need the lower 2
7751 bytes of the mode.
7752
faec96af 7753 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
7754 facilitate code reuse.
7755 (grub_cpio_mount): Use "struct head", not a char buffer. This
7756 fixes a warning reported by gcc 4.4.
7757
238e871f 7758 * kernel/disk.c (grub_disk_read): Use void pointer for the
7759 buffer.
7760 (grub_disk_write): Use const void pointer for the buffer.
7761 Adjust all callers. Remove unnecessary casts.
7762
901d2f0c 77632009-05-10 Robert Millan <rmh.grub@aybabtu.com>
7764
7765 * util/i386/pc/grub-install.in: Update copyright year.
7766
18f547ad 77672009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 7768
7769 gptsync
7770
7771 * commands/gptsync.c: new file
7772 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
7773 (gptsync_mod_SOURCES): new variable
7774 (gptsync_mod_CFLAGS): likewise
7775 (gptsync_mod_LDFLAGS): likewise
18f547ad 7776 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 7777 new definition
7778 (GRUB_PC_PARTITION_TYPE_HFS): likewise
7779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
7780 * conf/i386-ieee1275.rmk: likewise
7781 * conf/i386-pc.rmk: likewise
7782 * conf/powerpc-ieee1275.rmk: likewise
7783
b4ba690a 77842009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 Fixed grub-emu
7787
7788 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
7789 (grub_dl_ref): likewise
7790
317e1a44 77912009-05-08 Robert Millan <rmh.grub@aybabtu.com>
7792
7793 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
7794 split in two functions (one for msdos and one for gpt).
7795
041b8094 77962009-05-08 Pavel Roskin <proski@gnu.org>
7797
752473c2 7798 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
7799 not modified.
7800
041b8094 7801 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
7802 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
7803 Initialize them with -1. Add sanity check for bad1. Eliminate
7804 nerr variable.
7805
172800ce 78062009-05-08 David S. Miller <davem@davemloft.net>
7807
7808 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
7809
29aa5e81 78102009-05-06 Robert Millan <rmh.grub@aybabtu.com>
7811
7812 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 7813 existence.
29aa5e81 7814
96613b62 78152009-05-05 Felix Zielcke <fzielcke@z-51.de>
7816
7817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 7818 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 7819
eef73c8a 78202009-05-05 David S. Miller <davem@davemloft.net>
7821
7822 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
7823
119494b5 78242009-05-05 Pavel Roskin <proski@gnu.org>
7825
7826 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
7827 of grub_dl_ref() and grub_dl_unref().
7828 * commands/parttool.c: Remove preprocessor conditionals around
7829 grub_dl_ref() and grub_dl_unref().
7830 * fs/affs.c: Likewise.
7831 * fs/afs.c: Likewise.
7832 * fs/cpio.c: Likewise.
7833 * fs/ext2.c: Likewise.
7834 * fs/fat.c: Likewise.
7835 * fs/hfs.c: Likewise.
7836 * fs/hfsplus.c: Likewise.
7837 * fs/iso9660.c: Likewise.
7838 * fs/jfs.c: Likewise.
7839 * fs/minix.c: Likewise.
7840 * fs/ntfs.c: Likewise.
7841 * fs/reiserfs.c: Likewise.
7842 * fs/sfs.c: Likewise.
7843 * fs/udf.c: Likewise.
7844 * fs/ufs.c: Likewise.
7845 * fs/xfs.c: Likewise.
7846 * include/grub/dl.h: Likewise.
7847 * loader/xnu.c: Likewise.
7848
de5fd76e 78492009-05-04 Pavel Roskin <proski@gnu.org>
7850
7851 * commands/acpi.c: Remove unused variable my_mod.
7852 * partmap/amiga.c: Likewise.
7853 * partmap/apple.c: Likewise.
7854 * partmap/gpt.c: Likewise.
7855 * partmap/pc.c: Likewise.
7856 * partmap/sun.c: Likewise.
7857 * term/gfxterm.c: Likewise.
7858 * term/i386/pc/vesafb.c: Likewise.
7859 * term/i386/pc/vga.c: Likewise.
7860
983598ad 78612009-05-04 David S. Miller <davem@davemloft.net>
7862
7863 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
7864 pointer args to grub_ieee1275_get_property().
7865
8aadec43 7866 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
7867
9554b15e 7868 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
7869 devices, and do not traverse down under controller nodes.
7870
67e23c90 7871 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
7872 (grub_ofdisk_open): Use it to un-escape "," characters.
7873 * kern/disk.c (find_part_sep): New.
7874 (grub_disk_open): Use it to find the first non-escaped ','
7875 character in the disk name.
7876 * util/ieee1275/devicemap.c (escape_of_path): New.
7877 (grub_util_emit_devicemap_entry): Use it.
7878 * util/sparc64/ieee1275/grub-install.in: Update script to
7879 strip partition specifiers properly by not triggering on
7880 '\' escaped ',' characters.
7881
74bfdd2f 78822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7883
7884 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
7885 to 0x300.
7886 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
7887 resolutions.
7888 (linux_vesafb_modes): Add a lot of additional modes to the list (based
7889 on documentation from Wikipedia).
7890
4241d2b1 78912009-05-04 Pavel Roskin <proski@gnu.org>
7892
7893 * disk/ata.c: Spelling fixes.
7894 * disk/raid.c: Likewise.
7895 * disk/usbms.c: Likewise.
7896 * disk/dmraid_nvidia.c: Likewise.
7897 * kern/ieee1275/openfw.c: Likewise.
7898 * kern/ieee1275/init.c: Likewise.
7899 * kern/ieee1275/cmain.c: Likewise.
7900 * boot/i386/pc/cdboot.S: Likewise.
7901 * video/readers/png.c: Likewise.
7902 * video/i386/pc/vbe.c: Likewise.
7903 * fs/udf.c: Likewise.
7904 * fs/hfs.c: Likewise.
7905 * fs/reiserfs.c: Likewise.
7906 * efiemu/runtime/efiemu.c: Likewise.
7907 * efiemu/main.c: Likewise.
7908 * efiemu/mm.c: Likewise.
7909 * include/grub/elf.h: Likewise.
7910 * include/grub/xnu.h: Likewise.
7911 * include/grub/usbdesc.h: Likewise.
7912 * include/grub/usb.h: Likewise.
7913 * include/grub/script_sh.h: Likewise.
7914 * include/grub/lib/LzmaEnc.h: Likewise.
7915 * include/grub/efiemu/efiemu.h: Likewise.
7916 * include/grub/command.h: Likewise.
7917 * normal/menu.c: Likewise.
7918 * normal/main.c: Likewise.
7919 * normal/datetime.c: Likewise.
7920 * bus/usb/uhci.c: Likewise.
7921 * mmap/i386/uppermem.c: Likewise.
7922 * mmap/mmap.c: Likewise.
7923 * commands/acpi.c: Likewise.
7924 * commands/test.c: Likewise.
7925 * partmap/apple.c: Likewise.
7926 * font/font.c: Likewise.
7927 * loader/sparc64/ieee1275/linux.c: Likewise.
7928 * loader/macho.c: Likewise.
7929 * loader/i386/bsd_trampoline.S: Likewise.
7930 * loader/i386/bsd.c: Likewise.
7931 * loader/xnu.c: Likewise.
7932 * term/i386/pc/vesafb.c: Likewise.
7933 * term/usb_keyboard.c: Likewise.
7934 * util/resolve.c: Likewise.
7935 * util/getroot.c: Likewise.
7936
0cfc0083 79372009-05-04 Felix Zielcke <fzielcke@z-51.de>
7938
7939 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
7940
7c1d00cd 79412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7942
7943 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
7944 build error.
7945
b01f0548 79462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7947
7948 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
7949 parameter only available on BIOS.
7950
ecc3eb22 79512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 Removed wrong semicolon in declaration
7954
7955 * grub/misc.h (grub_dprintf): remove semicolon
7956
112972a9 79572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7958
7959 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
7960 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
7961 is done by grub_cmd_linux() now).
7962 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
7963 restore video to text mode.
7964 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
7965 indicates lack of "vga=" parameter. "vga=0" is mapped to
7966 `GRUB_LINUX_VID_MODE_NORMAL'.
7967
afd5c115 79682009-05-04 Felix Zielcke <fzielcke@z-51.de>
7969
7970 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
7971 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
7972 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 7973 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 7974 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
7975 `grub_script.tab.c'.
7976
7977 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7978 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7980 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7982
faa517ce 7983 * Makefile.in: Remove duplicated 2008 in Copyright line.
7984
ae0c0bdc 79852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
7986
473d1e45 7987 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 7988 unconditionally.
7989 * include/grub/util/misc.h (grub_util_warn): New declaration.
7990
7991 * util/i386/pc/grub-install.in: Understand --force and pass it down
7992 to grub-setup.
7993
7994 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
7995 down to setup().
7996 (setup): Improve error messages and add warnings when requested to
7997 install in odd layouts. Refuse to install using blocklists unless
7998 --force was set.
7999
18f547ad 80002009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8001
8002 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8003
6d260daa 80042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 Updated copyright year
8007
8008 * fs/hfsplus.c: updated copyright year
18f547ad 8009
69f853f8 80102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 HFS+ UUID
8013
18f547ad 8014 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8015 in the space previously used by unused3
8016 (grub_hfsplus_uuid): new function
8017 (grub_hfsplus_fs): added uuid field
8018
4c402e73 80192009-05-03 Pavel Roskin <proski@gnu.org>
8020
8021 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8022 suppress warnings. It's no longer needed.
8023 * disk/host.c: Likewise.
8024 * disk/ata_pthru.c: Likewise.
8025 * disk/loopback.c: Likewise.
8026 * hook/datehook.c: Likewise.
8027 * parttool/pcpart.c: Likewise.
8028 * fs/i386/pc/pxe.c: Likewise.
8029 * fs/ntfscomp.c: Likewise.
8030 * efiemu/main.c: Likewise.
8031 * mmap/mmap.c: Likewise.
8032 * commands/crc.c: Likewise.
8033 * commands/hexdump.c: Likewise.
8034 * commands/hdparm.c: Likewise.
8035 * commands/acpi.c: Likewise.
8036 * commands/echo.c: Likewise.
8037 * commands/minicmd.c: Likewise.
8038 * commands/blocklist.c: Likewise.
8039 * commands/memrw.c: Likewise.
8040 * commands/loadenv.c: Likewise.
8041 * commands/usbtest.c: Likewise.
8042 * commands/lsmmap.c: Likewise.
8043 * commands/boot.c: Likewise.
8044 * commands/parttool.c: Likewise.
8045 * commands/configfile.c: Likewise.
8046 * commands/search.c: Likewise.
8047 * commands/ieee1275/suspend.c: Likewise.
8048 * commands/cat.c: Likewise.
8049 * commands/i386/pc/pxecmd.c: Likewise.
8050 * commands/i386/pc/play.c: Likewise.
8051 * commands/i386/pc/halt.c: Likewise.
8052 * commands/i386/pc/vbeinfo.c: Likewise.
8053 * commands/i386/pc/vbetest.c: Likewise.
8054 * commands/lspci.c: Likewise.
8055 * commands/date.c: Likewise.
8056 * commands/handler.c: Likewise.
8057 * commands/ls.c: Likewise.
8058 * commands/test.c: Likewise.
8059 * commands/cmp.c: Likewise.
8060 * commands/efi/loadbios.c: Likewise.
8061 * commands/efi/fixvideo.c: Likewise.
8062 * commands/halt.c: Likewise.
8063 * commands/help.c: Likewise.
8064 * commands/reboot.c: Likewise.
8065 * hello/hello.c: Likewise.
8066 * script/sh/main.c: Likewise.
8067 * loader/xnu.c: Likewise.
8068 * term/terminfo.c: Likewise.
8069 * term/i386/pc/serial.c: Likewise.
8070 * term/usb_keyboard.c: Likewise.
8071
515b5079 80722009-05-03 David S. Miller <davem@davemloft.net>
8073
8074 * normal/menu.c: Include grub/parser.h
8075
dfc31a22 80762009-05-03 Pavel Roskin <proski@gnu.org>
8077
2fee74f1 8078 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
8079 not char*.
8080 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
8081 Suggested by Javier Martín <lordhabbit@gmail.com>
8082
dfc31a22 8083 * util/i386/pc/grub-mkrescue.in: Allow for the case when
8084 efiemu??.o doesn't exist.
8085 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
8086 copying.
8087
18f547ad 80882009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 8089
8090 FreeBSD 64-bit support
8091
18f547ad 8092 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 8093 and loader/i386/bsd_trampoline.S
8094 (bsd_mod_ASFLAGS): new variable
8095 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
8096 (FREEBSD_MODTYPE_KERNEL64): likewise
8097 (grub_bsd64_trampoline_start): likewise
8098 (grub_bsd64_trampoline_end): likewise
8099 (grub_bsd64_trampoline_selfjump): likewise
8100 (grub_bsd64_trampoline_gdt): likewise
8101 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
8102 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
8103 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
8104 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 8105 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 8106 of "attrib" member
8107 * loader/i386/bsd_pagetable.c: new file
8108 * loader/i386/bsd_trampoline.S: likewise
8109 * loader/i386/bsd.c (ALIGN_QWORD): new macro
8110 (ALIGN_VAR): likewise
8111 (entry_hi): new variable
8112 (kern_end_mdofs): likewise
8113 (is_64bit): likewise
8114 (grub_freebsd_add_meta): use ALIGN_VAR
8115 (grub_e820_mmap): new declaration
8116 (grub_freebsd_add_mmap): new function
8117 (grub_freebsd_add_meta_module): support 64 bit kernels
8118 (grub_freebsd_list_modules): use ALIGN_VAR
8119 (gdt_descriptor): new declaration
8120 (grub_freebsd_boot): support 64 bit kernels
8121 (grub_bsd_elf64_hook): new function
8122 (grub_bsd_load_elf): support elf64
8123
038c5720 81242009-05-03 Bean <bean123ch@gmail.com>
8125
8126 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
8127 after we get the result of if statement.
8128
fc45fb58 81292009-05-03 Bean <bean123ch@gmail.com>
8130
8131 * Makefile.in (enable_efiemu): New variable.
8132
8133 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
8134 set.
8135 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
8136 path.
8137 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
8138 path, add -mno-red-zone option.
8139 (efiemu64_s.o): Likewise.
8140 (efiemu64.o): Use macro $^ for source file.
8141
8142 * configure.ac (--enable-efiemu): New option.
8143
bbee0f2b 81442009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 xnu support
8147
8148 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
8149 (pkglib_MODULES): add xnu.mod
8150 (xnu_mod_SOURCES): new variable
8151 (xnu_mod_CFLAGS): likewise
8152 (xnu_mod_LDFLAGS): likewise
8153 (xnu_mod_ASFLAGS): likewise
8154 * conf/i386-pc.rmk: likewise
8155 * conf/x86_64-efi.rmk: likewise
7dd4a573 8156 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 8157 new declaration
8158 * include/grub/i386/macho.h: new file
8159 * include/grub/i386/xnu.h: likewise
8160 * include/grub/macho.h: likewise
8161 * include/grub/machoload.h: likewise
8162 * include/grub/x86_64/macho.h: likewise
8163 * include/grub/x86_64/xnu.h: likewise
8164 * include/grub/xnu.h: likewise
8165 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
8166 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
8167 * loader/i386/efi/xnu.c: new file
8168 * loader/i386/pc/xnu.c: likewise
8169 * loader/i386/xnu.c: likewise
8170 * loader/i386/xnu_helper.S: likewise
8171 * loader/macho.c: likewise
8172 * loader/xnu.c: likewise
8173 * loader/xnu_resume.c: likewise
8174 * util/grub-dumpdevtree: likewise
8175 * include/grub/i386/pit.h: include grub/err.h
8176 (grub_pit_wait): export
8177 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 8178
5caf964d 81792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 Efiemu
7dd4a573 8182
5caf964d 8183 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 8184 _linux_efi, linux_efi.
8185 new files in grub-emu
5caf964d 8186 new targets efiemu32.o and efiemu64.o
8187 * loader/linux_normal_efiemu.c: likewise
8188 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 8189 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 8190 files to copy
8191 * include/grub/autoefi.h: new file
7dd4a573 8192 * include/grub/i386/efiemu.h: likewise
5caf964d 8193 * include/grub/i386/pc/efiemu.h: likewise
8194 * include/grub/efi/api.h: add LL suffix when necessary
8195 new definitions relating to tables
8196 * include/grub/efiemu/efiemu.h: new file
8197 * include/grub/efiemu/runtime.h: likewise
8198 * efiemu/prepare.c: likewise
8199 * efiemu/loadcore_common.c: likewise
8200 * efiemu/loadcore64.c: likewise
8201 * efiemu/runtime/efiemu.sh: likewise
8202 * efiemu/runtime/efiemu.S: likewise
8203 * efiemu/runtime/efiemu.c: likewise
8204 * efiemu/runtime/config.h: likewise
8205 * efiemu/prepare32.c: likewise
8206 * efiemu/main.c: likewise
8207 * efiemu/modules/pnvram.c: likewise
8208 * efiemu/modules/i386: likewise
8209 * efiemu/modules/i386/pc: likewise
8210 * efiemu/modules/acpi.c: likewise
8211 * efiemu/i386/pc/cfgtables.c: likewise
8212 * efiemu/i386/loadcore64.c: likewise
8213 * efiemu/i386/loadcore32.c: likewise
8214 * efiemu/prepare64.c: likewise
8215 * efiemu/loadcore.c: likewise
8216 * efiemu/symbols.c: likewise
8217 * efiemu/mm.c: likewise
8218 * efiemu/loadcore32.c: likewise
7dd4a573 8219
82202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 8221
8222 ACPI spoofing
8223
8224 * commands/acpi.c: new file
8225 * commands/i386/pc/acpi.c: likewise
8226 * commands/efi/acpi.c: likewise
8227 * include/grub/acpi.h: likewise
8228 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
8229 (acpi_mod_SOURCES): new variable
8230 (acpi_mod_CFLAGS): likewise
8231 (acpi_mod_LDFLAGS): likewise
8232 * conf/i386-efi.rmk: likewise
8233 * conf/x86_64-efi.rmk: likewise
8234
7dd4a573 82352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 8236
8237 Missing part from mmap patch
8238
8239 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
8240 (grub_mmap_unregister)
8241 (grub_mmap_free_and_unregister): use grub_mmap_register
8242
7dd4a573 82432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 8244
8245 Mmap services
8246
8247 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
8248 * loader/i386/linux.c (find_mmap_size): likewise
8249 (allocate_pages): likewise
8250 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
8251 (grub_fill_multiboot_mmap): likewise
8252 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
8253 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
8254 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
8255 (OPENBSD_MMAP_RESERVED): likewise
8256 * include/grub/i386/pc/memory.h: include grub/memory.h
8257 (grub_lower_mem): removed
8258 (grub_upper_mem): likewise
8259 (GRUB_MACHINE_MEMORY_ACPI): new definition
8260 (GRUB_MACHINE_MEMORY_NVS): likewise
8261 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
8262 (GRUB_MACHINE_MEMORY_HOLE): likewise
8263 (grub_machine_mmap_register): likewise
8264 (grub_machine_mmap_unregister): likewise
8265 (grub_machine_get_upper): likewise
8266 (grub_machine_get_lower): likewise
8267 (grub_machine_get_post64): likewise
8268 * include/grub/i386/efi/memory.h: new file
8269 * include/grub/x86_64/efi/memory.h: likewise
8270 * include/grub/efi/memory.h: likewise
8271 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
8272 (mmap_mod_SOURCES): new variable
8273 (mmap_mod_LDFLAGS): likewise
8274 (mmap_mod_ASFLAGS): likewise
8275 * conf/i386-coreboot.rmk: likewise
8276 * conf/i386-ieee1275.rmk: likewise
8277 * conf/i386-efi.rmk: likewise
8278 * conf/x86_64-efi.rmk: likewise
8279 * include/grub/types.h (UINT_TO_PTR): new macro
8280 (PTR_TO_UINT32): likewise
8281 (PTR_TO_UINT64): likewise
8282 * include/grub/memory.h: new file
8283 * mmap/i386/pc/mmap.c: likewise
8284 * mmap/i386/pc/mmap_helper.S: likewise
8285 * mmap/i386/uppermem.c: likewise
8286 * mmap/mmap.c: likewise
8287 * mmap/efi/mmap.c: likewise
7dd4a573 8288 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 8289 grub_upper_mem
8290 * kern/i386/pc/init.c (grub_lower_mem): removed variable
8291 (grub_upper_mem): likewise
8292 (grub_machine_init): don't use grub_upper_mem,
8293 make grub_lower_mem local
8294 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
8295 grub_mmap_iterate and grub_mmap_get_upper
8296 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
8297
d558e6b5 82982009-05-02 Bean <bean123ch@gmail.com>
8299
8300 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
8301 script/sh/parser.y.
8302 (pkglib_MODULES): Add normal.mod and sh.mod.
8303 (normal_SOURCES): New variable.
8304 (normal_mod_CFLAGS): Likewise.
8305 (normal_mod_LDFLAGS): Likewise.
8306 (sh_mod_SOURCES): Likewise.
8307 (sh_mod_CFLAGS): Likewise.
8308 (sh_mod_LDFLAGS): Likewise.
8309
8310 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
8311 script/sh/lexer.c_DEPENDENCIES.
8312 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
8313 kern/rescue_reader.c and kern/rescue_parser.c.
8314 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
8315 (grub_emu_SOURCES): Change source files.
8316 (pkglib_MODULES): Remove normal.mod.
8317 (normal_SOURCES): Removed.
8318 (normal_mod_CFLAGS): Likewise.
8319 (normal_mod_LDFLAGS): Likewise.
8320 * conf/i386-coreboot.rmk: Likewise.
8321 * conf/i386-efi.rmk: Likewise.
8322 * conf/i386-ieee1276.rmk: Likewise.
8323 * conf/powerpc-ieee1275.rmk: Likewise.
8324 * conf/sparc64-ieee1275.rmk: Likewise.
8325 * conf/x86_64-efi.rmk: Likewise.
8326
8327 * include/grub/command.h (grub_command_execute): New inline function.
8328
8329 * include/grub/menu.h (grub_menu_entry): Removed commands field.
8330
8331 * include/grub/normal.h: Remove <grub/setjmp.h>.
8332 (grub_fs_module_list): Moved to normal/autofs.c.
8333 (grub_exit_env): Removed.
8334 (grub_command_execute): Likewise.
8335 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
8336 parameter script.
8337 (read_command_list): New function declaration.
8338 (read_fs_list): Likewise.
8339
8340 * include/parser.h: Include <grub/reader.h>.
8341 (grub_parser_split_cmdline): Change type of getline parameter.
8342 (grub_parser): New structure.
8343 (grub_parser_class): New variable.
8344 (grub_parser_execute): New function declaration.
8345 (grub_register_rescue_parser): Likewise.
8346 (grub_parser_register): New inline function.
8347 (grub_parser_unregister): Likewise.
8348 (grub_parser_get_current): Likewise.
8349 (grub_parser_set_current): Likewise.
8350
8351 * include/grub/reader.h: New file.
8352 * kern/reader.c: Likewise.
8353 * kern/rescue_parser.c: Likewise.
8354 * kern/rescue_reader.c: Likewise.
8355 * normal/autofs.c: Likewise.
8356 * normal/dyncmd.c: Likewise.
8357
8358 * include/grub/rescue.h: Removed.
8359 * normal/command.h: Likewise.
8360
8361 * include/grub/script.h: Moved to ...
8362 * include/grub/script_sh.h: ... Moved here.
8363 * normal/execute.c: Moved to ...
8364 * script/sh/execute.c: ... Moved here.
8365 * normal/function.c: Moved to ...
8366 * script/sh/function.c: ... Moved here.
8367 * normal/lexer.c: Moved to ...
8368 * script/sh/lexer.c: ... Moved here.
8369 * normal/parser.y: Moved to ...
8370 * script/sh/parser.y: ... Moved here.
8371 * normal/script.c: Moved to ...
8372 * script/sh/script.c: ... Moved here.
8373
8374 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
8375 <grub/reader.h>.
8376 (grub_exit_env): Removed.
8377 (fs_module_list): Moved to normal/autofs.c.
8378 (grub_file_getline): Don't handle comment here.
8379 (free_menu): Skip removed field entry->commands.
8380 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
8381 script parameter.
8382 (read_config_file): Removed nested parameter, change getline function.
8383 (grub_enter_normal_mode): Removed.
8384 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
8385 (read_command_list): Likewise.
8386 (autoload_fs_module): Moved to normal/autofs.c.
8387 (read_fs_list): Likewise.
8388 (reader_nested): New variable.
8389 (grub_normal_execute): Run parser.sh to switch to sh parser.
8390 (grub_cmd_rescue): Removed.
8391 (cmd_normal): Removed.
8392 (grub_cmd_normal): Unregister itself at the beginning. Don't register
8393 rescue command.
8394 (grub_cmdline_run): New function.
8395 (grub_normal_reader_init): Likewise.
8396 (grub_normal_read_line): Likewise.
8397 (grub_env_write_pager): Likewise.
8398 (cmdline): New variable.
8399 (grub_normal_reader): Likewise.
8400 (GRUB_MOD_INIT): Register normal reader and set as current, register
8401 pager hook, register normal command with grub_register_command_prio,
8402 so that it won't show up in command.lst.
8403 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
8404 grub_fs_autoload_hook.
8405
8406 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
8407 (grub_menu_execute_entry): Replace grub_script_execute with
8408 grub_parser_execute, change parameter to grub_command_execute.
8409
8410 * normal/menu_text.c: Remove <grub/script.h>.
8411
8412 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
8413 and <grub/parser.h>.
8414 (run): Change editor_getline to use new parser interface. Change
8415 parameter to grub_command_execute.
8416
8417 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
8418 <grub/reader.h> and <grub/parser.h>.
8419 (grub_load_normal_mode): Execute normal command.
8420 (grub_main): Call grub_register_core_commands,
8421 grub_register_rescue_parser and grub_register_rescue_reader, use
8422 grub_reader_loop to enter input loop.
8423
7dd4a573 8424 * kern/parser.c (grub_parser_split_cmdline): Change type of
8425 getline parameter.
d558e6b5 8426 (grub_parser_class): New variable.
8427 (grub_parser_execute): New function.
8428
8429 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
8430 * loader/multiboot2.c: Likewise.
8431 * loader/sparc64/ieee1275/linux.c: Likewise.
8432
8433 * util/grub-emu.c (read_command_list): New dummy function.
8434
18db813d 84352009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8436
8437 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
8438 count to 16 for CCISS and IDA.
8439
6c67de15 84402009-05-02 Robert Millan <rmh.grub@aybabtu.com>
8441
8442 * normal/menu_text.c (grub_wait_after_message): Print a newline
8443 after waiting for user input.
8444
8445 * loader/i386/linux.c: Include `<grub/normal.h>'.
8446 (grub_cmd_linux): Improve the error message about `ask' mode, by
8447 waiting for user input so it's not missed (we can do this, since
8448 user requested interaction).
8449
d9dc87b0 84502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Added missing lst to grub-mkrescue
8453
8454 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
8455 and ${input_dir}/parttool.lst
8456
ac8a2baa 84572009-04-30 David S. Miller <davem@davemloft.net>
8458
ad22a610 8459 * util/hostdisk.c (device_is_wholedisk): New function.
8460 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
8461 zero only if device_is_wholedisk() returns true.
8462
6966215d 8463 * util/hostdisk.c (convert_system_partition_to_system_disk):
8464 Handle virtual disk devices named /dev/vdiskX as found on sparc
8465 and powerpc.
8466
ac8a2baa 8467 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
8468 lettered partition specifier is found, convert to numbered.
8469
979b4fb4 84702009-04-29 David S. Miller <davem@davemloft.net>
8471
e2bf39b2 8472 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
8473 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8474
3c64e104 8475 * normal/command.c: Add missing newline at end of file.
8476
979b4fb4 8477 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
8478 warnings.
8479 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
8480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
8481 grub_ofdisk_read): Likewise, and deal similarly with the fact that
8482 ihandles have a 32-bit type but need to be stored in a "void *".
8483
136d9f82 84842009-04-28 Pavel Roskin <proski@gnu.org>
8485
9459c306 8486 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
8487 not disk. Adjust all dependencies.
2e08a26a 8488 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 8489 grub_disk_close().
8490
136d9f82 8491 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
8492 parent's partition, don't copy it by reference, as it gets freed
8493 on close.
8494
7dd4a573 84952009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 8496
8497 Preboot hooks support
8498
8499 * commands/boot.c (struct grub_preboot_t): new declaration
8500 (preboots_head): new variable
8501 (preboots_tail): likewise
8502 (grub_loader_register_preboot_hook): new function
8503 (grub_loader_unregister_preboot_hook): likewise
8504 (grub_loader_set): launch preboot hooks
8505 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
8506 (grub_loader_register_preboot_hook): new declaration
8507 (grub_loader_unregister_preboot_hook): likewise
8508
5af922b5 85092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 Warning fix
8512
7dd4a573 8513 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 8514 calling grub_dprintf
8515
a5562c30 85162009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Bug and warning fixes
8519
7dd4a573 8520 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 8521 declaration
8522 * commands/test.c (test_parse): fixed bug with file tests and corrected
8523 declaration of find_file
8524
4006f85c 85252009-04-26 Pavel Roskin <proski@gnu.org>
8526
8527 * Makefile.in: Don't install empty manual pages if help2man is
8528 missing. Use help2man option for output, not shell redirection.
8529
5c77c3de 85302009-04-26 David S. Miller <davem@davemloft.net>
8531
8532 * util/grub-mkdevicemap.c (make_device_map): Add missing
8533 NESTED_FUNC_ATTR to process_device().
8534
033b10a8 85352009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 Test command
8538
8539 * commands/test.c: rewritten to use bash-like test
8540
e4343593 85412009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 Parttool autoloading and improvements
8544
7dd4a573 8545 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 8546 (parttool.lst): new target
8547 * genmk.rb: generate parttool-*
8548 (CLEANFILES): add #{parttool}
8549 (PARTTOOLFILES): new variable
8550 * genparttoollist.sh: new file
7dd4a573 8551 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 8552 (grub_pcpart_type): likewise
8553 * commands/parttool.c (helpmsg): new variable
8554 (grub_cmd_parttool): output help if not enough arguments are supplied
8555 autoload modules
8556 (GRUB_MOD_INIT(parttool)): use helpmsg
8557
0d312500 85582009-04-24 David S. Miller <davem@davemloft.net>
8559
7dd4a573 8560 Avoiding opening same device multiple times in device iterator.
0d312500 8561
8562 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 8563 and use it to build a list of partitions in iterate_disk() and
0d312500 8564 iterate_partition().
8565
ac20caff 8566 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
8567 on disk->data.
8568
0dcf7495 8569 * disk/ieee1275/nand.c (grub_nand_iterate): Return
8570 grub_devalias_iterate() result instead of unconditional 0.
8571 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
8572 Also, capture hook return value, either directly or via
8573 grub_children_iterate(), and propagate to caller.
8574 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
8575 grub_children_iterate): Return value is now 'int' instead of
8576 'grub_err_t'.
8577 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
8578 like a proper iterator, stopping when hooks return non-zero.
8579 (grub_devalias_iterate): Likewise.
8580
c8c08833 85812009-04-23 David S. Miller <davem@davemloft.net>
8582
8583 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
8584
f01005a8 85852009-04-22 David S. Miller <davem@davemloft.net>
8586
8587 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
8588 is larger than address_cells, use that value for address_cells too.
8589
4e8269da 8590 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
8591 IEEE1275_MAX_PATH_LEN): Define.
8592 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
8593 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
8594 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
8595 'devtype'. Explicitly NULL terminate devalias expansion.
8596
a1447506 8597 * util/sparc64/ieee1275/misc.c: New file.
8598 * util/sparc64/ieee1275/grub-setup.c: New file.
8599 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
8600 * util/sparc64/ieee1275/grub-mkimage.c: New file.
8601 * util/sparc64/ieee1275/grub-install.in: New file.
8602 * util/ieee1275/ofpath.c: New file.
8603 * util/ieee1275/devicemap.c: New file.
8604 * util/devicemap.c: New file.
8605 * util/deviceiter.c: New file.
8606 * kern/sparc64/ieee1275/init.c: New file.
8607 * include/grub/util/ofpath.h: New file.
8608 * include/grub/util/deviceiter.h: New file.
8609 * util/grub-mkdevicemap.c: Include deviceiter.h.
8610 Implement using grub_util_emit_devicemap_entry and
8611 grub_util_iterate_devices.
8612 * conf/i386-corebook.rmk: Build util/deviceiter.c and
8613 util/devicemap.c into grub-mkdevicemap
8614 * conf/i386-efi.rmk: Likewise.
8615 * conf/i386-ieee1275.rmk: Likewise.
8616 * conf/i386-pc.rmk: Likewise.
8617 * conf/powerpc-ieee1275.rmk: Likewise.
8618 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
8619 images and installation utilities. Build kernel as image
8620 instead of as elf binary. Use common rules as much as possible.
8621
7dd4a573 86222009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 8623
8624 Correct GPT definition
8625
7dd4a573 8626 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 8627 of "attrib" member
8628
c6c5219f 86292009-04-19 Felix Zielcke <fzielcke@z-51.de>
8630
8631 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
8632
0552ff9f 86332009-04-19 David S. Miller <davem@davemloft.net>
8634
8635 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
8636 (grub_rescue_cmd_linux): Rename to...
8637 (grub_cmd_linux): and fix prototype.
8638 (grub_rescue_cmd_initrd): Rename to...
8639 (grub_cmd_initrd): and fix prototype.
8640 (cmd_linux, cmd_initrd): New.
8641 (GRUB_MOD_INIT(linux)): Use grub_register_command().
8642 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
8643
d1a282fc 86442009-04-17 Pavel Roskin <proski@gnu.org>
8645
07c5039f 8646 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
8647 format.
8648 (grub_ohci_transfer): Likewise.
8649
b012002d 8650 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
8651
1bc09c35 8652 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
8653 return without a value. Fix inconsistent indentation.
8654
e0ff9126 8655 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
8656 match struct grub_fs.
8657
d1a282fc 8658 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
8659 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
8660 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8661 * commands/lspci.c (grub_lspci_iter): Likewise.
8662
a96df3f2 86632009-04-16 Bean <bean123ch@gmail.com>
8664
8665 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
8666 value.
8667
41bb0fe9 86682009-04-15 Pavel Roskin <proski@gnu.org>
8669
8670 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
8671 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
8672 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
8673 definitions.
8674
596c6970 86752009-04-15 Felix Zielcke <fzielcke@z-51.de>
8676
8677 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 8678 that no multiple data or metadata areas are supported and `Unknown
596c6970 8679 metadata header'.
8680
7dd4a573 86812009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 8682
8683 Move loader out of the kernel
8684
8685 * kern/loader.c: moved to ...
8686 * commands/boot.c: ... moved here
8687 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
8688 * commands/boot.c (grub_cmd_boot): moved here. All users updated
8689 * include/grub/kernel.h (grub_machine_fini): export
8690 * include/grub/loader.h (grub_loader_is_loaded): update declaration
8691 (grub_loader_set): likewise
8692 (grub_loader_unset): likewise
8693 (grub_loader_boot): likewise
8694 * conf/common.rmk: new module boot.mod
8695 (pkglib_MODULES): add boot.mod
8696 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
8697 (grub_emu_SOURCES): likewise
8698 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
8699 (grub_emu_SOURCES): likewise
8700 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
8701 (grub_emu_SOURCES): likewise
8702 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
8703 (grub_emu_SOURCES): likewise
8704 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
8705 (grub_emu_SOURCES): likewise
7dd4a573 8706 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
8707 (grub_emu_SOURCES): likewise
0d5d5653 8708 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 8709 (grub_emu_SOURCES): likewise
0d5d5653 8710
7dd4a573 87112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 8712
8713 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 8714
5999d619 8715 * kern/misc.c (grub_itoa): Removed function
8716 (grub_ltoa): likewise
8717 (grub_vsprintf): use grub_lltoa
8718
7dd4a573 87192009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 8720
8721 Restore grub-emu
8722
8723 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
8724 * conf/i386-coreboot.rmk: likewise
8725 * conf/i386-ieee1275.rmk: likewise
8726 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 8727
20318222 87282009-04-15 Felix Zielcke <fzielcke@z-51.de>
8729
8730 * INSTALL: Add that `./autogen.sh' needs to be run before
8731 `./configure.'.
8732
d05f0df3 87332009-04-14 Bean <bean123ch@gmail.com>
8734
8735 * Makefile.in (pkglib_DATA): Add handler.lst.
8736 (handler.lst): New rule.
8737
8738 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
8739 * conf/i386-coreboot.rmk: Likewise.
8740 * conf/i386-ieee1275.rmk: Likewise.
8741 * conf/i386-efi.rmk: Likewise.
8742 * conf/x86_64-efi.rmk: Likewise.
8743 * conf/powerpc-ieee1275.rmk: Likewise.
8744 * conf/sparc64-ieee1275.rmk: Likewise.
8745
8746 * genhandlerlist.sh: New file.
8747
8748 * genmk.rb: Add rules to generate handler.lst.
8749
8750 * include/grub/normal.h (grub_file_getline): New function definition.
8751 (read_handler_list): Likewise.
8752 (free_handler_list): Likewise.
8753
8754 * include/grub/term.h (grub_term_register_input): Add name parameter
8755 for auto generation of handler.lst.
8756 (grub_term_register_output): Likewise.
8757
8758 * normal/handler.c: New file.
8759
8760 * normal/main.c (get_line): Renamed to grub_file_getline.
8761 (read_config_file): Use the newly renamed grub_file_getline.
8762 (read_command_list): Likewise.
8763 (read_fs_list): Likewise.
8764 (grub_normal_execute): Call read_handler_list to parse handler.lst.
8765 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
8766
8767 * term/efi/console.c (grub_console_init): Add name parameter for auto
8768 generation of handler.lst.
8769 * term/gfxterm.c: Likewise.
8770 * term/i386/pc/at_keyboard.c: Likewise.
8771 * term/i386/pc/console.c: Likewise.
8772 * term/i386/pc/serial.c: Likewise.
8773 * term/i386/pc/vesafb.c: Likewise.
8774 * term/i386/pc/vga.c: Likewise.
8775 * term/i386/pc/vga_text.c: Likewise.
8776 * term/ieee1275/ofconsole.c: Likewise.
8777 * term/usb_keyboard.c: Likewise.
8778
33c846be 87792009-04-14 Bean <bean123ch@gmail.com>
8780
8781 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
8782 properly with null character.
8783
4484e01e 87842009-04-14 Felix Zielcke <fzielcke@z-51.de>
8785
8786 * configure: Remove.
8787 * config.h.in: Likewise.
f93d668e 8788 * stamp-h.in: Likewise.
4484e01e 8789 * DISTLIST: Likewise.
8790 * conf/common.mk: Likewise.
8791 * conf/i386-coreboot.mk: Likewise.
8792 * conf/i386-efi.mk: Likewise.
8793 * conf/i386-ieee1275.mk: Likewise.
8794 * conf/i386.mk: Likewise.
8795 * conf/i386-pc.mk: Likewise.
8796 * conf/powerpc-ieee1275.mk: Likewise.
8797 * conf/sparc64-ieee1275.mk: Likewise.
8798 * conf/x86_64-efi.mk: Likewise.
8799
8800 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
8801 develop on GRUB.
8802
7dd4a573 88032009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 8804 David S. Miller <davem@davemloft.net>
8805
8806 * util/hostdisk.c (make_device_name): Fix buffer length
8807 calculations.
8808
e25b5a8c 88092009-04-14 Felix Zielcke <fzielcke@z-51.de>
8810
8811 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
8812 <sys/param.h> and <sys/sysctl.h>.
8813 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
8814 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
8815 opening the device and reset them afterwards.
8816
1f1f580c 88172009-04-13 Pavel Roskin <proski@gnu.org>
8818
8819 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
8820 Reported by John Stanley <jpsinthemix@verizon.net>
8821
7ebc2d6b 88222009-04-13 Robert Millan <rmh@aybabtu.com>
8823
8824 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 8825 that name for menuentries when appropriate.
7ebc2d6b 8826
d8ba3667 88272009-04-13 Felix Zielcke <fzielcke@z-51.de>
8828
8829 * util/grub.d/10_freebsd.in: Add a missing `fi'.
8830
cba416eb 88312009-04-13 Robert Millan <rmh@aybabtu.com>
8832
8833 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
8834 to Linux, simply abort telling the user it's no longer supported.
8835
a547a745 88362009-04-13 Felix Zielcke <fzielcke@z-51.de>
8837
8838 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 8839 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 8840 `freebsd_loadenv' only when devices.hints exist.
8841
232a769c 88422009-04-13 Pavel Roskin <proski@gnu.org>
8843
8844 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
8845
c3012039 88462009-04-13 Felix Zielcke <fzielcke@z-51.de>
8847
8848 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
8849 partition number.
8850 (grub_drive): Likewise.
8851
234022fe 88522009-04-13 David S. Miller <davem@davemloft.net>
8853
8854 * kern/sparc64/ieee1275/ieee1275.c: New file.
8855 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
8856 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
8857 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
8858 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
8859 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
8860 grub_ieee1275_alloc_physmem): Declare new exported functions.
8861
d8e1836c 8862 * include/grub/sparc64/ieee1275/loader.h: New file.
8863 * include/grub/sparc64/ieee1275/memory.h: Likewise.
8864 * include/grub/sparc64/kernel.h: Likewise.
8865 * loader/sparc64/ieee1275/linux.c: Likewise.
8866
96bd81ec 8867 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
8868 (grub_fstest_SOURCES): Likewise.
8869
6a4737e5 8870 * util/hostdisk.c (make_device_name): Do not make any assumptions
8871 about the length of drive names.
8872
1d7a72fd 8873 * kern/dl.c (grub_dl_load_file): Close file immediately when
8874 we are done using it.
8875
56bc2471 88762009-04-12 David S. Miller <davem@davemloft.net>
8877
8878 * kern/misc.c (grub_ltoa): Fix cast when handling negative
8879 values. Noticed by Pavel Roskin.
8880
df38d0bb 8881 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
8882 target compiler.
7dd4a573 8883
e382e93a 8884 * genmk.rb: Add more flexible image type specification, also
8885 pass --strip-unneeded to objcopy.
8886 * conf/i386-pc.rmk: Use *_FORMAT.
8887 * conf/i386-pc.mk: Rebuilt.
8888
f5dbbca9 8889 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
8890 (OFDISK_HASH_SZ): Define.
8891 (ofdisk_hash): New hash table.
8892 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
8893 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
8894 instead of device phandle which is not unique.
8895
91c88b12 8896 * kern/sparc64/ieee1275/init.c: Delete, replace with...
8897 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
8898 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
8899 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
8900 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
8901 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
8902 GRUB_KERNEL_MACHINE_DATA_END): Define.
8903 (grub_kernel_image_size, grub_total_module_size): Declare.
8904
5b5d4aa5 89052009-04-12 Pavel Roskin <proski@gnu.org>
8906
7dd4a573 8907 * configure.ac: Change the logic when we check for target tools.
8908 Do it when the target is specified and it's different from the
8909 specified value of the host.
5b5d4aa5 8910
c91e1793 89112009-04-11 Felix Zielcke <fzielcke@z-51.de>
8912
8913 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
8914 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
8915 GNU/kFreeBSD. Check if a device is a character device. Use
8916 DIOCGMEDIASIZE to get the size.
8917 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
8918 support for GNU/kFreeBSD.
8919 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
8920 is a character device instead of a block device. Add support for
8921 FreeBSD device names.
8922
8923 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
8924 is a character device instead of a block device.
8925
8926 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
8927 is a character device instead of a block device.
8928
b1ac8644 89292009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
8930
8931 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
8932 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
8933 FreeBSD. Check if a device is a character device. Use
8934 DIOCGMEDIASIZE to get the size.
8935 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
8936 support for FreeBSD.
8937 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
8938 is a character device instead of a block device. Add support for
8939 FreeBSD device names.
8940
8941 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
8942 a character device instead of a block device.
8943 (grub_util_check_char_device): New function.
8944
8945 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
8946 a character device instead of a block device.
8947
8948 * include/grub/util/getroot.h (grub_util_check_char_device): New
8949 prototype.
8950
a3f7515a 89512009-04-11 David S. Miller <davem@davemloft.net>
8952
8953 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
8954 static libgcc.
8955 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
8956 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
8957 function, if present.
8958 (__bswapdi2): Likewise.
8959
0d44993d 8960 * include/grub/sparc64/ieee1275/boot.h: New file.
8961 * boot/sparc64/ieee1275/boot.S: Likewise.
8962 * boot/sparc64/ieee1275/diskboot.S: Likewise.
8963
ed3d2bc2 8964 * kern/misc.c (grub_ltoa): New function.
8965 (grub_vsprintf): Use it to format 'long' integers.
8966
d3bfb59c 89672009-04-10 David S. Miller <davem@davemloft.net>
8968
8969 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
8970 slots are of type grub_ieee1275_cell_t.
8971 (grub_nand_read): Likewise.
8972 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
8973 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
8974 macros are used to compare values in arg/ret block of the call.
8975 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
8976 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
8977 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
8978 grub_ieee1275_instance_to_path, grub_ieee1275_write,
8979 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
8980 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
8981 grub_ieee1275_close, grub_ieee1275_set_property,
8982 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
8983 grub_ieee1275_cell_t.
8984 * kern/ieee1275/openfw.c (grub_map): Likewise.
8985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
8986 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
8987
450e2238 8988 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
8989 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8990 (grub_devalias_iterate): Likewise.
8991
7dd4a573 89922009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 8993
8994 UFS improvements
8995
8996 * fs/ufs.c (INODE_NBLOCKS): new definition
8997 (struct grub_ufs_dirent): added fields for non-BSD dirents
8998 (grub_ufs_get_file_block): fixed double indirect handling
8999 (grub_ufs_lookup_symlink): use more robust way to determine whether
9000 symlink is inline
9001 (grub_ufs_find_file): support for non-BSD dirents
9002 (grub_ufs_dir): support for non-BSD dirents
9003
e7e6862a 90042009-04-10 Bean <bean123ch@gnail.com>
9005
9006 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9007 attribute, otherwise the size would be wrong for i386 platform.
9008
9009 * include/grub/pci.h (grub_pci_read_word): New inline function.
9010 (grub_pci_read_byte): Likewise.
9011 (grub_pci_write): Likewise.
9012 (grub_pci_write_word): Likewise.
9013 (grub_pci_write_byte): Likewise.
9014
9015 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9016
9017 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9018 (find_framebuf): Scan pci to locate the frame buffer address.
9019
9020 * commands/efi/fixvideo.c: New file.
9021
9022 * commands/efi/loadbios.c: Likewise.
9023
9024 * commands/memrw.c: Likewise.
9025
9026 * util/grub-dumpbios.in: Likewise.
9027
9028 * conf/common.rmk (grub-dumpbios): New utility.
9029 (pkglib_MODULES): New module memrw.mod.
9030 (memrw_mod_SOURCE): New macro.
9031 (memrw_mod_CFLAGS): Likewise.
9032 (memrw_mod_LDFLAGS): Likewise.
9033
7dd4a573 9034 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9035 fixvideo.mod.
9036 (loadbios_mod_SOURCE): New macro.
9037 (loadbios_mod_CFLAGS): Likewise.
9038 (loadbios_mod_LDFLAGS): Likewise.
9039 (fixvideo_mod_SOURCE): Likewise.
9040 (fixvideo_mod_CFLAGS): Likewise.
9041 (fixvideo_mod_LDFLAGS): Likewise.
9042
7dd4a573 9043 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9044 fixvideo.mod.
9045 (loadbios_mod_SOURCE): New macro.
9046 (loadbios_mod_CFLAGS): Likewise.
9047 (loadbios_mod_LDFLAGS): Likewise.
9048 (fixvideo_mod_SOURCE): Likewise.
9049 (fixvideo_mod_CFLAGS): Likewise.
9050 (fixvideo_mod_LDFLAGS): Likewise.
9051
af63ada2 90522009-04-08 Felix Zielcke <fzielcke@z-51.de>
9053
9054 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
9055
c2cdde70 90562009-04-07 David S. Miller <davem@davemloft.net>
9057
9058 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
9059 support for R_SPARC_OLO10 relocations. Fix compile warning for
9060 R_SPARC_WDISP30 case.
ea3f72cf 9061 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 9062
761319cf 90632009-04-06 Pavel Roskin <proski@gnu.org>
9064
1007d1f5 9065 * include/grub/misc.h (ARRAY_SIZE): New macro.
9066 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
9067 New macro.
9068 * loader/i386/linux.c (allocate_pages): Use free_pages().
9069 (grub_linux_unload): Don't use free_pages().
9070 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
9071 wrong index. Treat all other modes as text modes.
9072 (grub_cmd_linux): Initialize vid_mode unconditionally to
9073 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
9074
761319cf 9075 * commands/help.c (print_command_help): Use cmd->prio, not
9076 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
9077
ea761d40 90782009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 9079
ea761d40 9080 Parttool
9081
9082 * parttool/pcpart.c: new file
9083 * commands/parttool.c: likewise
9084 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
9085 (parttool_mod_SOURCES): new variable
9086 (parttool_mod_CFLAGS): likewise
9087 (parttool_mod_LDFLAGS): likewise
9088 (pcpart_mod_SOURCES): likewise
9089 (pcpart_mod_CFLAGS): likewise
9090 (pcpart_mod_LDFLAGS): likewise
7dd4a573 9091 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 9092 and parttool/pcpart.c
9093 * conf/i386-efi.rmk: likewise
9094 * conf/i386-ieee1275.rmk: likewise
9095 * conf/i386-pc.rmk: likewise
9096 * conf/powerpc-ieee1275.rmk: likewise
9097 * conf/sparc64-ieee1275.rmk: likewise
9098 * conf/x86_64-ieee1275.rmk: likewise
9099
05aaebfb 91002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Support for mtime and further expandability of dir command
9103
9104 * include/grub/lib/datetime.h: moved to ...
7dd4a573 9105 * include/grub/datetime.h: ... moved here and added
05aaebfb 9106 declaration of grub_unixtime2datetime. All users updated
7dd4a573 9107 * include/grub/fs.h: new syntax for dir and mtime functions in
9108 struct grub_fs
05aaebfb 9109 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
9110 and GRUB_FSHELP_FLAGS_MASK
9111 * commands/ls.c (grub_ls_list_files): Write mtime in long format
9112 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
9113 (grub_ext2_mtime): new function
9114 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
9115 (grub_hfsplus_mtime): new function
9116 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
9117 (GRUB_UFS_ATTR_FILE): likewise
9118 (GRUB_UFS_ATTR_LNK): likewise
9119 (struct grub_ufs_sblock): new fields mtime
9120 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
9121 all users updated
9122 (grub_ufs_dir): mtime support
9123 (grub_ufs_mtime): new function
9124 * fs/affs.c (grub_affs_dir): use new dir syntax
9125 * fs/afs.c (grub_afs_dir): likewise
9126 * fs/cpio.c (grub_cpio_dir): likewise
9127 * fs/fat.c (grub_fat_find_dir): likewise
9128 * fs/hfs.c (grub_hfs_dir): likewise
9129 * fs/iso9660.c (grub_iso9660_dir): likewise
9130 * fs/jfs.c (grub_jfs_dir): likewise
9131 * fs/minix.c (grub_minix_dir): likewise
9132 * fs/ntfs.c (grub_ntfs_dir): likewise
9133 * fs/reiserfs.c (grub_reiserfs_dir): likewise
9134 * fs/sfs.c (grub_sfs_dir): likewise
9135 * fs/xfs.c (grub_xfs_dir): likewise
9136 * util/hostfs.c (grub_hostfs_dir): likewise
9137 * lib/datetime.c: moved to ...
9138 * normal/datetime.c: ... moved here
9139 (grub_unixtime2datetime): new function
9140 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 9141 * normal/completion.c (iterate_dir): use new dir syntax
9142 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 9143 last modification time of a volume
7dd4a573 9144 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 9145 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 9146 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 9147 (normal_mod_SOURCES): likewise
9148 (datetime_mod_SOURCES): Removed lib/datetime.c
9149 * conf/i386-efi.rmk: likewise
7dd4a573 9150 * conf/i386-ieee1275.rmk: likewise
05aaebfb 9151 * conf/i386-pc.rmk: likewise
9152 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9153 * conf/sparc64-ieee1275.rmk: likewise
9154 * conf/x86_64-efi.rmk: likewise
05aaebfb 9155
8a7e1a14 91562009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 9159
9160 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 9161 on grub_fat_find_dir
9162 (grub_fat_find_dir): use grub_fat_iterate_dir
9163 (grub_fat_label): likewise
9164
04186a9c 91652009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9166
7dd4a573 9167 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 9168 and command.h
9169 remove extraneous kernel_elf_HEADERS
9170
da4c0bb6 91712009-04-04 Bean <bean123ch@gnail.com>
9172
9173 * include/grub/util/misc.h: Add dummy function fsync for mingw.
9174
9175 * util/misc.c: Likewise.
9176
54ad9555 91772009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
9178
9179 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
9180 instead of grub_printf.
9181
7a6bf9f2 91822009-04-03 Robert Millan <rmh@aybabtu.com>
9183
9184 * loader/i386/linux.c (grub_linux_setup_video): Fill
9185 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
9186 values from `mode info' structure instead of hardcoded
9187 values.
9188
3fcc2083 91892009-04-01 Pavel Roskin <proski@gnu.org>
9190
9191 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
9192 unused now.
9193 * genmk.rb: Likewise.
9194 * configure.ac: Likewise.
9195
5ec9740b 91962009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
9197
9198 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
9199 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
9200
5270cec8 92012009-04-01 David S. Miller <davem@davemloft.net>
9202
9203 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 9204 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 9205 (grub_setjmp): Mark with 'returns_twice' attribute.
9206 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
9207 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
9208 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
9209
9c3dd854 92102009-04-01 Robert Millan <rmh@aybabtu.com>
9211
9212 Reapply fix from 2008-07-28 which was accidentally reverted; also
9213 perform the same fix to a similar check in same function.
9214
9215 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9216 with the same number are found, just use issue a warning with
9217 grub_dprintf(), as this error has been reported to be non-fatal.
9218
0d818b7e 92192009-03-31 Pavel Roskin <proski@gnu.org>
9220
9221 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
9222 for cross-compilation.
9223
95646d92 92242009-03-30 Robert Millan <rmh@aybabtu.com>
9225
9226 Fix i386-ieee1275 build.
9227
9228 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
9229 Remove declaration.
9230
6a003ed1 92312009-03-30 Pavel Roskin <proski@gnu.org>
9232
9233 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
9234 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
9235 zero-terminated, rely only on the strlen value. Fix comparison
9236 of strings differing in length.
9237
92f33540 92382009-03-30 Robert Millan <rmh@aybabtu.com>
9239
9240 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
9241 checking for abi version. Improve error messages on BIOS to notify
9242 user about `linux16' command.
9243
a8c48fd5 92442009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9245
f968172e 9246 Leak fixes
a8c48fd5 9247
f968172e 9248 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
9249 in case of collision
9250 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 9251
9c323f09 92522009-03-29 Robert Millan <rmh@aybabtu.com>
9253
9254 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
9255 set `vid_mode' accordingly.
9256 (grub_linux_boot): Process `vid_mode' and set video mode.
9257
ae68f423 92582009-03-29 Robert Millan <rmh@aybabtu.com>
9259
9260 * util/grub.d/10_linux.in (linux_entry): New function.
9261 Factorize generation of Linux boot entries.
9262
5709cfc4 92632009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
9264
9265 Make the format of Environment Block plain text. The boot loader
9266 part is not tested well yet.
7dd4a573 9267
5709cfc4 9268 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
9269 (buffer): Removed.
9270 (envblk): Likewise.
9271 (usage): Remove "info" and "clear". Add "unset". Update the
9272 description of "set", as this does not delete variables any
9273 longer.
9274 (create_envblk_file): Complete rewrite.
9275 (open_envblk_file): Likewise.
9276 (cmd_info): Removed.
9277 (cmd_list): Likewise.
9278 (cmd_set): Likewise.
9279 (cmd_clear): Likewise.
9280 (list_variables): New function.
9281 (write_envblk): Likewise.
9282 (set_variables): Likewise.
9283 (unset_variables): Likewise.
9284 (main): Complete rewrite.
9285
9286 * commands/loadenv.c (buffer): Removed.
9287 (envblk): Likewise.
9288 (open_envblk_file): New function.
9289 (read_envblk_file): Complete rewrite.
9290 (grub_cmd_load_env): Likewise.
9291 (grub_cmd_list_env): Likewise.
9292 (struct blocklist): New struct.
9293 (free_blocklists): New function.
9294 (check_blocklists): Likewise.
9295 (write_blocklists): Likewise.
9296 (grub_cmd_save_env): Complete rewrite.
9297
9298 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
9299 a plain text signature.
9300 (GRUB_ENVBLK_MAXLEN): Removed.
9301 (struct grub_envblk): Complete rewrite.
9302 (grub_envblk_find): Removed.
9303 (grub_envblk_insert): Likewise.
9304 (grub_envblk_open): New prototype.
9305 (grub_envblk_set): Likewise.
9306 (grub_envblk_delete): Put const to VALUE.
9307 (grub_envblk_iterate): Put const to NAME and VALUE.
9308 (grub_envblk_close): New prototype.
9309 (grub_envblk_buffer): New inline function.
9310 (grub_envblk_size): Likewise.
9311
9312 * lib/envblk.c: Include grub/mm.h.
9313 (grub_env_find): Removed.
9314 (grub_envblk_open): New function.
9315 (grub_envblk_close): Likewise.
9316 (escaped_value_len): Likewise.
9317 (find_next_line): Likewise.
9318 (grub_envblk_insert): Removed.
9319 (grub_envblk_set): New function.
9320 (grub_envblk_delete): Complete rewrite.
9321 (grub_envblk_iterate): Likewise.
9322
a9368fd3 93232009-03-28 Robert Millan <rmh@aybabtu.com>
9324
9325 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
9326 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
9327 variables. Use 16-bit loader.
9328 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
9329 loader.
9330 * kern/i386/loader.S (grub_linux_boot): Rename to ...
9331 (grub_linux16_boot): ... this. Update all users.
9332 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
9333 (grub_linux_boot): ... this. Update all users.
9334
9335 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
9336 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
9337 commands to `linux16' and `initrd16'.
9338 (GRUB_MOD_FINI(linux)): Rename to ...
9339 (GRUB_MOD_FINI(linux16)): ... this.
9340
e4dd5a7e 93412009-03-24 Pavel Roskin <proski@gnu.org>
9342
9343 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
9344 not just for compilation.
9345
c04d6e05 93462009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 Move multiboot helper out of kernel
9349
9350 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
9351 `loader/i386/multiboot_helper.S'.
9352 * conf/i386-coreboot.rmk: Likewise
9353 * conf/i386-ieee1275.rmk: Likewise
9354
9355 * kern/i386/loader.S: Move multiboot helpers from here...
9356 * loader/i386/multiboot_helper.S: ...moved here
9357 * include/grub/i386/loader.h: Move declarations of multiboot
9358 helpers from here...
9359 * include/grub/i386/multiboot.h: ...moved here
9360 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
9361
42a5b3fc 93622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9363
9364 * kern/env.c (grub_env_context_open): Added an argument to specify
9365 whether a new context inherits exported variables from current
9366 one. This is useful when making a sandbox to interpret a config
9367 file.
9368 All callers updated.
9369
9370 * include/grub/env.h (grub_env_context_open): Updated the prototype.
9371
b28bbc4e 93722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9373
9374 * kern/env.c (grub_env_context_close): Fix memory leaks.
9375
f04f02e4 93762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
9377
9378 * normal/main.c (grub_normal_execute): Added an argument
9379 BATCH to specify if an interactive interface should be provided
9380 after reading a config file.
9381 All callers updated.
9382 (read_command_list): Prevent being executed twice.
9383 (read_fs_list): Likewise.
9384
42a5b3fc 9385 * include/grub/normal.h (grub_normal_execute): Updated the
9386 prototype.
f04f02e4 9387
41473ac2 93882009-03-22 Pavel Roskin <proski@gno.org>
9389
fbc00b0c 9390 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
9391 _start.
9392 * kern/i386/pc/startup.S: Likewise.
9393 * kern/i386/efi/startup.S: Likewise.
9394 * kern/i386/ieee1275/startup.S: Likewise.
9395 * kern/i386/coreboot/startup.S: Likewise.
9396 * kern/x86_64/efi/startup.S: Likewise.
9397
41473ac2 9398 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
9399 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
9400 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
9401
2274cc8f 94022009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Bugfixes in multiboot for bugs uncovered by solaris kernel.
9405
9406 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
9407 limit detection.
9408 Use vaddr of correct segment for entry_point.
9409
b1b797cb 94102009-03-21 Bean <bean123ch@gmail.com>
9411
9412 * commands/blocklist.c: Add include file <grub/command.h>, remove
9413 <grub/normal.h> and <grub/arg.h>.
9414 (grub_cmd_blocklist): Use the new command interface.
9415 (GRUB_MOD_INIT): Likewise.
9416 (GRUB_MOD_FINI): Likewise.
9417 * commands/boot.c: Likewise.
9418 * commands/cat.c: Likewise.
9419 * commands/cmp.c: Likewise.
9420 * commands/configfile.c: Likewise.
9421 * commands/crc.c: Likewise.
9422 * commands/echo.c: Likewise.
9423 * commands/halt.c: Likewise.
9424 * commands/handler.c: Likewise.
9425 * commands/hdparm.c: Likewise.
9426 * commands/help.c: Likewise.
9427 * commands/hexdump.c: Likewise.
9428 * commands/loadenv.c: Likewise.
9429 * commands/ls.c: Likewise.
9430 * commands/lsmmap.c: Likewise.
9431 * commands/lspci.c: Likewise.
9432 * commands/loadenv.c: Likewise.
9433 * commands/read.c: Likewise.
9434 * commands/reboot.c: Likewise.
9435 * commands/search.c: Likewise.
9436 * commands/sleep.c: Likewise.
9437 * commands/test.c: Likewise.
9438 * commands/usbtest.c: Likewise.
9439 * commands/videotest.c: Likewise.
9440 * commands/i386/cpuid.c: Likewise.
9441 * commands/i386/pc/halt.c: Likewise.
9442 * commands/i386/pc/play.c: Likewise.
9443 * commands/i386/pc/pxecmd.c: Likewise.
9444 * commands/i386/pc/vbeinfo.c: Likewise.
9445 * commands/i386/pc/vbetest.c: Likewise.
9446 * commands/ieee1275/suspend.c: Likewise.
9447 * disk/loopback.c: Likewise.
9448 * font/font_cmd.c: Likewise.
9449 * hello/hello.c: Likewise.
9450 * loader/efi/appleloader.c: Likewise.
9451 * loader/efi/chainloader.c: Likewise.
9452 * loader/i386/bsd.c: Likewise.
9453 * loader/i386/efi/linux.c: Likewise.
9454 * loader/i386/ieee1275/linux.c: Likewise.
9455 * loader/i386/linux.c: Likewise.
9456 * loader/i386/pc/chainloader.c: Likewise.
9457 * loader/i386/pc/linux.c: Likewise.
9458 * loader/powerpc/ieee1275/linux.c: Likewise.
9459 * loader/multiboot_loader.c: Likewise.
9460 * term/gfxterm.c: Likewise.
9461 * term/i386/pc/serial.c: Likewise.
9462 * term/terminfo.c: Likewise.
9463
9464 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
9465 * term/i386/pc/vga.c: Likewise.
9466 * video/readers/jpeg.c: Likewise.
9467 * video/readers/png.c: Likewise.
9468 * video/readers/tga.c: Likewise.
9469
9470 * util/grub-fstest (cmd_loopback): Removed.
9471 (cmd_blocklist): Likewise.
9472 (cmd_ls): Likewise.
9473 (grub_register_command): Likewise.
9474 (grub_unregister_command): Likewise.
9475 (execute_command): Use grub_command_find to locate command and execute
9476 it.
9477
9478 * include/grub/efi/chainloader.h: Removed.
9479 * loader/efi/chainloader_normal.c: Likewise.
9480 * loader/i386/bsd_normal.c: Likewise.
9481 * loader/i386/pc/chainloader_normal.c: Likewise.
9482 * loader/i386/pc/multiboot_normal.c: Likewise.
9483 * loader/linux_normal.c: Likewise.
9484 * loader/multiboot_loader_normal.c: Likewise.
9485 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
9486
9487 * gencmdlist.sh: Scan new registration command grub_register_extcmd
9488 and grub_register_command_p1.
9489
9490 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
9491 kern/command.c, lib/arg.c and commands/extcmd.c.
9492 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
9493 (minicmd_mod_SOURCES): New variable.
9494 (minicmd_mod_CFLAGS): Likewise.
9495 (minicmd_mod_LDFLAGS): Likewise.
9496 (extcmd_mod_SOURCES): Likewise.
9497 (extcmd_mod_CFLAGS): Likewise.
9498 (extcmd_mod_LDFLAGS): Likewise.
9499 (boot_mod_SOURCES): Removed.
9500 (boot_mod_CFLAGS): Likewise.
9501 (boot_mod_LDFLAGS): Likewise.
9502
9503 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
9504 kern/corecmd.c.
9505 (kernel_img_HEADERS): Add command.h.
9506 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
9507 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
9508 and lib/arg.c.
9509 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
9510 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
9511 remove the corresponding normal mode command.
9512 (normal_mod_SOURCES): Remove normal/arg.c.
9513 * conf/i386-coreboot.rmk: Likewise.
9514 * conf/i386-efi.rmk: Likewise.
9515 * conf/i386-ieee1275.rmk: Likewise.
9516 * conf/powerpc-ieee1275.rmk: Likewise.
9517 * conf/x86_64-efi.rmk: Likewise.
9518
9519 * include/grub/arg.h: Move from here ...
9520 * include/grub/lib/arg.h: ... to here.
9521
9522 * normal/arg.c: Move from here ...
9523 * lib/arg.c: ... to here.
9524
9525 * commands/extcmd.c: New file.
9526 * commands/minicmd.c: Likewise.
9527 * include/grub/command.h: Likewise.
9528 * include/grub/extcmd.h: Likewise.
9529 * kern/command.c: Likewise.
9530 * kern/corecmd.c: Likewise.
9531
9532 * kern/list.c (grub_list_iterate): Return int instead of void.
9533 (grub_list_insert): New function.
9534 (grub_prio_list_insert): Likewise.
9535
9536 * kern/rescue.c (grub_rescue_command): Removed.
9537 (grub_rescue_command_list): Likewise.
9538 (grub_rescue_register_command): Likewise.
9539 (grub_rescue_unregister_command): Likewise.
9540 (grub_rescue_cmd_boot): Move to minicmd.c
9541 (grub_rescue_cmd_help): Likewise.
9542 (grub_rescue_cmd_info): Likewise.
9543 (grub_rescue_cmd_boot): Likewise.
9544 (grub_rescue_cmd_testload): Likewise.
9545 (grub_rescue_cmd_dump): Likewise.
9546 (grub_rescue_cmd_rmmod): Likewise.
9547 (grub_rescue_cmd_lsmod): Likewise.
9548 (grub_rescue_cmd_exit): Likewise.
9549 (grub_rescue_print_devices): Moved to corecmd.c.
9550 (grub_rescue_print_files): Likewise.
9551 (grub_rescue_cmd_ls): Likewise.
9552 (grub_rescue_cmd_insmod): Likewise.
9553 (grub_rescue_cmd_set): Likewise.
9554 (grub_rescue_cmd_unset): Likewise.
7d074e3c 9555 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 9556 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 9557 commands, remove grub_rescue_register_command calls.
b1b797cb 9558
7d074e3c 9559 * normal/command.c (grub_register_command): Removed.
b1b797cb 9560 (grub_unregister_command): Likewise.
9561 (grub_command_find): Likewise.
9562 (grub_iterate_commands): Likewise.
9563 (rescue_command): Likewise.
9564 (export_command): Moved to corecmd.c.
9565 (set_command): Removed.
9566 (unset_command): Likewise.
9567 (insmod_command): Likewise.
9568 (rmmod_command): Likewise.
9569 (lsmod_command): Likewise.
9570 (grub_command_init): Likewise.
9571
9572 * normal/completion.c (iterate_command): Use cmd->prio to check for
9573 active command.
9574 (complete_arguments): Use grub_extcmd_t structure to find options.
9575 (grub_normal_do_completion): Change function grub_iterate_commands to
9576 grub_command_iterate.
9577
9578 * normal/execute.c (grub_script_execute_cmd): No need to parse
9579 argument here.
9580
9581 * normal/main.c (grub_dyncmd_dispatcher): New function.
9582 (read_command_list): Register unload commands as dyncmd.
9583 (grub_cmd_normal): Use new command interface, register rescue,
9584 unregister normal at entry, register normal, unregister rescue at exit.
9585
9586 * include/grub/list.h (grub_list_test_t): New type.
9587 (grub_list_iterate): Return int instead of void.
9588 (grub_list_insert): New function.
9589 (GRUB_AS_NAMED_LIST_P): New macro.
9590 (GRUB_AS_PRIO_LIST): Likewise.
9591 (GRUB_AS_PRIO_LIST_P): Likewise.
9592 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
9593 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
9594 (grub_prio_list): New structure.
9595 (grub_prio_list_insert): New function.
9596 (grub_prio_list_remove): New inline function.
9597
9598 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
9599 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
9600 (GRUB_COMMAND_FLAG_MENU): Likewise.
9601 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9602 (GRUB_COMMAND_FLAG_TITLE): Likewise.
9603 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9604 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
9605 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
9606 (grub_command): Likewise.
9607 (grub_register_command): Likewise.
9608 (grub_command_find): Likewise.
9609 (grub_iterate_commands): Likewise.
9610 (grub_command_init): Likewise.
9611 (grub_arg_parse): Likewise.
9612 (grub_arg_show_help): Likewise.
9613
9614 * include/grub/rescue.h (grub_rescue_register_command): Removed.
9615 (grub_rescue_unregister_command): Likewise.
9616
9617 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
9618 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
9619 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
9620
9621 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
9622 grub_rescue_cmd_initrd.
9623 * include/grub/i386/loader.h: Likewise.
9624 * include/grub/x86_64/loader.h: Likewise.
9625
9626 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
9627
1f4147aa 96282009-03-21 Bean <bean123ch@gmail.com>
9629
9630 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
9631 instead of stat in mingw environment.
9632
9633 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
9634
9635 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
9636
9637 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
9638 AC_CONFIG_LINKS.
9639
2156d5ba 96402009-03-21 Bean <bean123ch@gmail.com>
9641
9642 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
9643 out of range error.
9644
177b82ca 96452009-03-18 Michel Dänzer <michel@daenzer.net>
9646
9647 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
9648 checking inode flags for EXT4_EXTENTS_FLAG.
9649
14aad807 96502009-03-18 Robert Millan <rmh@aybabtu.com>
9651
9652 * loader/i386/linux.c: Include `<grub/video.h>' and
9653 `<grub/i386/pc/vbe.h>'..
9654 (grub_linux_setup_video): New function. Loosely based on the EFI one.
9655 (grub_linux32_boot): Attempt to configure video settings with
9656 grub_linux_setup_video().
9657 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
9658 to avoid grub_console_fini() which would step out of graphical mode
9659 unconditionally.
9660
8cf83a27 96612009-03-14 Robert Millan <rmh@aybabtu.com>
9662
9663 Fix build on powerpc.
9664 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
9665
40164e75 96662009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
9669 background image command.
9670
c58bc32a 96712009-03-12 Colin D Bennett <colin@gibibit.com>
9672
9673 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
9674 (grub_gfxterm_putchar): Extract pairs of identical calls to
9675 draw_cursor out of conditional blocks.
9676
5415144a 96772009-03-11 Pavel Roskin <proski@gnu.org>
9678
9679 * fs/hfs.c (grub_hfs_strncasecmp): New function.
9680 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
9681
6394042e 96822009-03-11 Robert Millan <rmh@aybabtu.com>
9683
9684 * loader/i386/multiboot_elfxx.c
9685 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
9686
b7b50e5f 96872009-03-11 Felix Zielcke <fzielcke@z-51.de>
9688
9689 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
9690 `kern/handler.c'.
9691
1ca7fc96 96922009-03-11 Robert Millan <rmh@aybabtu.com>
9693
9694 * loader/i386/multiboot.c (code_size): New variable.
9695 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 9696 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 9697 4-byte alignment to MBI and others by increasing
7d074e3c 9698 `boot_loader_name_length' appropriately.
1ca7fc96 9699
9700 * loader/i386/multiboot_elfxx.c
9701 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
9702
a83ea1d2 97032009-03-09 Felix Zielcke <fzielcke@z-51.de>
9704
9705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
9706 `fs/ext2.c'.
9707
aa9f3bff 97082009-03-08 Robert Millan <rmh@aybabtu.com>
9709
9710 Make loader/i386/linux.c usable on i386-pc again.
9711
9712 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
9713 memory to heap.
9714 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
9715 `#error' stanza.
9716
d8b3b60e 97172009-03-07 Bean <bean123ch@gmail.com>
9718
9719 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
9720 allocation.
9721
b362c9e9 97222009-03-06 Robert Millan <rmh@aybabtu.com>
9723
9724 Fix display issue on terminals with screen size other than 80x25
9725 (e.g. gfxterm with resolution higher than 640x480).
9726
9727 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 9728 position relative to the center of the terminal instead of relying
b362c9e9 9729 on a hardcoded offset.
9730
9304eef1 97312009-03-04 Robert Millan <rmh@aybabtu.com>
9732
9733 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
9734 installed.
9735
9736 * Makefile.in (host_kernel): New variable.
9737 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
9738 scripts instead of just the windows one.
9739 * configure.ac: Initialize and AC_SUBST `host_kernel'.
9740
eabc95fb 97412009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 9742
9743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
9744 `kern/handler.c'.
9745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9746 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9749 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9750 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9751
ceb1223c 97522009-03-04 Felix Zielcke <fzielcke@z-51.de>
9753
9754 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
9755 or if there's no space for the disk label and print the partition number on a
9756 invalid magic.
9757
4910684a 97582009-03-04 Felix Zielcke <fzielcke@z-51.de>
9759
9760 * util/misc.c: Include <time.h>.
9761 (grub_millisleep): New function.
9762
7e9ca17a 97632009-03-04 Bean <bean123ch@gmail.com>
9764
9765 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
9766 another option -mno-red-zone.
9767
9768 * commands/handler.c: Change module description.
9769
9770 * kern/handler.c: Add missing space at the end of description line.
9771
9772 * kern/list.c: Likewise.
9773
f501677c 97742009-03-03 Robert Millan <rmh@aybabtu.com>
9775
9776 Move more components to the relocation area, and fix mbi pointer
9777 handling to use the destination rather than the origin (thanks to
9778 Vladimir Serbinenko for spotting).
9779
9780 * loader/i386/multiboot.c (mbi_dest): New variable.
9781 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
9782 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
9783 relocation area.
9784
9902d047 97852009-03-01 Bean <bean123ch@gmail.com>
9786
50fb7002 9787 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 9788 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
9789 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
9790 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
9791
9792 * loader/i386/efi/linux.c (acpi_guid): New variable.
9793 (acpi_guid): Likewise.
9794 (EBDA_SEG_ADDR): New constant.
9795 (LOW_MEM_ADDR): Likewise.
9796 (FAKE_EBDA_SEG): Likewise.
9797 (fake_bios_data): New function.
9798 (grub_linux_boot): Call fake_bios_data.
9799
71b9f361 98002009-03-01 Bean <bean123ch@gmail.com>
9801
9802 * commands/terminal.c: Removed.
9803
9804 * commands/handler.c: New file.
9805
9806 * include/grub/list.h: Likewise.
9807
9808 * include/grub/handler.h: Likewise.
9809
9810 * kern/list.c: Likewise.
9811
9812 * kern/handler.c: Likewise.
9813
9814 * kern/term.h: Include header file <grub/handler.h>.
9815 (grub_term_input): Move next field to the beginning.
9816 (grub_term_output): Likewise.
9817 (grub_term_input_class): New variable.
9818 (grub_term_output_class): Likewise.
9819 (grub_term_register_input): Changed to inline function.
9820 (grub_term_register_output): Likewise.
9821 (grub_term_unregister_input): Likewise.
9822 (grub_term_unregister_output): Likewise.
9823 (grub_term_set_current_input): Likewise.
9824 (grub_term_set_current_output): Likewise.
9825 (grub_term_get_current_input): Likewise.
9826 (grub_term_get_current_output): Likewise.
9827 (grub_term_iterate_input): Removed.
9828 (grub_term_iterate_output): Likewise.
9829
9830 * kern/term.c (grub_term_list_input): Removed.
9831 (grub_term_list_output): Likewise.
9832 (grub_term_input_class): New variable.
9833 (grub_term_output_class): Likewise.
50fb7002 9834 (grub_cur_term_input): Change variable as macro.
71b9f361 9835 (grub_cur_term_output): Likewise.
9836 (grub_term_register_input): Removed.
9837 (grub_term_register_output): Likewise.
9838 (grub_term_unregister_input): Likewise.
9839 (grub_term_unregister_output): Likewise.
9840 (grub_term_set_current_input): Likewise.
9841 (grub_term_set_current_output): Likewise.
9842 (grub_term_iterate_input): Likewise.
9843 (grub_term_iterate_output): Likewise.
9844 (grub_term_get_current_input): Likewise.
9845 (grub_term_get_current_output): Likewise.
9846
9847 * util/grub-editenv.c: Include header file <grub/handler.h>.
9848 (grub_term_get_current_input): Removed.
9849 (grub_term_get_current_output): Likewise.
9850 (grub_term_input_class): New variable.
50fb7002 9851 (grub_term_output_class): Likewise.
71b9f361 9852
9853 * util/grub-fstest.c (grub_term_get_current_input): Removed.
9854 (grub_term_get_current_output): Likewise.
9855 (grub_term_input_class): New variable.
50fb7002 9856 (grub_term_output_class): Likewise.
71b9f361 9857
9858 * util/grub-probe.c (grub_term_get_current_input): Removed.
9859 (grub_term_get_current_output): Likewise.
9860 (grub_term_input_class): New variable.
50fb7002 9861 (grub_term_output_class): Likewise.
71b9f361 9862
9863 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
9864 (grub_term_get_current_output): Likewise.
9865 (grub_term_input_class): New variable.
50fb7002 9866 (grub_term_output_class): Likewise.
71b9f361 9867
9868 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
9869 (terminal_mod_SOURCES): Likewise.
9870 (terminal_mod_CFLAGS): Likewise.
9871 (terminal_mod_LDFLAGS): Likewise.
9872
9873 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
9874 handler.c.
9875 (kernel_img_SOURCES): Add list.c and handler.c.
9876 (kernel_img_HEADERS): Add list.h and handler.h.
9877
9878 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9879 handler.c.
9880 (kernel_mod_SOURCES): Add list.c and handler.c.
9881 (kernel_mod_HEADERS): Add list.h and handler.h.
9882
9883 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
9884 handler.c.
9885 (kernel_elf_SOURCES): Add list.c and handler.c.
9886 (kernel_elf_HEADERS): Add list.h and handler.h.
9887
9888 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9889 handler.c.
9890 (kernel_elf_SOURCES): Add list.c and handler.c.
9891 (kernel_elf_HEADERS): Add list.h and handler.h.
9892
9893 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
9894 handler.c.
9895 (kernel_mod_SOURCES): Add list.c and handler.c.
9896 (kernel_mod_HEADERS): Add list.h and handler.h.
9897
9898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
9899 handler.c.
9900 (kernel_elf_SOURCES): Add list.c and handler.c.
9901 (kernel_elf_HEADERS): Add list.h and handler.h.
9902
8a31787f 99032009-02-27 Robert Millan <rmh@aybabtu.com>
9904
9905 Factorize elf32 / elf64 code in Multiboot loader. This will
9906 prevent it from getting out of sync again.
9907
9908 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
9909 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
9910 grub_multiboot_load_elf64): Move from here ...
9911 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
9912 grub_multiboot_load_elf): ... to here (new file).
9913
51cd3dfc 99142009-02-27 Robert Millan <rmh@aybabtu.com>
9915
9916 * util/grub.d/10_linux.in: Rename "single-user mode" to
9917 "recovery mode".
9918
6e8c9c3a 99192009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 Don't leak in SCSI code.
9922 * disk/scsi.c (grub_scsi_close): free `scsi'.
9923
4b6bf4f9 99242009-02-27 Robert Millan <rmh@aybabtu.com>
9925
9926 * loader/i386/pc/multiboot.c: Move from here ...
9927 * loader/i386/multiboot.c: ... to here. Update all users.
9928
b9413424 99292009-02-27 Robert Millan <rmh@aybabtu.com>
9930
9931 Patch from Alexandre Bique <bique.alexandre@gmail.com>
9932 * util/i386/pc/grub-setup.c (setup): Fix directory path.
9933
50fb7002 99342009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 9935
9936 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
9937 b-tree.
9938
8cc50345 99392009-02-27 Robert Millan <rmh@aybabtu.com>
9940
9941 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
9942 `0x' qualifier as 0 when base is specified as parameter).
9943
6e09b8b7 99442009-02-24 Bean <bean123ch@gmail.com>
9945
9946 * configure.ac: Check for -mcmodel=large in x86_64 target.
9947
9948 * include/grub/efi/api.h (efi_call_10): New macro.
9949 (efi_wrap_10): New function.
9950
9951 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
9952 (GRUB_PE32_REL_BASED_HIGH): Likewise.
9953 (GRUB_PE32_REL_BASED_LOW): Likewise.
9954 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
9955 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
9956 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
9957 (GRUB_PE32_REL_BASED_SECTION): Likewise.
9958 (GRUB_PE32_REL_BASED_REL): Likewise.
9959 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
9960 (GRUB_PE32_REL_BASED_DIR64): Likewise.
9961 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
9962
9963 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
9964 issue.
9965
9966 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
9967 (efi_wrap_10): New function.
9968
9969 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
9970
9971 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
9972 MB/MBP model (NV chipset).
9973 (devdata_devs): Add devpath_5 to the list.
9974
9975 * load/i386/efi/linux.c (video_base): Remove variable.
9976 (RGB_MASK): New macro.
9977 (RGB_MAGIC): Likewise.
9978 (LINE_MIN): Likewise.
9979 (LINE_MAX): Likewise.
9980 (FBTEST_STEP): Likewise.
9981 (FBTEST_COUNT): Likewise.
9982 (fb_list): New variable.
9983 (grub_find_video_card): Remove function.
9984 (find_framebuf): New function.
9985 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
9986 line length.
9987
9988 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
9989 problem for x86_64.
9990
74b21bee 99912009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
9992
9993 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
9994
9995 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
9996 coding tool name.
9997
a455f472 99982009-02-22 Robert Millan <rmh@aybabtu.com>
9999
10000 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10001 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10002 in our relocation, instead of using it directly from heap. Also
10003 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10004
6374daf3 100052009-02-21 Robert Millan <rmh@aybabtu.com>
10006
10007 Implement USB keyboard support (based on patch by Marco Gerards)
10008
10009 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10010 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10011 (usb_keyboard_mod_LDFLAGS): New variables.
10012
10013 * term/usb_keyboard.c: New file.
10014
8fa4ea70 100152009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Corrected wrong declaration
10018
10019 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10020
353976ac 100212009-02-14 Christian Franke <franke@computer.org>
10022
10023 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10024 (grub_lspci_iter): Print class code and programming interface byte.
10025
6aa1169b 100262009-02-14 Christian Franke <franke@computer.org>
10027
10028 * gendistlist.sh: Ignore `.svn' directories.
10029
265372ca 100302009-02-14 Felix Zielcke <fzielcke@z-51.de>
10031
10032 * fs/fat.c: Add 2009 to Copyright line.
10033
9ff516f3 100342009-02-14 Christian Franke <franke@computer.org>
10035
10036 * commands/hdparm.c: New file. Provides `hdparm' command
10037 which sends ATA commands via grub_disk_ata_pass_through ().
10038
10039 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
10040
10041 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
10042 and <grub/cpu/io.h> to include/grub/ata.h.
10043 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
10044 (GRUB_CDROM_SECTOR_SIZE): Remove.
10045 (GRUB_ATA_*): Move to include/grub/ata.h.
10046 (GRUB_ATAPI_*): Likewise.
10047 (enum grub_ata_commands): Likewise.
10048 (enum grub_ata_timeout_milliseconds): Likewise.
10049 (struct grub_ata_device): Likewise.
10050 (grub_ata_regset): Likewise.
10051 (grub_ata_regget): Likewise.
10052 (grub_ata_regset2): Likewise.
10053 (grub_ata_regget2): Likewise.
10054 (grub_ata_check_ready): Likewise.
10055 (grub_ata_wait_not_busy): Remove static, exported in
10056 include/grub/ata.h.
10057 (grub_ata_wait_drq): Likewise.
10058 (grub_ata_pio_read): Likewise.
10059
10060 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
10061 function for hdparm.mod.
10062
10063 * include/grub/ata.h: New file, contains declarations from
10064 disk/ata.c.
10065 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
10066
10067 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
10068 (grub_disk_ata_pass_through): New exported variable.
10069
10070 * kern/disk.c (grub_disk_ata_pass_through): New variable.
10071
772e23da 100722009-02-13 Colin D Bennett <colin@gibibit.com>
10073
10074 Support multiple fallback entries, and provide an API to support
10075 executing default+fallback menu entries. Renamed the `terminal' menu
10076 viewer to `text'.
10077
10078 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
10079 variable declaration.
10080 (grub_menu_execute_callback): New structure declaration.
10081 (grub_menu_execute_callback_t): New typedef.
10082 (grub_menu_execute_with_fallback): New function declaration.
10083 (grub_menu_get_entry): Likewise.
10084 (grub_menu_get_timeout): Likewise.
10085 (grub_menu_set_timeout): Likewise.
10086
10087 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
10088
10089 * normal/menu.c (grub_wait_after_message): Moved to
10090 `normal/menu_text.c'.
10091 (draw_border): Likewise.
10092 (print_message): Likewise.
10093 (print_entry): Likewise.
10094 (print_entries): Likewise.
10095 (grub_menu_init_page): Likewise.
10096 (get_entry_number): Likewise.
10097 (print_timeout): Likewise.
10098 (run_menu): Likewise.
10099 (grub_menu_execute_entry): Likewise.
10100 (show_text_menu): Likewise.
10101 (get_and_remove_first_entry_number): New function.
10102 (grub_menu_execute_with_fallback): Likewise.
10103 (get_entry): Renamed to ...
10104 (grub_menu_get_entry): .. this and made it global.
10105 (get_timeout): Renamed to ...
10106 (grub_menu_get_timeout): ... this and made it global.
10107 (set_timeout): Renamed to ...
10108 (grub_menu_set_timeout): ... this and made it global.
10109 (grub_normal_terminal_menu_viewer): Renamed to ...
10110 (grub_normal_text_menu_viewer): ... this.
10111
10112 * normal/menu_text.c: New file. Extracted text-menu-specific code
10113 from normal/menu.c.
10114
10115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
10116 (normal_mod_SOURCES): Likewise.
10117
10118 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10119 (normal_mod_SOURCES): Likewise.
10120
10121 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10122 (normal_mod_SOURCES): Likewise.
10123
10124 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
10125 (normal_mod_SOURCES): Likewise.
10126
10127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10128 (normal_mod_SOURCES): Likewise.
10129
10130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10131 (normal_mod_SOURCES): Likewise.
10132
10133 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10134 (normal_mod_SOURCES): Likewise.
10135
16ac430e 101362009-02-11 Robert Millan <rmh@aybabtu.com>
10137
10138 * util/grub.d/00_header.in: Update old reference to `font' command.
10139
06ff20fc 101402009-02-10 Felix Zielcke <fzielcke@z-51.de>
10141
10142 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
10143
10144 Based on patch from Javier Martín.
10145
96da9407 101462009-02-09 Felix Zielcke <fzielcke@z-51.de>
10147
10148 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 10149 to avoid false positives with FAT.
96da9407 10150 (grub_fstest_SOURCES): Likewise.
10151 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10152 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10155 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10157
6dca6fe4 101582009-02-09 Felix Zielcke <fzielcke@z-51.de>
10159
06ff20fc 10160 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 10161 bpb.version_specific.fat12_or_fat16.fstype and
10162 bpb.version_specific.fat32.fstype.
10163
2550c62f 101642009-02-08 Robert Millan <rmh@aybabtu.com>
10165
be110b30 10166 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 10167
56978920 101682009-02-08 Robert Millan <rmh@aybabtu.com>
10169
10170 * Makefile.in (host_os, host_cpu): New variables.
10171 (target_os): Remove. Update all users.
10172
d64399b5 101732009-02-08 Marco Gerards <marco@gnu.org>
10174
10175 * Makefile.in (enable_grub_emu_usb): New variable.
10176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
10177 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
10178 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
10179 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
10180 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
10181 `usbtest.mod' and `usbms.mod'.
10182 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
10183 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
10184 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
10185 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
10186 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
10187 variables.
10188
10189 * disk/usbms.c: New file.
10190
10191 * include/grub/usb.h: Likewise.
10192
10193 * include/grub/usbtrans.h: Likewise.
10194
10195 * include/grub/usbdesc.h: Likewise.
10196
10197 * bus/usb/usbtrans.c: Likewise.
10198
10199 * bus/usb/ohci.c: Likewise.
10200
10201 * bus/usb/uhci.c: Likewise.
10202
10203 * bus/usb/usbhub.c: Likewise.
10204
10205 * bus/usb/usb.c: Likewise.
10206
10207 * commands/usbtest.c: Likewise.
10208
10209 * util/usb.c: Likewise.
50fb7002 10210
d64399b5 10211 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
10212
10213 * configure.ac: Test for libusb presence.
50fb7002 10214
d64399b5 10215 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
10216
2b40d6bb 102172009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
10218
10219 * kern/mm.c: Add more comments.
10220
73a4ce81 102212009-02-08 Robert Millan <rmh@aybabtu.com>
10222
10223 Patch from Javier Martín.
10224 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
10225 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
10226
f821ce59 102272009-02-08 Robert Millan <rmh@aybabtu.com>
10228
10229 * fs/cpio.c: Split tar functionality to ...
10230 * fs/tar.c: ... here (new file). Update all users.
10231
aebfc4b0 102322009-02-07 Robert Millan <rmh@aybabtu.com>
10233
10234 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
10235 backward-incompatible features.
10236
10237 Based on patch from Javier Martín, with some adjustments.
10238
50fb7002 102392009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 10240
10241 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
10242
0bb5115e 102432009-02-07 Robert Millan <rmh@aybabtu.com>
10244
10245 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
10246 position of `disk/lvm.c' to ensure grub_init_all() always picks it
10247 after the RAID stuff.
10248
38a0f8e7 102492009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
10250
50fb7002 10251 Fixes problem when running vbetest command as reported by
38a0f8e7 10252 Vladimir Serbinenko <phcoder@gmail.com>.
10253
10254 * (grub_vbe_set_video_mode): Fixed problem with text modes.
10255
3143cc1c 102562009-02-04 Felix Zielcke <fzielcke@z-51.de>
10257
10258 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
10259 /dev/md/NpN style mdraid devices.
10260
9cba6fce 102612009-02-03 Felix Zielcke <fzielcke@z-51.de>
10262
10263 * util/unifont2pff.rb: Remove.
10264
e507a2c1 102652009-02-03 Felix Zielcke <fzielcke@z-51.de>
10266
10267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
10268 `#'.
10269
d2c2b4cd 102702009-02-03 Felix Zielcke <fzielcke@z-51.de>
10271
10272 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
10273 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10274 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10275 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10277 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10278 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10279
b4315fb0 102802009-02-02 Christian Franke <franke@computer.org>
10281
10282 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
10283
de3aa260 102842009-02-01 Felix Zielcke <fzielcke@z-51.de>
10285
7c3ff286 10286 * INSTALL: Note that we now require at least autoconf 2.59 and
10287 that LZO is optional.
de3aa260 10288
825a182b 102892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10290
10291 Base on patch on bug #24154 created by Tomas Tintera
10292 <trosos@seznam.cz>.
10293
10294 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
10295
a69ef770 102962009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
10297
7c3ff286 10298 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 10299 <bero@arklinux.org>.
10300
10301 * normal/parser.y (script_init): Add missing semicolon.
10302
6fa42fa6 103032009-01-31 Colin D Bennett <colin@gibibit.com>
10304
7c3ff286 10305 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 10306 (free_menu_entry_classes): Added.
10307 (grub_normal_menu_addentry): Added class property handling.
10308 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
10309 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
10310
10311 * normal/menu_viewer.c: New file.
10312
10313 * normal/menu.c (run_menu_entry): Renamed to ...
10314 (grub_menu_execute_entry): ... this and made it as global.
10315 (grub_menu_run): Renamed to ...
10316 (show_text_menu): ... this and made it local.
10317 (show_text_menu): Adapt to new function names.
10318 (grub_normal_terminal_menu_viewer): New global variable.
10319
10320 * include/grub/menu.h: New file.
10321
10322 * include/grub/menu_viewer.h: New file.
10323
10324 * include/grub/normal.h: Added include to grub/menu.h.
10325 (grub_menu_entry): Moved to include/grub/menu.h.
10326 (grub_menu_entry_t): Likewise.
10327 (grub_menu): Likewise.
10328 (grub_menu_t): Likewise.
10329 (grub_normal_terminal_menu_viewer): Added.
10330 (grub_menu_execute_entry): Likewise.
10331 (grub_menu_run): Removed.
10332
10333 * DISTLIST: Added include/grub/menu.h.
10334 Added include/grub/menu_viewer.h.
10335 Added normal/menu_viewer.c.
10336
103372009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
10338
10339 * normal/execute.c (grub_script_execute_menuentry): Changed to use
10340 arglist for menutitle arguments.
10341
10342 * normal/main.c (grub_normal_menu_addentry): Likewise.
10343
10344 * normal/parser.y (menuentry): Likewise.
10345
10346 * normal/script.c (grub_script_create_cmdmenu): Likewise.
10347
10348 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
10349 (grub_script_create_cmdmenu): Likewise.
10350
10351 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
10352
10353 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
10354 changes.
10355
10356 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
10357
10358 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
10359
10360 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
10361
10362 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10363
10364 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10365
10366 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
10367
56192c23 103682009-01-30 Christian Franke <franke@computer.org>
10369
10370 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
10371 in option help text.
10372
d72521b3 103732009-01-27 Pavel Roskin <proski@gnu.org>
10374
10375 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
10376
994b5e84 103772009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10378
10379 * commands/lsmmap.c: Add include to grub/machine/memory.h.
10380
10381 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
10382
10383 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
10384 unregister function.
10385
6a7eab2c 103862009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
10387
10388 * disk/scsi.c (grub_scsi_read): Fix sign problem.
10389
10390 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
10391
10392 * util/grub-mkfont.c (usage): Fix typo.
10393
10394 * util/elf/grub-mkimage.c (load_modules): Fix warning.
10395
1806b56e 103962009-01-26 Daniel Mierswa <impulze@impulze.org>
10397
3fb18f09 10398 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
10399
336e1fb9 10400 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
10401
1806b56e 10402 * kern/misc.c (grub_strcasecmp): New function.
10403 (grub_strcasecmp): Use grub_size_t instead of int for length.
10404 Fix return value.
10405 * include/grub/misc.h: Update function prototypes.
10406
580b2a0f 104072009-01-26 Robert Millan <rmh@aybabtu.com>
10408
10409 * configure.ac: Fix cross-compilation check.
ef257b36 10410
d31c24f1 104112009-01-22 Christian Franke <franke@computer.org>
10412
10413 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
10414 (precision) digit string. Allow `.format2' without `format1' (width).
10415 Limit input chars for `%s' output to `format2' if specified. This is
10416 compatible with standard printf ().
10417
3138b44c 104182009-01-22 Christian Franke <franke@computer.org>
10419
10420 * disk/ata.c (grub_ata_wait_status): Replace by ...
10421 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
10422 other status bits may be invalid while BSY is asserted.
10423 (grub_ata_check_ready): New function.
10424 (grub_ata_cmd): Removed.
10425 (grub_ata_wait_drq): New function.
10426 (grub_ata_strncpy): Remove inline.
10427 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
10428 and error check now done by grub_ata_wait_drq ().
10429 (grub_ata_pio_write): Likewise.
10430 (grub_atapi_identify): Set DEV before check for !BSY. Use
10431 grub_ata_wait_drq () to wait for data.
10432 (grub_ata_device_initialize): Add status register check to
10433 detect missing SATA slave devices. Add debug messages.
10434 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
10435 (grub_atapi_packet): Set DEV before check for !BSY. Replace
10436 transfer loop by grub_ata_pio_write ().
10437 (grub_ata_identify): Set DEV before check for !BSY. Use
10438 grub_ata_wait_drq () to wait for data.
ef257b36 10439 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 10440 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
10441 read/write in one loop. Fix invalid command on write. Fix incomplete
10442 command on (size % batch) == 0. Add missing error check after write of
10443 last block. Add debug messages.
10444 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
10445
59a64ef6 104462009-01-19 Christian Franke <franke@computer.org>
10447
10448 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
10449 (GRUB_ATAPI_IREASON_*): Likewise.
10450 (grub_ata_pio_write): Fix timeout error return.
10451 (grub_atapi_identify): Add grub_ata_wait () after cmd.
10452 (grub_atapi_wait_drq): New function.
10453 (grub_atapi_packet): New parameter `size'.
10454 Use grub_atapi_wait_drq () and direct write instead of
10455 grub_ata_pio_write ().
10456 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
10457 reads the number of bytes requested by the device for each DRQ
10458 assertion.
10459 (grub_atapi_write): Remove old implementation, return not
10460 implemented instead.
10461
1cfe20b3 104622009-01-19 Christian Franke <franke@computer.org>
10463
10464 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
10465 of 512 to calculate data size.
10466 (grub_scsi_read12): Likewise.
10467 (grub_scsi_write10): Likewise.
10468 (grub_scsi_write12): Likewise.
10469 (grub_scsi_read): Adjust size according to blocksize.
10470 Add checks for invalid blocksize and unaligned transfer.
10471
bee5fe5d 104722009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
10473
10474 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
10475
ef257b36 10476 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 10477 width glyphs.
10478
3e643f8c 104792009-01-19 Robert Millan <rmh@aybabtu.com>
10480
10481 * config.guess: Update to latest version from config git.
10482 * config.sub: Likewise.
10483
4fa80998 104842009-01-17 Felix Zielcke <fzielcke@z-51.de>
10485
10486 * Makefile.in: Change font compilation to use new grub-mkfont instead
10487 of java version.
10488
10489 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
10490 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
10491 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10492 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
10493 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
10494 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
10495 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
10496 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
10497 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10498
7086085b 104992009-01-16 Christian Franke <franke@computer.org>
10500
10501 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
10502 (enum grub_ata_timeout_milliseconds): New enum.
10503 (grub_ata_wait_status): Add parameter milliseconds.
10504 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
10505 recovery from timed-out commands.
10506 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
10507 return grub_errno instead of REG_ERROR.
10508 (grub_ata_pio_write): Add parameter milliseconds.
10509 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
10510 Pass milliseconds to grub_ata_wait_status () and
10511 grub_ata_pio_read ().
10512 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
10513 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
10514 grub_ata_wait_status (). Fix IDENTIFY timeout check.
10515 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
10516 It is not suitable for device detection, because DEV bit is ignored,
10517 the command may run too long, and not all devices set the signature
10518 properly.
10519 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
10520 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
10521 Fix device selection, DEV bit must be set first to address the registers
10522 of the correct device.
10523 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
10524 grub_ata_pio_read/write ().
10525 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
10526 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
10527
4a412913 105282009-01-13 Carles Pina i Estany <carles@pina.cat>
10529
10530 * util/grub-editenv.c (main): Use fseeko(), not fseek().
10531
7795c55e 105322009-01-13 Bean <bean123ch@gmail.com>
d913988c 10533
10534 * util/grub-mkfont.c (write_font): forget to remove some debug code.
10535
7795c55e 105362009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 10537
10538 * Makefile.in: (enable_grub_mkfont): New variable.
10539 (freetype_cflags): Likewise.
10540 (freetype_libs): Likewise.
10541
10542 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
10543 (grub_mkfont_SOURCES): New variable.
10544 (grub_mkfont_CFLAGS): Likewise.
10545 (grub_mkfont_LDFLAGS): Likewise.
10546
10547 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
10548 library if `--enable-grub-mkfont' is requested.
10549 (enable_grub_mkfont): New variable.
10550 (freetype_cflags): Likewise.
10551 (freetype_libs): Likewise.
10552
10553 * util/grub-mkfont.c: New file.
10554
093af1fe 105552009-01-12 Christian Franke <franke@computer.org>
10556
10557 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
10558 mode check. Fix setting of compat_use[].
10559
f36cc108 105602009-01-10 Robert Millan <rmh@aybabtu.com>
10561
10562 Update a few copyright years which we forgot to do in 2008 (only for
10563 files whose changes made in 2008 were copyright-significant)
10564
10565 * Makefile.in: Add 2008 to Copyright line.
10566 * disk/ieee1275/ofdisk.c: Likewise.
10567 * disk/efi/efidisk.c: Likewise.
10568 * kern/dl.c: Likewise.
10569 * kern/sparc64/ieee1275/init.c: Likewise.
10570 * kern/mm.c: Likewise.
10571 * kern/efi/mm.c: Likewise.
10572 * boot/i386/pc/boot.S: Likewise.
10573 * genfslist.sh: Likewise.
10574 * fs/iso9660.c: Likewise.
10575 * fs/hfs.c: Likewise.
10576 * fs/jfs.c: Likewise.
10577 * fs/minix.c: Likewise.
10578 * fs/ufs.c: Likewise.
10579 * gensymlist.sh.in: Likewise.
10580 * genkernsyms.sh.in: Likewise.
10581 * include/grub/misc.h: Likewise.
10582 * include/grub/types.h: Likewise.
10583 * include/grub/symbol.h: Likewise.
10584 * include/grub/elf.h: Likewise.
10585 * include/grub/kernel.h: Likewise.
10586 * include/grub/disk.h: Likewise.
10587 * include/grub/dl.h: Likewise.
10588 * include/grub/i386/linux.h: Likewise.
10589 * include/grub/i386/pc/biosdisk.h: Likewise.
10590 * include/grub/efi/api.h: Likewise.
10591 * include/grub/efi/pe32.h: Likewise.
10592 * include/grub/util/misc.h: Likewise.
10593 * normal/execute.c: Likewise.
10594 * normal/arg.c: Likewise.
10595 * normal/completion.c: Likewise.
10596 * normal/lexer.c: Likewise.
10597 * normal/parser.y: Likewise.
10598 * normal/misc.c: Likewise.
10599 * commands/i386/pc/vbeinfo.c: Likewise.
10600 * commands/hexdump.c: Likewise.
10601 * commands/terminal.c: Likewise.
10602 * commands/ls.c: Likewise.
10603 * commands/help.c: Likewise.
10604 * partmap/pc.c: Likewise.
10605 * loader/efi/chainloader.c: Likewise.
10606 * loader/multiboot_loader.c: Likewise.
10607 * loader/i386/pc/multiboot2.c: Likewise.
10608 * term/efi/console.c: Likewise.
10609 * term/i386/pc/serial.c: Likewise.
10610 * util/lvm.c: Likewise.
10611 * util/console.c: Likewise.
10612 * util/i386/efi/grub-mkimage.c: Likewise.
10613 * util/raid.c: Likewise.
10614
7f02114b 106152009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
10616
10617 * commands/videotest.c: Removed include to grub/machine/memory.h.
10618
10619 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
10620 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
10621 (video_mod_SOURCES): Removed.
10622 (video_mod_CFLAGS): Likewise.
10623 (video_mod_LDFLAGS): Likewise.
10624 (gfxterm_mod_SOURCES): Likewise.
10625 (gfxterm_mod_CFLAGS): Likewise.
10626 (gfxterm_mod_LDFLAGS): Likewise.
10627 (videotest_mod_SOURCES): Likewise.
10628 (videotest_mod_CFLAGS): Likewise.
10629 (videotest_mod_LDFLAGS): Likewise.
10630 (bitmap_mod_SOURCES): Likewise.
10631 (bitmap_mod_CFLAGS): Likewise.
10632 (bitmap_mod_LDFLAGS): Likewise.
10633 (tga_mod_SOURCES): Likewise.
10634 (tga_mod_CFLAGS): Likewise.
10635 (tga_mod_LDFLAGS): Likewise.
10636 (jpeg_mod_SOURCES): Likewise.
10637 (jpeg_mod_CFLAGS): Likewise.
10638 (jpeg_mod_LDFLAGS): Likewise.
10639 (png_mod_SOURCES): Likewise.
10640 (png_mod_CFLAGS): Likewise.
10641 (png_mod_LDFLAGS): Likewise.
10642
10643 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
10644 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
10645 (video_mod_SOURCES): Added.
10646 (video_mod_CFLAGS): Likewise.
10647 (video_mod_LDFLAGS): Likewise.
10648 (videotest_mod_SOURCES): Likewise.
10649 (videotest_mod_CFLAGS): Likewise.
10650 (videotest_mod_LDFLAGS): Likewise.
10651 (bitmap_mod_SOURCES): Likewise.
10652 (bitmap_mod_CFLAGS): Likewise.
10653 (bitmap_mod_LDFLAGS): Likewise.
10654 (tga_mod_SOURCES): Likewise.
10655 (tga_mod_CFLAGS): Likewise.
10656 (tga_mod_LDFLAGS): Likewise.
10657 (jpeg_mod_SOURCES): Likewise.
10658 (jpeg_mod_CFLAGS): Likewise.
10659 (jpeg_mod_LDFLAGS): Likewise.
10660 (png_mod_SOURCES): Likewise.
10661 (png_mod_CFLAGS): Likewise.
10662 (png_mod_LDFLAGS): Likewise.
10663 (gfxterm_mod_SOURCES): Likewise.
10664 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 10665 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 10666
10667 * term/gfxterm.c: Removed include to grub/machine/memory.h,
10668 grub/machine/console.h.
10669
644fff97 106702009-01-04 Jerone Young <jerone@gmail.com>
10671
10672 Make on screen instructions clearer
10673
10674 Based on patch created by Jidanni <jidanni@jidanni.org>
10675
10676 * normal/menu.c: print clearer instructions on the screen
10677
1e901a75 106782009-01-02 Colin D Bennett <colin@gibibit.com>
10679
10680 New font engine.
34c44600 10681
1e901a75 10682 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
10683 build system and fixed gfxterm.c to work with different sized fonts.
10684
10685 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 10686
1e901a75 10687 * configure: Re-generated.
34c44600 10688
1e901a75 10689 * DISTLIST: Removed font/manager.c.
10690 Added font/font.c.
10691 Added font/font_cmd.c.
34c44600 10692
1e901a75 10693 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
10694 compilation.
34c44600 10695
1e901a75 10696 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 10697
10698 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 10699
10700 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 10701
1e901a75 10702 * normal/menu.c: Likewise.
34c44600 10703
1e901a75 10704 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
10705 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 10706
1e901a75 10707 * include/grub/font.h: Replaced with new file.
34c44600 10708
1e901a75 10709 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
10710 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
10711 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
10712 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
10713 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 10714 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 10715 fg_red, fg_green, fg_blue, fg_alpha.
10716 (grub_video_adapter): Removed blit_glyph.
34c44600 10717 (grub_video_blit_glyph): Removed.
10718
1e901a75 10719 * font/manager.c: Removed file.
34c44600 10720
10721 * font/font.c: New file.
10722
1e901a75 10723 * font/font_cmd.c: Likewise.
34c44600 10724
1e901a75 10725 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 10726
1e901a75 10727 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
10728 (grub_video_vbe_map_rgba): Likewise.
10729 (grub_video_vbe_unmap_color_int): Likewise.
10730 (grub_video_vbe_blit_glyph): Removed.
10731 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 10732
1e901a75 10733 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
10734 (get_pixel): Likewise.
34c44600 10735 (set_pixel): Likewise.
10736
1e901a75 10737 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 10738
1e901a75 10739 * term/gfxterm.c: Adapted to new font engine.
34c44600 10740
1e901a75 10741 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 10742
1e901a75 10743 * term/i386/pc/vga.c: Likewise.
34c44600 10744
1e901a75 10745 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 10746
1e901a75 10747 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 10748
1e901a75 10749 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10750
1e901a75 10751 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 10752
1e901a75 10753 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 10754
1e901a75 10755 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 10756
1e901a75 10757 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 10758
1e901a75 10759 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 10760
1e901a75 10761 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
10762
10763 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 10764
1e901a75 10765 * util/grub-mkconfig_lib.in: Changed font extension.
10766
278922e8 107672008-12-28 Felix Zielcke <fzielcke@z-51.de>
10768
10769 * util/getroot.c (grub_util_get_grub_dev): Add support for
10770 /dev/md/dNNpNN style partitionable mdraid devices.
10771
3ced05cf 107722008-12-12 Alex Smith <alex@alex-smith.me.uk>
10773
10774 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
10775 at a time limit of the PXE TFTP API correctly.
10776 (grub_pxefs_close): Likewise.
10777
7fd0ee30 107782008-11-29 Robert Millan <rmh@aybabtu.com>
10779
34c44600 10780 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 10781 grub_ata_device_initialize() calls.
10782
34c44600 107832008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 10784
10785 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
10786 iteration failed.
10787 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
10788
89313780 107892008-11-28 Robert Millan <rmh@aybabtu.com>
10790
10791 Fix build on powerpc-ieee1275. Based on patch created by
10792 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
10793 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10794 `kern/ieee1275/mmap.c'.
10795 * include/grub/powerpc/ieee1275/memory.h: New file.
10796
15257703 10797 Provide grub-install on coreboot.
10798 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
10799 (grub_install_SOURCES): New variable.
10800 * util/i386/pc/grub-install.in: Add a few condition checks to make it
10801 usable on coreboot.
10802
9fc5388a 108032008-11-25 Felix Zielcke <fzielcke@z-51.de>
10804
10805 * util/grub-fstest.c (grub_term_get_current_input): Change return type
10806 to `grub_term_input_t'.
10807 (grub_term_get_current_output): Change return type to
10808 `grub_term_output_t'.
10809
bc3a2f31 108102008-11-22 Robert Millan <rmh@aybabtu.com>
10811
34c44600 10812 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 10813 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
10814 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
10815 grub_vga_text_cls().
10816
80fc88f2 10817 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 10818 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 10819
cbf36fd3 10820 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
10821 to 0x200000 (avoids trouble with some OFW implementations, and matches
10822 with the one in Yaboot).
10823 Reported by Manoel Abranches
10824
73e8e268 108252008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 10826
10827 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
10828 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
10829
73e8e268 10830 * util/grub-mkconfig_lib.in (grub_warn): New function.
10831 (convert_system_path_to_grub_path): Use grub_warn() when issuing
10832 warnings, to obtain consistent formatting.
10833 * util/grub.d/00_header.in: Likewise.
10834 * util/update-grub_lib.in: Likewise.
10835
e94045a1 10836 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 10837 Move comment text to `#error' stanza.
e94045a1 10838
79d29fd7 10839 Harmonize ieee1275's grub_available_iterate() with the generic
10840 grub_machine_mmap_iterate() interface (fixes a recently-introduced
10841 build problem on i386-ieee1275):
10842 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
10843 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
10844 parameter `type'. Update all users of this function.
10845 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
10846 `kern/ieee1275/mmap.c'.
10847 * kern/ieee1275/init.c
10848 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
10849 with ...
10850 (grub_machine_mmap_iterate): ... this.
10851 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
10852 return type to `grub_err_t'. Update all implementations of this
10853 function prototype.
10854 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
10855 Likewise.
10856
60d6b16e 10857 Add `lsmmap' command (lists firmware-provided memory map):
10858 * commands/lsmmap.c: New file.
10859 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
10860 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
10861 variables.
10862 * conf/powerpc-ieee1275.rmk: Likewise.
10863 * conf/i386-coreboot.rmk: Likewise.
10864 * conf/i386-ieee1275.rmk: Likewise.
10865
ebaaf49b 108662008-11-19 Robert Millan <rmh@aybabtu.com>
10867
10868 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 10869 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
10870 constraints to initrd allocation (based on code from
10871 loader/i386/pc/linux.c). Without them, initrd was allocated too high
10872 for Linux to find it.
ebaaf49b 10873
dfab719f 108742008-11-14 Robert Millan <rmh@aybabtu.com>
10875
10876 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
10877 order to cope with duplicate slashes.
10878
10fc3eb9 108792008-11-14 Robert Millan <rmh@aybabtu.com>
10880
10881 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
10882 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
10883 don't want to mess with lower memory, because it is used in the Linux
10884 loader.
10885
10886 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 10887 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 10888 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
10889 is in our heap (probably as a result of it being corrupted during
2f2a3442 10890 decompression). Add #error instance with comment to explain why this
10891 loader isn't currently usable on PC/BIOS.
10fc3eb9 10892
e2e07847 108932008-11-14 Robert Millan <rmh@aybabtu.com>
10894
10895 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 10896 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 10897
fe8e8d69 108982008-11-12 Robert Millan <rmh@aybabtu.com>
10899
10900 Make loader/i386/linux.c buildable on i386-pc (although disabled).
10901
10902 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
10903 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
10904 from here ...
10905 * include/grub/i386/pc/memory.h: ... to here.
10906
976b07d0 109072008-11-12 Robert Millan <rmh@aybabtu.com>
10908
10909 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
10910 split).
10911
10912 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
10913 (grub_console_cur_color, grub_console_real_putchar)
10914 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10915 (grub_console_setcolorstate, grub_console_setcolor)
10916 (grub_console_getcolor): Move from here ...
10917 * include/grub/i386/vga_common.h: ... to here (new file).
10918
10919 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
10920 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
10921 `<grub/i386/io.h>'.
10922 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
10923 `<grub/i386/vga_common.h>'.
10924
76679cd3 109252008-11-12 Robert Millan <rmh@aybabtu.com>
10926
10927 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
10928 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
10929 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
10930 variables.
10931 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10932 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
10933
10934 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
10935 grub_console_init() with call to grub_vga_text_init().
10936 (grub_machine_fini): Replace call to
10937 grub_console_fini() with call to grub_vga_text_fini() and
10938 grub_at_keyboard_fini().
10939
10940 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
10941 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
10942 (grub_console_setcolorstate, grub_console_setcolor)
10943 (grub_console_getcolor): New function prototypes.
10944
10945 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
10946 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
10947 (grub_vga_text_setcursor): Static-ize.
10948 (grub_vga_text_term): New structure.
10949 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
10950
10951 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
10952 (grub_console_cur_color, grub_console_standard_color)
10953 (grub_console_normal_color, grub_console_highlight_color)
10954 (map_char, grub_console_putchar, grub_console_getcharwidth)
10955 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
10956 (grub_console_getcolor): Move from here ...
10957 * term/i386/vga_common.c: ... to here (same function names).
10958
95b841d3 109592008-11-12 Robert Millan <rmh@aybabtu.com>
10960
10961 Use newly-added Multiboot support in coreboot.
10962
10963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
10964 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
10965
10966 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
10967 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
10968 (codestart): Store the MBI in `startup_multiboot_info' when we're
10969 being loaded using Multiboot.
10970
10971 * kern/i386/coreboot/init.c (grub_machine_init): Move
10972 grub_at_keyboard_init() call to beginning of function (useful for
10973 debugging). Call grub_machine_mmap_init() before attempting to use
10974 grub_machine_mmap_iterate().
10975 (grub_lower_mem, grub_upper_mem): Move from here ...
10976 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
10977 here (new file).
10978
10979 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
10980 function prototype.
10981
761ca975 109822008-11-12 Robert Millan <rmh@aybabtu.com>
10983
10984 Fix a regression introduced by the at_keyboard.mod split. Because
10985 some terminals are default on some platforms and non-default on
10986 others, the first terminal being registered determines which is
10987 going to be default.
10988
10989 * kern/term.c (grub_term_register_input): If this is the first
10990 terminal being registered, set it as the current one.
10991 (grub_term_register_output): Likewise.
10992
10993 * term/efi/console.c (grub_console_init): Do not call
10994 grub_term_set_current_output() or grub_term_set_current_input().
10995 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
10996 * term/i386/pc/console.c (grub_console_init): Likewise.
10997 (grub_console_fini): Do not call grub_term_set_current_input()
10998 (but leave grub_term_set_current_output() to restore text mode).
10999
6c529df7 110002008-11-10 Robert Millan <rmh@aybabtu.com>
11001
11002 * util/grub.d/00_header.in: Add backward compatibility check for
11003 versions of terminal.mod that don't understand `terminal_input' or
11004 `terminal_output'.
11005
132e4113 110062008-11-09 Robert Millan <rmh@aybabtu.com>
11007
11008 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11009 `terminal_input' / `terminal_output', not `terminal'.
11010
ac293d50 110112008-11-08 Robert Millan <rmh@aybabtu.com>
11012
11013 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11014 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11015
0025933a 110162008-11-08 Robert Millan <rmh@aybabtu.com>
11017
11018 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11019 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11020 members. Update all users.
11021 * util/console.c (grub_ncurses_term): Split in ...
11022 (grub_ncurses_term_input): ... this, and ...
11023 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11024 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11025
37c86336 110262008-11-08 Robert Millan <rmh@aybabtu.com>
11027
11028 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11029 (PKGDATA): Add $(pkgdata_SRCDIR).
11030 (pkglib_BUILDDIR): New variable.
11031 (pkgdata_SRCDIR): New variable.
11032 (build_env.mk): New target.
11033 (include_DATA): New variable.
11034 (install-local): Install $(include_DATA) files in $(includedir).
11035
b6c15a2d 110362008-11-07 Pavel Roskin <proski@gnu.org>
11037
d99d46f1 11038 * gendistlist.sh: Use C locale for sorting to ensure consistent
11039 output on all systems.
11040
b6c15a2d 11041 * util/grub.d/00_header.in: Remove incorrect space before
11042 "serial".
11043
c32ee8c9 110442008-11-07 Robert Millan <rmh@aybabtu.com>
11045
11046 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
11047 per specification.
11048 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
11049 * loader/multiboot_loader.c (find_multi_boot2_header): New function
11050 (based on find_multi_boot1_header).
11051 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
11052 using find_multi_boot2_header(), and abort if neither Multiboot or
11053 Multiboot headers were found.
11054
651c29b7 110552008-11-07 Robert Millan <rmh@aybabtu.com>
11056
11057 Modularize at_keyboard.mod:
11058
11059 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
11060 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11061 (at_keyboard_mod_LDFLAGS): New variables.
11062
11063 Actual terminal split:
11064
11065 * include/grub/term.h (struct grub_term): Split in ...
11066 (struct grub_term_input): ... this, and ...
11067 (struct grub_term_output): ... this. Update all users.
11068 (grub_term_set_current): Split in ...
11069 (grub_term_set_current_input): ... this, and ...
11070 (grub_term_set_current_output): ... this.
11071 (grub_term_get_current): Split in ...
11072 (grub_term_get_current_input): ... this, and ...
11073 (grub_term_get_current_output): ... this.
11074 (grub_term_register): Split in ...
11075 (grub_term_register_input): ... this, and ...
11076 (grub_term_register_output): ... this.
11077 (grub_term_unregister): Split in ...
11078 (grub_term_unregister_input): ... this, and ...
11079 (grub_term_unregister_output): ... this.
11080 (grub_term_iterate): Split in ...
11081 (grub_term_iterate_input): ... this, and ...
11082 (grub_term_iterate_output): ... this.
11083
11084 * kern/term.c (grub_term_list): Split in ...
11085 (grub_term_list_input): ... this, and ...
11086 (grub_term_list_output): ... this. Update all users.
11087 (grub_cur_term): Split in ...
11088 (grub_cur_term_input): ... this, and ...
11089 (grub_cur_term_output): ... this. Update all users.
11090 (grub_term_set_current): Split in ...
11091 (grub_term_set_current_input): ... this, and ...
11092 (grub_term_set_current_output): ... this.
11093 (grub_term_get_current): Split in ...
11094 (grub_term_get_current_input): ... this, and ...
11095 (grub_term_get_current_output): ... this.
11096 (grub_term_register): Split in ...
11097 (grub_term_register_input): ... this, and ...
11098 (grub_term_register_output): ... this.
11099 (grub_term_unregister): Split in ...
11100 (grub_term_unregister_input): ... this, and ...
11101 (grub_term_unregister_output): ... this.
11102 (grub_term_iterate): Split in ...
11103 (grub_term_iterate_input): ... this, and ...
11104 (grub_term_iterate_output): ... this.
11105
11106 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
11107 a check for input and one for output (and only attempt to get keys
11108 from user when input works).
11109
11110 * util/grub-probe.c (grub_term_get_current): Split in ...
11111 (grub_term_get_current_input): ... this, and ...
11112 (grub_term_get_current_output): ... this.
11113 * util/grub-fstest.c: Likewise.
11114 * util/i386/pc/grub-setup.c: Likewise.
11115 * util/grub-editenv.c: Likewise.
11116
11117 Portability adjustments:
11118
11119 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
11120 `term/i386/pc/at_keyboard.c'.
11121 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
11122 grub_keyboard_controller_init() (now handled by terminal .init).
11123 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
11124 grub_at_keyboard_init().
11125 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
11126 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
11127 at_keyboard.mod via input terminal interface).
11128 * include/grub/i386/coreboot/console.h: Convert into a stub for
11129 `<grub/i386/pc/console.h>'.
11130
11131 Migrate full terminals to new API:
11132
11133 * term/efi/console.c (grub_console_term): Split into ...
11134 (grub_console_term_input): ... this, and ...
11135 (grub_console_term_output): ... this. Update all users.
11136 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
11137 (grub_ofconsole_init): Split into ...
11138 (grub_ofconsole_init_input): ... this, and ...
11139 (grub_ofconsole_init_output): ... this.
11140 (grub_ofconsole_term): Split into ...
11141 (grub_ofconsole_term_input): ... this, and ...
11142 (grub_ofconsole_term_output): ... this. Update all users.
11143 * term/i386/pc/serial.c (grub_serial_term): Split into ...
11144 (grub_serial_term_input): ... this, and ...
11145 (grub_serial_term_output): ... this. Update all users.
11146 * term/i386/pc/console.c (grub_console_term): Split into ...
11147 (grub_console_term_input): ... this, and ...
11148 (grub_console_term_output): ... this. Update all users.
11149 (grub_console_term_input): Only enable it on PC/BIOS platform.
11150 (grub_console_init): Remove grub_keyboard_controller_init() call.
11151
11152 Migrate input terminals to new API:
11153
11154 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
11155 `i386' and `i386/pc' to enable build on x86_64 (this driver is
11156 i386-specific anyway).
11157 (grub_console_checkkey): Rename to ...
11158 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
11159 users.
11160 (grub_keyboard_controller_orig): New variable.
11161 (grub_console_getkey): Rename to ...
11162 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
11163 users.
11164 (grub_keyboard_controller_init): Static-ize. Save original
11165 controller value so that it can be restored ...
11166 (grub_keyboard_controller_fini): ... here (new function).
11167 (grub_at_keyboard_term): New structure.
11168 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
11169 functions.
11170
11171 Migrate output terminals to new API:
11172
11173 * term/i386/pc/vga.c (grub_vga_term): Change type to
11174 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11175 members. Update all users.
11176 * term/gfxterm.c (grub_video_term): Change type to
11177 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
11178 members. Update all users.
11179 * include/grub/i386/pc/console.h (grub_console_checkkey)
11180 (grub_console_getkey): Do not export (no longer needed by gfxterm,
11181 etc).
11182
11183 Migrate `terminal' command and userland tools to new API:
11184
11185 * commands/terminal.c (grub_cmd_terminal): Split into ...
11186 (grub_cmd_terminal_input): ... this, and ...
11187 (grub_cmd_terminal_output): ... this.
11188 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
11189 `terminal_input' and `terminal_output'.
11190 * util/grub.d/00_header.in: Adjust `terminal' calls to new
11191 `terminal_input' / `terminal_output' API.
11192 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
11193 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
11194 provided ${GRUB_TERMINAL}, convert it).
11195
96e5d876 111962008-11-04 Robert Millan <rmh@aybabtu.com>
11197
11198 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
11199 for FreeBSD.
11200 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
11201
556f3775 112022008-11-03 Bean <bean123ch@gmail.com>
11203
11204 * kern/elf.c (grub_elf32_load): Revert to previous code.
11205 (grub_elf64_load): Likewise.
11206
11207 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
11208
926b9823 112092008-11-01 Robert Millan <rmh@aybabtu.com>
11210
11211 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
11212 (TARGET_CPPFLAGS): Likewise.
11213 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
11214
1432e958 112152008-11-01 Carles Pina i Estany <carles@pina.cat>
11216
11217 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
11218
dba3f844 112192008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 11220
11221 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
11222 addition of objects until the code is not going to be able to fail.
11223
dba3f844 112242008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 11225
11226 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
11227 (add a missing NULL check, and correct them by moving the pointer
11228 operations after the actual check).
11229
7ab28c21 112302008-10-29 Robert Millan <rmh@aybabtu.com>
11231
11232 * util/i386/pc/grub-install.in: Handle empty string as output from
11233 make_system_path_relative_to_its_root().
11234
1b7748eb 112352008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
11236
11237 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
11238 circular metadata worst case scenario. If the metadata is circular
11239 then copy the wrap in place.
11240 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
11241 project lib/format_text/layout.h
11242 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
11243
c9618ab2 112442008-10-03 Felix Zielcke <fzielcke@z-51.de>
11245
7a36edca 11246 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 11247
bf981c62 112482008-10-03 Felix Zielcke <fzielcke@z-51.de>
11249
11250 * util/update-grub_lib.in: Mention filename in warning message.
11251
6d994591 112522008-09-29 Felix Zielcke <fzielcke@z-51.de>
11253
11254 * NEWS: Update for rename of update-grub to grub-mkconfig.
11255
18ade780 112562008-09-29 Felix Zielcke <fzielcke@z-51.de>
11257
11258 * util/update-grub_lib.in: Copy to ...
11259 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 11260 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 11261 * util/update-grub.in: Rename to ...
11262 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
11263 option. Add `--output' option to allow users to specify the generated
11264 configuration file. Default to stdout.
11265 (update_grub_dir): Rename to ...
11266 (grub_mkconfig_dir): ... this.
11267 (grub_cfg): Default to an empty string.
11268 * conf/common.rmk (update-grub): Rename to ...
11269 (grub-mkconfig): ... this.
11270 (update-grub_lib): Copy to ...
11271 (grub-mkconfig_lib): ... this.
11272 (update-grub_SCRIPTS): Copy to ...
11273 (grub-mkconfig_SCRIPTS): ... this. Update all users.
11274 (update-grub_DATA): Rename to ...
11275 (grub-mkconfig_DATA): ... this.
11276
556ce6ac 112772008-09-28 Robert Millan <rmh@aybabtu.com>
11278
11279 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
11280 to `modified'. Add the real `created' field.
11281 (grub_iso9660_uuid): Use `modified' rather than `created' for
11282 constructing the UUID.
11283
112842008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 11285
11286 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
11287 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
11288
92274e85 112892008-09-28 Bean <bean123ch@gmail.com>
11290
11291 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
11292 Thanks to Christian Franke for finding this bug.
11293
add6f17a 112942008-09-25 Robert Millan <rmh@aybabtu.com>
11295
11296 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
11297 instances of grub_util_get_disk_name() (see previous commit).
11298
d2a367b8 112992008-09-25 Robert Millan <rmh@aybabtu.com>
11300
11301 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
11302 `util/i386/get_disk_name.c'.
11303 * conf/i386-efi.rmk: Likewise.
11304 * conf/x86_64-efi.rmk: Likewise.
11305 * conf/i386-coreboot.rmk: Likewise.
11306 * conf/i386-ieee1275.rmk: Likewise.
11307 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
11308 `util/ieee1275/get_disk_name.c'.
11309 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
11310 * util/ieee1275/get_disk_name.c: Remove file.
11311 * util/i386/get_disk_name.c: Remove file.
11312 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
11313 "hd%d" for device.map entries, rather than using
11314 grub_util_get_disk_name().
11315
81a06771 113162008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 11317
11318 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
11319 warning.
11320 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
11321
5a004279 113222008-09-24 Carles Pina i Estany <carles@pina.cat>
11323
11324 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
11325 Changed to 0x5100.
11326 (GRUB_TERM_PPAGE): Changed to 0x4900.
11327
397093d3 113282008-09-24 Robert Millan <rmh@aybabtu.com>
11329
11330 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
11331 macros (they were i386-pc specific).
11332 * include/grub/sparc64/ieee1275/console.h: Likewise.
11333 * include/grub/efi/console.h: Likewise.
11334
a91b6c7c 113352008-09-22 Bean <bean123ch@gmail.com>
11336
11337 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
11338 resident and in attribute list.
11339
11340 * include/grub/ntfs.h (BMP_LEN): Removed.
11341
c40fd116 113422008-09-22 Bean <bean123ch@gmail.com>
11343
81a06771 11344 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 11345 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
11346
11347 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
11348 error occurs, as grub_disk_open will call grub_disk_close, which will
11349 call p->close (scsi).
11350
81a06771 113512008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 11352
11353 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
11354 (AC_PREREQ): Bumped to 2.59.
11355 (AC_TRY_COMPILE): Replace obsolete macro with ...
11356 (AC_COMPILE_IFELSE): ... this.
11357 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
11358 (AC_LINK_IFELSE): ... this.
11359
5dc43410 113602008-09-21 Felix Zielcke <fzielcke@z-51.de>
11361
11362 * autogen.sh: Add a call to `gendistlist.sh'.
11363
9035dce4 113642008-09-19 Christian Franke <franke@computer.org>
11365
11366 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
11367 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
11368 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
11369 Export __enable_execute_stack() to modules.
11370 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
11371 New function.
11372
7fd75377 113732008-09-09 Felix Zielcke <fzielcke@z-51.de>
11374
040030b3 11375 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
11376 Sort the list.
11377
113782008-09-09 Felix Zielcke <fzielcke@z-51.de>
11379
11380 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 11381 #include <grub/util/hostdisk.h>.
11382
89d5ffcf 113832008-09-08 Robert Millan <rmh@aybabtu.com>
11384
11385 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
11386 segments when their filesz is zero (grub_file_read() interprets
81a06771 11387 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 11388 Use `lowest_segment' rather than 0 for calculating the current
11389 segment load address.
11390
40da438f 113912008-09-08 Robert Millan <rmh@aybabtu.com>
11392
11393 * util/hostdisk.c (open_device): Replace a grub_util_info() call
11394 with grub_dprintf("hostdisk", ...), as it was so verbose that it
11395 clobbered useful information.
11396
ddbf5556 113972008-09-08 Robert Millan <rmh@aybabtu.com>
11398
11399 * include/grub/util/biosdisk.h: Move to ...
11400 * include/grub/util/hostdisk.h: ... here. Update all users.
11401 * util/biosdisk.c: Move to ...
11402 * util/hostdisk.c: ... here. Update all users.
11403
783d0f48 114042008-09-07 Robert Millan <rmh@aybabtu.com>
11405
11406 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
11407 variables.
11408 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
11409 and length can be stored directly in the `mbi->mmap_addr' and
11410 `mbi->mmap_length' struct fields.
11411
548e2ea5 114122008-09-07 Robert Millan <rmh@aybabtu.com>
11413
11414 * conf/i386.rmk: New file. Provides declaration for building
11415 `cpuid.mod'.
11416 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
11417 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
11418 variables.
11419 Include `conf/i386.mk'.
11420 * conf/i386-efi.rmk: Likewise.
11421 * conf/x86_64-efi.rmk: Likewise.
11422 * conf/i386-coreboot.rmk: Likewise.
11423 * conf/i386-ieee1275.rmk: Likewise.
11424
0ea85a37 114252008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
11426
11427 Based on patch created by Colin D Bennett <colin@gibibit.com>.
11428 Adds optimization support for BGR based modes.
11429
11430 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
11431 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11433 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11434 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11435 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11436 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11437 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11438 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11439 (grub_video_i386_vbeblit_index_index): Likewise.
11440 (grub_video_i386_vbeblit_replace_directN): Added.
11441 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11442 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11443 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11444 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11445 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11446 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 11447 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 11448 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11449 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11450 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11451 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11452 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11453 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
11454
11455 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
11456 (grub_video_i386_vbefill_R8G8B8): Likewise.
11457 (grub_video_i386_vbefill_index): Likewise.
11458 (grub_video_i386_vbefill_direct32): Added.
11459 (grub_video_i386_vbefill_direct24): Likewise.
11460 (grub_video_i386_vbefill_direct16): Likewise.
11461 (grub_video_i386_vbefill_direct8): Likewise.
11462
81a06771 11463 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 11464 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
11465 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
11466 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
11467 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
11468 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 11469
0ea85a37 11470 * video/video.c (grub_video_get_blit_format): Updated to use new
11471 blit formats. Added handling for 16 bit color modes.
81a06771 11472
11473 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 11474 fillers.
11475 (common_blitter): Updated to use new blitters.
11476
11477 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
11478 Removed.
11479 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
11480 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
11481 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
11482 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
11483 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
11484 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
11485 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
11486 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
11487 (grub_video_i386_vbeblit_index_index): Likewise.
11488 (grub_video_i386_vbeblit_replace_directN): Added.
11489 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
11490 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
11491 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
11492 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
11493 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
11494 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
11495 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
11496 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
11497 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
11498 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
11499 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
11500 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
11501 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 11502
0ea85a37 11503 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
11504 (grub_video_i386_vbefill_R8G8B8): Likewise.
11505 (grub_video_i386_vbefill_index): Likewise.
11506 (grub_video_i386_vbefill_direct32): Added.
11507 (grub_video_i386_vbefill_direct24): Likewise.
11508 (grub_video_i386_vbefill_direct16): Likewise.
11509 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 11510
0ea85a37 11511 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
11512 types.
81a06771 11513
0ea85a37 11514 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
11515 types.
81a06771 11516
0ea85a37 11517 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
11518 blitter types.
81a06771 11519
0ea85a37 11520 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
11521 types.
11522
e8a83df6 115232008-09-06 Felix Zielcke <fzielcke@z-51.de>
11524
11525 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
11526 RAID level 1.
11527
6bcd8ee5 115282008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 11529
6bcd8ee5 11530 * fs/iso9660.c (grub_iso9660_date): New structure.
11531 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
11532 (grub_iso9660_uuid): New function.
c375ae58 11533
59261157 115342008-09-05 Bean <bean123ch@gmail.com>
11535
11536 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
11537
11538 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
11539 insensitive bit for names in Win32 and Win32 & DOS namespace.
11540
11541 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
11542
11543 * include/grub/types.h (LONG_MAX): Likewise.
11544
58b6645a 115452008-09-04 Felix Zielcke <fzielcke@z-51.de>
11546
4ee55921 11547 * util/getroot.c: Include <config.h>.
11548 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
11549 add support for /dev/md/N devices and handle LVM double dash escaping.
11550
115512008-09-04 Felix Zielcke <fzielcke@z-51.de>
11552
11553 * config.guess: Update to latest version from config git.
11554 * config.sub: Likewise.
58b6645a 11555
9124f65d 115562008-09-03 Robert Millan <rmh@aybabtu.com>
11557
11558 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
11559 `disk->total_sectors'.
11560
81a06771 115612008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 11562
11563 * include/grub/normal.h: Fixed incorrect comment for
11564 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
11565
81a06771 115662008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 11567
11568 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
11569 values with defines.
11570
11571 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
11572 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
11573 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
11574 (GRUB_VBE_MODEATTR_COLOR): Likewise.
11575 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
11576 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
11577 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
11578 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
11579 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
11580 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
11581 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
11582 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
11583 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
11584 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
11585 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
11586 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
11587 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
11588 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
11589 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
11590
93d5cbf8 115912008-08-31 Robert Millan <rmh@aybabtu.com>
11592
11593 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
11594 declaration.
11595 (grub_multiboot): Fix a few warnings.
11596
21751d50 115972008-08-31 Robert Millan <rmh@aybabtu.com>
11598
11599 * loader/i386/pc/multiboot.c: Update comment not to say that
11600 boot_device support is unimplemented.
11601
e27a75c5 116022008-08-31 Robert Millan <rmh@aybabtu.com>
11603
11604 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
11605 or memory map support are unimplemented.
11606
81a06771 116072008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 11608
11609 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
11610
81a06771 116112008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 11612
11613 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
11614 total video memory in 'vbeinfo' output; show color format details for
11615 each video mode.
11616
7c5d8d95 116172008-08-30 Pavel Roskin <proski@gnu.org>
11618
11619 * util/genmoddep.c: Remove for real this time.
11620 * DISTLIST: Remove util/genmoddep.c.
11621
4cebd25a 116222008-08-30 Robert Millan <rmh@aybabtu.com>
11623
11624 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
11625 as required by Multiboot spec (it was already 4-byte aligned, but
11626 only by chance).
11627
b497a269 116282008-08-29 Pavel Roskin <proski@gnu.org>
11629
e3925185 11630 * kern/powerpc/ieee1275/crt0.S: Rename to ...
11631 * kern/powerpc/ieee1275/startup.S: ... this.
11632 * conf/powerpc-ieee1275.rmk: Adjust for the above.
11633 * DISTLIST: Likewise.
11634
b497a269 11635 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
11636 grub/cpu/kernel.h. Add start label for consistency with other
11637 platforms. Add grub_prefix immediately after start. Add jump
11638 to the code after grub_prefix.
11639 * include/grub/powerpc/kernel.h: Provide valid values for
11640 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
11641
6e5a42fe 116422008-08-29 Bean <bean123ch@gmail.com>
11643
11644 * configure.ac: Change host_os to cygwin for mingw.
11645 (asprintf): New check for function.
11646
11647 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
11648 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
11649
11650 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 11651 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 11652 sync, sleep and grub_util_get_disk_size for mingw.
11653
11654 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
11655 to get size in mingw.
11656 (open_device): Use flag O_BINARY if it's defined.
11657 (find_root_device): Add dummy code for mingw.
11658
11659 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
11660 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
11661 (get_scsi_disk_name): Return 0 for mingw.
11662
11663 * util/hostfs.c: #include <grub/util/misc.h>.
11664 (grub_hostfs_open): Use "rb" flag to open file, use
11665 grub_util_get_disk_size to get disk size for mingw.
11666
11667 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
11668 (asprintf): New function if HAVE_ASPRINTF is not set.
11669 (sync): New function for mingw.
11670 (sleep): Likewise.
11671 (grub_util_get_disk_size): Likewise.
11672
ab3f2673 116732008-08-28 Pavel Roskin <proski@gnu.org>
11674
11675 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11676 kern/time.c.
11677
1c282483 116782008-08-28 Robert Millan <rmh@aybabtu.com>
11679
11680 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
11681
678e849c 116822008-08-28 Robert Millan <rmh@aybabtu.com>
11683
11684 Change find_grub_drive() syntax so it doesn't prevent it from
11685 detecting NULL names as errors.
11686
11687 * util/biosdisk.c (find_grub_drive): Move free slot search code
11688 from here ...
11689 (find_free_slot): ... to here.
11690 (read_device_map): Use find_free_slot() to search for free slots.
11691
965c75ca 116922008-08-27 Marco Gerards <marco@gnu.org>
11693
11694 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
11695 (scsi_mod_SOURCES): New variable.
11696 (scsi_mod_CFLAGS): Likewise
11697 (scsi_mod_LDFLAGS): Likewise.
11698
11699 * disk/scsi.c: New file.
11700
11701 * include/grub/scsi.h: Likewise.
11702
11703 * include/grub/scsicmd.h: Likewise.
11704
11705 * disk/ata.c: Include <grub/scsi.h>.
11706 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
11707 instead.
11708 (grub_ata_iterate): Skip ATAPI devices.
11709 (grub_ata_open): Only handle ATAPI devices.
11710 (struct grub_atapi_read): Removed.
11711 (grub_atapi_readsector): Likewise.
11712 (grub_ata_read): No longer handle ATAPI devices.
11713 (grub_ata_write): Likewise.
11714 (grub_atapi_iterate): New function.
11715 (grub_atapi_read): Likewise.
11716 (grub_atapi_write): Likewise.
11717 (grub_atapi_open): Likewise.
11718 (grub_atapi_close): Likewise.
11719 (grub_atapi_dev): New variable.
11720 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
11721 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
11722
11723 * include/grub/disk.h (enum grub_disk_dev_id): Add
11724 `GRUB_DISK_DEVICE_SCSI_ID'.
11725
c07ae501 117262008-08-26 Robert Millan <rmh@aybabtu.com>
11727
11728 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
11729 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
11730 descriptive.
11731
5ed20adc 117322008-08-23 Bean <bean123ch@gmail.com>
11733
11734 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
11735 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11736 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
11737 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
11738 dm_nv.mod.
11739 (raid5rec_mod_SOURCES): New macro.
11740 (raid5rec_mod_CFLAGS): Likewise.
11741 (raid5rec_mod_LDFLAGS): Likewise.
11742 (raid6rec_mod_SOURCES): Likewise.
11743 (raid6rec_mod_CFLAGS): Likewise.
11744 (raid6rec_mod_LDFLAGS): Likewise.
11745 (mdraid_mod_SOURCES): Likewise.
11746 (mdraid_mod_CFLAGS): Likewise.
11747 (mdraid_mod_LDFLAGS): Likewise.
11748 (dm_nv_mod_SOURCES): Likewise.
11749 (dm_nv_mod_CFLAGS): Likewise.
11750 (dm_nv_mod_LDFLAGS): Likewise.
11751
11752 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
11753 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
11754 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11755
11756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
11757 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
11758
11759 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11760
11761 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11762
11763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11764
11765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11766
11767 * disk/raid5_recover.c: New file.
11768
11769 * disk/raid6_recover.c: Likewise.
11770
11771 * disk/mdraid_linux.c: Likewise.
11772
11773 * disk/dmraid_nvidia.c: Likewise.
11774
11775 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
11776 ULONG_MAX.
11777
11778 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
11779 calculate the size of raid device.
11780 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
11781 different layout of raid5.
11782 (grub_raid_scan_device): Remove code specific to mdraid.
11783 (grub_raid_list): New variable.
11784 (free_array): New function.
11785 (grub_raid_register): Likewise.
11786 (grub_raid_unregister): Likewise.
11787 (grub_raid_rescan): Likewise.
11788 (GRUB_MOD_INIT): Don't iterate device here.
11789 (GRUB_MOD_FINI): Use free_array to release resource.
11790
11791 * include/grub/raid.h: Remove macro and structure specific to mdraid.
11792 (grub_raid5_recover_func_t): New function variable type.
11793 (grub_raid6_recover_func_t): Likewise.
11794 (grub_raid5_recover_func): New variable.
11795 (grub_raid6_recover_func): Likewise.
11796 (grub_raid_register): New function.
11797 (grub_raid_unregister): Likewise.
11798 (grub_raid_rescan): Likewise.
11799 (grub_raid_block_xor): Likewise.
11800
11801 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
11802 (CMD_CRC): New macro.
11803 (part): Removed.
11804 (read_file): Handle device as well as file.
11805 (cmd_crc): New function.
11806 (fstest): Handle multiple disks.
11807 (options): Remove part, raw and long, add root and diskcount.
11808 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 11809 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 11810 add handling for the new options, support multiple disks.
11811
11812 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
11813
29c18915 118142008-08-23 Bean <bean123ch@gmail.com>
11815
11816 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
11817
11818 * genfslist.sh: Ignore kernel.mod.
11819
11820 * genpartmaplist.sh: Likewise.
11821
8415f261 118222008-08-23 Robert Millan <rmh@aybabtu.com>
11823
11824 * util/getroot.c (find_root_device): Skip anything that starts with
11825 a dot, not just directories. This avoids things like /dev/.tmp.md0.
11826
d5a7dc5b 118272008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 11828
d5a7dc5b 11829 * util/update-grub.in (GRUB_GFXMODE): Export variable.
11830 * util/grub.d/00_header.in: Allow the administrator to change default
11831 gfxmode via ${GRUB_GFXMODE}.
11832
380cfbb4 118332008-08-21 Felix Zielcke <fzielcke@z-51.de>
11834
11835 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
11836
c9baafe7 118372008-08-21 Robert Millan <rmh@aybabtu.com>
11838
11839 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
11840 loader.
11841 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
11842 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
11843
e290bef2 118442008-08-20 Carles Pina i Estany <carles@pina.cat>
11845
11846 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
11847 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
11848
f9dbfc96 118492008-08-19 Robert Millan <rmh@aybabtu.com>
11850
11851 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
11852 (struct grub_virtual_screen): Remove `cursor_color'.
11853 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
11854 initialization.
11855 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
11856
dd6bd6ab 118572008-08-18 Robert Millan <rmh@aybabtu.com>
11858
11859 Unify (identical) linux_normal.c files.
11860 * loader/i386/efi/linux_normal.c: Move from here ...
11861 * loader/linux_normal.c: ... to here. Update all users.
11862 * loader/i386/pc/linux_normal.c: Delete. Update all users.
11863 * loader/i386/ieee1275/linux_normal.c: Likewise.
11864
7f42f83e 118652008-08-18 Robert Millan <rmh@aybabtu.com>
11866
11867 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
11868 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
11869 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
11870 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
11871 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
11872 New macros.
11873 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
11874 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
11875 (GRUB_LINUX_CL_END_OFFSET): ... to here.
11876 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
11877 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
11878 (GRUB_EFI_CL_END_OFFSET): Rename to ...
11879 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
11880 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
11881 Initialize `params->video_cursor_x' and `params->video_cursor_y'
11882 portably using grub_getxy().
11883 Replace `-EFI' with `-bzImage' in boot message.
11884
38487ddb 118852008-08-17 Robert Millan <rmh@aybabtu.com>
11886
11887 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
11888
deceb3ec 118892008-08-17 Robert Millan <rmh@aybabtu.com>
11890
11891 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
11892
11893 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
11894 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
11895 (grub_machine_mmap_iterate): New function declaration.
11896 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
11897 structure.
11898 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
11899 macros.
11900
11901 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
11902 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
11903 Move e820 parsing from here ...
11904 * kern/i386/pc/mmap.c: New file.
11905 (grub_machine_mmap_iterate): ... to here.
11906
11907 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
11908 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
11909 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
11910 (grub_available_iterate): Redeclare to return `void', and redeclare
11911 its hook to use grub_uint64_t as addr and size parameters, and rename
11912 to ...
11913 (grub_machine_mmap_iterate): ... this. Update all users.
11914
11915 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
11916 to make it more readable. Rename to ...
11917 (grub_machine_mmap_iterate): ... this.
11918
11919 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
11920 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
11921 (grub_multiboot): Allocate an extra region after the payload, and fill
11922 it with a Multiboot memory map. Adjust a.out loader to calculate size
11923 with the extra space.
11924 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
11925 with the extra space.
11926
f8aa0f43 119272008-08-17 Carles Pina i Estany <carles@pina.cat>
11928
9807deb9 11929 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 11930
605f5bb6 119312008-08-17 Felix Zielcke <fzielcke@z-51.de>
11932
11933 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
11934 mdate-sh to the list `find' searches for.
11935 * DISTLIST: Regenerated.
11936
210db6c6 119372008-08-16 Felix Zielcke <fzielcke@z-51.de>
11938
11939 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
11940 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 11941 genmoddep.awk, gensymlist.sh.in.
11942 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 11943 * DISTLIST: Regenerated.
48cdbfd4 11944 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 11945
1082b929 119462008-08-16 Robert Millan <rmh@aybabtu.com>
11947
11948 * disk/raid.c (grub_raid_init): Handle/report errors set by
11949 grub_device_iterate().
11950 * disk/lvm.c (grub_lvm_init): Likewise.
11951
42ce5170 119522008-08-15 Bean <bean123ch@gmail.com>
11953
11954 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11955 and datehook.mod.
11956 (datetime_mod_SOURCES): New macro.
11957 (datetime_mod_CFLAGS): Likewise.
11958 (datetime_mod_LDFLAGS): Likewise.
11959 (date_mod_SOURCES): Likewise.
11960 (date_mod_CFLAGS): Likewise.
11961 (date_mod_LDFLAGS): Likewise.
11962 (datehook_mod_SOURCES): Likewise.
11963 (datehook_mod_CFLAGS): Likewise.
11964 (datehook_mod_LDFLAGS): Likewise.
11965
11966 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11967 and datehook.mod.
11968 (datetime_mod_SOURCES): New macro.
11969 (datetime_mod_CFLAGS): Likewise.
11970 (datetime_mod_LDFLAGS): Likewise.
11971 (date_mod_SOURCES): Likewise.
11972 (date_mod_CFLAGS): Likewise.
11973 (date_mod_LDFLAGS): Likewise.
11974 (datehook_mod_SOURCES): Likewise.
11975 (datehook_mod_CFLAGS): Likewise.
11976 (datehook_mod_LDFLAGS): Likewise.
11977
11978 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11979 and datehook.mod.
11980 (datetime_mod_SOURCES): New macro.
11981 (datetime_mod_CFLAGS): Likewise.
11982 (datetime_mod_LDFLAGS): Likewise.
11983 (date_mod_SOURCES): Likewise.
11984 (date_mod_CFLAGS): Likewise.
11985 (date_mod_LDFLAGS): Likewise.
11986 (datehook_mod_SOURCES): Likewise.
11987 (datehook_mod_CFLAGS): Likewise.
11988 (datehook_mod_LDFLAGS): Likewise.
11989
11990 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
11991 and datehook.mod.
11992 (datetime_mod_SOURCES): New macro.
11993 (datetime_mod_CFLAGS): Likewise.
11994 (datetime_mod_LDFLAGS): Likewise.
11995 (date_mod_SOURCES): Likewise.
11996 (date_mod_CFLAGS): Likewise.
11997 (date_mod_LDFLAGS): Likewise.
11998 (datehook_mod_SOURCES): Likewise.
11999 (datehook_mod_CFLAGS): Likewise.
12000 (datehook_mod_LDFLAGS): Likewise.
12001
12002 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12003 and datehook.mod.
12004 (datetime_mod_SOURCES): New macro.
12005 (datetime_mod_CFLAGS): Likewise.
12006 (datetime_mod_LDFLAGS): Likewise.
12007 (date_mod_SOURCES): Likewise.
12008 (date_mod_CFLAGS): Likewise.
12009 (date_mod_LDFLAGS): Likewise.
12010 (datehook_mod_SOURCES): Likewise.
12011 (datehook_mod_CFLAGS): Likewise.
12012 (datehook_mod_LDFLAGS): Likewise.
12013
12014 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12015
12016 * commands/date.c: New file.
12017
12018 * hook/datehook.c: Likewise.
12019
12020 * include/grub/lib/datetime.h: Likewise.
12021
12022 * include/grub/i386/cmos.h: Likewise.
12023
12024 * lib/datetime.c: Likewise.
12025
12026 * lib/i386/datetime.c: Likewise.
12027
12028 * lib/efi/datetime.c: Likewise.
12029
0e9242da 120302008-08-14 Robert Millan <rmh@aybabtu.com>
12031
12032 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12033 (grub_mkelfimage_SOURCES): New variable.
12034 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12035
12036 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
12037 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
12038 * conf/powerpc-ieee1275.rmk: Likewise.
12039 * conf/i386-ieee1275.rmk: Likewise.
12040
12041 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
12042 * kern/i386/coreboot/init.c: Likewise.
12043
12044 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
12045 with `<grub/cpu/kernel.h>'.
12046 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
12047 to ...
12048 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
12049 * kern/i386/coreboot/startup.S: Likewise.
12050
12051 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
12052 (GRUB_MOD_GAP): Remove.
12053 * include/grub/powerpc/kernel.h: New file.
12054 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
12055 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12056 * include/grub/i386/kernel.h: New file.
12057 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
12058 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
12059 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
12060
12061 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
12062 `grub-mkelfimage'.
12063 Use --directory when invoking grub_mkimage.
12064
12065 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
12066 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
12067 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
12068 and GRUB_KERNEL_CPU_PREFIX.
12069
b86408f8 120702008-08-14 Felix Zielcke <fzielcke@z-51.de>
12071
d5e619ca 12072 * include/grub/err.h (grub_err_printf): New function prototype.
12073 * util/misc.c (grub_err_printf): New function.
12074 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
12075 grub_printf.
12076 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 12077
7161f0e0 120782008-08-13 Robert Millan <rmh@aybabtu.com>
12079
12080 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
12081
a1967522 120822008-08-13 Robert Millan <rmh@aybabtu.com>
12083
12084 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
12085 boot entry.
12086
371458b5 120872008-08-12 Robert Millan <rmh@aybabtu.com>
12088
12089 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
12090 of the relocation code from here ...
12091 (grub_multiboot): ... to here.
12092 (forward_relocator, backward_relocator): Move from here ...
12093 * kern/i386/loader.S (grub_multiboot_forward_relocator)
12094 (grub_multiboot_backward_relocator): ... to here.
12095 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
12096 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
12097 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
12098 (grub_multiboot_forward_relocator_end)
12099 (grub_multiboot_backward_relocator)
12100 (grub_multiboot_backward_relocator_end): New variables.
12101
05f9452b 121022008-08-12 Bean <bean123ch@gmail.com>
12103
12104 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
12105
20024ab0 121062008-08-11 Robert Millan <rmh@aybabtu.com>
12107
12108 * kern/i386/linuxbios/startup.S: Move from here ...
12109 * kern/i386/coreboot/startup.S: ... to here.
12110
12111 * kern/i386/linuxbios/init.c: Move from here ...
12112 * kern/i386/coreboot/init.c: ... to here.
12113
12114 * kern/i386/linuxbios/table.c: Move from here ...
12115 * kern/i386/coreboot/mmap.c: ... to here.
12116
12117 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
12118
e352e9cd 121192008-08-11 Robert Millan <rmh@aybabtu.com>
12120
12121 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
12122 errors. Leave it to the upper layer to handle them.
12123
2d05bc6a 121242008-08-09 Christian Franke <franke@computer.org>
12125
12126 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
12127 * conf/common.rmk: Install `grub-pe2elf' only if requested.
12128 Install `grub.d/10_windows' only on Cygwin.
12129 * configure.ac: Add subst of `target_os'.
12130 Check `target_os' also before setting TARGET_OBJ2ELF.
12131 Add `--enable-grub-pe2elf'.
12132
042bd419 121332008-08-08 Robert Millan <rmh@aybabtu.com>
12134
12135 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12136 (grub_last_time): Change type to grub_uint64_t.
12137 (grub_disk_open): Migrate code from to using grub_get_time_ms().
12138 (grub_disk_close): Likewise.
12139
12140 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
12141 (run_menu): Migrate code from to using grub_get_time_ms().
12142
12143 * util/misc.c (grub_get_time_ms): New function.
12144
7f280db5 121452008-08-08 Marco Gerards <marco@gnu.org>
12146
12147 * disk/ata.c (grub_ata_regget): Change return type to
12148 `grub_uint8_t'.
12149 (grub_ata_regget2): Likewise.
12150 (grub_ata_wait_status): New function.
12151 (grub_ata_wait_busy): Removed function, updated all users to use
12152 `grub_ata_wait_status'.
12153 (grub_ata_wait_drq): Likewise.
12154 (grub_ata_cmd): New function.
12155 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
12156 error handling.
12157 (grub_ata_pio_write): Add error handling.
12158 (grub_atapi_identify): Likewise.
12159 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
12160 handling.
12161 (grub_ata_identify): Use `grub_ata_cmd' and improve error
12162 handling. Actually use the detected registers. Reorder the
12163 detection logic such that it is easier to read.
12164 (grub_ata_pciinit): Do not assign the same ID to each controller.
12165 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
12166 handling.
12167 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
12168
12169 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
12170
1fbc5e66 121712008-08-08 Marco Gerards <marco@gnu.org>
12172
12173 * NEWS: Update.
12174
819ce6c0 121752008-08-07 Bean <bean123ch@gmail.com>
12176
12177 * include/grub/x86_64/pci.h: New file.
12178
5c41d44d 121792008-08-07 Christian Franke <franke@computer.org>
12180
12181 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
12182 (TIMER2_GATE): Likewise.
12183 (grub_pit_wait): Add enable/disable of the timer2 gate
12184 bit of port 0x61. This fixes a possible infinite loop.
12185
5ebc275d 121862008-08-07 Bean <bean123ch@gmail.com>
12187
12188 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
12189 kern/i386/tsc.c and kern/i386/pit.c.
12190
12191 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
12192 x86_64 platform.
12193
12194 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
12195 <grub/i386/tsc.h>.
12196
12197 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
12198
e383b3d0 121992008-08-07 Bean <bean123ch@gmail.com>
12200
12201 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
12202
12203 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
12204
12205 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
12206 multiple inclusion. Add #include <grub/types.h>.
12207
1cbb58ac 122082008-08-06 Christian Franke <franke@computer.org>
12209
12210 * conf/common.rmk: Build and install `10_windows'.
12211 * util/grub.d/10_windows.in: New script.
12212
337f5a1e 122132008-08-06 Pavel Roskin <proski@gnu.org>
12214
12215 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
12216
057bc4ac 122172008-08-06 Robert Millan <rmh@aybabtu.com>
12218
12219 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
12220 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
12221
2b99f123 122222008-08-06 Bean <bean123ch@gmail.com>
12223
12224 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
12225 (grub_pxefs_fs_int): Remove dummy definition.
12226 (grub_pxefs_open): Use data->block_size to store the current block
12227 size setting.
12228 (grub_pxefs_read): Use block size stored in data->block_size. As the
12229 value of grub_pxe_blksize can be changed after the file is opened.
12230
9f0234cb 122312008-08-06 Bean <bean123ch@gmail.com>
12232
12233 * fs/i386/pc/pxe.c (curr_file): new variable.
12234 (grub_pxefs_open): Simply the handling of pxe file system. Don't
12235 require the dummy internal file system anymore.
12236 (grub_pxefs_read): Removed.
12237 (grub_pxefs_close): Likewise.
12238 (grub_pxefs_fs_int): Likewise.
12239 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
12240 connection when we switch file.
12241 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
12242
a55d42e0 122432008-08-06 Robert Millan <rmh@aybabtu.com>
12244
12245 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
12246 `halt.mod'.
12247 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
12248 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
12249
12250 * kern/i386/halt.c: New file.
12251 * kern/i386/reboot.c: Likewise.
12252 * include/grub/i386/reboot.h: Likewise.
12253 * include/grub/i386/halt.h: Likewise.
12254
12255 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
12256 Include `<grub/cpu/halt.h>'.
12257 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
12258 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
12259
12260 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
12261 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
12262 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
12263 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
12264 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
12265 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
12266 from here ...
12267 * include/grub/i386/at_keyboard.h: ... to here.
12268
24371d26 122692008-08-05 Robert Millan <rmh@aybabtu.com>
12270
12271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
12272 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
12273 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
12274 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12275 `kern/generic/millisleep.c'.
12276
12277 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
12278 instead of grub_get_rtc().
12279 (grub_tsc_init): Initialize `tsc_boot_time'.
12280
12281 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
12282 (grub_machine_init): Use grub_tsc_init() rather than
12283 installing an RTC-based handler via grub_install_get_time_ms().
12284
12285 * kern/i386/pit.c: New file.
12286 * include/grub/i386/pit.h: Likewise.
12287
9e7007b3 122882008-08-05 Bean <bean123ch@gmail.com>
12289
12290 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
12291
12292 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
12293 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
12294 (pxe_mod_SOURCES): New macro.
12295 (pxe_mod_CFLAGS): Likewise.
12296 (pxe_mod_LDFLAGS): Likewise.
12297 (pxecmd_mod_SOURCES): Likewise.
12298 (pxecmd_mod_CFLAGS): Likewise.
12299 (pxecmd_mod_LDFLAGS): Likewise.
12300
12301 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
12302 (grub_pxe_call): Likewise.
12303
12304 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
12305
12306 * commands/i386/pc/pxecmd.c: New file.
12307
9f0234cb 12308 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 12309
12310 * include/grub/i386/pc/pxe.h: Likewise.
12311
6977d49f 123122008-08-05 Bean <bean123ch@gmail.com>
12313
12314 * util/console.c (grub_console_cur_color): New variable.
12315 (grub_console_standard_color): Likewise.
12316 (grub_console_normal_color): Likewise.
12317 (grub_console_highlight_color): Likewise.
12318 (color_map): Likewise.
12319 (use_color): Likewise.
12320 (NUM_COLORS): New macro.
12321 (grub_ncurses_setcolorstate): Handle color properly.
12322 (grub_ncurses_setcolor): Don't change color here, just remember the
12323 settings, color will be set in grub_ncurses_setcolorstate.
12324 (grub_ncurses_getcolor): New function.
12325 (grub_ncurses_init): Initialize color pairs.
12326 (grub_ncurses_term): New member grub_ncurses_getcolor.
12327
9c2ff3ee 123282008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 12329
9c2ff3ee 12330 High resolution timer support. Implemented for x86 CPUs using TSC.
12331 Extracted generic grub_millisleep() so it's linked in only as needed.
12332 This requires a Pentium compatible CPU; if the RDTSC instruction is
12333 not supported, then it falls back on the generic grub_get_time_ms()
12334 implementation that uses the machine's RTC.
12335
12336 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
12337 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
12338 `kern/generic/millisleep.c'.
12339
12340 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
12341 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
12342
12343 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
12344 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
12345
12346 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12347
12348 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12349 `kern/generic/millisleep.c'.
12350
12351 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
12352
12353 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
12354
12355 * kern/generic/rtc_get_time_ms.c: New file.
12356
12357 * kern/generic/millisleep.c: New file.
337f5a1e 12358
9c2ff3ee 12359 * kern/misc.c: Don't include
12360 <kern/time.h> anymore.
12361 (grub_millisleep_generic): Removed.
12362
12363 * commands/sleep.c (grub_interruptible_millisleep): Uses
12364 grub_get_time_ms() instead of grub_get_rtc().
12365
12366 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
12367 function.
12368 (grub_cpu_is_cpuid_supported): New inline function.
12369 (grub_cpu_is_tsc_supported): New inline function.
12370 (grub_tsc_init): New function prototype.
12371 (grub_tsc_get_time_ms): New function prototype.
12372
12373 * kern/i386/tsc.c (grub_get_time_ms): New file.
12374
12375 * include/grub/time.h: Include <grub/types.h.
12376 (grub_millisleep_generic): Removed.
12377 (grub_get_time_ms): New prototype.
12378 (grub_install_get_time_ms): New prototype.
12379 (grub_rtc_get_time_ms): New prototype.
12380
12381 * kern/time.c (grub_get_time_ms): New function.
12382 (grub_install_get_time_ms): New function.
12383
12384 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
12385 <grub/time.h> anymore.
12386 (grub_millisleep): Removed.
12387 (grub_machine_init): Call grub_tsc_init.
12388
12389 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
12390 get_time_ms() implementation.
12391
12392 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
12393 (ieee1275_get_time_ms): New function.
12394 (grub_machine_init): Install get_time_ms() implementation.
12395
12396 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
12397 (grub_machine_init): Call grub_tsc_init().
12398 (grub_millisleep): Removed.
bf06a93f 12399
9c2ff3ee 12400 * kern/ieee1275/init.c (grub_millisleep): Removed.
12401 (grub_machine_init): Install ieee1275_get_time_ms()
12402 implementation.
12403 (ieee1275_get_time_ms): New function.
12404 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
12405 real work.
12406
9ec92aaf 124072008-08-05 Marco Gerards <marco@gnu.org>
12408
12409 * disk/ata.c: Include <grub/pci.h>.
12410 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
12411 (grub_ata_initialize): Rewritten.
12412 (grub_ata_device_initialize): New function.
12413
8d23f507 124142008-08-04 Pavel Roskin <proski@gnu.org>
12415
12416 * kern/main.c: Include grub/mm.h.
12417
5e15ee3d 124182008-08-04 Robert Millan <rmh@aybabtu.com>
12419
12420 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
12421 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
12422 corruption problem).
12423
a9053f8f 124242008-08-04 Robert Millan <rmh@aybabtu.com>
12425
12426 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
12427 warnings introduced in my last commit.
12428
dd19c7d7 124292008-08-03 Robert Millan <rmh@aybabtu.com>
12430
12431 Make PCI available on all i386 architectures.
12432
12433 * include/grub/i386/pc/pci.h: Move from here ...
12434 * include/grub/i386/pci.h: ... to here.
12435
12436 * include/grub/i386/pc/pci.h: Remove.
12437 * include/grub/i386/efi/pci.h: Remove.
12438 * include/grub/x86_64/efi/pci.h: Remove.
12439
12440 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
12441 `<grub/cpu/pci.h>'.
12442
12443 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
12444 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
12445 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
12446
12447 * conf/i386-ieee1275.rmk: Likewise.
12448
e14a6184 124492008-08-03 Robert Millan <rmh@aybabtu.com>
12450
12451 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
12452 (grub_console_setcursor): Make it possible to set cursor off.
12453
52768e37 124542008-08-03 Robert Millan <rmh@aybabtu.com>
12455
12456 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
12457 of modules instead of assuming which platform provides what.
12458 * util/update-grub.in: Likewise.
12459
2d52f57f 124602008-08-03 Robert Millan <rmh@aybabtu.com>
12461
12462 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
12463 instead of `grub_install_dos_part' to determine whether a drive needs
12464 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 12465 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 12466
2a5cd121 124672008-08-02 Robert Millan <rmh@aybabtu.com>
12468
12469 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
12470
93808428 124712008-08-02 Robert Millan <rmh@aybabtu.com>
12472
12473 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
12474 of informational grub_dprintf() calls.
12475
3bd0a12a 124762008-08-02 Robert Millan <rmh@aybabtu.com>
12477
12478 * disk/memdisk.c (memdisk_size): Don't initialize.
12479 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
12480
12481 * include/grub/i386/pc/kernel.h
12482 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
12483 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
12484 (grub_memdisk_image_size, grub_arch_memdisk_addr)
12485 (grub_arch_memdisk_size): Remove.
12486
12487 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
12488 field (was only used to transfer a constant). Add `type' field to
12489 support multiple module types.
12490 (grub_module_iterate): New function.
12491
12492 * kern/device.c (grub_device_open): Do not hide error messages
12493 when grub_disk_open() fails. Use grub_print_error() instead.
12494
12495 * kern/i386/pc/init.c (grub_arch_modules_addr)
12496 (grub_arch_memdisk_size): Remove functions.
12497 (grub_arch_modules_addr): Return the module address in high memory
12498 (now that it isn't copied anymore).
12499
12500 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
12501 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
12502 decompression routine (grub_total_module_size already includes that
12503 now). Don't copy modules back to low memory.
12504
12505 * kern/main.c: Include `<grub/mm.h>'.
12506 (grub_load_modules): Split out (and use) ...
12507 (grub_module_iterate): ... this function, which iterates through
12508 module objects and runs a hook.
12509 Comment out grub_mm_init_region() call, as it would cause non-ELF
12510 modules to be overwritten.
12511
12512 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
12513 the memdisk image in its own region, make it part of the module list.
12514 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
12515 (main): Parse --memdisk|-m option, and pass user-provided path as
12516 parameter to generate_image().
12517 (add_segments): Pass `memdisk_path' down to load_modules().
12518 (load_modules): Embed memdisk image in module section when requested.
12519 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
12520 `header.type' instead of `header.offset'.
12521
12522 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
12523 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
12524 (memdisk_mod_LDFLAGS): New variables.
12525 * conf/i386-coreboot.rmk: Likewise.
12526 * conf/i386-ieee1275.rmk: Likewise.
12527
a927cc73 125282008-08-02 Robert Millan <rmh@aybabtu.com>
12529
12530 * loader/i386/pc/multiboot.c (playground, forward_relocator)
12531 (backward_relocator): New variables. Used to allocate and relocate
12532 the payload, respectively.
12533 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 12534 address, install the appropriate relocator code in each bound of
a927cc73 12535 the payload, and set the entry point such that
12536 grub_multiboot_real_boot() will jump to one of them.
12537
12538 * kern/i386/loader.S (grub_multiboot_payload_size)
12539 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12540 (grub_multiboot_payload_entry_offset): New variables.
12541 (grub_multiboot_real_boot): Set cpu context to what the relocator
12542 expects, and jump to the relocator instead of the payload.
12543
12544 * include/grub/i386/loader.h (grub_multiboot_payload_size)
12545 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
12546 (grub_multiboot_payload_entry_offset): Export.
12547
b15d8a0c 125482008-08-01 Bean <bean123ch@gmail.com>
12549
12550 * normal/menu_entry.c (editor_getline): Don't return the original
12551 string as result, as it will be released by lexer once it has done
12552 using it.
12553
cdfb3d22 125542008-08-01 Robert Millan <rmh@aybabtu.com>
12555
12556 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
12557 within menuentries, not before them.
12558 util/grub.d/10_hurd.in: Likewise.
12559
9175e93d 125602008-08-01 Bean <bean123ch@gmail.com>
12561
12562 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
12563 (bufio_mod_SOURCES): New macro.
12564 (bufio_mod_CFLAGS): Likewise.
12565 (bufio_mod_LDFLAGS): Likewise.
12566
12567 * include/grub/bufio.h: New file.
12568
12569 * io/bufio.c: Likewise.
12570
12571 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
12572 (grub_video_reader_png): Use grub_buffile_open to open file.
12573
12574 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
12575 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
12576
12577 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
12578 (grub_video_reader_tga): Use grub_buffile_open to open file.
12579
12580 * font/manager.c: Include <grub/bufio.h>.
12581 (add_font): Use grub_buffile_open to open file.
12582
3d8383e7 125832008-07-31 Robert Millan <rmh@aybabtu.com>
12584
12585 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
12586 ELF segments, use a macro for arbitrarily accessing any of them instead
12587 of preparing a pointer that allows access to one at a time.
12588 (grub_multiboot_load_elf64): Likewise.
12589
16e641b6 125902008-07-31 Bean <bean123ch@gmail.com>
12591
12592 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
12593 GRUB_KERNEL_MACHINE_DATA_END.
12594
59198b72 125952008-07-30 Robert Millan <rmh@aybabtu.com>
12596
12597 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
12598 Increase from 0x50 to 0x60.
12599 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
12600 use UUIDs to identify the root drive for them. If that's not
12601 possible, abort.
12602 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
12603 check, for cross-disk installs.
12604
ae88bca3 126052008-07-30 Robert Millan <rmh@aybabtu.com>
12606
12607 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
12608 is non-empty, use it to set the `prefix' environment variable instead
12609 of the usual approach.
12610 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
12611 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
12612 environment variable instead of dummy make_install_device().
12613
12614 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
12615 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 12616 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 12617
12618 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
12619 New variable reference.
12620 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
12621 New macro. Defines offset of `grub_prefix' within startup.S (relative
12622 to `start').
12623 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
12624 section within startup.S (relative to `start').
12625 * include/grub/i386/coreboot/kernel.h: Likewise.
12626
12627 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
12628 Overwrite grub_prefix with its contents, at the beginning of the
12629 first segment.
12630 (main): Understand -p|--prefix.
12631
14f41dd1 126322008-07-30 Robert Millan <rmh@aybabtu.com>
12633
12634 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
12635
4ca049a3 126362008-07-30 Robert Millan <rmh@aybabtu.com>
12637
12638 * term/i386/pc/vga_text.c (grub_console_cls): Use
12639 grub_console_gotoxy() to go back to beginning of the screen.
12640 Found by Patrick Georgi <patrick.georgi@coresystems.de>
12641
2921d337 126422008-07-29 Christian Franke <franke@computer.org>
12643
12644 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12645 Add conversion of emulated mount points on Cygwin.
12646
b609876d 126472008-07-29 Christian Franke <franke@computer.org>
12648
12649 * util/update-grub.in: Add a check for admin
12650 group on Cygwin.
12651 Remove old `grub.cfg.new' before creation.
12652 Add `-f' to `mv' to handle the different filesystem
12653 semantics of Windows.
12654
e93e4679 126552008-07-29 Bean <bean123ch@gmail.com>
12656
12657 * normal/main.c (get_line): Fix buffer overflow bug.
12658
41694fd0 126592008-07-28 Robert Millan <rmh@aybabtu.com>
12660
12661 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
12662 (struct grub_apple_header): New struct. Describes the layout of
12663 the partmap header.
12664 (apple_partition_map_iterate): Check the header magic as well as the
12665 partition magic (which was already being checked).
12666
cfd0b4e6 126672008-07-28 Pavel Roskin <proski@gnu.org>
12668
12669 * genmk.rb: Add a warning to the beginning of the output that
12670 it's a generated file and should not be edited.
12671
93cce016 126722008-07-28 Robert Millan <rmh@aybabtu.com>
12673
12674 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12675 with the same number are found, just use issue a warning with
12676 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 12677
cd1df915 126782008-07-27 Robert Millan <rmh@aybabtu.com>
12679
12680 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
12681 information.
12682
b70a8427 126832008-07-27 Bean <bean123ch@gmail.com>
12684
12685 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
12686 (grub_fat_find_dir): Ignore case when comparing filename.
12687
8f5e379f 126882008-07-27 Bean <bean123ch@gmail.com>
12689
12690 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
12691 smallino, as it's more descriptive, and i8count can be confused with
12692 the other field count.
12693 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
12694 inode type.
12695
a85cd5a0 126962008-07-27 Bean <bean123ch@gmail.com>
12697
12698 * commands/crc.c: New file.
12699
12700 * lib/crc.c: Likewise.
12701
12702 * include/grub/lib/crc.h: Likewise.
12703
12704 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
12705
12706 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
12707 (hexdump): Move this function to ...
12708
12709 * lib/hexdump.c: ... here.
12710
12711 * include/grub/hexdump.h: Renamed to ...
12712
12713 * include/grub/lib/hexdump.h: ... this.
12714
12715 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
12716
12717 * util/grub-editenv.c: Likewise.
12718
12719 * include/envblk.h: Renamed to ...
12720
12721 * include/lib/envblk.h: ... this.
12722
12723 * util/envblk.c: Renamed to ...
12724
12725 * lib/envblk.c: ... this.
12726
12727 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
12728 lib/hexdump.c.
12729 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
12730 (pkglib_MODULES): Add crc.mod.
12731 (hexdump_mod_SOURCES): Add lib/hexdump.c.
12732 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
12733 (crc_mod_SOURCES): New macro.
12734 (crc_mod_CFLAGS): Likewise.
12735 (crc_mod_LDFLAGS): Likewise.
12736
12737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
12738
12739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12740
12741 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12742
12743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12744
12745 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12746
c298def0 127472008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 12748
12749 * commands/help.c: Include <grub/term.h>.
12750 (TERM_WIDTH): Removed. Updated all users.
12751
cc349fb3 127522008-07-27 Pavel Roskin <proski@gnu.org>
12753
12754 * util/getroot.c (find_root_device): Rephrase a comment to avoid
12755 spurious warnings about a comment within a comment.
12756
9051607e 127572008-07-25 Robert Millan <rmh@aybabtu.com>
12758
12759 * util/getroot.c (find_root_device): Skip devices that match
12760 /dev/dm-[0-9]. This lets the real device be found for any type of
12761 abstraction (LVM, EVMS, RAID..).
12762 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
12763 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
12764 device is found first, find_root_device() will now skip it.
12765
01453bfc 127662008-07-24 Pavel Roskin <proski@gnu.org>
12767
12768 * include/grub/types.h: Use __builtin_bswap32() and
12769 __builtin_bswap64() with gcc 4.3 and newer.
12770
6af9849f 127712008-07-24 Christian Franke <franke@computer.org>
12772
3a0fa256 12773 * util/i386/pc/grub-install.in: If `--debug' is specified,
12774 pass `--verbose' to grub-setup.
12775 Abort script if make_system_path_relative_to_its_root() fails.
12776
7810e747 127772008-07-24 Bean <bean123ch@gmail.com>
12778
12779 * configure.ac: Fixed a bug caused by the previous cygwin patch,
12780 variable `target_platform' should be `platform'.
12781
42290e17 127822008-07-24 Bean <bean123ch@gmail.com>
12783
51cc5193 12784 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 12785 (grub_png_init_fixed_block): New function.
12786 (grub_png_decode_image_data): Handle fixed huffman code compression.
12787
2a8a80e4 127882008-07-24 Bean <bean123ch@gmail.com>
12789
12790 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
12791 (grub_pe2elf_SOURCES): New macro.
12792 (CLEANFILES): Add grub-pe2elf.
12793
12794 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
12795 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
12796 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
12797 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
12798 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
12799 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
12800 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
12801 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
12802 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
12803 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
12804 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
12805 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
12806 (GRUB_PE32_DT_FUNCTION): Likewise.
12807 (GRUB_PE32_REL_I386_DIR32): Likewise.
12808 (GRUB_PE32_REL_I386_REL32): Likewise.
12809 (grub_pe32_symbol): New structure.
12810 (grub_pe32_reloc): Likewise.
12811
12812 * util/grub-pe2elf.c: New file.
12813
12814 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
12815 start symbol in non pc platform.
12816
12817 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
12818
12819 The following patches are from Christian Franke.
12820
12821 * include/grub/dl.h: Remove .previous, gas supports this only
12822 for ELF format.
12823
12824 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
12825 Remove .type, gas supports this only for ELF format.
12826
12827 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
12828 nullbytes in symbol table. This fixes an infinite loop if table is
12829 zero filled.
12830
12831 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
12832 TARGET_IMG_LDFLAGS and EXEEXT.
12833
12834 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
12835 TARGET_IMG_LDFLAGS_AC.
12836 (grub_CHECK_STACK_ARG_PROBE): New function.
12837
12838 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
12839
12840 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
12841
12842 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
12843 to set TARGET_IMG_LD* accordingly.
12844 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
12845 Add call to grub_CHECK_STACK_ARG_PROBE.
12846 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
12847
12848 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
12849
12850 * genmk.rb: Add EXEEXT to CLEANFILES.
12851
12ccdb75 128522008-07-23 Robert Millan <rmh@aybabtu.com>
12853
12854 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
12855 define the codes for arrows and lines used for the menu).
12856 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
12857 as well.
12858
12859 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
12860 fonts, because the latter are too slow.
12861
18eeaf04 128622008-07-21 Bean <bean123ch@gmail.com>
12863
12864 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
12865 a20. Run keyboard test last, as it will cause macbook to halt.
12866
b095e2ad 128672008-07-18 Pavel Roskin <proski@gnu.org>
12868
12869 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
12870 load foreign architecture modules correctly anyway. Keep
12871 support for loading host architecture modules, whether we
12872 compile them or not.
12873
737feb35 128742008-07-17 Pavel Roskin <proski@gnu.org>
12875
3f4ce737 12876 * configure.ac: Use -m32 or -m64 regardless of whether we had to
12877 change target_cpu. The compiler default can mismatch target_cpu
12878 in any case.
12879
4ad2d049 12880 * disk/efi/efidisk.c: Fix format warnings on x86_64.
12881 * kern/efi/efi.c: Likewise.
12882
f6130a12 12883 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
12884 target compiler is functional.
12885 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
12886 are set up.
12887
58393a2d 12888 * configure.ac: Default to efi platform for x86_64-apple. Allow
12889 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
12890 adjustments from the rest, only do them if target is not
12891 explicitly given. Merge other adjustments with the final sanity
12892 check. Remove an extraneous check for supported CPU. Be
12893 specific which CPU and which platform is not supported.
12894
737feb35 12895 * configure.ac: Default to pc platform for x86_64.
12896
546f966a 128972008-07-17 Robert Millan <rmh@aybabtu.com>
12898
12899 Partial LinuxBIOS -> Coreboot rename.
12900
12901 * conf/i386-linuxbios.rmk: Renamed to ...
12902 * conf/i386-coreboot.rmk: ... this.
12903 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
12904 * configure.ac: Accept "coreboot" as input platform (but maintain
12905 compatibility with "linuxbios").
12906 * include/grub/i386/linuxbios: Renamed to ...
12907 * include/grub/i386/coreboot: ... this.
12908
20011694 129092008-07-17 Bean <bean123ch@gmail.com>
12910
12911 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 12912 (appleldr_mod_SOURCE): New variable.
20011694 12913 (appleldr_mod_CFLAGS): Likewise.
12914 (appleldr_mod_LDFLAGS): Likewise.
12915 (pci_mod_SOURCES): Likewise.
12916 (pci_mod_CFLAGS): Likewise.
12917 (pci_mod_LDFLAGS): Likewise.
12918 (lspci_mod_SOURCES): Likewise.
12919 (lspci_mod_CFLAGS): Likewise.
12920 (lspci_mod_LDFLAGS): Likewise.
12921
12922 * conf/x86_64-efi.rmk: New file.
12923
12924 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
12925 macro.
12926 (grub_efidisk_write): Likewise.
12927
12928 * include/efi/api.h (efi_call_0): New macro.
12929 (efi_call_1): Likewise.
12930 (efi_call_2): Likewise.
12931 (efi_call_3): Likewise.
12932 (efi_call_4): Likewise.
12933 (efi_call_5): Likewise.
12934 (efi_call_6): Likewise.
12935
12936 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
12937 grub_rescue_cmd_chainloader.
12938
12939 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
12940 (grub_pe32_optional_header): Change some fields based on i386 or
12941 x86_64 platform.
12942 (GRUB_PE32_PE32_MAGIC): Likewise.
12943
12944 * include/grub/efi/uga_draw.h: New file.
12945
12946 * include/grub/elf.h (STN_ABS): New constant.
12947 (R_X86_64_NONE): Relocation constant for x86_64.
12948 (R_X86_64_64): Likewise.
12949 (R_X86_64_PC32): Likewise.
12950 (R_X86_64_GOT32): Likewise.
12951 (R_X86_64_PLT32): Likewise.
12952 (R_X86_64_COPY): Likewise.
12953 (R_X86_64_GLOB_DAT): Likewise.
12954 (R_X86_64_JUMP_SLOT): Likewise.
12955 (R_X86_64_RELATIVE): Likewise.
12956 (R_X86_64_GOTPCREL): Likewise.
12957 (R_X86_64_32): Likewise.
12958 (R_X86_64_32S): Likewise.
12959 (R_X86_64_16): Likewise.
12960 (R_X86_64_PC16): Likewise.
12961 (R_X86_64_8): Likewise.
12962 (R_X86_64_PC8): Likewise.
12963
12964 * include/grub/i386/efi/pci.h: New file.
12965
12966 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
12967 Change it value based on platform.
12968 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
12969 (GRUB_E820_RAM): Likewise.
12970 (GRUB_E820_RESERVED): Likewise.
12971 (GRUB_E820_ACPI): Likewise.
12972 (GRUB_E820_NVS): Likewise.
12973 (GRUB_E820_EXEC_CODE): Likewise.
12974 (GRUB_E820_MAX_ENTRY): Likewise.
12975 (grub_e820_mmap): New structure.
12976 (linux_kernel_header): Change the efi field according to different
12977 kernel version, also field from linux_kernel_header.
12978
12979 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
12980
12981 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
12982 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
12983 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
12984 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
12985 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
12986 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
12987 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
12988 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
12989 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
12990 (GRUB_PCI_ADDR_IO_MASK): Likewise.
12991
12992 * include/grub/x86_64/efi/kernel.h: New file.
12993
12994 * include/grub/x86_64/efi/loader.h: Likewise.
12995
12996 * include/grub/x86_64/efi/machine.h: Likewise.
12997
12998 * include/grub/x86_64/efi/pci.h: Likewise.
12999
13000 * include/grub/x86_64/efi/time.h: Likewise.
13001
13002 * include/grub/x86_64/linux.h: Likewise.
13003
13004 * include/grub/x86_64/setjmp.h: Likewise.
13005
13006 * include/grub/x86_64/time.h: Likewise.
13007
13008 * include/grub/x86_64/types.h: Likewise.
13009
13010 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13011 GRUB_TARGET_SIZEOF_VOID_P.
13012
13013 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13014 (grub_efi_locate_handle): Likewise.
13015 (grub_efi_open_protocol): Likewise.
13016 (grub_efi_set_text_mode): Likewise.
13017 (grub_efi_stall): Likewise.
13018 (grub_exit): Likewise.
13019 (grub_reboot): Likewise.
13020 (grub_halt): Likewise.
13021 (grub_efi_exit_boot_services): Likewise.
13022 (grub_get_rtc): Likewise.
13023
13024 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13025 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13026 (grub_efi_allocate_pages): Wrap efi calls.
13027 (grub_efi_free_pages): Wrap efi calls.
13028 (grub_efi_get_memory_map): Wrap efi calls.
13029
13030 * kern/x86_64/dl.c: New file.
13031
13032 * kern/x86_64/efi/callwrap.S: Likewise.
13033
13034 * kern/x86_64/efi/startup.S: Likewise.
13035
13036 * loader/efi/appleloader.c: Likewise.
13037
13038 * loader/efi/chainloader.c (cmdline): New variable.
13039 (grub_chainloader_unload): Wrap efi calls.
13040 (grub_chainloader_boot): Likewise.
13041 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
13042 command line.
13043
13044 * loader/efi/chainloader_normal.c (chainloader_command):
13045 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
13046 command line.
13047
13048 * loader/i386/efi/linux.c (allocate_pages): Change allocation
13049 method.
13050 (grub_e820_add_region): New function.
13051 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
13052 booting.
13053 (grub_find_video_card): New function.
13054 (grub_linux_setup_video): New function.
13055 (grub_rescue_cmd_linux): Probe for video information.
13056
13057 * normal/x86_64/setjmp.S: New file.
13058
13059 * term/efi/console.c (map_char): New function.
13060 (grub_console_putchar): Map unicode char.
13061 (grub_console_checkkey): Wrap efi calls.
13062 (grub_console_getkey): Likewise.
13063 (grub_console_getwh): Likewise.
13064 (grub_console_gotoxy): Likewise.
13065 (grub_console_cls): Likewise.
13066 (grub_console_setcolorstate): Likewise.
13067 (grub_console_setcursor): Likewise.
13068
13069 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
13070
59652a20 130712008-07-16 Pavel Roskin <proski@gnu.org>
13072
ef294055 13073 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
13074 format strings.
13075
59652a20 13076 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
13077 pointer, not an integer. This fixes a warning and prevents
13078 precision loss on 64-bit systems.
13079 (relocate_addresses): Remove unneeded cast.
13080
afc3b5d7 130812008-07-15 Pavel Roskin <proski@gnu.org>
13082
506b2b3e 13083 * kern/i386/ieee1275/init.c: Include grub/cache.h.
13084
62ead89c 13085 * term/ieee1275/ofconsole.c: Disable code unused on i386.
13086
c4cd51d7 13087 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
13088 Fix comparison between signed and unsigned.
13089
0d3d8f28 13090 * include/grub/i386/ieee1275/console.h: Declare
13091 grub_console_init() and grub_console_fini().
13092
8804b286 13093 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
13094 It's empty and unused.
13095
ee01cf35 13096 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
13097 beginning to avoid warnings with some compilers.
13098
afc3b5d7 13099 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
13100 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
13101
e4e8eaa5 131022008-07-14 Pavel Roskin <proski@gnu.org>
13103
407aceb4 13104 * kern/env.c (grub_register_variable_hook): Don't copy empty
13105 string, it leaks memory. Pass "" to grub_env_set(), it should
13106 handle constant strings.
13107
e4e8eaa5 13108 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
13109 * commands/cmp.c (grub_cmd_cmp): Likewise.
13110 * kern/dl.c (grub_dl_flush_cache): Likewise.
13111 (grub_dl_load_core): Likewise.
13112 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
13113 (grub_elf64_load_phdrs): Likewise.
13114
d4e2dad3 131152008-07-13 Pavel Roskin <proski@gnu.org>
13116
13117 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
13118 between signed and unsigned.
13119 (LzmaEnc_Finish): Fix warning about an unused parameter.
13120
aa24b516 131212008-07-13 Bean <bean123ch@gmail.com>
13122
13123 * Makefile.in (enable_lzo): New rule.
13124
13125 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
13126
13127 * configure.ac (ENABLE_LZO): New option --enable-lzo.
13128
13129 * boot/i386/pc/lnxboot.S: #include <config.h>.
13130
13131 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 13132 its value according to the compression algorithm used, lzo or lzma.
aa24b516 13133
13134 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
13135 compression algorithm according to configure macro.
13136
13137 * kern/i386/pc/startup.S (codestart): Likewise.
13138
13139 * kern/i386/pc/lzma_decode.S: New file.
13140
13141 * include/grub/lib/LzFind.h: Likewise.
13142
13143 * include/grub/lib/LzHash.h: Likewise.
13144
13145 * include/grub/lib/LzmaDec.h: Likewise.
13146
13147 * include/grub/lib/LzmaEnc.h: Likewise.
13148
13149 * include/grub/lib/LzmaTypes.h: Likewise.
13150
13151 * lib/LzFind.c: Likewise.
13152
13153 * lib/LzmaDec.c: Likewise.
13154
13155 * lib/LzmaEnc.c: Likewise.
13156
4ae821ac 131572008-07-13 Bean <bean123ch@gmail.com>
13158
13159 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
13160 (grub_ext4_extent_header): New structure.
13161 (grub_ext4_extent): Likewise.
13162 (grub_ext4_extent_idx): Likewise.
13163 (grub_ext4_find_leaf): New function.
13164 (grub_ext2_read_block): Handle extents.
13165
9a745147 131662008-07-12 Robert Millan <rmh@aybabtu.com>
13167
13168 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
13169
d49a4cf6 131702008-07-11 Robert Millan <rmh@aybabtu.com>
13171
13172 * util/grub.d/40_custom.in: New file. Example on how to add custom
13173 entries to /etc/grub.d.
13174 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
13175 40_custom (implicitly, by merging all the grub.d rules).
13176
947414b4 131772008-07-11 Pavel Roskin <proski@gnu.org>
13178
0059cf6f 13179 * commands/read.c (grub_getline): Fix invalid memory access.
13180 Don't add newline to the variable value.
13181
947414b4 13182 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
13183 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
13184 (serial_hw_get_port): Check validity of the port number.
13185 (grub_cmd_serial): Check return value of serial_hw_get_port().
13186
62a02d00 131872008-07-07 Pavel Roskin <proski@gnu.org>
13188
13189 * boot/i386/pc/diskboot.S (notification_string): Replace
13190 "Loading kernel" with just "loading". This is shorter, less
13191 confusing and saves a few bytes for possible future changes.
13192
3e5581b0 131932008-07-05 Pavel Roskin <proski@gnu.org>
13194
ea387a48 13195 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
13196 size for ATAPI devices, they are undefined. Output sector
13197 number in decimal form.
13198
3e5581b0 13199 * disk/ata.c: Use named constants for status bits.
13200
fdecb8fd 132012008-07-04 Pavel Roskin <proski@gnu.org>
13202
bcd35b90 13203 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
13204 grub_addr_t before casting it to the void pointer to fix a
13205 warning. Non-addressable regions are discarded earlier.
13206 (grub_arch_modules_addr): Cast _end to grub_addr_t.
13207 * kern/i386/linuxbios/table.c: Include grub/misc.h.
13208 (check_signature): Don't shadow table_header.
13209 (grub_linuxbios_table_iterate): Cast numeric constants to
13210 grub_linuxbios_table_header_t.
13211 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
13212 grub_stop().
13213
af58ab3d 13214 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
13215 prevent warnings.
13216
1759aa57 13217 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
13218 pointer, which can cause warnings. Support 64-bit addresses.
13219
fdecb8fd 13220 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
13221 of sizeof(long). This fixes PowerPC image generation on x86_64.
13222
8516d2a8 132232008-07-04 Robert Millan <rmh@aybabtu.com>
13224
13225 This fixes a performance issue when pc & gpt partmap iterators
13226 didn't abort iteration even after our hook found what it was
fe987087 13227 looking for (often causing expensive probes of non-existent drives).
8516d2a8 13228
13229 Some callers relied on previous buggy behaviour, since they would
34c44600 13230 raise an error when their own hooks caused early abortion of its
8516d2a8 13231 iteration.
13232
13233 * kern/device.c (grub_device_open): Improve error message.
13234 * disk/lvm.c (grub_lvm_open): Likewise.
13235 * disk/raid.c (grub_raid_open): Likewise.
13236
13237 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
13238 when hook requests it, independently of grub_errno.
13239 (pc_partition_map_probe): Do not fail when find_func() caused
13240 early abortion of pc_partition_map_iterate().
13241
13242 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
13243 when hook requests it, independently of grub_errno.
13244 (gpt_partition_map_probe): Do not fail when find_func() caused
13245 early abortion of gpt_partition_map_iterate().
13246
13247 * kern/partition.c (grub_partition_iterate): Abort parent iteration
13248 when hook requests it, independently of grub_errno. Do not fail when
13249 part_map_iterate_hook() caused early abortion of p->iterate().
13250
13251 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
13252 when grub_partition_iterate() returned with non-zero.
13253
277d0de9 132542008-07-03 Pavel Roskin <proski@gnu.org>
13255
13256 * disk/ata.c (grub_ata_pio_write): Check status before writing,
13257 like we do in grub_ata_pio_read().
13258 (grub_ata_readwrite): Always write individual sectors. Fix the
13259 sector count for the remainder.
13260 (grub_ata_write): Enable writing to ATA devices. Correctly
13261 report error for ATAPI devices.
13262
d4c9b428 132632008-07-02 Pavel Roskin <proski@gnu.org>
13264
e43fc690 13265 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
13266 warning.
13267
f707af42 13268 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
13269 for every read sector, we already increment it for the whole
13270 batch. This fixes reading more than 256 sectors at once.
13271
11e16b15 13272 * util/grub-editenv.c (cmd_info): Cast argument to long
13273 explicitly. ptrdiff_t reduces to int on i386.
13274
cbabfdd4 13275 * util/grub-editenv.c (main): Be specific which parameter is
13276 missing.
13277
b8fbce0a 13278 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
13279 (memdisk): Make memdisk_orig_addr a pointer.
13280
c9c8e606 13281 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
13282 for file offsets, use grub_off_t instead. Fix printf format
13283 warnings.
13284
ca62e598 13285 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
13286 there. Real unexpected warnings should not drown in the noise
13287 about known problems.
13288
ce8d1766 13289 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
13290 grub_disk_addr_t for memory addresses.
13291
00c7a56a 13292 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
13293 explicitly to fix a warning.
13294
08d3ef09 13295 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
13296
cb71ba20 13297 * Makefile.in (MODULE_LDFLAGS): New variable.
13298 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
13299 the linker accepts --build-id=none.
13300 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
13301 MODULE_LDFLAGS.
13302 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
13303
d4c9b428 13304 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
13305 those in Linux XFS code. Provide a way to access 64-bit parent
13306 inode.
13307 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
13308 the end of struct grub_xfs_dir_header.
13309
d4156eee 133102008-07-02 Bean <bean123ch@gmail.com>
13311
13312 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
13313 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13314 and GRUB_IEEE1275_FLAG_NO_ANSI.
13315
13316 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
13317 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
13318 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
13319
13320 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
13321 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
13322
13323 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
13324 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
13325
13326 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
13327 esc sequence on non ANSI terminal.
13328 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
13329
13330 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
13331 beginning of file.
13332
2270f77b 133332008-07-02 Bean <bean123ch@gmail.com>
13334
13335 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
13336 (grub_editenv_SOURCES): New variable.
13337 (pkglib_MODULES): Add loadenv.mod.
13338 (loadenv_mod_SOURCES): New variable.
13339 (loadenv_mod_CFLAGS): Likewise.
13340 (loadenv_mod_LDFLAGS): Likewise.
13341
13342 * include/grub/envblk.h: New file.
13343
13344 * util/envblk.c: New file.
13345
13346 * util/grub-editenv.c: New file.
13347
13348 * commands/loadenv.c: New file.
13349
0e9e51ec 133502008-07-01 Pavel Roskin <proski@gnu.org>
13351
d89b7634 13352 * include/multiboot2.h (struct multiboot_tag_module): Use char,
13353 not unsigned char. This fixes warnings and is consistent with
13354 other tags.
13355
bf1835b1 13356 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
13357
8222a04b 13358 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
13359
6a42d99d 13360 * term/tparm.c (analyze): Always set *popcount.
13361
10b159d1 13362 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
13363 cast to fix a warning.
13364
b8789f6c 13365 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
13366 cast to suppress a warning.
13367
29d7e38a 13368 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
13369 grub_fshelp_read_file() expects.
13370
f341f669 13371 * fs/fat.c: Fix UUID calculation on big-endian systems. We
13372 write uuid as a 32-bit value in CPU byte order, so declare and
13373 use it as such.
13374
0e9e51ec 13375 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
13376 long if the format specifier expects it.
13377 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
13378 * partmap/pc.c (pc_partition_map_iterate): Likewise.
13379 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
13380 long to fix a warning.
13381 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
13382 grub_dprintf() arguments to fix warnings.
13383
3aefa857 133842008-06-30 Pavel Roskin <proski@gnu.org>
13385
56c7668b 13386 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
13387 install_bsd_part immediately before core.img is embedded or
13388 modified on disk. This fixes core.img verification if core.img
13389 cannot be embedded.
13390
3aefa857 13391 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
13392 core_path to calculate the blocklist.
13393 Patch from Javier Martín <lordhabbit@gmail.com>
13394
5444088d 133952008-06-29 Robert Millan <rmh@aybabtu.com>
13396
13397 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
13398 block to disk block.
13399 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
13400 Patch from Niels Böhm <bitbucket@arcor.de>
13401
674835c8 134022008-06-29 Robert Millan <rmh@aybabtu.com>
13403
13404 * util/update-grub_lib.in (font_path): Search for fonts in
13405 /boot/grub first, which is more likely to be readable (we aren't
13406 deciding where fonts live, just looking for them).
13407
f527dbc8 134082008-06-26 Pavel Roskin <proski@gnu.org>
13409
6c2d8df6 13410 * util/biosdisk.c (read_device_map): Don't leave dead map
13411 entries for devices failing stat() check.
13412
f527dbc8 13413 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
13414 core_path_dev for the core.img path on the target device.
13415
aebe3d13 134162008-06-26 Robert Millan <rmh@aybabtu.com>
13417
13418 * disk/fs_uuid.c: New file.
13419 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
13420 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
13421 (fs_uuid_mod_LDFLAGS): New variables.
13422 * include/grub/disk.h (grub_disk_dev_id): Add
13423 `GRUB_DISK_DEVICE_UUID_ID'.
13424 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
13425 implement iterate().
13426
37aaf354 134272008-06-26 Robert Millan <rmh@aybabtu.com>
13428
13429 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
13430 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
13431 Linux image includes no initrd.
13432
25ff262a 134332008-06-21 Javier Martín <lordhabbit@gmail.com>
13434
13435 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
13436 call to resolve the core image location that effectively appended the
13437 name twice.
13438
76a2bd44 134392008-06-21 Robert Millan <rmh@aybabtu.com>
13440
13441 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
13442 call from here ...
13443
13444 * util/grub.d/10_hurd.in: ... to here ...
13445 * util/grub.d/10_linux.in: ... and here.
13446
650e1c79 134472008-06-19 Robert Millan <rmh@aybabtu.com>
13448
fe987087 13449 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 13450 after it has been set by grub_machine_set_prefix().
13451
6ce63911 134522008-06-19 Robert Millan <rmh@aybabtu.com>
13453
13454 * commands/search.c (search_label, search_fs_uuid, search_file): Print
13455 search result when not saving to variable, not the other way around.
13456 When saving to variable, abort iteration as soon as a match is found.
13457
73940cec 134582008-06-19 Robert Millan <rmh@aybabtu.com>
13459
13460 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
13461 check for partition that provides /boot/grub. Its logic is flawed,
13462 as it prevents prepare_grub_to_access_device() from being called
13463 multiple times.
13464
3c62a39d 134652008-06-19 Robert Millan <rmh@aybabtu.com>
13466
13467 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
13468 "insmod" command directly when abstraction modules are needed,
fe987087 13469 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 13470 since it had already been processed).
13471
47395a42 134722008-06-19 Pavel Roskin <proski@gnu.org>
13473
13474 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
13475 changed. This is needed in case GRUB_LIBDIR changes.
13476 * conf/i386-ieee1275.rmk: Likewise.
13477 * conf/i386-linuxbios.rmk: Likewise.
13478 * conf/i386-pc.rmk: Likewise.
13479 * conf/powerpc-ieee1275.rmk: Likewise.
13480
a145ac2d 134812008-06-18 Pavel Roskin <proski@gnu.org>
13482
13483 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
13484 kernel_elf_symlist.c to symlist.c for consistency with other
13485 architectures. Update all users.
13486 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13487
7847c51e 134882008-06-18 Robert Millan <rmh@aybabtu.com>
13489
13490 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
13491 it in prefix.
13492
13493 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
13494 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
13495 a RAID device, run setup() for all members independently on whether
13496 LVM abstraction is being used.
13497 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
13498 If grub-mkimage has set `*install_dos_part == -2', don't override this
13499 value.
13500 Perform *install_dos_part adjustments independently on whether
13501 we're embedding or not.
13502 Clarify error message when image is too big for embedding.
13503 Remove duplicate *install_dos_part stanza.
13504
b23e5644 135052008-06-17 Robert Millan <rmh@aybabtu.com>
13506
13507 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
13508 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
13509 variables.
13510 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
13511 values in grub_ofconsole_normal_color and
13512 grub_ofconsole_highlight_color (they're not directly related to
13513 background and foreground).
13514 (grub_ofconsole_setcolorstate): Extract background and foreground
13515 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
13516
0aac2f79 135172008-06-17 Robert Millan <rmh@aybabtu.com>
13518
13519 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
13520 /boot/grub for the check in last commit, not /boot (they could be
13521 different partitions).
13522
3cca7ef3 135232008-06-16 Robert Millan <rmh@aybabtu.com>
13524
13525 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
13526 asked to setup access for the same partition that provides /boot,
13527 don't bother using UUIDs since our root already has the value we
13528 want.
13529
347396d8 135302008-06-16 Robert Millan <rmh@aybabtu.com>
13531
13532 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
13533 I2O devices.
13534 Patch from Sven Mueller <sven@debian.org>.
13535
991477f8 135362008-06-16 Robert Millan <rmh@aybabtu.com>
13537
13538 * util/update-grub.in: Check for $EUID instead of $UID.
13539 Reported by Vincent Zweije.
13540
d31a32a1 135412008-06-16 Bean <bean123ch@gmail.com>
13542
fe987087 13543 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 13544 (grub_ext2_read_block): Likewise.
13545 (grub_ext2_read_inode): Likewise.
13546 (grub_ext2_mount): Likewise.
13547 (grub_ext2_close): Likewise.
13548 (grub_ext3_get_journal): Removed.
13549
fe987087 13550 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 13551 (grub_reiserfs_read_symlink): Likewise.
13552 (grub_reiserfs_mount): Likewise.
13553 (grub_reiserfs_open): Likewise.
13554 (grub_reiserfs_read): Likewise.
13555 (grub_reiserfs_close): Likewise.
13556 (grub_reiserfs_get_journal): Removed.
13557
13558 * fs/fshelp.c (grub_fshelp_read): Removed.
13559 (grub_fshelp_map_block): Likewise.
13560
13561 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
13562 (grub_fshelp_journal): Likewise.
13563 (grub_fshelp_read): Likewise.
13564 (grub_fshelp_map_block): Likewise.
13565
3540a760 135662008-06-16 Pavel Roskin <proski@gnu.org>
13567
13568 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
13569 floating point anymore.
13570 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
13571
95614c84 135722008-06-15 Pavel Roskin <proski@gnu.org>
13573
13574 * commands/ls.c (grub_ls_list_files): Use integer calculations
13575 for human readable format, avoid floating point use.
13576 * kern/misc.c (grub_ftoa): Remove.
13577 (grub_vsprintf): Remove floating point support.
13578
50465dd6 135792008-06-15 Robert Millan <rmh@aybabtu.com>
13580
fe6b695a 13581 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 13582 devices.
13583 Reported by Max Vozeler.
13584
a9207284 135852008-06-15 Robert Millan <rmh@aybabtu.com>
13586
13587 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
13588 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
13589 skipped later.
13590 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
13591 the beginning of the prefix.
13592
13593 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
13594 It is assumed that if we have a memdisk, grub-mkimage has set
13595 grub_prefix to include the "(memdisk)" drive in it.
13596
a7cbd45a 135972008-06-15 Robert Millan <rmh@aybabtu.com>
13598
13599 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
13600 Initialize keyboard controller after registering the terminal, so that
13601 grub_printf() can be called from grub_keyboard_controller_init().
13602
21cf716a 136032008-06-15 Robert Millan <rmh@aybabtu.com>
13604
13605 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
13606 extent-btree which is written as big endian on disk.
13607 Reported by Alain Greppin <al@chilibi.org>.
13608
23a64d8e 136092008-06-14 Robert Millan <rmh@aybabtu.com>
13610
13611 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
13612 * util/i386/pc/grub-install.in (modules): Likewise.
13613
d687651c 136142008-06-13 Pavel Roskin <proski@gnu.org>
13615
13616 * commands/ls.c (grub_ls_list_files): Fix format warnings.
13617
dfe9ddd4 136182008-06-13 Bean <bean123ch@gmail.com>
13619
13620 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
13621
13622 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
13623
13624 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
13625 to indicate sparse block.
13626
16ae7781 136272008-06-12 Pavel Roskin <proski@gnu.org>
13628
e6d1a308 13629 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
13630 number, grub_fshelp_read() does it for us.
13631
16ae7781 13632 * fs/fshelp.c (grub_fshelp_read): New function. Implement
13633 linear disk read with journal translation.
13634 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
13635 * include/grub/fshelp.h: Declare grub_fshelp_read().
13636
40fd3a2b 136372008-06-09 Pavel Roskin <proski@gnu.org>
13638
13639 * fs/minix.c (grub_minix_mount): Handle error reading
13640 superblock.
13641
f5679726 136422008-06-08 Robert Millan <rmh@aybabtu.com>
13643
13644 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
13645 don't append the RAID prefix afterwards.
13646 Reported by Clint Adams.
13647
ce525529 136482008-06-08 Robert Millan <rmh@aybabtu.com>
13649
13650 Based on description from Pavel:
13651 * kern/disk.c (grub_disk_check_range): Rename to ...
13652 (grub_disk_adjust_range): ... this. Add a comment explaining the
13653 tasks performed by this function.
13654
ad4936a0 136552008-06-08 Robert Millan <rmh@aybabtu.com>
13656
13657 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
13658 `num_serial' (for consistency with other variables).
13659 (struct grub_ntfs_data): Add `uuid' member.
13660 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
13661 (grub_ntfs_uuid): New function.
13662 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
13663
dc20b0f9 136642008-06-07 Pavel Roskin <proski@gnu.org>
13665
13666 * util/biosdisk.c (open_device): Revert last change to the
13667 function, it broke installation. The sector needs to be
13668 different dependent on which device is opened.
13669
c5e3cfba 136702008-06-06 Robert Millan <rmh@aybabtu.com>
13671
13672 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
13673 rest of GRUB, and breakage doesn't happen if its value were modified.
13674
13675 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13676 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
13677 a constant (same value).
13678 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
13679 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
13680
26a1f8c4 136812008-06-06 Robert Millan <rmh@aybabtu.com>
13682
13683 * util/biosdisk.c (open_device): Do not modify sector offset when
13684 accessing a partition. kern/disk.c already handles this for us.
13685
25d6b327 136862008-06-06 Robert Millan <rmh@aybabtu.com>
13687
13688 * util/grub-emu.c (grub_machine_init): Move code in this function from
13689 here ...
13690 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
13691 segfault in case grub_printf() is called).
13692
13693 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
13694 grub_probe. Update all users not to explicitly add it again.
13695 (grub_device): New variable; contains corresponding device for grubdir.
13696 (fs_module, partmap_module, devabstraction_module): Pass
13697 `--device ${grub_device}' to grub_probe to avoid traversing /dev
13698 every time.
13699
9ece62fb 137002008-06-05 Robert Millan <rmh@aybabtu.com>
13701
13702 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
13703 is found, print it (same layout as with labels).
13704
1ad36d37 137052008-06-04 Robert Millan <rmh@aybabtu.com>
13706
13707 * util/biosdisk.c (get_drive): Rename to ...
13708 (find_grub_drive): ... this. Update all users.
13709
13710 (get_os_disk): Rename to ...
13711 (convert_system_partition_to_system_disk): ... this. Update all users.
13712
13713 (find_drive): Rename to ...
13714 (find_system_device): ... this. Update all users.
13715
e6a30859 137162008-06-04 Robert Millan <rmh@aybabtu.com>
13717
13718 * util/biosdisk.c (get_os_disk): Handle IDA devices.
13719 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13720 (make_device_map): Likewise.
13721
00c108a4 137222008-06-01 Robert Millan <rmh@aybabtu.com>
13723
13724 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
13725 before dereferencing it.
13726
13727 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
13728 union with fat12/fat16-specific ones. Add some new fields, including
13729 `num_serial' for both versions.
13730 (struct grub_fat_data): Add `uuid' member.
13731 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
13732 names. Initialize `data->uuid' using `num_serial'.
13733 (grub_fat_uuid): New function.
13734 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
13735
13736 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
13737 (grub_reiserfs_uuid): New function.
13738 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
13739 member.
13740
13741 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
13742 (grub_xfs_uuid): New function.
13743 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
13744
1385c5bb 137452008-06-01 Robert Millan <rmh@aybabtu.com>
13746
13747 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
13748 code that is backward compatible with pre-uuid search command.
13749
c682dfd7 137502008-05-31 Robert Millan <rmh@aybabtu.com>
13751
13752 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
13753 floppies after everything else, to ensure floppy drive isn't accessed
13754 unnecessarily (patch from Bean).
13755
b7db5d47 137562008-05-31 Robert Millan <rmh@aybabtu.com>
13757
13758 * commands/search.c (search_label, search_fs_uuid, search_file): Do
13759 not print device names when we were asked to set a variable.
13760
6e037aa9 137612008-05-31 Robert Millan <rmh@aybabtu.com>
13762
13763 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
13764 using "cursor-on" and "cursor-off" commands (understood at least by
13765 the Open Firmware flavour on OLPC).
13766
41305bc8 137672008-05-31 Michael Gorven <michael@gorven.za.net>
13768
13769 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
13770 on and off sequences.
13771
69ba137e 137722008-05-31 Robert Millan <rmh@aybabtu.com>
13773
13774 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
13775 * util/update-grub.in: Likewise.
13776
520ae21b 137772008-05-30 Pavel Roskin <proski@gnu.org>
13778
13779 * util/biosdisk.c (linux_find_partition): Simplify logic and
13780 make the code more universal. Keep special processing for
13781 devfs, but use a simple rule for all other devices. If the
13782 device ends with a number, append 'p' and the partition number.
13783 Otherwise, append only the partition number.
13784
5786569b 137852008-05-30 Robert Millan <rmh@aybabtu.com>
13786
13787 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
13788 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
13789 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
13790 the `root' parameter to Linux.
13791
51500452 137922008-05-30 Robert Millan <rmh@aybabtu.com>
13793
13794 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
13795 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
13796 --fs_uuid with --fs-uuid.
13797 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
13798 all filesystems support them).
13799
811d3878 138002008-05-30 Robert Millan <rmh@aybabtu.com>
13801
13802 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 13803 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 13804
cab63c95 138052008-05-30 Robert Millan <rmh@aybabtu.com>
13806
13807 * util/grub.d/00_header.in: Remove obsolete comment referencing
13808 convert_system_path_to_grub_path().
13809 * util/update-grub.in: Likewise.
13810 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
13811 (convert_system_path_to_grub_path): Add a warning message explaining
13812 that this function is deprecated. Rely on is_path_readable_by_grub()
13813 for the readability checks.
13814 (font_path): Use is_path_readable_by_grub() for the readability
13815 check rather than convert_system_path_to_grub_path().
13816
972e2f7a 138172008-05-30 Robert Millan <rmh@aybabtu.com>
13818
13819 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
13820 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
13821 converting it first.
13822 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
13823 grub.cfg for access to font file, and afterwards call it again to set
13824 the root device.
13825
62191274 138262008-05-30 Robert Millan <rmh@aybabtu.com>
13827
13828 * commands/search.c (options): Add --fs_uuid option.
13829 (search_fs_uuid): New function.
13830 (grub_cmd_search): Fix --set argument passing.
13831 Use search_fs_uuid() when requested via --fs_uuid.
13832 (grub_search_init): Update help message.
13833 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
13834 and redeclare it as an array of 16-bit words.
13835 (grub_ext2_uuid): New function.
13836 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
13837 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
13838 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
13839 (GRUB_DEVICE_BOOT_UUID): New variables.
13840 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
13841 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
13842 whenever possible.
13843 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
13844 just assume `root' variable has the right value.
13845 * util/grub.d/10_linux.in: Likewise.
13846 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
13847 via PRINT_FS_UUID.
13848 (main): Recognise `-t fs_uuid' argument.
13849
01b73ec8 138502008-05-30 Robert Millan <rmh@aybabtu.com>
13851
13852 * util/biosdisk.c (map): Redefine structure to hold information
13853 about GRUB drive name.
fe6b695a 13854 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 13855 drive names.
13856 (call_hook): Remove.
13857 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
13858 member. Assume drive has partitions.
13859 (grub_util_biosdisk_open): Access device names via `.device' struct
13860 member.
13861 (open_device): Likewise.
13862 (find_drive): Likewise.
13863 (read_device_map): Adjust map[] usage to match the new struct
13864 definition. Don't check for duplicates (still possible, but not cheap
13865 anymore).
13866 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
13867 (make_device_name): Remove assumption of BIOS-like drive names.
13868
22f16596 138692008-05-30 Pavel Roskin <proski@gnu.org>
13870
13871 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
13872 compiling execute.c doesn't need grub_script.tab.h anymore.
13873 (normal/command.c_DEPENDENCIES): Likewise.
13874 (normal/function.c_DEPENDENCIES): Likewise.
13875 * conf/i386-ieee1275.rmk: Likewise.
13876 * conf/i386-linuxbios.rmk: Likewise.
13877 * conf/i386-pc.rmk: Likewise.
13878 * conf/powerpc-ieee1275.rmk: Likewise.
13879 * conf/sparc64-ieee1275.rmk: Likewise.
13880
528ad8f2 138812008-05-29 Pavel Roskin <proski@gnu.org>
13882
d1dff95d 13883 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
13884 when scanning metadata for volume group name.
13885
528ad8f2 13886 * include/grub/script.h: Don't include grub_script.tab.h. It's
13887 a generated file, which may only be included from the files with
13888 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
13889 use union YYSTYPE, as the later allows forward declaration.
13890 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
13891
47248e08 138922008-05-29 Robert Millan <rmh@aybabtu.com>
13893
13894 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
13895 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
13896 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
13897 (grub_console_checkkey): Add grub_dprintf() call to report unknown
13898 scan codes.
13899
ee632529 139002008-05-29 Robert Millan <rmh@aybabtu.com>
13901
13902 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
13903 control key combinations.
13904
eee96e08 139052008-05-29 Robert Millan <rmh@aybabtu.com>
13906
13907 * util/powerpc/ieee1275/grub-install.in: Move from here ...
13908 * util/ieee1275/grub-install.in: ... to here.
13909 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
13910 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
13911 (grub_install_SOURCES): Likewise.
13912
da9a6a94 139132008-05-29 Robert Millan <rmh@aybabtu.com>
13914
13915 * fs/affs.c: Update copyright year.
13916 * fs/ext2.c: Likewise.
13917 * fs/fshelp.c: Likewise.
13918 * fs/hfsplus.c: Likewise.
13919 * fs/ntfs.c: Likewise.
13920 * fs/xfs.c: Likewise.
13921 * include/grub/fshelp.h: Likewise.
13922 * util/grub-mkdevicemap.c: Likewise.
13923
12e65f3a 139242008-05-28 Robert Millan <rmh@aybabtu.com>
13925
13926 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
13927 might need to be fatfs to support some firmware implementations
13928 (e.g. OFW or EFI).
13929
23023641 139302008-05-28 Robert Millan <rmh@aybabtu.com>
13931
13932 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
13933 devices.
13934 * util/grub-mkdevicemap.c (get_mmc_disk_name)
13935 (make_device_map): Likewise.
13936
887d2619 139372008-05-20 Bean <bean123ch@gmail.com>
13938
13939 * fs/fshelp.c (grub_fshelp_map_block): New function.
13940 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
13941 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
13942
13943 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
13944 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
13945 (grub_fshelp_journal): New structure.
13946 (grub_fshelp_map_block): New function prototype.
13947 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
13948 (grub_fshelp_map_block): Likewise.
13949
13950 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
13951 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
13952 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
13953 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
13954 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
13955 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
13956 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
13957 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
13958 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
13959 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
13960 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
13961 (grub_ext2_sblock): New members for journal support.
13962 (grub_ext3_journal_header): New structure.
13963 (grub_ext3_journal_revoke_header): Likewise.
13964 (grub_ext3_journal_block_tag): Likewise.
13965 (grub_ext3_journal_sblock): Likewise.
13966 (grub_fshelp_node): New members logfile and journal.
13967 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
13968 grub_fshelp_map_block to get real block number.
13969 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
13970 number.
13971 (grub_ext2_read_inode): Likewise.
13972 (grub_ext3_get_journal): New function.
13973 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
13974 (grub_ext2_close): Release memory used by journal.
13975
13976 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
13977 (REISERFS_MAGIC_DESC_BLOCK): New macro.
13978 (grub_reiserfs_transaction_header): Renamed to
13979 grub_reiserfs_description_block, replace field data with real_blocks.
13980 (grub_reiserfs_commit_block): New structure.
13981 (grub_reiserfs_data): New member journal.
13982 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
13983 number.
13984 (grub_reiserfs_read_symlink): Likewise.
13985 (grub_reiserfs_iterate_dir): Likewise.
13986 (grub_reiserfs_open): Likewise.
13987 (grub_reiserfs_read): Likewise.
13988 (grub_reiserfs_get_journal): New function.
13989 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
13990 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
13991 using grub_reiserfs_get_journal.
13992 (grub_reiserfs_close): Release memory used by journal.
13993
13994 * fs/affs.c (grub_affs_read_block): Change block type to
13995 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
13996
13997 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
13998
13999 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14000
14001 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14002
14003 * fs/udf.c (grub_udf_read_block): Change block type to
14004 grub_disk_addr_t. Use type cast to avoid warning.
14005
14006 * fs/xfs.c (grub_xfs_read_block): Likewise.
14007
b7c6bed5 140082008-05-16 Christian Franke <franke@computer.org>
14009
14010 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14011 to ensure that break with ESC will always work.
14012 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14013 Remove ESC from keyboard queue.
14014
eedf167f 140152008-05-16 Christian Franke <franke@computer.org>
14016
14017 * util/biosdisk.c: [__CYGWIN__] Add includes.
14018 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14019 (get_os_disk): Move variable declarations to OS specific
14020 parts to avoid warning.
14021 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14022 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14023 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14024 Cygwin.
14025 * util/getroot.c: [__CYGWIN__] Add includes.
14026 (strip_extra_slashes): Fix "/" case.
14027 [__CYGWIN__] (get_win32_path): New function.
14028 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14029 [__CYGWIN__] (find_root_device): Disable.
14030 [__CYGWIN__] (get_bootsec_serial): New function.
14031 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14032 [__linux__] (grub_guess_root_device): Add early returns to simplify
14033 structure.
14034 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14035 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
14036 check for Linux only.
14037
a079699e 140382008-05-15 Bean <bean123ch@gmail.com>
14039
14040 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
14041 keyboard hang problem in apple's intel mac.
14042
1cf4059a 140432008-05-09 Robert Millan <rmh@aybabtu.com>
14044
14045 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
14046 devices.
14047 * util/grub-mkdevicemap.c (get_virtio_disk_name)
14048 (make_device_map): Likewise.
14049 Reported by Aurelien Jarno <aurel32@debian.org>
14050
ed759390 140512008-05-07 Ian Campbell <ijc@hellion.org.uk>
14052
14053 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
14054 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
14055 (make_device_map): Output entries for xvd type disks.
14056
b56c4eaa 140572008-05-07 Robert Millan <rmh@aybabtu.com>
14058
14059 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
14060 devices.
14061 * util/grub-mkdevicemap.c (get_cciss_disk_name)
14062 (make_device_map): Likewise.
14063 Reported by Roland Dreier <rdreier@cisco.com>
14064
7f8866ed 140652008-05-07 Robert Millan <rmh@aybabtu.com>
14066
14067 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
14068 grub_strstr() call. Correct a few mistakes in failure path handling.
14069
b0346e0f 140702008-05-06 Robert Millan <rmh@aybabtu.com>
14071
14072 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14073 Do not print a trailing slash (therefore, the root directory is an
14074 empty string).
14075 (convert_system_path_to_grub_path): Do not remove trailing slash
14076 from make_system_path_relative_to_its_root() output.
14077
14078 * util/i386/pc/grub-install.in: Add trailing slash to output from
14079 make_system_path_relative_to_its_root().
14080
6cf12cbd 140812008-05-06 Robert Millan <rmh@aybabtu.com>
14082
14083 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
14084 ensures that output lines aren't intermangled with those sent to
14085 stderr (via grub_util_info()).
14086 * util/grub-probe.c (grub_refresh): Likewise.
14087 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
14088
0fbb3117 140892008-05-05 Christian Franke <franke@computer.org>
14090
14091 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
14092 Add Cygwin device names.
14093 (get_ide_disk_name) [__CYGWIN__]: Likewise.
14094 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
14095 (check_device): Return error instead of success on empty name.
14096 (make_device_map): Move label inside linux specific code to
14097 prevent compiler warning.
14098
8124cdb7 140992008-04-30 Robert Millan <rmh@aybabtu.com>
14100
14101 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
14102 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
14103 first boot option.
14104 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
14105
094c01d0 141062008-04-29 Robert Millan <rmh@aybabtu.com>
14107
14108 * docs/grub.cfg: New file (example GRUB configuration).
14109
f4b1fc02 141102008-04-26 Robert Millan <rmh@aybabtu.com>
14111
329ce2a5 14112 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
14113 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
14114 and `disk/ieee1275/nand.c'.
f4b1fc02 14115
25f16ec1 141162008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 14117
25f16ec1 14118 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
14119 i386-linuxbios.
14120
14121 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
14122 change the buffer size to 4096 for cdrom device.
14123
14124 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
14125 and nand.mod.
14126 (_linux_mod_SOURCES): New variable.
14127 (_linux_mod_CFLAGS): Likewise.
14128 (_linux_mod_LDFLAGS): Likewise.
14129 (linux_mod_SOURCES): Likewise.
14130 (linux_mod_CFLAGS): Likewise.
14131 (linux_mod_LDFLAGS): Likewise.
14132 (nand_mod_SOURCES): Likewise.
14133 (nand_mod_CFLAGS): Likewise.
14134 (nand_mod_LDFLAGS): Likewise.
14135
14136 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
14137 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
14138 type property. (nand device in olpc don't have this property)
14139
14140 * include/grub/disk.h (grub_disk_dev_id): New macro
14141 GRUB_DISK_DEVICE_NAND_ID.
14142
14143 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
14144 function prototype.
14145 (grub_rescue_cmd_initrd): Likewise.
14146
14147 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
14148 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
14149 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 14150
25f16ec1 14151 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
14152 GRUB_MACHINE_IEEE1275 is defined.
14153
14154 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
14155 Use NESTED_FUNC_ATTR attribute on the hook parameter.
14156
14157 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
14158 on nested function heap_init.
14159 (grub_upper_mem): New variable for i386-ieee1275.
14160 (grub_get_extended_memory): New function for i386-ieee1275.
14161 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
14162
14163 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
14164 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
14165 property.
f19dbdb7 14166
25f16ec1 14167 * loader/i386/ieee1275/linux.c: New file.
14168
14169 * loader/i386/ieee1275/linux_normal.c: New file.
14170
14171 * disk/ieee1275/nand.c: New file.
14172
e89d61e9 141732008-04-18 Thomas Schwinge <tschwinge@gnu.org>
14174
14175 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
14176 value.
14177 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
14178
602566f6 141792008-04-18 Robert Millan <rmh@aybabtu.com>
14180
14181 Restructures early code path on ieee1275 to unify grub_main() as
14182 the first C function that is executed in every platform.
14183
14184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
14185 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
14186 cmain().
14187 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
14188 * kern/ieee1275/cmain.c (cmain): Rename to ...
14189 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
14190 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
14191 at the beginning.
14192
57490c2b 141932008-04-18 Robert Millan <rmh@aybabtu.com>
14194
14195 * util/update-grub.in: Fix syntax error when setting
14196 `GRUB_PRELOAD_MODULES'.
14197 Reported by Stephane Chazelas <stephane@artesyncp.com>
14198
1977517d 141992008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
14200
14201 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
14202 section into account, newer toolchains generate unique build ids
14203 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 14204 we want build ids to be preserved
1977517d 14205 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
14206 far from other sections don't cause the raw binary images grow
14207 size
14208
bfb1f1a2 142092008-04-15 Robert Millan <rmh@aybabtu.com>
14210
14211 * disk/lvm.c: Update copyright year.
14212 * kern/misc.c: Likewise.
14213
01979850 142142008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14215
14216 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 14217 there is no memory left for physical volume name.
01979850 14218
0a1150e2 142192008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
14220
14221 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
14222 volume name mapping to support bigger than 9 character names properly.
14223
82ead3fe 142242008-04-13 Robert Millan <rmh@aybabtu.com>
14225
14226 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
14227 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
14228
e54a72f5 142292008-04-13 Christian Franke <franke@computer.org>
14230
14231 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
14232 to create a floppy emulation boot CD when non emulation mode
14233 does not work.
14234 Enable Joliet CD filesystem extension.
14235
9fe86034 142362008-04-13 Robert Millan <rmh@aybabtu.com>
14237
14238 * kern/misc.c (grub_strncat): Fix off-by-one error.
14239 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
14240
14241 * kern/env.c (grub_env_context_close): Clear current context, not
14242 previous one.
14243 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
14244
14245 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
14246
7ceeee39 142472008-04-13 Robert Millan <rmh@aybabtu.com>
14248
14249 Improve robustness when handling LVM.
14250
14251 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 14252 (and leave `*p' unmodified).
7ceeee39 14253 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
14254 through it.
14255 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
14256 iterating through it.
14257 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
14258 through it.
fe6b695a 14259 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 14260 when due) on each grub_lvm_getvalue() or grub_strstr() call.
14261 Don't assume `vg->pvs != NULL' when iterating through it.
14262
58cd3d85 142632008-04-13 Robert Millan <rmh@aybabtu.com>
14264
14265 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
14266 * genmk.rb (partmap): New variable.
14267 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
14268 (#{partmap}): New target rule.
14269 * genpartmaplist.sh: New file.
14270 * Makefile.in (pkglib_DATA): Add partmap.lst.
14271 (partmap.lst): New target rule.
14272 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
14273 modules (including all partition maps), instead of preloading them.
14274
78b51059 142752007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
14276
14277 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
14278 `linux-boot-prober' (if installed) to detect other operating
14279 systems which are installed on the computer and add them to
14280 the boot menu.
14281 * conf/common.rmk: Build and install 30_os-prober.
14282
a91627b4 142832008-04-12 Robert Millan <rmh@aybabtu.com>
14284
14285 * kern/powerpc/ieee1275/init.c: Move from here ...
14286 * kern/ieee1275/init.c: ... to here. Update all users.
14287
14288 * kern/powerpc/ieee1275/cmain.c: Move from here ...
14289 * kern/ieee1275/cmain.c: ... to here. Update all users.
14290
14291 * kern/powerpc/ieee1275/openfw.c: Move from here ...
14292 * kern/ieee1275/openfw.c: ... to here. Update all users.
14293
14294 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
14295 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
14296
322562ea 142972008-04-10 Pavel Roskin <proski@gnu.org>
14298
14299 * configure.ac: Always use "_cv_" in cache variables for
14300 compatibility with Autoconf 2.62.
14301
a02a73c5 143022008-04-07 Robert Millan <rmh@aybabtu.com>
14303
14304 Revert grub/machine/init.h addition by Pavel (since it breaks on
14305 i386-ieee1275 and others):
14306 * util/i386/pc/misc.c: Remove grub/machine/init.h.
14307 * util/powerpc/ieee1275/misc.c: Likewise.
14308
25c024b1 143092008-04-07 Robert Millan <rmh@aybabtu.com>
14310
14311 * util/grub-probe.c (probe): Improve error message.
14312
3cbd2f98 143132008-04-07 Robert Millan <rmh@aybabtu.com>
14314
14315 * util/biosdisk.c (read_device_map): Skip devices that don't exist
14316 (this prevents the presence of a bogus entry from ruining the whole
14317 thing).
14318
87a297bf 143192008-04-06 Pavel Roskin <proski@gnu.org>
14320
36747a62 14321 * util/biosdisk.c: Include grub/util/biosdisk.h.
14322 * util/grub-fstest.c (execute_command): Make static.
14323 * util/grub-mkdevicemap.c (check_device): Likewise.
14324 * util/i386/pc/misc.c: Include grub/machine/init.h.
14325 * util/powerpc/ieee1275/misc.c: Likewise.
14326 * util/lvm.c: Include grub/util/lvm.h.
14327 * util/misc.c: Include grub/kernel.h, grub/misc.h and
14328 grub/cache.h.
14329 * util/raid.c: Include grub/util/raid.h.
14330 (grub_util_getdiskname): Make static.
14331
87a297bf 14332 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
14333 grub_hostfs_fini(), as they are called from grub_init_all() and
14334 grub_fini_all() respectively. This fixes an infinite loop in
14335 grub-fstest due to double registration of hostfs.
14336 Reported by Christian Franke <Christian.Franke@t-online.de>
14337
f6ce7629 143382008-04-05 Pavel Roskin <proski@gnu.org>
14339
14340 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
14341 all 8 functions. Otherwise, probe function 0 only.
14342
070e49e4 143432008-04-04 Pavel Roskin <proski@gnu.org>
14344
8b088a4c 14345 * commands/lspci.c (grub_lspci_iter): Print the bus number
14346 correctly.
14347
4f657021 14348 * commands/lspci.c (grub_pci_classes): Fix typos.
14349 (grub_lspci_iter): Don't print func twice. Print vendor ID
14350 before device ID, as it's normally done.
14351
070e49e4 14352 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14353 Fix signedness warnings.
14354 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
14355 Likewise.
14356 * util/ieee1275/get_disk_name.c: Include config.h so that
14357 _GNU_SOURCE is defined and getline() is declared. Mark an
14358 unused argument as such. Fix a signedness warning.
14359
ba7328dc 143602008-04-02 Pavel Roskin <proski@gnu.org>
14361
26887f22 14362 * genkernsyms.sh.in: Use more robust assignments for CC and
14363 srcdir. Quote srcdir.
14364 * gensymlist.sh.in: Likewise. Assert at the compile time that
14365 the symbol table is not empty.
14366
ba7328dc 14367 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
14368 * fs/cpio.c (grub_cpio_read): Likewise.
14369
0f582c6b 143702008-04-01 Pavel Roskin <proski@gnu.org>
14371
4b6e1995 14372 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
14373 * disk/host.c (grub_host_open): Likewise.
14374 * disk/loopback.c (grub_loopback_open): Likewise.
14375 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
14376 disk->id as in disk/host.c, not a multi-character constant.
14377
828a2768 14378 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
14379 later is obsolete, potentially dangerous and sets a bad example.
14380 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
14381 * util/misc.c (grub_util_get_image_size): Likewise.
14382
2bb4fb47 14383 * disk/loopback.c (options): Improve help for "--partitions".
14384
0f582c6b 14385 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
14386 options to align them with the short options, e.g. "echo -e".
14387
a33224e0 143882008-03-31 Bean <bean123ch@gmail.com>
14389
14390 * video/reader/png.c (grub_png_data): New member is_16bit and
14391 image_data.
14392 (grub_png_decode_image_header): Detect 16 bit png image.
14393 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
14394 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
14395 (grub_video_reader_png): Release memory occupied by image_data.
14396
14397 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
14398 4096 bytes.
14399 (grub_nfs_mount): Skip the test for sector per cluster.
14400
14401 * include/grub/ntfs.h (MAX_SPC): Removed.
14402
86cb4f54 144032008-03-31 Bean <bean123ch@gmail.com>
14404
14405 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
14406 (grub_probe_SOURCES): Add fs/afs.c.
14407 (grub_fstest_SOURCES): Likewise.
14408 (afs_mod_SOURCES): New variable.
14409 (afs_mod_CFLAGS): Likewise.
14410 (afs_mod_LDFLAGS): Likewise.
14411
14412 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
14413 (grub_emu_SOURCES): Likewise.
14414
14415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14416
14417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14418
14419 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14420
14421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14422
14423 * fs/afs.c: New file.
14424
17c74c21 144252008-03-30 Pavel Roskin <proski@gnu.org>
14426
4cb68e89 14427 * disk/host.c: Include grub/misc.h to fix a warning.
14428 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
14429 warnings about implicit declarations.
14430
8790bb04 14431 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
14432 variable.
14433 * include/grub/i386/loader.h: Change declaration of
14434 grub_linux_boot() to match what grub_loader_set() expects.
14435 * util/getroot.c (grub_guess_root_device): Return const char* to
14436 fix a warning.
14437 * util/grub-probe.c (probe): Fix a warning about uninitialized
14438 abstraction_name variable.
14439 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
14440 second argument as unused to fix a warning.
14441
9a3f3296 14442 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
14443 missing grub_error() call.
14444
0ecef90d 14445 * util/update-grub_lib.in: Define datarootdir, since Autoconf
14446 2.60 and newer uses it to define datadir.
14447
0bf6d401 14448 * commands/sleep.c: Fix warning about implicit declaration.
14449 * disk/memdisk.c: Likewise.
14450 * loader/aout.c: Likewise.
14451 * loader/i386/bsd_normal.c: Likewise.
14452 * util/grub-probe.c: Likewise.
14453
7cdacf97 14454 * commands/i386/cpuid.c (has_longmode): Make static.
14455 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
14456 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
14457
17c74c21 14458 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
14459 GDT. This is more robust, as %ds can change.
14460 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
14461 calling real_to_prot().
14462 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
14463
80a3e68b 144642008-03-28 Pavel Roskin <proski@gnu.org>
14465
14466 * kern/i386/pc/startup.S: Assert that uncompressed functions
14467 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
14468 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
14469 code, as they push parts of the code (error handlers) beyond
14470 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
14471 code as correctness and size.
14472
77bcd272 144732008-03-28 Pavel Roskin <proski@gnu.org>
14474
14475 * kern/i386/pc/startup.S
14476 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
14477 data block address to the real mode, keep offset minimal. This
14478 works around a bug in AWARD BIOS on old Athlon systems, which
14479 makes CD detection hang.
14480
c5dfd43b 144812008-03-26 Pavel Roskin <proski@gnu.org>
14482
14483 * normal/color.c (grub_parse_color_name_pair): Make `name' a
14484 const.
14485 * include/grub/normal.h: Add grub_parse_color_name_pair()
14486 declaration.
14487
bf962df2 144882008-03-24 Bean <bean123ch@gmail.com>
14489
14490 * disk/i386/pc/biosdisk.c (cd_start): Removed.
14491 (cd_count): Removed.
14492 (cd_drive): New variable.
14493 (grub_biosdisk_get_drive): Don't check for (cdN) device.
14494 (grub_biosdisk_call_hook): Likewise.
14495 (grub_biosdisk_iterate): Change cdrom detection method.
14496 (grub_biosdisk_open): Replace cd_start with cd_drive.
14497 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
14498 detect cdrom device.
14499
14500 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
14501 Removed.
14502 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
14503 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
14504 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
14505 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
14506 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
14507 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
14508 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
14509 (grub_biosdisk_cdrp): New structure.
14510 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
14511
14512 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
14513
14514 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
14515 device.
14516
14517 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
14518 New function.
14519
68e7fc7a 145202008-03-20 Robert Millan <rmh@aybabtu.com>
14521
14522 Remove 2 TiB limit in ata.mod.
14523 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
14524 (grub_ata_dumpinfo): Print sector count with 0x%llx.
14525 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
14526 grub_uint64_t instead of grub_uint32_t.
14527
38ad2cf5 145282008-03-05 Bean <bean123ch@gmail.com>
14529
14530 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
14531 (grub_multiboot): Set boot device.
14532
14533 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
14534
2b89344e 145352008-03-02 Bean <bean123ch@gmail.com>
14536
14537 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
14538 symlink_buffer.
14539
87a95d1f 145402008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
14541
14542 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
14543 texinfo.tex.
14544
14545 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
14546 modified.
14547
14548 * docs/fdl.texi: New file.
f19dbdb7 14549
87a95d1f 14550 * docs/mdate-sh: New file. Copied from gnulib.
14551 * docs/texinfo.tex: Likewise.
14552
14553 * config.guess: Updated from gnulib.
14554 * install-sh: Likewise.
14555
7dc15d8e 145562008-02-28 Robert Millan <rmh@aybabtu.com>
14557
14558 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
14559 (aout_mod_SOURCES): New variable.
14560 (aout_mod_CFLAGS): Likewise.
14561 (aout_mod_LDFLAGS): Likewise.
14562
14563 * conf/i386-ieee1275.rmk: Likewise.
14564
b00ab696 145652008-02-28 Robert Millan <rmh@aybabtu.com>
14566
14567 * util/update-grub.in: Reorganise terminal validity check. Accept
14568 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
14569 Based on suggestion by Franklin PIAT.
14570
79ca2d78 145712008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
14572
14573 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
14574 function.
14575 * util/getroot.c (grub_util_check_block_device): New function that
14576 returns the given argument if it is a block device and returns NULL else.
14577 * util/grub-probe.c (argument_is_device): New variable.
14578 (probe): Promote device_name from a variable to an argument. Receive
14579 device_name from grub_util_check_block_device() if path is NULL and from
14580 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 14581 (options): Introduce new parameter '-d, --device'.
79ca2d78 14582 (main): Add description of the new parameter to the help screen.
14583 Rename path variable to argument. Set argument_is_device if the '-d'
14584 option is given. Pass argument to probe() depending on
14585 argument_is_device.
14586
0d16e571 145872008-02-24 Bean <bean123ch@gmail.com>
14588
14589 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
14590 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
14591 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
14592 (GRUB_ISO9660_VOLDESC_PART): Likewise.
14593 (GRUB_ISO9660_VOLDESC_END): Likewise.
14594 (grub_iso9660_primary_voldesc): New member escape.
14595 (grub_iso9660_data): New member joliet.
14596 (grub_iso9660_convert_string): New function.
14597 (grub_iso9660_mount): Detect joliet extension.
14598 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
14599 (grub_iso9660_iso9660_label): Likewise.
14600
14601 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
14602 (grub_setup_SOURCES): Add fs/udf.c.
14603 (grub_fstest_SOURCES): Likewise.
14604 (udf_mod_SOURCES): New variable.
14605 (udf_mod_CFLAGS): Likewise.
14606 (udf_mod_LDFLAGS): Likewise.
14607
14608 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
14609 (grub_emu_SOURCES): Likewise.
14610
14611 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14612
14613 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14614
14615 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14616
14617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14618
14619 * fs/udf.c: New file.
14620
8a594a17 146212008-02-24 Robert Millan <rmh@aybabtu.com>
14622
14623 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
14624 (normal/lexer.c_DEPENDENCIES): New variables.
14625 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14626 (normal/lexer.c_DEPENDENCIES): Likewise.
14627 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
14628 (normal/lexer.c_DEPENDENCIES): Likewise.
14629 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
14630 (normal/lexer.c_DEPENDENCIES): Likewise.
14631 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14632 (normal/lexer.c_DEPENDENCIES): Likewise.
14633 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
14634 (normal/lexer.c_DEPENDENCIES): Likewise.
14635
2dc33c03 146362008-02-23 Robert Millan <rmh@aybabtu.com>
14637
14638 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
14639 since they were intended to be in hex. This didn't break previously
14640 because of a bug in gpt_partition_map_iterate() (see below).
14641
14642 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
14643 when checking the validity of GPT header.
14644 Remove `partno', since it always provides the same information as `i'.
14645
f6f4cfb0 146462008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
14647
14648 * include/grub/efi/time.h: Fix a wrong comment.
14649
79ff665f 146502008-02-19 Pavel Roskin <proski@gnu.org>
14651
14652 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
14653 message.
14654
d38e24c2 146552008-02-19 Bean <bean123ch@gmail.com>
14656
14657 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
14658 (aout_mod_SOURCES): New variable.
14659 (aout_mod_CFLAGS): Likewise.
14660 (aout_mod_LDFLAGS): Likewise.
14661 (_bsd_mod_SOURCES): New variable.
14662 (_bsd_mod_CFLAGS): Likewise.
14663 (_bsd_mod_LDFLAGS): Likewise.
14664 (bsd_mod_SOURCES): New variable.
14665 (bsd_mod_CFLAGS): Likewise.
14666 (bsd_mod_LDFLAGS): Likewise.
14667
14668 * include/grub/aout.h: New file.
14669
14670 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
14671
14672 * include/grub/i386/bsd.h: New file.
14673
14674 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
14675 to make it public.
14676
14677 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
14678 function is called, so that it's possible to change it inside the hook.
14679 (grub_elf64_load): Likewise.
14680 (grub_elf_file): Don't close the file if elf header is not found.
14681 (grub_elf_close): Close the file if grub_elf_file fails (The new
14682 grub_elf_file won't close it).
14683 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
14684 (grub_elf64_size): Likewise.
14685
14686 * kern/i386/loader.S (grub_unix_real_boot): New function.
14687
14688 * loader/aout.c: New file.
14689
14690 * loader/i386/bsd.c: New file.
14691
14692 * loader/i386/bsd_normal.c: New file.
14693
14694 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
14695
14696 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 14697 can test other formats.
d38e24c2 14698
b93bdb0f 146992008-02-19 Robert Millan <rmh@aybabtu.com>
14700
14701 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
14702 (grub_gpt_partition_type_empty): Redefine with macro from
14703 `<grub/gpt_partition.h>'.
14704 (gpt_partition_map_iterate): Adjust partition type comparison.
14705
14706 Export `entry' as partmap-specific `part.data' struct.
14707 (grub_gpt_header, grub_gpt_partentry): Move from here ...
14708
14709 * include/grub/gpt_partition.h (grub_gpt_header)
14710 (grub_gpt_partentry): ... to here (new file).
14711
14712 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
14713
14714 (grub_gpt_partition_type_bios_boot): New const variable, defined
14715 with macro from `<grub/gpt_partition.h>'.
14716
14717 (setup): Replace `first_start' with `embed_region', which keeps
14718 track of the embed region (and is partmap-agnostic).
14719
14720 Replace find_first_partition_start() with find_usable_region(),
14721 which finds a usable region for embedding using partmap-specific
14722 knowledge (supports PC/MSDOS and GPT).
14723
14724 Fix all assumptions that the embed region start at sector 1, using
14725 `embed_region.start' from now on. Similarly, use `embed_region.end'
14726 rather than `first_start' to calculate available size.
14727
14728 In grub_util_info() message, replace "into after the MBR" with an
14729 indication of the specific sector our embed region starts at.
14730
66cb40f6 147312008-02-19 Robert Millan <rmh@aybabtu.com>
14732
14733 * DISTLIST: Replace `commands/ieee1275/halt.c' and
14734 `commands/ieee1275/reboot.c' with `commands/halt.c' and
14735 `commands/reboot.c'.
14736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14737 (halt_mod_SOURCES): Likewise.
14738 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
14739 (halt_mod_SOURCES): Likewise.
14740
b7202015 147412008-02-17 Christian Franke <franke@computer.org>
14742
14743 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
14744
32b0fc49 147452008-02-17 Robert Millan <rmh@aybabtu.com>
14746
14747 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14748 set `first_start' to 0 for non-PC/MSDOS partition maps.
14749
aca63502 147502008-02-16 Robert Millan <rmh@aybabtu.com>
14751
14752 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
14753 do not assume partition map is PC/MSDOS before performing checks that
14754 are specific to that layout.
14755
0de8be86 147562008-02-13 Robert Millan <rmh@aybabtu.com>
14757
14758 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
14759 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
14760 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
14761
c3db8364 147622008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
14763
14764 * configure.ac: Only a cosmetic change on the handling of
14765 -fno-stack-protector.
14766
f714229e 147672008-02-12 Alexandre Boeglin <alex@boeglin.org>
14768
c3db8364 14769 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
14770 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
14771 reboot.c.
f714229e 14772 (grub_install_SOURCES): Add halt.mod and reboot.mod.
14773 (halt_mod_SOURCES): New variable.
14774 (halt_mod_CFLAGS): Likewise.
14775 (halt_mod_LDFLAGS): Likewise.
14776 (reboot_mod_SOURCES): Likewise.
14777 (reboot_mod_CFLAGS): Likewise.
14778 (reboot_mod_LDFLAGS): Likewise.
14779
c3db8364 14780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
14781 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
14782 reboot.c.
f714229e 14783 (halt_mod_SOURCES): Likewise.
14784 (reboot_mod_SOURCES): Likewise.
14785
c3db8364 14786 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
14787 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 14788 (reboot_mod_SOURCES): Likewise.
14789
14790 * commands/i386/pc/reboot.c: merge this file ...
14791
14792 * commands/ieee1275/reboot.c: ... and this file ...
14793
14794 * commands/reboot.c: ... to this file.
c3db8364 14795 Add some precompiler directive to include the correct header for
14796 each machine.
f714229e 14797
14798 * commands/ieee1275/halt.c: move this file ...
14799
14800 * commands/halt.c: ... to here.
c3db8364 14801 Add some precompiler directive to include the correct header for
14802 each machine.
f714229e 14803
14804 * include/grub/efi/efi.h (grub_reboot): New function declaration.
14805 (grub_halt): Likewise.
14806
14807 * kern/efi/efi.c (grub_reboot): New function.
14808 (grub_halt): Likewise.
14809
c74493e0 148102008-02-12 Robert Millan <rmh@aybabtu.com>
14811
14812 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
14813 /dev (like it is done for /dev/mapper). This doesn't provide support
14814 for EVMS, but at least it is now easy to identify the problem when it
14815 arises.
14816
d0db4b04 148172008-02-11 Robert Millan <rmh@aybabtu.com>
14818
14819 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
14820 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
14821 comparing it with -1, not 0.
14822
bf748642 148232008-02-10 Robert Millan <rmh@aybabtu.com>
14824
14825 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
14826 `disk/lvm.c'.
14827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14828 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14829
14830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
14831 `disk/lvm.c' to the end of the list.
14832 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14833 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14834
b5db202a 148352008-02-10 Robert Millan <rmh@aybabtu.com>
14836
14837 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
14838 grub_print_error() instead. This will let user know why we're entering
14839 rescue mode.
14840 Based on suggestions from Sam Morris.
14841
83abee31 148422008-02-10 Alexandre Boeglin <alex@boeglin.org>
14843
14844 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
14845 on remaining N args, instead of "--" arg N times.
14846
78d5a08b 148472008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
14848
14849 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
14850 (fill_with_default_glyph): Changed to use unknown_glyph for fill
14851 pattern for unknown glyphs.
14852
68807e5f 148532008-02-09 Robert Millan <rmh@aybabtu.com>
14854
14855 * configure.ac: Probe for `help2man'.
14856 * Makefile.in (builddir): New variable.
14857 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
14858 or otherwise add a few flags/options to it.
14859 (install-local): For every executable utility or script that is
14860 installed, invoke $(HELP2MAN) to install a manpage based on --help
14861 output.
14862
14863 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
14864 that it doesn't prevent --help from working in build tree.
14865
14866 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
14867 with `bug-grub@gnu.org'.
14868 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
14869 * util/update-grub.in (usage): New function.
14870 Implement proper argument check, with support for --help and --version
14871 (as well as existing -y).
14872
148732008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 14874
14875 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
14876 avoid overwriting previous output.
14877 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
14878
c1962162 148792008-02-09 Robert Millan <rmh@aybabtu.com>
14880
14881 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
14882 drawing the menu.
14883
3dac2e3f 148842008-02-09 Robert Millan <rmh@aybabtu.com>
14885
14886 * commands/sleep.c: New file.
14887 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
14888 (sleep_mod_SOURCES): New variable.
14889 (sleep_mod_CFLAGS): Likewise.
14890 (sleep_mod_LDFLAGS): Likewise.
14891
7a634e08 148922008-02-09 Robert Millan <rmh@aybabtu.com>
14893
14894 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
14895 situations in which we can deduce the RAID size and the superblock
14896 doesn't match it.
14897
b92f0c18 148982008-02-09 Robert Millan <rmh@aybabtu.com>
14899
14900 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
14901 and return a grub_diskmemberlist_t composed of LVM physical volumes.
14902 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
14903
14904 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
14905 and return a grub_diskmemberlist_t composed of physical array members.
14906 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
14907
14908 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
14909 prototype.
14910 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
14911 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
14912 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
14913
14914 * util/grub-probe.c (probe): Move partmap probing code from here ...
14915 (probe_partmap): ... to here.
14916 (probe): Use probe_partmap() once for the disk we're probing, and
14917 additionally, when such disk contains a memberlist() struct member,
14918 once for each disk that is contained in the structure returned by
14919 memberlist().
14920
91a4bf68 149212008-02-09 Robert Millan <rmh@aybabtu.com>
14922
14923 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
14924 environment variable to 'all' in order to obtain debug output from
14925 non-util/ code.
14926 * util/i386/pc/grub-setup.c (main): Likewise.
14927
a96f9caa 149282008-02-08 Robert Millan <rmh@aybabtu.com>
14929
14930 * disk/raid.c (grub_raid_scan_device): Check for
14931 `array->device[sb.this_disk.number]' rather than for
14932 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 14933 guaranteed to be accessible.
a96f9caa 14934
b37a9222 149352008-02-08 Robert Millan <rmh@aybabtu.com>
14936
14937 * disk/raid.c: Update copyright.
14938 * fs/cpio.c: Likewise.
14939 * include/grub/raid.h: Likewise.
14940 * loader/i386/pc/multiboot.c: Likewise.
14941 * util/hostfs.c: Likewise.
14942
5626aee1 149432008-02-08 Robert Millan <rmh@aybabtu.com>
14944
14945 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
14946 to a grub_disk_t array.
14947 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
14948 `device[x]'.
14949 (grub_raid_scan_device): Replace `device[x].name' accesses with
14950 `device[x]->name'. Simplify initialization of `array->device[x]'.
14951
554f0187 149522008-02-08 Robert Millan <rmh@aybabtu.com>
14953
14954 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
14955 grub_dprintf() calls.
14956 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
14957 error message.
14958
1ec8425d 149592008-02-07 Christian Franke <franke@computer.org>
14960
14961 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
14962 instead of fseek and ftell to support large files.
14963 (grub_hostfs_read): Likewise.
14964
f2156fda 149652008-02-07 Robert Millan <rmh@aybabtu.com>
14966
14967 Patch from Jeroen Dekkers.
14968 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 14969 failure, since successfully reading all array members might not be
f2156fda 14970 required.
14971
9216e0e7 149722008-02-06 Robert Millan <rmh@aybabtu.com>
14973
14974 * util/grub-probe.c (probe): Simplify partmap probing (with the
14975 assumption that the first word up to the underscore equals to
14976 the module name).
14977
b0dfd29a 149782008-02-06 Christian Franke <franke@computer.org>
14979
14980 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
14981 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
14982 last block of a cpio or tar stream.
14983 Check for "TRAILER!!!" instead of any empty data
14984 block to detect last block of a cpio stream.
14985 (grub_cpio_dir): Fix constness of variable np.
14986 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
14987 cpio or tar trailer is detected. This fixes a crash
14988 on open of a non existing file.
14989
c32865bf 149902008-02-05 Bean <bean123ch@gmail.com>
14991
14992 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
14993 address of entry.
14994 (grub_multiboot_load_elf64): Likewise.
14995 (grub_multiboot): Initialize mbi structure.
14996
14997 * util/grub-fstest.c: Don't include unused header file script.h.
14998
fe6b695a 14999 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15000 of file.
15001 (grub_fstest_SOURCES): Likewise.
15002
409480b7 150032008-02-05 Robert Millan <rmh@aybabtu.com>
15004
15005 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15006 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15007 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15008 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15009
15010 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15011 (translation_table): Replace hardcoded values with macros
15012 provided by `<grub/term.h>'.
15013
15014 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15015 (keyboard_map): Correct/add a few values, with macros provided
15016 by `<grub/term.h>'.
15017 (keyboard_map_shift): Zero values that don't differ from their
15018 `keyboard_map' equivalents.
15019 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15020 Discard the second scan code that is always sent by Caps lock.
15021 Only use `keyboard_map_shift' when it provides a non-zero value,
15022 otherwise fallback to `keyboard_map'.
15023
99fadbaa 150242008-02-04 Bean <bean123ch@gmail.com>
15025
15026 * Makefile.in (enable_grub_fstest): New variable.
15027
15028 * conf/common.rmk (grub_fstest_init.lst): New rule.
15029 (grub_fstest_init.h): Likewise.
15030 (grub_fstest_init.c): Likewise.
15031 (util/grub-fstest.c_DEPENDENCIES): New variable.
15032 (grub_fstest_SOURCES): Likewise.
15033
15034 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15035
15036 * util/grub-fstest.c: New file.
15037
bf567c50 150382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15039
15040 Make grub-setup handle a separate root device.
f19dbdb7 15041
bf567c50 15042 * util/i386/pc/grub-setup.c (setup): Always open the root device,
15043 so that the root device can be compared with the destination
15044 device.
15045 When embedding the core image, if the root and destination devices
15046 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
15047 0xFF.
15048 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 15049
9be6b98b 150502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15051
15052 Add support for having a grub directory in a different drive. This
15053 is still only the data handling part.
f19dbdb7 15054
9be6b98b 15055 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
15056 (codestart): Save %dh in GRUB_ROOT_DRIVE.
15057 (grub_root_drive): New variable.
15058
15059 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
15060 instead of GRUB_BOOT_DRIVE to construct a device name. Set
15061 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
15062 as it was.
15063
15064 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
15065
15066 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
15067 macro.
15068 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
15069
15070 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
15071 is bogus, because PXE booting does not specify any drive
15072 correctly.
15073
15074 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
15075 am not sure if this is really correct.
15076
15077 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
15078 is always identical to the boot drive when booting from a CD.
15079
15080 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
15081 longer.
15082 (root_drive): New variable.
15083 (real_start): Unconditionally set %dh to ROOT_DRIVE.
15084 (setup_sectors): Push %dx right after popping it, because %dh will
15085 be modified later.
15086 (copy_buffer): Restore %dx.
15087
e0ca0677 150882008-02-03 Robert Millan <rmh@aybabtu.com>
15089
15090 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
15091 use `cdboot.img' for cdrom images.
15092
3b3f6629 150932008-02-03 Robert Millan <rmh@aybabtu.com>
15094
15095 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
15096 only setup gfxterm when `font' command has succeeded.
15097
d42b3672 150982008-02-03 Robert Millan <rmh@aybabtu.com>
15099
15100 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
15101 (grub_rescue_cmd_multiboot_loader)
15102 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
15103
fa370ea6 151042008-02-03 Pavel Roskin <proski@gnu.org>
15105
e0c5dacb 15106 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 15107 %edx and %esi from stack only after grub_gate_a20() is called.
15108 grub_gate_a20() clobbers %edx.
15109
f2a76e1d 151102008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
15111
15112 * configure.ac (AC_INIT): Bumped to 1.96.
15113
15114 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
15115 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
15116 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
15117 video/readers/png.c.
15118
90fd32d1 151192008-02-03 Bean <bean123ch@gmail.com>
9be665dd 15120
15121 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
15122 (cdboot_img_SOURCES): New variable.
15123 (cdboot_img_ASFLAGS): New variable.
15124 (cdboot_img_LDFLAGS): New variable.
15125
15126 * boot/i386/pc/cdboot.S: New file.
15127
15128 * disk/i386/pc/biosdisk.c (cd_start): New variable.
15129 (cd_count): Likewise.
15130 (grub_biosdisk_get_drive): Add support for cd device.
15131 (grub_biosdisk_call_hook): Likewise.
15132 (grub_biosdisk_iterate): Likewise.
15133 (grub_biosdisk_open): Likewise.
15134 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
15135 (grub_biosdisk_rw): Support reading from cd device.
15136 (GRUB_MOD_INIT): Iterate cd devices.
15137
15138 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
15139 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
15140 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
15141
15142 * kern/i386/pc/init.c (make_install_device): Check for cd device.
15143
4020aa53 151442008-02-02 Robert Millan <rmh@aybabtu.com>
15145
15146 * commands/read.c: New file.
15147 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
15148 (read_mod_SOURCES): New variable.
15149 (read_mod_CFLAGS): Likewise.
15150 (read_mod_LDFLAGS): Likewise.
15151
e03a1132 151522008-02-02 Robert Millan <rmh@aybabtu.com>
15153
15154 * normal/main.c (grub_normal_execute): Check for `menu->size' when
15155 determining whether menu has to be displayed.
15156
58c69220 151572008-02-02 Marco Gerards <marco@gnu.org>
15158
15159 * bus/pci.c: New file.
15160
15161 * include/grub/pci.h: Likewise.
15162
15163 * include/grub/i386/pc/pci.h: Likewise.
15164
15165 * commands/lspci.c: Likewise.
15166
15167 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
15168 `lspci.mod'.
15169 (pci_mod_SOURCES): New variable.
15170 (pci_mod_CFLAGS): Likewise.
15171 (pci_mod_LDFLAGS): Likewise.
15172 (lspci_mod_SOURCES): Likewise.
15173 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 15174 (lspci_mod_LDFLAGS): Likewise.
58c69220 15175
c004e1b4 151762008-02-02 Bean <bean123ch@gmail.com>
15177
15178 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
15179 (grub_ufs_get_file_block): Fix indirect block calculation problem.
15180
15181 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
15182 (grub_xfs_btree_node): New structure.
15183 (grub_xfs_btree_root): New structure.
15184 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
15185 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
15186 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15187 (GRUB_XFS_EXTENT_SIZE): Likewise.
15188 (grub_xfs_read_block): Support btree format type.
15189 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
15190 Use directory block as basic unit.
15191
15192 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
15193
15194 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
15195 __attribute__ ((__regparm__ (1))).
15196
f95562bf 151972008-02-01 Robert Millan <rmh@aybabtu.com>
15198
15199 Correct a mistake in previous commit.
15200
15201 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
15202 top.
15203 (normal/command.c_DEPENDENCIES): New variable.
15204
7d31f41f 152052008-02-01 Robert Millan <rmh@aybabtu.com>
15206
15207 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
15208 top.
15209 (normal/command.c_DEPENDENCIES): New variable.
15210 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
15211 * conf/i386-ieee1275.rmk: Likewise.
15212 * conf/i386-linuxbios.rmk: Likewise.
15213 * conf/i386-pc.rmk: Likewise.
15214 * conf/sparc64-ieee1275.rmk: Likewise.
15215 * conf/powerpc-ieee1275.rmk: Likewise.
15216 (grub_emu_SOURCES): Add `fs/fshelp.c'.
15217
15218 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
15219
60b6be74 152202008-02-01 Robert Millan <rmh@aybabtu.com>
15221
15222 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
15223 call at beginning of function.
15224
078522ab 152252008-01-31 Pavel Roskin <proski@gnu.org>
15226
15227 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 15228 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
15229 (grub_mkrescue_SOURCES): Likewise.
078522ab 15230 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
15231
ccaa8a5f 152322008-01-30 Robert Millan <rmh@aybabtu.com>
15233
15234 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
15235 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
15236 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
15237 (grub_probe_SOURCES): ... to here.
15238
15239 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
15240 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
15241 * conf/i386-ieee1275.rmk: Likewise.
15242 * conf/i386-linuxbios.rmk: Likewise.
15243 * conf/powerpc-ieee1275.rmk: Likewise.
15244
ae5a9cd7 152452008-01-30 Tristan Gingold <gingold@free.fr>
15246
15247 * kern/rescue.c: Silently accept empty lines.
15248
70bc2ef2 152492008-01-29 Bean <bean123ch@gmail.com>
15250
15251 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
15252 (real_code_2): Code cleanup and change comment style.
15253 (move_memory): Avoid using 32-bit address mode.
15254
6a4d50ea 152552008-01-29 Bean <bean123ch@gmail.com>
15256
15257 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
15258 (png_mod_SOURCES): New variable.
15259 (png_mod_CFLAGS): Likewise.
15260 (png_mod_LDFLAGS): Likewise.
15261
15262 * video/readers/png.c: New file.
15263
11cc30ac 152642008-01-28 Robert Millan <rmh@aybabtu.com>
15265
15266 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
15267 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
15268 `ifndef GRUB_MOD_GAP' hack.
15269 * util/elf/grub-mkimage.c (add_segments): Likewise.
15270
3abc589f 152712008-01-27 Robert Millan <rmh@aybabtu.com>
15272
15273 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
15274 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 15275 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 15276
e1907778 152772008-01-27 Robert Millan <rmh@aybabtu.com>
15278
15279 Get grub-emu to build again (including parallel builds).
15280
15281 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
15282 Split into ...
15283 (util/grub-emu.c_DEPENDENCIES): ... this, ...
15284 (normal/execute.c_DEPENDENCIES): ... this, ...
15285 (grub-emu_DEPENDENCIES): ... and this.
15286
15287 * conf/i386-efi.rmk: Likewise.
15288 * conf/i386-linuxbios.rmk: Likewise.
15289 * conf/i386-ieee1275.rmk: Likewise.
15290 * conf/powerpc-ieee1275.rmk: Likewise.
15291 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
15292
2216b101 152932008-01-27 Robert Millan <rmh@aybabtu.com>
15294
15295 * NEWS: Add a few items.
15296
f75172d9 152972008-01-27 Robert Millan <rmh@aybabtu.com>
15298
15299 Fix parallel builds with grub-emu. Based on earlier commit for
15300 grub-probe and grub-setup.
15301
15302 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15303 (util/grub-emu.c_DEPENDENCIES): ... this.
15304 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15305 (util/grub-emu.c_DEPENDENCIES): ... this.
15306 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15307 (util/grub-emu.c_DEPENDENCIES): ... this.
15308 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15309 (util/grub-emu.c_DEPENDENCIES): ... this.
15310 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
15311 (util/grub-emu.c_DEPENDENCIES): ... this.
15312
3f51de77 153132008-01-27 Pavel Roskin <proski@gnu.org>
15314
15315 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
15316 to create a gap between _end and the modules added to the image
15317 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
15318 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
15319 * util/elf/grub-mkimage.c (add_segments): Likewise.
15320
2033f53e 153212008-01-26 Pavel Roskin <proski@gnu.org>
15322
15323 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
15324 just return an error.
15325
22da1f6f 153262008-01-26 Bean <bean123ch@gmail.com>
15327
15328 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
15329 (grub_reiserfs_get_item): Save offset of the next item.
15330 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
15331
2a9525e6 153322008-01-25 Robert Millan <rmh@aybabtu.com>
15333
15334 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
15335 make all filesystem sources appear together (possibly fixing omissions
15336 while at it).
15337 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15339 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15341
15342 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
15343 add `kern/file.c'.
15344 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
15345 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15346 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
15347 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
15348
15349 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
15350 (probe): Add a sanity check to make sure of our ability to read
15351 requested files when probing for filesystem type.
15352
15353 * genmk.rb: Update copyright year (2007).
15354
15355 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
15356 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
15357 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
15358 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
15359 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
15360 : Remove function prototypes.
15361
b95f71b5 153622008-01-25 Robert Millan <rmh@aybabtu.com>
15363
15364 Revert my previous commits (based on wrong assumption of how grub_errno
15365 works).
15366
fe6b695a 15367 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 15368 * kern/file.c (grub_file_open): Likewise.
15369
d08bbb49 153702008-01-24 Pavel Roskin <proski@gnu.org>
15371
15372 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
15373 that hang if GRUB tries to setup colors.
15374 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
15375 colors for firmwares that don't support it.
15376 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
15377 Recognize Open Hack'Ware, set flags to work around its
15378 limitations.
15379
605e36ed 153802008-01-24 Robert Millan <rmh@aybabtu.com>
15381
15382 * kern/file.c (grub_file_open): Do not account previous failures of
15383 unrelated functions when grub_errno is checked for.
15384 Reported by Oleg Strikov.
15385
bac332a1 153862008-01-24 Bean <bean123ch@gmail.com>
15387
15388 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
15389 (grub_ufs_sblock): New member volume name.
15390 (grub_ufs_find_file): Fix string copy bug.
15391 (grub_ufs_label): Implement this function properly.
15392
15393 * fs/hfs.c (grub_hfs_cnid_type): New enum.
15394 (grub_hfs_iterate_records): Use the correct file number for extents
15395 and catalog file. Fix problem in next index calculation.
15396 (grub_hfs_find_node): Replace recursive function call with loop.
15397 (grub_hfs_iterate_dir): Replace recursive function call with loop.
15398
15c80c09 153992008-01-23 Robert Millan <rmh@aybabtu.com>
15400
15401 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
15402 `<grub/symbol.h>' and `<grub/multiboot.h>'.
15403 (grub_multiboot2_real_boot): New function prototype.
15404
15405 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
15406 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
15407
15408 * kern/i386/ieee1275/init.c (grub_os_area_addr)
15409 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
15410
305338fd 154112008-01-23 Robert Millan <rmh@aybabtu.com>
15412
15413 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
15414 #ifdef'ed out grub_printf().
15415
3ea52685 154162008-01-23 Robert Millan <rmh@aybabtu.com>
15417
15418 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
15419 grub_dprintf calls, since they make "debug=all" mode unusable.
15420 (grub_console_checkkey): Likewise.
15421
5882ae4b 154222008-01-23 Robert Millan <rmh@aybabtu.com>
15423
15424 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
15425 `term/i386/pc/at_keyboard.c'.
15426 (pkglib_MODULES): Add `serial.mod'.
15427 (serial_mod_SOURCES): New variable.
15428 (serial_mod_CFLAGS): Likewise.
15429 (serial_mod_LDFLAGS): Likewise.
15430
15431 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
15432 `<grub/powerpc/ieee1275/console.h>'.
15433 (grub_keyboard_controller_init): New function prototype.
15434 (grub_console_checkkey): Likewise.
15435 (grub_console_getkey): Likewise.
15436
15437 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
15438 keyboard on i386.
15439
15440 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
15441 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
15442
06ab5303 154432008-01-23 Robert Millan <rmh@aybabtu.com>
15444
15445 * kern/i386/pc/init.c (make_install_device): When memdisk image is
15446 present, "(memdisk)/boot/grub" becomes the default prefix.
15447
15448 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
15449 a memdisk tarball with all the modules. Add --overlay=DIR option that
15450 allows users to overlay additional files into the image.
15451
dbb475a4 154522008-01-23 Robert Millan <rmh@aybabtu.com>
15453
15454 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
15455 and `machine/memory.h'.
15456 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
15457 (_multiboot_mod_SOURCES): New variable.
15458 (_multiboot_mod_CFLAGS): Likewise.
15459 (_multiboot_mod_LDFLAGS): Likewise.
15460 (multiboot_mod_SOURCES): Likewise.
15461 (multiboot_mod_CFLAGS): Likewise.
15462 (multiboot_mod_LDFLAGS): Likewise.
15463
15464 * include/grub/i386/ieee1275/loader.h: New file.
15465
15466 * include/grub/i386/ieee1275/machine.h: Likewise.
15467
15468 * include/grub/i386/ieee1275/memory.h: Likewise.
15469
15470 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
15471 variable declaration.
15472 (grub_os_area_size): Likewise.
15473
15474 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
15475 (grub_lower_mem, grub_upper_mem): New variables.
15476 (grub_stop_floppy): New function (just to make
15477 grub_multiboot2_real_boot() happy).
15478
15479 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
15480 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
15481 (grub_stop): New function.
15482 Include `"../realmode.S"' and `"../loader.S"'.
15483
15484 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
15485 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
15486
15487 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
15488 rely on grub_multiboot2_real_boot() for final boot.
15489
25638629 154902008-01-22 Robert Millan <rmh@aybabtu.com>
15491
15492 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
15493 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
15494 device that doesn't look like an SD card.
15495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15496 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
15497 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
15498 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
15499 found.
15500
9dad816d 155012008-01-22 Robert Millan <rmh@aybabtu.com>
15502
15503 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
15504 avoid claiming over our own code.
15505
34842f2d 155062008-01-22 Bean <bean123ch@gmail.com>
15507
15508 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
15509 (jpeg_mod_SOURCES): New variable.
15510 (jpeg_mod_CFLAGS): Likewise.
15511 (jpeg_mod_LDFLAGS): Likewise.
15512
15513 * video/readers/jpeg.c : New file.
15514
44023a28 155152008-01-22 Bean <bean123ch@gmail.com>
15516
15517 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
15518 there are no more items.
15519
bc2d8ac6 155202008-01-21 Robert Millan <rmh@aybabtu.com>
15521
15522 * kern/mm.c (grub_mm_init_region): Improve debug message.
15523
261bd4bc 155242008-01-21 Robert Millan <rmh@aybabtu.com>
15525
15526 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
15527 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
15528 address.
15529 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
15530 a C macro.
15531 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
15532 Indicates start of upper memory.
15533 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
15534 (generate_image): Abort when image size is big enough to corrupt
15535 upper memory.
15536
15537 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
15538 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
15539 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15540 instead of hardcoding 0xA0000.
15541 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
15542 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
15543 instead of hardcoding 0xA0000.
15544
f970b55e 155452008-01-21 Robert Millan <rmh@aybabtu.com>
15546
15547 * disk/memdisk.c (memdisk_size): New variable.
15548 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
15549 `memdisk_size'.
15550 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
15551 image to dynamic memory.
15552 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
15553 `memdisk_size'. Free memdisk block.
15554
1a8b0526 155552008-01-21 Robert Millan <rmh@aybabtu.com>
15556
15557 Fix detection of very small filesystems (like tar).
15558
15559 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
15560 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
15561 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
15562 a problem with this disk).
15563
6e9b4aab 155642008-01-21 Robert Millan <rmh@aybabtu.com>
15565
15566 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
15567 on grub_biosdisk_rw_standard() error.
15568
0d8837b2 155692008-01-21 Robert Millan <rmh@aybabtu.com>
15570
15571 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
15572 recent changes.
15573 * kern/elf.c: Likewise.
15574 * kern/ieee1275/ieee1275.c: Likewise.
15575 * kern/powerpc/ieee1275/openfw.c: Likewise.
15576 * term/ieee1275/ofconsole.c: Likewise.
15577
ffd36e34 155782008-01-21 Robert Millan <rmh@aybabtu.com>
15579
15580 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
15581
3f0093d0 15582 * include/grub/kernel.h (grub_arch_memdisk_addr)
15583 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 15584
3f0093d0 15585 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
15586 (grub_arch_memdisk_size): ... to here.
ffd36e34 15587
6c391b21 155882008-01-21 Robert Millan <rmh@aybabtu.com>
15589
15590 Mostly based on bugfix from Bean.
15591
15592 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
15593 attribute with hook() parameter.
15594 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
15595 declaration.
15596 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
15597 attribute with hook() parameter.
15598 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
15599 declaration.
15600
55a581dc 156012008-01-21 Robert Millan <rmh@aybabtu.com>
15602
15603 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
15604 (pkglib_MODULES): Add `memdisk.mod'.
15605 (memdisk_mod_SOURCES): New variable.
15606 (memdisk_mod_CFLAGS): Likewise.
15607 (memdisk_mod_LDFLAGS): Likewise.
15608
15609 * disk/memdisk.c: New file.
15610
15611 * include/grub/disk.h (grub_disk_dev_id): Add
15612 `GRUB_DISK_DEVICE_MEMDISK_ID'.
15613
15614 * include/grub/i386/pc/kernel.h
15615 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
15616 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
15617 (grub_kernel_image_size): New variable declaration.
15618 (grub_total_module_size): Likewise.
15619 (grub_memdisk_image_size): Likewise.
15620
15621 * include/grub/i386/pc/memory.h
15622 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
15623
15624 * include/grub/kernel.h: Include `<grub/symbol.h>'.
15625 (grub_arch_memdisk_addr): New variable declaration.
15626 (grub_arch_memdisk_size): Likewise.
15627
15628 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
15629 (grub_arch_memdisk_size): Likewise.
15630
15631 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
15632 (codestart): Replace hardcoded `0x100000' with
15633 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
15634
15635 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
15636 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
15637 not NULL, append the contents of the file it refers to, at the end of
15638 the compressed kernel image. Initialize `grub_memdisk_image_size'
15639 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
15640 (options): Add "memdisk"|'m' option.
15641 (main): Parse --memdisk|-m option, and pass user-provided path as
15642 parameter to generate_image().
15643
3d7f54c9 156442008-01-20 Robert Millan <rmh@aybabtu.com>
15645
15646 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
15647 grub_dprintf() calls from here ...
15648 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
15649
0bf74728 156502008-01-20 Robert Millan <rmh@aybabtu.com>
15651
15652 Fix detection of "real mode" when /options/real-mode? doesn't exist.
15653
15654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
15655 declaration.
15656 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
15657 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
15658 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 15659 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 15660 property).
15661 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
15662 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
15663
33bf70a7 156642008-01-19 Robert Millan <rmh@aybabtu.com>
15665
fe6b695a 15666 Get rid of confusing function (superseded by
33bf70a7 15667 `grub_ieee1275_get_integer_property')
15668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
15669 prototype.
15670 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
15671 function.
15672 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
15673 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 15674 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 15675
e2da7d26 156762008-01-19 Robert Millan <rmh@aybabtu.com>
15677
15678 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
15679 command after "shut-down", since implementations differ on which
15680 the command for halt is.
15681
59f1fd8d 156822008-01-19 Robert Millan <rmh@aybabtu.com>
15683
15684 * include/grub/i386/linuxbios/console.h: Add header protection.
15685 (grub_keyboard_controller_init): New function prototype.
15686 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
15687 (KEYBOARD_COMMAND_READ): Likewise.
15688 (KEYBOARD_COMMAND_WRITE): Likewise.
15689 (KEYBOARD_SCANCODE_SET1): Likewise.
15690 (grub_keyboard_controller_write): New function.
15691 (grub_keyboard_controller_read): Likewise.
15692 (grub_keyboard_controller_init): Likewise.
15693
15694 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
15695 (grub_console_init): On coreboot/LinuxBIOS, call
15696 grub_keyboard_controller_init().
15697
5f5a7c15 156982008-01-19 Robert Millan <rmh@aybabtu.com>
15699
15700 PowerPC changes provided by Pavel Roskin.
15701
15702 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
15703 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
15704 don't rely on cmain() doing it.
15705 * kern/i386/ieee1275/startup.S (_start): Store %eax in
15706 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
15707
1210e168 157082008-01-16 Robert Millan <rmh@aybabtu.com>
15709
15710 * include/grub/i386/linuxbios/memory.h
15711 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
15712 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
15713 receive `table_header' as argument. Instead, probe for it in the
15714 known memory ranges where it can be present.
15715 (grub_available_iterate): Do not pass a fixed `table_header' address
15716 to grub_linuxbios_table_iterate().
15717
3d04eab8 157182008-01-15 Robert Millan <rmh@aybabtu.com>
15719
15720 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
15721 * conf/i386-ieee1275.rmk: New file.
15722 * include/grub/i386/ieee1275/console.h: Likewise.
15723 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
15724 * include/grub/i386/ieee1275/kernel.h: Likewise.
15725 * include/grub/i386/ieee1275/time.h: Likewise.
15726 * kern/i386/ieee1275/init.c: Likewise.
15727 * kern/i386/ieee1275/startup.S: Likewise.
15728
d1bc1b73 157292008-01-15 Robert Millan <rmh@aybabtu.com>
15730
15731 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
15732 when pointers are 32-bit (but still do set it to one when they are
15733 64-bit).
15734
66a65807 157352008-01-15 Robert Millan <rmh@aybabtu.com>
15736
15737 * include/grub/ieee1275/ieee1275.h
15738 (grub_ieee1275_get_integer_property): New function prototype.
15739
15740 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
15741 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 15742 grub_ieee1275_get_property() to handle endianness.
66a65807 15743
15744 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
15745 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 15746 where appropriate.
66a65807 15747 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
15748 (grub_map): Likewise.
15749 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
15750
a83ccafd 157512008-01-15 Bean <bean123ch@gmail.com>
15752
15753 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
15754 (grub_script_execute_cmdline): Reset grub_errno.
15755
15756 * normal/main.c (read_config_file): Reset grub_errno.
15757
15758 * normal/parse.y (script_init): New.
15759 (script): Move function and menuentry here.
15760 (delimiter): New.
15761 (command): Add delimiter at the end of command.
15762 (commands): Adjust to match the new command.
15763 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 15764 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 15765 (if): Use the new commands.
15766
15767 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
15768
df6ecfc6 157692008-01-15 Robert Millan <rmh@aybabtu.com>
15770
15771 * normal/menu.c (run_menu): Move timeout message from here ...
15772 (print_timeout): ... to here.
15773 (run_menu): Use print_timeout() once during initial draw to print
15774 the whole message, and again in every clock tick to update only
15775 the number of seconds.
15776
87ae25eb 157772008-01-15 Robert Millan <rmh@aybabtu.com>
15778
15779 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
15780 actual size of `available' from grub_ieee1275_get_property(), and
15781 restrict parsing to that bound.
15782
47bf09a4 157832008-01-15 Christian Franke <franke@computer.org>
15784
15785 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
15786 (argp_program_version): Remove variable.
15787 (argp_program_bug_address): Likewise.
15788 (options): Convert from struct argp_option to struct option.
15789 (struct arguments): Remove.
15790 (parse_opt): Remove.
15791 (usage): New function.
15792 (main): Replace struct args members by simple variables.
15793 Replace argp_parse() by getopt_long().
15794 Add switch to evaluate options.
15795 Add missing "(...)" around root_dev in prefix string.
15796
c86f1469 157972008-01-14 Robert Millan <rmh@aybabtu.com>
15798
15799 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
15800 for grub_ieee1275_exit(), in order to improve portability.
15801
e622c559 158022008-01-14 Robert Millan <rmh@aybabtu.com>
15803
15804 * util/grub.d/10_linux.in (prefix): Define.
15805 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
15806
44cb1ec8 158072008-01-13 Pavel Roskin <proski@gnu.org>
15808
15809 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
15810 grub_errno if no errors have been detected.
15811
1eb8c802 158122008-01-12 Robert Millan <rmh@aybabtu.com>
15813
15814 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
15815 (grub_util_get_dev_abstraction): New function prototype.
15816
15817 * util/getroot.c: Include `<grub/util/getroot.h>'
15818 (grub_util_get_grub_dev): Move detection of abstraction type to ...
15819 (grub_util_get_dev_abstraction): ... here (new function).
15820
15821 * util/grub-probe.c: Convert PRINT_* to an enum. Add
15822 `PRINT_ABSTRACTION'.
15823 (probe): Probe for abstraction type when requested.
15824 (main): Understand `--target=abstraction'.
15825
15826 * util/i386/efi/grub-install.in: Add abstraction module to core
15827 image when it is found to be necessary.
15828 * util/i386/pc/grub-install.in: Likewise.
15829 * util/powerpc/ieee1275/grub-install.in: Likewise.
15830
15831 * util/update-grub_lib.in (font_path): Return system path without
15832 converting to GRUB path.
15833 * util/update-grub.in: Convert system path returned by font_path()
15834 to a GRUB path. Use `grub-probe -t abstraction' to determine what
15835 abstraction module is needed for loading fonts (if any). Export
15836 that as `GRUB_PRELOAD_MODULES'.
15837 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
15838 insmod commands).
15839
52bd3de9 158402008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
15841
15842 Remove some unused code from reiserfs.
f19dbdb7 15843
52bd3de9 15844 * fs/reiserfs.c (struct grub_reiserfs_key)
15845 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
15846 (struct grub_reiserfs_node_body): Removed.
15847 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15848 Likewise.
15849 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15850 Likewise.
15851 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15852 Likewise.
15853 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
15854 Likewise.
15855 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
15856 Likewise.
15857 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
15858 Likewise.
15859 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15860 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15861 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
15862
2f80039d 158632008-01-10 Robert Millan <rmh@aybabtu.com>
15864
15865 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
15866 Determines if a file is garbage left by packaging systems, etc.
15867 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
15868 for processing /etc/grub.d scripts.
15869 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
15870 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
15871 as a condition for processing Linux images.
15872
87888032 158732008-01-10 Pavel Roskin <proski@gnu.org>
15874
15875 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
15876 to compile reiserfs.c on PowerPC.
15877
7e54fced 158782008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 15879
15880 * kern/device.c (grub_device_iterate): Do not abort device iteration
15881 when one of the devices cannot be opened.
15882 * kern/disk.c (grub_disk_open): Do not account previous failures of
15883 unrelated functions when grub_errno is checked for.
15884
5aa541e6 158852008-01-08 Robert Millan <rmh@aybabtu.com>
15886
15887 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
15888 `! grub_linux_is_bzimage', change order of address comparison to make
15889 it more intuitive, and improve "too big zImage" error message.
15890
7076340d 158912008-01-08 Robert Millan <rmh@aybabtu.com>
15892
15893 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
15894 `$(update-grub_DATA)'.
15895 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
15896 targets.
15897
9ca70333 158982008-01-07 Robert Millan <rmh@aybabtu.com>
15899
15900 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
15901 which instruction is modified by grub-setup during installation
15902 (since it wasn't obvious by only looking at this file).
15903
38ccf575 159042008-01-07 Robert Millan <rmh@aybabtu.com>
15905
15906 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
15907 listing actual TODO items.
15908
f5db4291 159092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15910
868967cf 15911 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
15912 correctly.
15913 (grub_reiserfs_get_key_offset): Likewise.
15914 (grub_reiserfs_set_key_offset): Likewise.
15915 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 15916 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 15917
15918 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
15919 better to remove the bitfield version completely.
f19dbdb7 15920
868967cf 159212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15922
f5db4291 15923 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
15924 allocated from the heap, due to the fshelp implementation.
15925 (grub_reiserfs_dir): Free NODE, due to the same reason.
15926
492e6d9d 159272008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
15928
15929 Mostly from Vincent Pelletier:
f19dbdb7 15930
492e6d9d 15931 * fs/reiserfs.c: New file.
f19dbdb7 15932
492e6d9d 15933 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
15934 (reiserfs_mod_SOURCES): New variable.
15935 (reiserfs_mod_CFLAGS): Likewise.
15936 (reiserfs_mod_LDFLAGS): Likewise.
15937
15938 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
15939 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
15940 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
15941 normal/color.c.
15942
9ce3e7c1 159432008-01-06 Robert Millan <rmh@aybabtu.com>
15944
15945 * normal/color.c: Remove `<grub/env.h>'.
15946
f3b58148 159472008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
15948
15949 * include/grub/normal.h: Include <grub/env.h>.
15950
7ac3bcfa 159512008-01-05 Robert Millan <rmh@aybabtu.com>
15952
15953 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
15954 usage example with `(hd0,1)'.
fb358190 15955 Reported by Samuel Thibault.
7ac3bcfa 15956
c8ee99d7 159572008-01-05 Robert Millan <rmh@aybabtu.com>
15958
15959 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
15960 (grub_linux_boot_zimage): Rename to ...
15961 (grub_linux_boot): ... this.
15962 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
15963 (grub_linux_boot_zimage): Conditionalize zImage copy.
15964
15965 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
15966 (grub_linux_boot_bzimage): Remove prototype.
15967 (grub_linux_boot_zimage): Rename to ...
15968 (grub_linux_boot): ... this.
15969
15970 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
15971 (grub_linux_boot): Remove function.
15972
0ece25b1 159732008-01-05 Robert Millan <rmh@aybabtu.com>
15974
15975 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
15976 (grub_env_write_color_highlight): Likewise.
15977 (grub_wait_after_message): Likewise.
15978
15979 * normal/color.c: New file.
15980
15981 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15982 (normal_mod_DEPENDENCIES): Likewise.
15983
15984 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15985 (normal_mod_DEPENDENCIES): Likewise.
15986
15987 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15988 (normal_mod_DEPENDENCIES): Likewise.
15989
15990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
15991 (normal_mod_DEPENDENCIES): Likewise.
15992
15993 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
15994 for waiting after a message is printed.
15995 * normal/main.c (read_config_file): Likewise.
15996 (grub_normal_init): Register grub_env_write_color_normal() and
15997 grub_env_write_color_highlight() hooks. Mark `color_normal' and
15998 `color_highlight' variables as global.
15999
16000 * normal/menu.c (grub_wait_after_message): New function.
16001 (grub_color_menu_normal): New variable. Replaces ...
16002 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16003 (grub_color_menu_highlight): New variable. Replaces ...
16004 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16005 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16006 `GRUB_TERM_COLOR_STANDARD'.
16007 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16008 `normal_code' and `highlight_code' to `old_color_normal' and
16009 `old_color_highlight', respectively.
16010 (grub_menu_init_page): Update colors when drawing the menu, based on
16011 `menu_color_normal' and `menu_color_highlight' variables.
16012 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16013 a message is printed.
16014
182dd4e5 160152008-01-05 Robert Millan <rmh@aybabtu.com>
16016
16017 * kern/env.c (grub_env_context_open): Propagate hooks for global
16018 variables to new context.
16019
16020 * kern/main.c (grub_set_root_dev): Export `root' variable.
16021
ddf8f6ad 160222008-01-05 Robert Millan <rmh@aybabtu.com>
16023
16024 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16025 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16026 them.
16027
d8b43d9b 160282008-01-05 Robert Millan <rmh@aybabtu.com>
16029
16030 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16031
2bff2de3 160322008-01-04 Christian Franke <franke@computer.org>
16033
16034 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16035 of eisa_mmap.
16036
97eab917 160372008-01-03 Pavel Roskin <proski@gnu.org>
16038
16039 * kern/i386/linuxbios/init.c: Put "void" to all function
16040 declarations with no arguments.
16041 * kern/powerpc/ieee1275/init.c: Likewise.
16042 * term/i386/pc/at_keyboard.c: Likewise.
16043 * term/i386/pc/vga_text.c: Likewise.
16044 * util/grub-mkdevicemap.c: Likewise.
16045
b9416d00 160462008-01-02 Robert Millan <rmh@aybabtu.com>
16047
16048 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
16049 message when loaded image is out of bounds.
16050 (grub_multiboot_load_elf64): Likewise.
16051
92695df9 160522008-01-02 Pavel Roskin <proski@gnu.org>
16053
16054 * util/grub.d/10_linux.in: Try version without ".old" when
16055 looking for initrd. It's better to use initrd from the newer
16056 kernel of the same version than no initrd at all.
16057
d98d9cad 160582008-01-01 Robert Millan <rmh@aybabtu.com>
16059
16060 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
16061
dbfdce36 160622008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
16063
f19dbdb7 16064 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 16065 grub_video_get_active_render_target.
16066 (grub_video_adapter): Added unmap_color and get_active_render_target.
16067
f19dbdb7 16068 * video/video.c: Added grub_video_unmap_color and
dbfdce36 16069 grub_video_get_active_render_target.
16070 (grub_video_get_info): Changed method to accept NULL pointer as an
16071 argument to allow detection of active video adapter.
16072
16073 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
16074 grub_video_vbe_unmap_color_int.
16075 Added grub_video_vbe_unmap_color and
16076 grub_video_vbe_get_active_render_target.
16077 (grub_video_vbe_adapter): Added unmap_color and
16078 get_active_render_target.
16079
f19dbdb7 16080 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 16081 with grub_video_vbe_unmap_color_int.
16082
16083 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
16084 (DEFAULT_NORMAL_COLOR): Likewise.
16085 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
16086 (DEFAULT_FG_COLOR): Removed.
16087 (DEFAULT_BG_COLOR): Likewise.
16088 (DEFAULT_CURSOR_COLOR): Changed value.
16089 (grub_virtual_screen): Added standard_color_setting,
16090 normal_color_setting, highlight_color_setting and term_color.
16091 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
16092 (bitmap_width): Added.
16093 (bitmap_height): Likewise.
16094 (bitmap): Likewise.
16095 (set_term_color): Likewise.
16096 (grub_virtual_screen_setup): Changed to use new terminal coloring
16097 settings.
16098 (grub_gfxterm_init): Added init for bitmap.
16099 (grub_gfxterm_fini): Added destroy for bitmap.
16100 (redraw_screen_rect): Updated to use background bitmap and new
16101 terminal coloring.
16102 (scroll_up): Added optimization for case when there is no bitmap.
16103 (grub_gfxterm_cls): Fixed to use correct background color.
16104 (grub_virtual_screen_setcolorstate): Changed to use new terminal
16105 coloring.
16106 (grub_virtual_screen_setcolor): Likewise.
16107 (grub_virtual_screen_getcolor): Added.
16108 (grub_gfxterm_background_image_cmd): Likewise.
16109 (grub_video_term): Added setcolor and getcolor.
16110 (MOD_INIT): Added registration of background_image command.
16111 (MOD_TERM): Added unregistration for background_image command.
16112
c3c20931 161132007-12-30 Pavel Roskin <proski@gnu.org>
16114
16115 * loader/multiboot_loader.c: Fix multiboot command
16116 unregistration. Fix all typos in the word "multiboot".
16117
df266716 161182007-12-29 Pavel Roskin <proski@gnu.org>
94239199 16119
16120 * util/grub.d/10_linux.in: Refactor search for initrd. Add
16121 support for initrd names used in Fedora.
16122
fc6e896c 161232007-12-26 Bean <bean123ch@gmail.com>
16124
16125 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
16126 (cpio_mod_SOURCES): New variable.
16127 (cpio_mod_CFLAGS): Likewise.
16128 (cpio_mod_LDFLAGS): Likewise.
16129
16130 * fs/cpio.c: New file.
16131
16132 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
16133
16134 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16135
16136 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16137
16138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16139
533110ad 161402007-12-25 Robert Millan <rmh@aybabtu.com>
16141
16142 * include/grub/term.h (struct grub_term): Add `getcolor' function.
16143 (grub_getcolor): New function.
16144
16145 * kern/term.c (grub_getcolor): New function.
16146 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
16147 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
16148 (print_entry): Set normal and highlight colors to
16149 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
16150 respectively, before printing and restore them to old
16151 values afterwards.
16152 (grub_menu_init_page): Likewise. Fill an additional colored space
16153 that would otherwise be left blank.
16154
16155 * term/efi/console.c (grub_console_getcolor): New function.
16156 (struct grub_console_term.getcolor): New variable.
16157 * term/i386/pc/console.c (grub_console_getcolor): New function.
16158 (struct grub_console_term.getcolor): New variable.
16159 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
16160 (struct grub_console_term.getcolor): New variable.
16161
16162 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
16163 (struct grub_console_term.setcolor): Remove variable.
16164 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
16165 (struct grub_console_term.setcolor): Remove variable.
16166 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
16167 (struct grub_console_term.setcolor): Remove variable.
16168 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
16169 (struct grub_console_term.setcolor): Remove variable.
16170
4931827f 161712007-12-25 Robert Millan <rmh@aybabtu.com>
16172
16173 * configure.ac: Search for possible unifont.hex locations, and
16174 define UNIFONT_HEX if found.
16175
16176 * Makefile.in (UNIFONT_HEX): Define variable.
16177 (DATA): Rename to ...
16178 (PKGLIB): ... this. Update all users.
16179 (PKGDATA): New variable.
16180 (pkgdata_IMAGES): Rename to ...
16181 (pkglib_IMAGES): ... this. Update all users.
16182 (pkgdata_MODULES): Rename to ...
16183 (pkglib_MODULES): ... this. Update all users.
16184 (pkgdata_PROGRAMS): Rename to ...
16185 (pkglib_PROGRAMS): ... this. Update all users.
16186 (pkgdata_DATA): Rename to ...
16187 (pkglib_DATA): ... this. Update all users.
16188 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
16189 (unicode.pff, ascii.pff): New rules.
16190 (all-local): Add `$(PKGDATA)' dependency.
16191 (install-local): Process `$(PKGDATA)'.
16192
16193 * util/update-grub_lib.in (font_path): Search for *.pff files in
16194 a few more locations, including `${pkgdata}'.
16195
57e57e31 161962007-12-23 Robert Millan <rmh@aybabtu.com>
16197
16198 Patch from Bean <bean123ch@gmail.com>:
16199 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
16200 `size'.
16201
4bc72aa9 162022007-12-21 Bean <bean123ch@gmail.com>
16203
16204 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
16205 (ntfscomp_mod_SOURCES): New variable.
16206 (ntfscomp_mod_CFLAGS): Likewise.
16207 (ntfscomp_mod_LDFLAGS): Likewise.
16208
16209 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
16210 (grub_probe_SOURCES): Likewise.
16211 (grub_emu_SOURCES): Likewise.
16212
16213 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16214 (grub_emu_SOURCES): Likewise.
16215
16216 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16217 (grub_emu_SOURCES): Likewise.
16218
16219 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
16220 (grub_emu_SOURCES): Likewise.
16221
16222 * fs/ntfs.c (grub_ntfscomp_func): New variable.
16223 (read_run_list): Renamed to grub_ntfs_read_run_list.
16224 (decomp_nextvcn): Moved to ntfscomp.c.
16225 (decomp_getch): Likewise.
16226 (decomp_get16): Likewise.
16227 (decomp_block): Likewise.
16228 (read_block): Likewise.
16229 (read_data): Partially moved to ntfscomp.c.
16230 (fixup): Change unsigned to grub_uint16_t.
16231 (read_mft): Change unsigned long to grub_uint32_t.
16232 (read_attr): Likewise.
16233 (read_data): Likewise.
16234 (read_run_data): Likewise.
16235 (read_run_list): Likewise.
16236 (read_mft): Likewise.
16237
16238 * fs/ntfscomp.c: New file.
16239
16240 * include/grub/ntfs.h: New file.
16241
af680a87 162422007-12-16 Robert Millan <rmh@aybabtu.com>
16243
16244 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
16245 IDE disk check, since Linux is known to support 20 IDE disks.
16246 Reported by Colin Watson.
16247
84be7599 162482007-12-15 Bean <bean123ch@gmail.com>
16249
16250 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
16251 (lnxboot_img_SOURCES): New variable.
16252 (lnxboot_img_ASFLAGS): Likewise.
16253 (lnxboot_img_LDFLAGS): Likewise.
16254
16255 * boot/i386/pc/lnxboot.S: New file.
16256
6af9db01 162572007-11-24 Pavel Roskin <proski@gnu.org>
16258
16259 * configure.ac: Test if '--build-id=none' is supported by the
16260 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
16261 objcopy to generate incorrect binary files (binutils
16262 2.17.50.0.18-1 as shipped by Fedora 8).
16263 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
16264 linking, so that build ID doesn't break the test.
16265
7361cfe6 162662007-11-24 Pavel Roskin <proski@gnu.org>
16267
16268 * include/grub/i386/time.h: use "void" in the argument list
16269 of grub_cpu_idle().
16270 * include/grub/powerpc/time.h: Likewise.
16271 * include/grub/sparc64/time.h: Likewise.
16272
1593e10c 162732007-11-18 Christian Franke <franke@computer.org>
16274
16275 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
16276 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
16277 This fixes the problem that function keys did not work in grub-emu.
16278
3b8db1a8 162792007-11-18 Christian Franke <franke@computer.org>
16280
16281 * disk/host.c (grub_host_open): Remove attribute unused from
16282 name parameter. Add check for "host". This fixes the problem
16283 that grub-emu does not find partitions.
16284
2e29408d 162852007-11-18 Christian Franke <franke@computer.org>
16286
16287 * util/hostfs.c (is_dir): New function.
16288 (grub_hostfs_dir): Handle missing dirent.d_type case.
16289 (grub_hostfs_read): Add missing fseek().
16290 (grub_hostfs_label): Clear label pointer. This fixes a crash
16291 of grub-emu on "ls (host)".
16292
398cd047 162932007-11-18 Christian Franke <franke@computer.org>
16294
16295 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
16296 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
16297 to 64 bit boundary by default.
16298
c405c391 162992007-11-18 Bean <bean123ch@gmail.com>
16300
16301 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
16302 (hexdump_mod_SOURCES): New variable.
16303 (hexdump_mod_CFLAGS): Likewise.
16304 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 16305
c405c391 16306 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16307
16308 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16309
16310 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16311
16312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
16313
16314 * include/grub/hexdump.h: New file.
16315
16316 * commands/hexdump.c: New file.
16317
5cced7fd 163182007-11-10 Robert Millan <rmh@aybabtu.com>
16319
16320 * commands/i386/pc/play.c (beep_off): Switch order of arguments
16321 in grub_outb() calls.
16322 (beep_on): Likewise.
16323
8b714eb0 163242007-11-10 Christian Franke <franke@computer.org>
16325
16326 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
16327 (grub_menu_run): Likewise.
16328
ce0f1839 163292007-11-10 Robert Millan <rmh@aybabtu.com>
16330
16331 * include/grub/i386/efi/machine.h: New file.
16332 * include/grub/i386/linuxbios/machine.h: Likewise.
16333 * include/grub/i386/pc/machine.h: Likewise.
16334 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16335 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16336
16337 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
16338 (serial_hw_io_addr): New variable.
16339 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
16340 instead of `(unsigned short *) 0x400'.
16341
270c237d 163422007-11-10 Bean <bean123ch@gmail.com>
16343
16344 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
16345
a87783bf 163462007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16347
16348 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
16349 (vga_mod_SOURCES): Added.
16350 (vga_mod_CFLAGS): Likewise.
16351 (vga_mod_LDFLAGS): Likewise.
16352
16353 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
16354 grub_outb() calls.
16355 (set_map_mask): Likewise.
16356 (set_read_map): Likewise.
16357 (set_read_address): Likewise.
16358 (vga_font): Removed variable.
16359 (get_vga_glyph): Removed function.
16360 (invalidate_char): Likewise.
16361 (write_char): Changed to use grub_font_get_glyph() for font
16362 information.
16363 (grub_vga_putchar): Likewise.
16364 (grub_vga_getcharwidth): Likewise.
16365
6433b448 163662007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
16367
16368 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
16369 flags.
16370 (pxeboot_img_LDFLAGS): Likewise.
16371 (diskboot_img_LDFLAGS): Likewise.
16372 (kernel_img_LDFLAGS): Likewise.
16373
49178511 163742007-11-06 Robert Millan <rmh@aybabtu.com>
16375
16376 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
16377 in grub_outb() calls.
16378 (serial_hw_init): Likewise.
16379
53b052de 163802007-11-05 Robert Millan <rmh@aybabtu.com>
16381
16382 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
16383 spaces. Skip non-regular files.
16384
5ab33bba 163852007-11-05 Robert Millan <rmh@aybabtu.com>
16386
16387 * kern/disk.c (grub_disk_firmware_fini)
16388 (grub_disk_firmware_is_tainted): New variables.
16389
16390 * include/grub/disk.h (grub_disk_firmware_fini)
16391 (grub_disk_firmware_is_tainted): Likewise.
16392
16393 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
16394 (grub_disk_biosdisk_fini): ... to here.
16395 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
16396 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
16397 is set. Register grub_disk_biosdisk_fini() in
16398 `grub_disk_firmware_fini'.
16399
16400 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
16401 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
16402 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
16403 to finish existing firmware disk interface.
16404
16405 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
16406 (ata_mod_SOURCES): New variable.
16407 (ata_mod_CFLAGS): Likewise.
16408 (ata_mod_LDFLAGS): Likewise.
16409
0149ab7c 164102007-11-05 Robert Millan <rmh@aybabtu.com>
16411
16412 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
16413 (grub_ata_wait): Reimplement using grub_millisleep().
16414
16415 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
16416 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
16417
be7ac41e 164182007-11-03 Marco Gerards <marco@gnu.org>
16419
16420 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
16421 (CRTC_ADDR_PORT): New macro.
16422 (CRTC_DATA_PORT): Likewise.
16423 (CRTC_CURSOR): Likewise.
16424 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16425 (CRTC_CURSOR_ADDR_LOW): Likewise.
16426 (update_cursor): New function.
16427 (grub_console_real_putchar): Call `update_cursor'.
16428 (grub_console_gotoxy): Likewise.
16429 (grub_console_cls): Set the default color when clearing the
16430 screen.
16431 (grub_console_setcursor): Implemented.
16432
bb06ab2e 164332007-11-03 Marco Gerards <marco@gnu.org>
16434
16435 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
16436 become activate.
16437 (grub_ata_pio_write): Likewise.
16438
16439 (grub_atapi_identify): Wait after issuing an ATA command.
16440 (grub_atapi_packet): Likewise.
16441 (grub_ata_identify): Likewise.
16442 (grub_ata_readwrite): Likewise.
16443
cf8f780b 164442007-11-03 Marco Gerards <marco@gnu.org>
16445
16446 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
16447 (grub_ata_pio_write): Likewise.
16448 (grub_ata_readwrite): Use `grub_error', instead of
16449 returning `grub_errno'.
16450
ed649e54 164512007-11-03 Marco Gerards <marco@gnu.org>
16452
16453 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
16454 grub_ata_pio_write once for every single sector, instead of for
16455 multiple sectors.
16456
ca25d8f0 164572007-10-31 Robert Millan <rmh@aybabtu.com>
16458
16459 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
16460
16461 * conf/i386-linuxbios.rmk: New file.
16462
16463 * kern/i386/pc/hardware.c: Likewise.
16464 * term/i386/pc/at_keyboard.c: Likewise.
16465 * term/i386/pc/vga_text.c: Likewise.
16466
16467 * include/grub/i386/linuxbios/boot.h: Likewise.
16468 * include/grub/i386/linuxbios/console.h: Likewise.
16469 * include/grub/i386/linuxbios/init.h: Likewise.
16470 * include/grub/i386/linuxbios/kernel.h: Likewise.
16471 * include/grub/i386/linuxbios/loader.h: Likewise.
16472 * include/grub/i386/linuxbios/memory.h: Likewise.
16473 * include/grub/i386/linuxbios/serial.h: Likewise.
16474 * include/grub/i386/linuxbios/time.h: Likewise.
16475
16476 * kern/i386/linuxbios/init.c: Likewise.
16477 * kern/i386/linuxbios/startup.S: Likewise.
16478 * kern/i386/linuxbios/table.c: Likewise.
16479
e911ecc1 164802007-10-31 Marco Gerards <marco@gnu.org>
16481
16482 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
16483 (ata_mod_SOURCES): New variable.
16484 (ata_mod_CFLAGS): Likewise.
16485 (ata_mod_LDFLAGS): Likewise.
16486
16487 * disk/ata.c: New file.
16488
16489 * include/grub/disk.h (grub_disk_dev_id): Add
16490 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 16491
7f66d0e0 164922007-10-31 Robert Millan <rmh@aybabtu.com>
16493
16494 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
16495 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
16496
16497 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
16498 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
16499
16500 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
16501 `<grub/types.h>'.
16502
16503 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
16504
5cd7dd46 165052007-10-27 Robert Millan <rmh@aybabtu.com>
16506
3236ca65 16507 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 16508
2ebfc90f 165092007-10-22 Robert Millan <rmh@aybabtu.com>
16510
16511 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
16512 `"../realmode.S"'.
16513 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
16514
73fcb0f3 165152007-10-22 Robert Millan <rmh@aybabtu.com>
16516
16517 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
16518 (pkgdata_MODULES): Add `biosdisk.mod'.
16519 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
16520 variables.
16521
16522 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
16523 (grub_biosdisk_init): Replace with ...
16524 (GRUB_MOD_INIT(biosdisk)): ... this.
16525 (grub_biosdisk_fini): Replace with ...
16526 (GRUB_MOD_FINI(biosdisk)): ... this.
16527
16528 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
16529 (grub_machine_init): Remove call to grub_biosdisk_init().
16530 (grub_machine_fini): Remove call to grub_machine_fini().
16531
16532 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
16533
3381d274 165342007-10-22 Robert Millan <rmh@aybabtu.com>
16535
16536 * include/grub/time.h: New file.
16537 * include/grub/i386/time.h: Likewise.
16538 * include/grub/powerpc/time.h: Likewise.
16539 * include/grub/sparc64/time.h: Likewise.
16540
16541 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
16542 instances to ...
16543 (KERNEL_MACHINE_TIME_HEADER): ... this.
16544 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16545 instances to ...
16546 (KERNEL_MACHINE_TIME_HEADER): ... this.
16547 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
16548 instances to ...
16549 (KERNEL_MACHINE_TIME_HEADER): ... this.
16550
16551 * kern/i386/efi/init.c: Include `<grub/time.h>'.
16552 (grub_millisleep): New function.
16553 * kern/i386/pc/init.c: Include `<grub/time.h>'.
16554 (grub_millisleep): New function.
16555 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
16556 Remove `grub/machine/time.h' include.
16557 (grub_millisleep): New function.
16558 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
16559 Remove `grub/machine/time.h' include.
16560 (grub_millisleep): New function.
16561
16562 * include/grub/misc.h (grub_div_roundup): New function.
16563
16564 * kern/misc.c: Include `<grub/time.h>'.
16565 (grub_millisleep_generic): New function.
16566
16567 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
16568 Add `time.h'.
16569 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
16570 Add `time.h'.
16571 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
16572 `machine/time.h'. Add `time.h'.
16573 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16574
a39a0312 165752007-10-21 Robert Millan <rmh@aybabtu.com>
16576
16577 * include/grub/misc.h (grub_max): New function.
16578
2aad70e2 165792007-10-21 Robert Millan <rmh@aybabtu.com>
16580
16581 * util/misc.c (grub_util_info): Call fflush() before returning.
16582
54b71c4b 165832007-10-20 Robert Millan <rmh@aybabtu.com>
16584
16585 * genmk.rb (Image): Copy `extra_flags' from here ...
16586 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
16587
16588 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
16589 to `argc' and `args' arguments.
16590
a979f513 165912007-10-17 Robert Millan <rmh@aybabtu.com>
16592
16593 * kern/i386/loader.S: New file.
16594
16595 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
16596 * kern/i386/loader.S (grub_linux_prot_size)... to here.
16597 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
16598 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
16599 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
16600 * kern/i386/loader.S (grub_linux_real_addr)... to here.
16601 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
16602 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
16603 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
16604 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
16605 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
16606 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
16607 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
16608 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
16609
16610 * kern/i386/realmode.S: New file.
16611
16612 * kern/i386/pc/startup.S (protstack): Moved from here ...
16613 * kern/i386/realmode.S (protstack)... to here.
16614 * kern/i386/pc/startup.S (gdt): Moved from here ...
16615 * kern/i386/realmode.S (gdt)... to here.
16616 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
16617 * kern/i386/realmode.S (prot_to_real)... to here.
16618
16619 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
16620 `kern/i386/realmode.S'.
16621
825fc8fd 166222007-10-17 Robert Millan <rmh@aybabtu.com>
16623
16624 * include/grub/i386/loader.h: New file.
16625
16626 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
16627 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16628 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16629 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16630 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
16631 * include/grub/i386/loader.h (grub_linux_prot_size)
16632 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
16633 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
16634 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
16635 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
16636
16637 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
16638
e179b2f4 166392007-10-15 Robert Millan <rmh@aybabtu.com>
16640
16641 * normal/misc.c (grub_normal_print_device_info): Do not probe for
16642 filesystem when dev->disk is unset.
16643 Do probe for filesystem even when dev->disk->has_partitions is set.
16644 In case a filesystem is found, always report it.
16645 In case it isn't, if dev->disk->has_partitions is set, report that
16646 a partition table was found instead of reporting that no filesystem
16647 could be identified.
16648
5db82af6 166492007-10-12 Robert Millan <rmh@aybabtu.com>
16650
16651 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
16652 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
16653
68f6ac74 16654 * include/grub/types.h (grub_host_to_target16): New macro.
16655 (grub_host_to_target32): Likewise.
16656 (grub_host_to_target64): Likewise.
16657 (grub_target_to_host16): Likewise.
16658 (grub_target_to_host32): Likewise.
16659 (grub_target_to_host64): Likewise.
5db82af6 16660
16661 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
16662 Renamed from to ...
16663 (GRUB_MOD_ALIGN): ...this. Update all users.
16664
68f6ac74 16665 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
16666 grub_host_to_target32.
16667 Replace grub_be_to_cpu32 with grub_target_to_host32.
16668 (load_modules): Likewise.
16669 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
16670 Replace grub_be_to_cpu32 with grub_target_to_host32.
16671 Replace grub_cpu_to_be16 with grub_host_to_target16.
16672 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 16673
3cf497cc 166742007-10-12 Robert Millan <rmh@aybabtu.com>
16675
16676 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
16677 * util/elf/grub-mkimage.c: ... here.
16678
16679 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
16680 `util/powerpc/ieee1275/grub-mkimage.c'.
16681
c8cc3692 166822007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 16683
c8cc3692 16684 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
16685 and make it easier to figure out.
16686 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
16687 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
16688 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
16689 leave us with less than HEAP_MIN_SIZE total heap.
16690 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 16691
5c58b791 166922007-10-03 Robert Millan <rmh@aybabtu.com>
16693
16694 * include/grub/i386/io.h: New file.
16695 * commands/i386/pc/play.c (inb): Removed.
16696 (outb): Removed.
16697 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16698 with grub_outb().
afcd2ef8 16699 * term/i386/pc/serial.c (inb): Removed.
16700 (outb): Removed.
16701 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16702 with grub_outb().
16703 * term/i386/pc/vga.c (inb): Removed.
16704 (outb): Removed.
16705 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
16706 with grub_outb().
5c58b791 16707
1a477ed6 167082007-10-02 Robert Millan <rmh@aybabtu.com>
16709
16710 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
16711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16712 Reported by Marcin Kurek.
16713
6b5d80fa 167142007-09-07 Robert Millan <rmh@aybabtu.com>
16715
16716 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
16717 SmartFirmware version updates (as released by Sven Luther), and avoid
16718 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
16719 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
16720 known broken.
16721
5618afbf 167222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16723
16724 From Hitoshi Ozeki:
16725 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
16726 when merging two regions.
16727
6139dcd9 167282007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16729
508e39ee 16730 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
16731 * normal/completion.c (grub_normal_do_completion): Likewise.
16732 Reported by Hitoshi Ozeki.
16733
167342007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16735
6139dcd9 16736 Do not use devices at boot in chainloading.
f19dbdb7 16737
6139dcd9 16738 * loader/i386/pc/chainloader.c (boot_drive): New variable.
16739 (boot_part_addr): Likewise.
16740 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
16741 with BOOT_DRIVE and BOOT_PART_ADDR.
16742 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
16743 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
16744
38da6516 167452007-08-29 Robert Millan <rmh@aybabtu.com>
16746
16747 Patch from Simon Peter <dn.tlp@gmx.net>:
16748 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
16749 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
16750 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
16751 util/i386/pc/grub-setup.c_DEPENDENCIES.
16752 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
16753 util/grub-probe.c_DEPENDENCIES.
16754 * conf/powerpc-ieee1275.rmk: Likewise.
16755
29d0928c 167562007-08-28 Robert Millan <rmh@aybabtu.com>
16757
16758 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
16759 to tell grub-mkdevicemap how to name devices.
16760 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
16761 feature).
16762
16763 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
16764 util/i386/get_disk_name.c.
16765 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
16766 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
16767 util/ieee1275/get_disk_name.c.
16768
16769 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
16770
16771 * DISTLIST: Add util/i386/get_disk_name.c and
16772 util/ieee1275/get_disk_name.c.
16773
16774 * util/grub-mkdevicemap.c: Replace device naming logic with
16775 grub_util_get_disk_name() calls.
16776
5a0d3cca 167772007-08-20 Robert Millan <rmh@aybabtu.com>
16778
16779 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
16780 (so that it works for both plural and singular quantities).
16781
8b72db2f 167822007-08-05 Robert Millan <rmh@aybabtu.com>
16783
16784 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
16785 so that [xz] isn't taken into account when determining order.
16786
352466bf 167872007-08-02 Marco Gerards <marco@gnu.org>
16788
16789 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
16790 `include/multiboot2.h', `include/grub/elfload.h',
16791 `include/multiboot.h', `include/grub/multiboot.h',
16792 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
16793 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
16794 `kern/elf.c', `loader/multiboot_loader.c',
16795 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
16796 `loader/i386/pc/multiboot2.c',
16797 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
16798 `util/i386/pc/grub-mkrescue.in'. Remove
16799 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
16800 `include/grub/i386/pc/util/biosdisk.h' and
16801 `include/grub/powerpc/ieee1275/multiboot.h'.
16802
8f096014 168032007-08-02 Bean <bean123ch@gmail.com>
16804
16805 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
16806 (ntfs_mod_SOURCES): New variable.
16807 (ntfs_mod_CFLAGS): Likewise.
16808 (ntfs_mod_LDFLAGS): Likewise.
16809
16810 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
16811 (grub_probe_SOURCES): Likewise.
16812 (grub_emu_SOURCES): Likewise.
16813
16814 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16815 (grub_emu_SOURCES): Likewise.
16816
16817 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
16818 (grub_emu_SOURCES): Likewise.
f19dbdb7 16819
8f096014 16820 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
16821
16822 * fs/ntfs.c: New file.
16823
9959f7db 168242007-08-02 Bean <bean123ch@gmail.com>
16825
16826 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
16827
16828 * file.h (grub_file): Likewise.
16829
16830 * fshelp.h (grub_fshelp_read_file): Likewise.
16831
16832 * util/i386/pc/grub-setup.c (setup): Likewise.
16833 (save_first_sector): Likewise.
16834 (save_blocklists): Likewise.
f19dbdb7 16835
9959f7db 16836 * fs/affs.c (grub_affs_read_file): Likewise.
16837
16838 * fs/ext2.c (grub_ext2_read_file): Likewise.
16839
16840 * fs/fat.c (grub_fat_read_data): Likewise.
16841
16842 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
16843
16844 * fs/hfs.c (grub_hfs_read_file): Likewise.
16845
16846 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16847
16848 * fs/jfs.c (grub_jfs_read_file): Likewise.
16849
16850 * fs/minix.c (grub_minix_read_file): Likewise.
16851
16852 * fs/sfs.c (grub_sfs_read_file): Likewise.
16853
16854 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 16855
9959f7db 16856 * fs/xfs.c (grub_xfs_read_file): Likewise.
16857
16858 * command/blocklist.c (read_blocklist): Likewise.
16859 (print_blocklist): Likewise.
16860
0a203f83 168612007-08-02 Marco Gerards <marco@gnu.org>
16862
16863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
16864 `util/hostfs.c'.
16865
16866 * disk/host.c: New file.
16867
16868 * util/hostfs.c: Likewise.
16869
16870 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
16871 return `GRUB_ERR_BAD_FS'.
16872 * fs/sfs.c (grub_sfs_mount): Likewise.
16873 * fs/xfs.c (grub_xfs_mount): Likewise.
16874
16875 * include/grub/disk.h (enum grub_disk_dev_id): Add
16876 `GRUB_DISK_DEVICE_HOST_ID'.
16877
16878 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
16879
e5dfe777 168802007-07-24 Jerone Young <jerone@gmail.com>
16881
f19dbdb7 16882 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 16883 modules for compilation.
16884 * conf/powerpc-ieee1275.rmk: Likewise.
16885
16886 * include/multiboot.h: Move multiboot definitions to one file. Rename
16887 many definitions to not get grub specific.
16888 * include/multiboot2.h: Create header with multiboot 2 definitions.
16889 * include/grub/multiboot.h: Header for grub specific function
16890 prototypes and definitions.
16891 * include/grub/multiboot2.h: Likewise.
16892 * include/grub/multiboot_loader.h: Likewise.
16893 * include/grub/i386/pc/multiboot.h: Removed.
16894 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
16895
16896 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
16897 and 2 to allow for one multiboot and module commands.
16898 * loader/multiboot2.c: Add multiboot2 functionality.
16899 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
16900 and definition names.
16901 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
16902 2 functions.
16903 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
16904 ieee1275 specific multiboot2 code.
16905
16906 * kern/i386/pc/startup.S: Change headers and definition names for
16907 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
16908
daf0f0ba 169092007-07-22 Robert Millan <rmh@aybabtu.com>
16910
16911 * geninitheader.sh: Process file specified in first parameter rather
16912 than hardcoding grub_modules_init.lst.
fe6b695a 16913 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 16914 than hardcoding grub_modules_init.h.
16915
16916 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
16917 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
16918 grub_probe_init.[ch] and grub_setup_init.[ch].
16919
16920 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
16921 grub_modules_init.h with grub_emu_init.h.
16922 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
16923 grub_probe_init.[ch] files.
16924 * conf/i386-efi.rmk: Likewise.
16925 * conf/i386-pc.rmk: Likewise.
16926 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
16927 grub_setup_init.[ch] files.
16928
16929 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
16930 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
16931 to initialize modules rather than a list of hardcoded functions.
16932 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
16933 grub_init_all() to initialize modules rather than a list of hardcoded
16934 functions.
16935
54cdc1cc 169362007-07-22 Robert Millan <rmh@aybabtu.com>
16937
16938 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16939 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
16940
ad0686cc 169412007-07-22 Robert Millan <rmh@aybabtu.com>
16942
16943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16944 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
16945 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
16946 flag when running on SmartFirmware.
16947 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
16948 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
16949 was set.
16950
16951 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16952 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
16953 rather than decreasing it.
16954
16955 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
16956 there's not enough space to do it, fail in the same way as when it
16957 can't be done because there are no partitions.
16958
16959 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
16960 when nvsetenv failed.
16961
969c02ec 169622007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16963
16964 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
16965 because this rule is automatically generated.
16966 (grub-mkrescue): Removed for the same reason as above.
16967
5a79f472 169682007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
16969
16970 Migrate to GNU General Public License Version 3.
f19dbdb7 16971
5a79f472 16972 * COPYING: Replaced with the plain text version of GPLv3.
16973
16974 * config.guess: Updated from gnulib.
16975 * config.sub: Likewise.
16976
16977 * geninit.sh: Output a GPLv3 copyright notice.
16978 * geninitheader.sh: Likewise.
16979 * genmodsrc.sh: Likewise.
16980 * gensymlist.sh.in: Likewise.
16981
16982 * boot/i386/pc/boot.S: Upgraded to GPLv3.
16983 * boot/i386/pc/diskboot.S: Likewise.
16984 * boot/i386/pc/pxeboot.S: Likewise.
16985 * commands/blocklist.c: Likewise.
16986 * commands/boot.c: Likewise.
16987 * commands/cat.c: Likewise.
16988 * commands/cmp.c: Likewise.
16989 * commands/configfile.c: Likewise.
16990 * commands/echo.c: Likewise.
16991 * commands/help.c: Likewise.
16992 * commands/ls.c: Likewise.
16993 * commands/search.c: Likewise.
16994 * commands/terminal.c: Likewise.
16995 * commands/test.c: Likewise.
16996 * commands/videotest.c: Likewise.
16997 * commands/i386/cpuid.c: Likewise.
16998 * commands/i386/pc/halt.c: Likewise.
16999 * commands/i386/pc/play.c: Likewise.
17000 * commands/i386/pc/reboot.c: Likewise.
17001 * commands/i386/pc/vbeinfo.c: Likewise.
17002 * commands/i386/pc/vbetest.c: Likewise.
17003 * commands/ieee1275/halt.c: Likewise.
17004 * commands/ieee1275/reboot.c: Likewise.
17005 * commands/ieee1275/suspend.c: Likewise.
17006 * disk/loopback.c: Likewise.
17007 * disk/lvm.c: Likewise.
17008 * disk/raid.c: Likewise.
17009 * disk/efi/efidisk.c: Likewise.
17010 * disk/i386/pc/biosdisk.c: Likewise.
17011 * disk/ieee1275/ofdisk.c: Likewise.
17012 * font/manager.c: Likewise.
17013 * fs/affs.c: Likewise.
17014 * fs/ext2.c: Likewise.
17015 * fs/fat.c: Likewise.
17016 * fs/fshelp.c: Likewise.
17017 * fs/hfs.c: Likewise.
17018 * fs/hfsplus.c: Likewise.
17019 * fs/iso9660.c: Likewise.
17020 * fs/jfs.c: Likewise.
17021 * fs/minix.c: Likewise.
17022 * fs/sfs.c: Likewise.
17023 * fs/ufs.c: Likewise.
17024 * fs/xfs.c: Likewise.
17025 * hello/hello.c: Likewise.
17026 * include/grub/acorn_filecore.h: Likewise.
17027 * include/grub/arg.h: Likewise.
17028 * include/grub/bitmap.h: Likewise.
17029 * include/grub/boot.h: Likewise.
17030 * include/grub/cache.h: Likewise.
17031 * include/grub/device.h: Likewise.
17032 * include/grub/disk.h: Likewise.
17033 * include/grub/dl.h: Likewise.
17034 * include/grub/elfload.h: Likewise.
17035 * include/grub/env.h: Likewise.
17036 * include/grub/err.h: Likewise.
17037 * include/grub/file.h: Likewise.
17038 * include/grub/font.h: Likewise.
17039 * include/grub/fs.h: Likewise.
17040 * include/grub/fshelp.h: Likewise.
17041 * include/grub/gzio.h: Likewise.
17042 * include/grub/hfs.h: Likewise.
17043 * include/grub/kernel.h: Likewise.
17044 * include/grub/loader.h: Likewise.
17045 * include/grub/lvm.h: Likewise.
17046 * include/grub/misc.h: Likewise.
17047 * include/grub/mm.h: Likewise.
17048 * include/grub/net.h: Likewise.
17049 * include/grub/normal.h: Likewise.
17050 * include/grub/parser.h: Likewise.
17051 * include/grub/partition.h: Likewise.
17052 * include/grub/pc_partition.h: Likewise.
17053 * include/grub/raid.h: Likewise.
17054 * include/grub/rescue.h: Likewise.
17055 * include/grub/script.h: Likewise.
17056 * include/grub/setjmp.h: Likewise.
17057 * include/grub/symbol.h: Likewise.
17058 * include/grub/term.h: Likewise.
17059 * include/grub/terminfo.h: Likewise.
17060 * include/grub/tparm.h: Likewise.
17061 * include/grub/types.h: Likewise.
17062 * include/grub/video.h: Likewise.
17063 * include/grub/efi/api.h: Likewise.
17064 * include/grub/efi/chainloader.h: Likewise.
17065 * include/grub/efi/console.h: Likewise.
17066 * include/grub/efi/console_control.h: Likewise.
17067 * include/grub/efi/disk.h: Likewise.
17068 * include/grub/efi/efi.h: Likewise.
17069 * include/grub/efi/pe32.h: Likewise.
17070 * include/grub/efi/time.h: Likewise.
17071 * include/grub/i386/linux.h: Likewise.
17072 * include/grub/i386/setjmp.h: Likewise.
17073 * include/grub/i386/types.h: Likewise.
17074 * include/grub/i386/efi/kernel.h: Likewise.
17075 * include/grub/i386/efi/loader.h: Likewise.
17076 * include/grub/i386/efi/time.h: Likewise.
17077 * include/grub/i386/pc/biosdisk.h: Likewise.
17078 * include/grub/i386/pc/boot.h: Likewise.
17079 * include/grub/i386/pc/chainloader.h: Likewise.
17080 * include/grub/i386/pc/console.h: Likewise.
17081 * include/grub/i386/pc/init.h: Likewise.
17082 * include/grub/i386/pc/kernel.h: Likewise.
17083 * include/grub/i386/pc/loader.h: Likewise.
17084 * include/grub/i386/pc/memory.h: Likewise.
17085 * include/grub/i386/pc/multiboot.h: Likewise.
17086 * include/grub/i386/pc/serial.h: Likewise.
17087 * include/grub/i386/pc/time.h: Likewise.
17088 * include/grub/i386/pc/vbe.h: Likewise.
17089 * include/grub/i386/pc/vbeblit.h: Likewise.
17090 * include/grub/i386/pc/vbefill.h: Likewise.
17091 * include/grub/i386/pc/vbeutil.h: Likewise.
17092 * include/grub/i386/pc/vga.h: Likewise.
17093 * include/grub/ieee1275/ieee1275.h: Likewise.
17094 * include/grub/ieee1275/ofdisk.h: Likewise.
17095 * include/grub/powerpc/libgcc.h: Likewise.
17096 * include/grub/powerpc/setjmp.h: Likewise.
17097 * include/grub/powerpc/types.h: Likewise.
17098 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
17099 * include/grub/powerpc/ieee1275/console.h: Likewise.
17100 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
17101 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17102 * include/grub/powerpc/ieee1275/loader.h: Likewise.
17103 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
17104 * include/grub/powerpc/ieee1275/time.h: Likewise.
17105 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
17106 * include/grub/sparc64/libgcc.h: Likewise.
17107 * include/grub/sparc64/setjmp.h: Likewise.
17108 * include/grub/sparc64/types.h: Likewise.
17109 * include/grub/sparc64/ieee1275/console.h: Likewise.
17110 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17111 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17112 * include/grub/sparc64/ieee1275/time.h: Likewise.
17113 * include/grub/util/biosdisk.h: Likewise.
17114 * include/grub/util/getroot.h: Likewise.
17115 * include/grub/util/lvm.h: Likewise.
17116 * include/grub/util/misc.h: Likewise.
17117 * include/grub/util/raid.h: Likewise.
17118 * include/grub/util/resolve.h: Likewise.
17119 * io/gzio.c: Likewise.
17120 * kern/device.c: Likewise.
17121 * kern/disk.c: Likewise.
17122 * kern/dl.c: Likewise.
17123 * kern/elf.c: Likewise.
17124 * kern/env.c: Likewise.
17125 * kern/err.c: Likewise.
17126 * kern/file.c: Likewise.
17127 * kern/fs.c: Likewise.
17128 * kern/loader.c: Likewise.
17129 * kern/main.c: Likewise.
17130 * kern/misc.c: Likewise.
17131 * kern/mm.c: Likewise.
17132 * kern/parser.c: Likewise.
17133 * kern/partition.c: Likewise.
17134 * kern/rescue.c: Likewise.
17135 * kern/term.c: Likewise.
17136 * kern/efi/efi.c: Likewise.
17137 * kern/efi/init.c: Likewise.
17138 * kern/efi/mm.c: Likewise.
17139 * kern/i386/dl.c: Likewise.
17140 * kern/i386/efi/init.c: Likewise.
17141 * kern/i386/efi/startup.S: Likewise.
17142 * kern/i386/pc/init.c: Likewise.
17143 * kern/i386/pc/lzo1x.S: Likewise.
17144 * kern/i386/pc/startup.S: Likewise.
17145 * kern/ieee1275/ieee1275.c: Likewise.
17146 * kern/powerpc/cache.S: Likewise.
17147 * kern/powerpc/dl.c: Likewise.
17148 * kern/powerpc/ieee1275/cmain.c: Likewise.
17149 * kern/powerpc/ieee1275/crt0.S: Likewise.
17150 * kern/powerpc/ieee1275/init.c: Likewise.
17151 * kern/powerpc/ieee1275/openfw.c: Likewise.
17152 * kern/sparc64/cache.S: Likewise.
17153 * kern/sparc64/dl.c: Likewise.
17154 * kern/sparc64/ieee1275/init.c: Likewise.
17155 * kern/sparc64/ieee1275/openfw.c: Likewise.
17156 * loader/efi/chainloader.c: Likewise.
17157 * loader/efi/chainloader_normal.c: Likewise.
17158 * loader/i386/efi/linux.c: Likewise.
17159 * loader/i386/efi/linux_normal.c: Likewise.
17160 * loader/i386/pc/chainloader.c: Likewise.
17161 * loader/i386/pc/chainloader_normal.c: Likewise.
17162 * loader/i386/pc/linux.c: Likewise.
17163 * loader/i386/pc/linux_normal.c: Likewise.
17164 * loader/i386/pc/multiboot.c: Likewise.
17165 * loader/i386/pc/multiboot_normal.c: Likewise.
17166 * loader/powerpc/ieee1275/linux.c: Likewise.
17167 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17168 * normal/arg.c: Likewise.
17169 * normal/cmdline.c: Likewise.
17170 * normal/command.c: Likewise.
17171 * normal/completion.c: Likewise.
17172 * normal/execute.c: Likewise.
17173 * normal/function.c: Likewise.
17174 * normal/lexer.c: Likewise.
17175 * normal/main.c: Likewise.
17176 * normal/menu.c: Likewise.
17177 * normal/menu_entry.c: Likewise.
17178 * normal/misc.c: Likewise.
17179 * normal/parser.y: Likewise.
17180 * normal/script.c: Likewise.
17181 * normal/i386/setjmp.S: Likewise.
17182 * normal/powerpc/setjmp.S: Likewise.
17183 * normal/sparc64/setjmp.S: Likewise.
17184 * partmap/acorn.c: Likewise.
17185 * partmap/amiga.c: Likewise.
17186 * partmap/apple.c: Likewise.
17187 * partmap/gpt.c: Likewise.
17188 * partmap/pc.c: Likewise.
17189 * partmap/sun.c: Likewise.
17190 * term/gfxterm.c: Likewise.
17191 * term/terminfo.c: Likewise.
17192 * term/efi/console.c: Likewise.
17193 * term/i386/pc/console.c: Likewise.
17194 * term/i386/pc/serial.c: Likewise.
17195 * term/i386/pc/vesafb.c: Likewise.
17196 * term/i386/pc/vga.c: Likewise.
17197 * term/ieee1275/ofconsole.c: Likewise.
17198 * util/biosdisk.c: Likewise.
17199 * util/console.c: Likewise.
17200 * util/genmoddep.c: Likewise.
17201 * util/getroot.c: Likewise.
17202 * util/grub-emu.c: Likewise.
17203 * util/grub-mkdevicemap.c: Likewise.
17204 * util/grub-probe.c: Likewise.
17205 * util/lvm.c: Likewise.
17206 * util/misc.c: Likewise.
17207 * util/raid.c: Likewise.
17208 * util/resolve.c: Likewise.
17209 * util/update-grub.in: Likewise.
17210 * util/update-grub_lib.in: Likewise.
17211 * util/grub.d/00_header.in: Likewise.
17212 * util/grub.d/10_hurd.in: Likewise.
17213 * util/grub.d/10_linux.in: Likewise.
17214 * util/i386/efi/grub-install.in: Likewise.
17215 * util/i386/efi/grub-mkimage.c: Likewise.
17216 * util/i386/pc/grub-install.in: Likewise.
17217 * util/i386/pc/grub-mkimage.c: Likewise.
17218 * util/i386/pc/grub-mkrescue.in: Likewise.
17219 * util/i386/pc/grub-setup.c: Likewise.
17220 * util/i386/pc/misc.c: Likewise.
17221 * util/powerpc/ieee1275/grub-install.in: Likewise.
17222 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
17223 * util/powerpc/ieee1275/misc.c: Likewise.
17224 * video/bitmap.c: Likewise.
17225 * video/video.c: Likewise.
17226 * video/i386/pc/vbe.c: Likewise.
17227 * video/i386/pc/vbeblit.c: Likewise.
17228 * video/i386/pc/vbefill.c: Likewise.
17229 * video/i386/pc/vbeutil.c: Likewise.
17230 * video/readers/tga.c: Likewise.
17231
3572d015 172322007-07-02 Robert Millan <rmh@aybabtu.com>
17233
17234 * conf/i386-efi.rmk: Replace obsolete reference to
17235 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
17236 with util/getroot.c.
17237 * conf/powerpc-ieee1275.rmk: Likewise.
17238 * conf/sparc64-ieee1275.rmk: Likewise.
17239
17240 * util/grub-emu.c (main): Fix unchecked pointer handling.
17241
2c2a681b 172422007-07-02 Robert Millan <rmh@aybabtu.com>
17243
17244 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
17245 invocation to fail, in order to support partition-less media.
17246
17247 * util/i386/pc/grub-install.in: Likewise.
17248
17249 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
17250 which fs or partmap modules are needed (akin to its sister scripts).
17251
17252 Also use grub-probe to get rid of unportable /proc/mounts check.
17253
17254 Print the same informational message that the other scripts do, before
fe6b695a 17255 exiting.
2c2a681b 17256
6193defe 172572007-06-23 Robert Millan <rmh@aybabtu.com>
17258
fe6b695a 17259 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 17260 a font file can be found and, if so, echo the GRUB path to it.
17261
17262 * util/update-grub.in: Handle multiple terminals depending on user
17263 input, platform availability and font file presence. Propagate
17264 variables of our findings to /etc/grub.d/ children.
17265
17266 * util/grub.d/00_header.in: Handle multiple terminals, based on
17267 environment setup by update-grub.
17268
eface1dc 172692007-06-23 Robert Millan <rmh@aybabtu.com>
17270
ba50d28f 17271 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 17272
bf697e28 172732007-06-21 Robert Millan <rmh@aybabtu.com>
17274
17275 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
17276 indicate end of data section in kernel image.
17277 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
17278 GRUB_KERNEL_MACHINE_DATA_END.
17279
17280 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
17281 space for it.
17282 * kern/i386/efi/startup.S: Likewise.
17283
17284 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
17285 during image generation. Implement --prefix option to override this
17286 patch.
17287 * util/i386/efi/grub-mkimage.c: Likewise.
17288
17289 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
17290 code to make path relative to its root into a separate function.
17291
17292 * util/i386/pc/grub-install.in: Use newly provided
17293 make_system_path_relative_to_its_root() to convert ${grubdir}, then
17294 pass the result to grub-install --prefix.
17295
baa574b4 172962007-06-13 Robert Millan <rmh@aybabtu.com>
17297
17298 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
17299 DEFAULT_DEVICE_MAP.
17300 * util/grub-emu.c: Use above definitions from misc.h instead of
17301 defining them.
17302 * util/grub-mkdevicemap.c: Likewise.
17303 * util/i386/pc/grub-setup.c: Likewise.
17304 * util/grub-probe.c: Likewise.
17305 (probe): Abort with grub_util_error() when either
17306 grub_guess_root_device or grub_util_get_grub_dev fails.
17307
0215dcbf 173082007-06-12 Robert Millan <rmh@aybabtu.com>
17309
17310 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
17311 "pager" assignment.
17312 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
17313 "pcdata".
17314 * util/grub-probe.c (probe): Likewise for "drive_name".
17315
8af2ab7b 173162007-06-11 Robert Millan <rmh@aybabtu.com>
17317
17318 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
17319 not just the cdrom one.
17320
59d31694 173212007-06-11 Robert Millan <rmh@aybabtu.com>
17322
17323 * util/i386/pc/grub-mkrescue.in: Add "set -e".
17324 Add --pkglibdir=DIR option to override pkglibdir.
17325 Mention --image-type=TYPE in help output.
17326 Fix --grub-mkimage (it was a no-op).
fe6b695a 17327 Abort gracefully when no parameter is given.
59d31694 17328
7ee367e4 173292007-06-11 Robert Millan <rmh@aybabtu.com>
17330
17331 * util/i386/pc/grub-mkrescue.in: New file.
17332 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
17333 * Makefile.in: Handle bin_SCRIPTS.
17334
29b0ed46 173352007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
17336
17337 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
17338 list of video modes.
17339
c0f90770 173402007-06-06 Robert Millan <rmh@aybabtu.com>
17341
17342 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
17343 file doesn't exist, or if it is in a filesystem grub can't read.
17344
17345 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
17346 not abort if GRUB_DRIVE could not be defined. Rearrange generated
17347 header comment to fit in 80 columns when the variables are resolved.
17348
17349 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
17350 could be identified by update-grub. Remove redundant check for
fe6b695a 17351 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 17352 handles that).
17353
fb36dc26 173542007-06-04 Robert Millan <rmh@aybabtu.com>
17355
17356 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
17357
17358 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
17359
17360 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
17361
0c68c93e 173622007-06-04 Robert Millan <rmh@aybabtu.com>
17363
17364 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
17365
17366 * include/grub/partition.h: Declare grub_apple_partition_map_init and
17367 grub_apple_partition_map_fini.
17368
17369 * util/biosdisk.c
17370 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
17371 to access >2 TiB disks).
17372
17373 Print disk->total_sectors with %llu instead of %lu, since this
17374 variable is always 64-bit (prevents wrong disk size from being displayed
17375 on either >2 TiB disk or big-endian CPU).
17376
17377 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
17378 into a generic case that supports all (sane) partition maps.
17379
17380 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
17381 breaks big-endian.
17382
17383 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
17384 and grub_apple_partition_map_fini() after that.
17385
0f23eb74 173862007-06-01 Robert Millan <rmh@aybabtu.com>
17387
17388 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
17389
17390 * util/grub.d/00_header.in: Only enable gfxterm when
17391 convert_system_path_to_grub_path() succeeds.
17392
42c71976 173932007-05-20 Robert Millan <rmh@aybabtu.com>
17394
17395 * util/update-grub_lib.in: New file.
17396 * DISTLIST: Add update-grub_lib.in.
17397 * conf/common.rmk: Generate update-grub_lib and install it in
17398 $(lib_DATA).
17399 * Makefile.in: Add install routine for $(lib_DATA).
17400
17401 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
17402 function provided by update-grub_lib to support arbitrary paths of
17403 unifont.pff.
17404 * util/update-grub.in: Use convert_system_path_to_grub_path() to
17405 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
17406
5beb2291 174072007-05-19 Robert Millan <rmh@aybabtu.com>
17408
17409 * commands/i386/cpuid.c: New module.
17410 * DISTLIST: Add it.
17411 * conf/i386-efi.rmk: Enable cpuid.mod.
17412 * conf/i386-pc.rmk: Likewise.
17413
7262eca1 174142007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17415
17416 * kern/disk.c (grub_disk_read): Check return value of
17417 grub_realloc().
17418
260ba823 174192007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
17420
17421 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
17422 arrays.
17423 * disk/raid.c (grub_raid_open): Likewise.
17424
1ecb6cf2 174252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17426
17427 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
17428 stack instead of on the heap.
17429
17430 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
17431 before doing a read on it.
17432
17433 * configure.ac: Only use -fno-stack-protector for the target
17434 environment.
f19dbdb7 17435
21c8cbb1 174362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
17437
17438 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
17439 __attribute_ ((unused)) to mode_type argument.
17440
17441 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 17442
21c8cbb1 17443 * kern/misc.c (memcmp): Fix prototype.
17444
17445 * include/grub/partition.h [GRUB_UTIL]
17446 (grub_gpt_partition_map_init): Add prototype.
17447 (grub_gpt_partition_map_fini): Likewise.
17448
17449 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
17450 at the right place.
17451
17452 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
17453 (grub_fat_read_data): Likewise.
17454 (grub_fat_find_dir): Likewise.
17455
17456 * font/manager.c (find_glyph): Make table a const.
17457 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 17458
849d55d3 174592007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
17460
17461 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
17462 code, first search for device in /dev/mapper, then in /dev.
17463 (grub_util_get_grub_dev): New function.
17464 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
17465 prototype.
17466 * util/grub-probe.c (probe): Remove check for RAID, call
17467 grub_util_get_grub_dev() instead of
17468 grub_util_biosdisk_get_grub_dev().
17469 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
17470 grub_util_biosdisk_get_grub_dev().
17471 * util/i386/pc/grub-setup.c (main): Likewise.
17472
8fff7c2f 174732007-05-16 Robert Millan <rmh@aybabtu.com>
17474
17475 * DISTLIST: Update for the latest changes.
17476 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
17477 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
17478 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
17479 grub/util/biosdisk.h.
17480 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
17481 grub/util/biosdisk.h.
17482
48e12b52 174832007-05-16 Robert Millan <rmh@aybabtu.com>
17484
17485 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
17486
46b9d128 174872007-05-16 Robert Millan <rmh@aybabtu.com>
17488
17489 * util/i386/efi/grub-install.in: New.
17490 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
17491 newly added grub-install.
17492 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
17493 include.
17494 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
17495 grub/util/biosdisk.h.
17496 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
17497 grub/util/biosdisk.h.
17498
2d1a40a9 174992007-05-16 Robert Millan <rmh@aybabtu.com>
17500
17501 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
17502 * include/grub/util/biosdisk.h: ... here.
17503 * util/i386/pc/biosdisk.c: Moved to ...
17504 * util/biosdisk.c: ... here.
17505 * util/i386/pc/getroot.c: Moved to ...
17506 * util/getroot.c: ... here.
17507 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
17508 * util/grub-mkdevicemap.c: ... here.
17509 * util/i386/pc/grub-probe.c: Moved to ...
17510 * util/grub-probe.c: ... here.
17511
9e26e3bc 175122007-05-15 Robert Millan <rmh@aybabtu.com>
17513
17514 * util/update-grub.in: Remove duplicated line in grub.cfg header
17515 message.
17516
57f96397 175172007-05-13 Robert Millan <rmh@aybabtu.com>
17518
17519 * util/update-grub.in: Fix a few assumptions about the devices holding
17520 /, /boot and /boot/grub being the same.
17521 * util/grub.d/00_header.in: Likewise.
17522 * util/grub.d/10_hurd.in: Likewise.
17523 * util/grub.d/10_linux.in: Likewise.
17524
17525 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
17526 patterns. Use that to define the `.old' suffix as older than `'.
17527
17528 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
17529
17530 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
17531 the grub.cfg header message.
17532
2e610d62 175332007-05-11 Robert Millan <rmh@aybabtu.com>
17534
17535 * util/update-grub.in: Create device.map if it doesn't already exist,
17536 before attempting to run grub-probe.
17537 Check for grub-probe and grub-mkdevicemap with the same code
17538 grub-install is using.
17539 Remove test mode.
17540
3f6a10ef 175412007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
17542
17543 * Makefile.in: Add the datarootdir autoconf variable.
17544
02e7b75e 175452007-05-09 Robert Millan <rmh@aybabtu.com>
17546
17547 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 17548 fail gracefully if dev->disk->partition == NULL.
02e7b75e 17549
75f396cc 175502007-05-07 Robert Millan <rmh@aybabtu.com>
17551
17552 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
17553 determine partition map module.
17554 * util/i386/pc/grub-install.in: Use this feature to decide which
17555 partition module to load, instead of hardcoding pc and gpt.
17556
da65cb36 175572007-05-07 Robert Millan <rmh@aybabtu.com>
17558
17559 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
17560 source directory differs from build directory.
17561
b57d6a91 175622007-05-05 Robert Millan <rmh@aybabtu.com>
17563
17564 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
17565 initialisation.
17566
509d00f1 175672007-05-05 Robert Millan <rmh@aybabtu.com>
17568
17569 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
17570
c48f23ef 175712007-05-05 Robert Millan <rmh@aybabtu.com>
17572
17573 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
17574 command-line arguments via ${GRUB_CMDLINE_LINUX}.
17575
20b97658 175762007-05-05 Robert Millan <rmh@aybabtu.com>
17577
17578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
17579 (grub_probe_SOURCES): Likewise.
17580 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
17581 GPT and initialize dos_part and bsd_part accordingly.
17582 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
17583 install_bsd_part.
17584 (main): Activate gpt module for use during partition identification,
17585 and deactivate it afterwards.
17586 * util/i386/pc/grub-install.in: Add gpt module to core.img.
17587 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
17588 partition identification, and deactivate it afterwards.
17589
99123174 175902007-05-05 Robert Millan <rmh@aybabtu.com>
17591
17592 * term/i386/pc/console.c (grub_console_fini): Call
17593 grub_term_set_current() before grub_term_unregister().
17594
ebd97f6e 175952007-05-04 Robert Millan <rmh@aybabtu.com>
17596
17597 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
17598 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
17599 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
17600 and update-grub_DATA.
17601 * conf/common.rmk: Build and install update-grub components.
17602 * conf/common.mk: Regenerate.
17603 * util/update-grub.in: New. Core of update-grub.
17604 * util/grub.d/00_header.in: New. Generates grub.cfg header.
17605 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
17606 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
17607 * util/grub.d/README: New. Document grub.d directory layout.
17608
b06a264d 176092007-05-01 Robert Millan <rmh@aybabtu.com>
17610
17611 * util/grub-emu.c: Move initialization functions
17612 grub_util_biosdisk_init() and grub_init_all() before
17613 grub_util_biosdisk_get_grub_dev(), which relies on them.
17614
41f0050e 176152007-04-19 Robert Millan <rmh@aybabtu.com>
17616
17617 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
17618 it is used later.
17619
04582bb3 176202007-04-18 Jerone Young <jerone@gmail.com>
17621
f19dbdb7 17622 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 17623 stanza.
17624
08db4632 176252007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 17626
08db4632 17627 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
17628 continue on and look for device node with real device name.
17629
801b76be 176302007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 17631
fe6b695a 17632 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 17633 ability.
17634 * Makefile.in: Add autoconf package transformation code.
17635 * util/i386/pc/grub-install.in: Likewise.
17636 * util/powerpc/ieee1275/grub-install.in: Likewise.
17637
6795c4e1 176382007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
17639
17640 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
17641 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
17642 (EXT2_REVISION): Likewise.
17643 (EXT2_INODE_SIZE): Likewise.
17644 (struct grub_ext2_block_group): Added a missing member
17645 "used_dirs".
17646 (grub_ext2_read_inode): Divide by the inode size in a superblock
17647 instead of 128 to obtain INODES_PER_BLOCK.
17648 Use the macro EXT2_INODE_SIZE instead of directly using
17649 SBLOCK->INODE_SIZE.
17650
d70af616 176512007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
17652
17653 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
17654 superblock instead of the structure size to compute an
17655 offset. This fixes the problem that GRUB could not read a
17656 filesystem when inode size is different from 128-byte.
17657
3b801603 176582007-03-05 Marco Gerards <marco@gnu.org>
17659
17660 * normal/main.c (read_config_file): When "menu" is not set, create
17661 an initial context.
17662
4785bfe4 176632007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17664
17665 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
17666 (HEAP_LIMIT): New macro.
17667 (grub_claim_heap): Claim memory up to `heaplimit'.
17668
a0cbb023 176692007-02-21 Hollis Blanchard <hollis@penguinppc.org>
17670
17671 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
17672 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
17673 (_start): Likewise.
17674 (grub_arch_modules_addr): Return address after `_end'.
17675 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
17676 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
17677 (add_segments): Calculate `_end' from phdr size and location.
17678 (ALIGN_UP): Moved to ...
17679 * include/grub/misc.h: here.
17680 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17681 New macro.
17682 (GRUB_IEEE1275_MODULE_BASE): Removed.
17683
fd7d8eba 176842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17685
17686 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
17687 loop boundary.
17688
9b09e6fc 176892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17690
17691 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
17692 All users updated.
17693 (grub_elf64_load_hook_t): Likewise.
17694 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
17695 debug output.
17696
3ce27299 176972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
17698
17699 * kern/mm.c: Update copyright.
17700 (grub_mm_debug): Correct syntax error.
17701 (grub_mm_dump_free): New function.
17702 (grub_debug_free): Call `grub_free'.
17703 * include/grub/mm.h: Update copyright.
17704 (grub_mm_dump_free): Add declaration.
17705
077d5fee 177062007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17707
17708 * include/grub/ieee1275/ieee1275.h: Update copyright.
17709 * kern/powerpc/ieee1275/init.c: Likewise.
17710 * kern/powerpc/ieee1275/openfw.c: Likewise.
17711
17712 * loader/powerpc/ieee1275/linux.c: Likewise.
17713 * include/grub/elfload.h: Likewise.
17714 * kern/elf.c: Likewise.
17715 (grub_elf32_load): Pass `base' and `size' parameters. Update all
17716 callers.
17717 (grub_elf64_load): Likewise.
17718 (grub_elf32_load_segment): Move to a nested function.
17719 (grub_elf64_load_segment): Likewise.
17720
dc946850 177212007-02-12 Hollis Blanchard <hollis@penguinppc.org>
17722
17723 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
17724 prototype.
17725 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
17726 (grub_heap_len): Likewise.
17727 (HEAP_SIZE): New macro.
17728 (grub_claim_heap): New function.
17729 (grub_machine_init): Don't claim heap directly. Call
17730 `grub_claim_heap'.
17731 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
17732 (grub_available_iterate): New function.
17733
baa2a121 177342007-02-03 Thomas Schwinge <tschwinge@gnu.org>
17735
17736 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
17737 * configure.ac: Use it for testing the HOST and TARGET compilers.
17738
4fe9862e 177392006-12-13 Thomas Schwinge <tschwinge@gnu.org>
17740
17741 * Makefile.in (enable_grub_emu): New variable.
17742 * configure.ac (--enable-grub-emu): New option.
17743 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
17744 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
17745 * conf/i386-pc.rmk: Likewise.
17746 * conf/powerpc-ieee1275.rmk: Likewise.
17747 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
17748
a8aa5762 177492006-12-12 Marco Gerards <marco@gnu.org>
17750
17751 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
17752
17753 * kern/env.c (grub_env_unset): Don't free the member `value' when
17754 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
17755 pointer.
17756
17757 * normal/main.c (current_menu): Removed.
17758 (free_menu): Unset the `menu' environment variable.
17759 (grub_normal_menu_addentry): Make use of the environment variable
17760 `menu', instead of using the global `current_menu'. Allocate
17761 memory for the sourcecode of this entry.
17762 (read_config_file): New argument `nested', changed all callers.
17763 Only in the case of a new context, initialize a new menu. Set the
17764 `menu' environment variable.
17765 (grub_normal_execute): Don't set and unset the environment
17766 variable `menu' here anymore. Only free the menu when leaving the
17767 context.
17768
17769 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
17770 leak.
17771
957b3a3e 177722006-12-11 Marco Gerards <marco@gnu.org>
17773
17774 * normal/menu_entry.c (run): Fix off by one bug so the last line
17775 is executed. Move the loader check to outside the loop.
17776
ef875714 177772006-12-08 Hollis Blanchard <hollis@penguinppc.org>
17778
17779 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
17780
4e739985 177812006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
17782
17783 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
17784 the number of sectors. Reported by Andrey Shuvikov
17785 <mr_hyro@yahoo.com>.
f19dbdb7 17786
790707f2 177872006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
17788
17789 * kern/disk.c (grub_disk_read): When there is a read error, always
17790 try to read only the necessary data.
f19dbdb7 17791
790707f2 17792 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
17793 disk/raid.c.
17794 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
17795 prototype.
17796 [GRUB_UTIL] (grub_raid_fini): Likewise.
17797 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 17798 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 17799 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
17800 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
17801 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
17802 and grub_raid_fini().
f19dbdb7 17803
03e58196 178042006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
17805
17806 * include/grub/types.h (__unused): Rename to UNUSED.
17807 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
17808 (grub_elf64_size): Likewise.
f19dbdb7 17809
ae4f23bf 178102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17811
17812 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
17813 grub_error_push and grub_error_pop in the error-handling path.
17814 (grub_elf32_load_segment): Only call grub_file_read with non-zero
17815 length.
17816
2166cc83 178172006-11-03 Hollis Blanchard <hollis@penguinppc.org>
17818
17819 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
17820 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17822 (kernel_elf_SOURCES): Likewise.
17823 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
17824 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
17825 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17826 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17827 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
17828 (elf_mod_SOURCES): New variable.
17829 (elf_mod_CFLAGS): Likewise.
17830 (elf_mod_LDFLAGS): Likewise.
17831 * include/grub/types.h (__unused): New macro.
17832 * include/grub/elfload.h: New file.
17833 * kern/elf.c: Likewise.
17834 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
17835 (ELF32_LOADMASK): New macro.
17836 (ELF64_LOADMASK): Likewise.
17837 (vmlinux): Removed.
17838 (grub_linux_load32): New function.
17839 (grub_linux_load64): Likewise.
17840 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
17841 Use grub_elf_t instead of grub_file_t.
17842
a09d5aa5 178432006-11-02 Hollis Blanchard <hollis@penguinppc.org>
17844
17845 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
17846 `catch_result' to struct set_color_args.
17847
d976fc51 178482006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17849
17850 * normal/menu.c: Include grub/script.h.
17851 * normal/menu_entry.c: Likewise.
17852 * include/grub/normal.h: Do not include grub/script.h.
17853
67507549 178542006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17855
17856 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
17857
69203a99 178582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17859
17860 * kern/disk.c (grub_disk_open): Print debug messages when opening a
17861 disk.
17862 (grub_disk_close): Print debug messages when closing a disk.
17863 (grub_disk_read): Print debug messages when disk read fails.
17864 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
17865 filesystem type.
17866 * kern/partition.c: Include misc.h.
17867 (grub_partition_iterate): Print debug messages when detecting
17868 partition type.
17869
e2b8278c 178702006-10-27 Hollis Blanchard <hollis@penguinppc.org>
17871
17872 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
17873 is negative.
17874 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
17875
97b2f2ff 178762006-10-26 Hollis Blanchard <hollis@penguinppc.org>
17877
17878 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17879 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
17880
6555d655 178812006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
17882
17883 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
17884 instead of sizeof(lv). Patch by Michael Guntsche.
17885
4d42b77f 178862006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
17887
17888 * disk/lvm.c: Rename VGS to VG_LIST.
17889 (grub_lvm_iterate): Change VGS->LV to VG-LV.
17890 (grub_lvm_open): Likewise.
17891 Thanks to Michael Guntsche for finding this bug.
17892
5d74d927 178932006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17894
17895 * configure.ac (AC_INIT): Bumped to 1.95.
17896
a1bb27e4 178972006-10-14 Robert Millan <rmh@aybabtu.com>
17898
17899 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
17900 with "/dev/.static/dev/md".
17901
e0994b8b 179022006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17903
17904 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
17905 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
17906 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
17907 DRIVE_NAME are always freed.
17908
17909 * util/i386/pc/biosdisk.c (make_device_name): Add one into
17910 DOS_PART, as a DOS partition is counted from one instead of zero
17911 now. Reported by Robert Millan.
17912
ddd5cee9 179132006-10-14 Robert Millan <rmh@aybabtu.com>
17914
17915 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
17916 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
17917 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
17918 string returned by grub_guess_root_device.
17919 * util/i386/pc/grub-setup.c: Likewise.
17920 * util/i386/pc/grub-probefs.c: Likewise.
17921
17922 * util/i386/pc/grub-probefs.c: Rename to ...
17923 * util/i386/pc/grub-probe.c: ... this.
17924 * DISTLIST: Remove grub-probefs, add grub-probe.
17925 * conf/i386-efi.rmk: Likewise.
17926 * conf/i386-pc.rmk: Likewise.
17927 * util/i386/pc/grub-install.in: Likewise.
17928
17929 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
17930 choose which information we want to print.
17931
2b002173 179322006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
17933
17934 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
17935 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
17936 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
17937 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
17938 video/readers/tga.c and video/i386/pc/vbeutil.c.
17939
179402006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
17941
17942 Added support for RAID and LVM.
f19dbdb7 17943
2b002173 17944 * disk/lvm.c: New file.
17945 * disk/raid.c: Likewise.
17946 * include/grub/lvm.h: Likewise.
f19dbdb7 17947 * include/grub/raid.h: Likewise.
2b002173 17948 * include/grub/util/lvm.h: Likewise.
17949 * include/grub/util/raid.h: Likewise.
17950 * util/lvm.c: Likewise.
17951 * util/raid.c: Likewise.
17952
17953 * include/grub/disk.h (grub_disk_dev_id): Add
17954 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
17955 (grub_disk_get_size): New prototype.
17956 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
17957 returns a partition.
17958 (grub_disk_get_size): New function.
f19dbdb7 17959
2b002173 17960 * kern/i386/pc/init.c (make_install_device): Copy the prefix
17961 verbatim if grub_install_dos_part is -2.
17962
17963 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
17964 and LVM devices.
17965
17966 * util/i386/pc/grub-setup.c (setup): New argument
17967 MUST_EMBED. Force embedding of GRUB when the argument is
17968 true. Close FILE before returning.
17969 (main): Add support for RAID and LVM.
f19dbdb7 17970
2b002173 17971 * conf/common.rmk: Add RAID and LVM modules.
17972 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
17973 util/lvm.c.
17974 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
17975
17976 * kern/misc.c (grub_strstr): New function.
17977 * include/grub/misc.h (grub_strstr): New prototype.
17978
050548d0 179792006-10-10 Tristan Gingold <tristan.gingold@bull.net>
17980
17981 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
17982
da849d2d 179832006-10-05 Tristan Gingold <tristan.gingold@bull.net>
17984
17985 * kern/misc.c (grub_strtoull): Guess the base only if not
17986 specified.
17987
97b2f2ff 179882006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 17989
17990 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
17991 PowerMac support.
17992
97b2f2ff 179932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 17994
17995 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
17996
17997 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
17998 Remove `flags' argument. All callers changed.
17999 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18000 (IEEE1275_IHANDLE_INVALID): New variable.
18001 (IEEE1275_CELL_INVALID): New variable.
18002 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18003 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18004 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18005 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18006 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18007 codes from Open Firmware. All callers updated.
18008 (grub_ieee1275_next_property): Directly return Open Firmware return
18009 code.
18010 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18011 Standardize error checking from `grub_ieee1275_get_property'.
18012 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18013 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18014
97b2f2ff 180152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18016
18017 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18018 `instance_to_package_args' to `instance_to_path_args'.
18019
18020 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18021 `grub_ieee1275_chosen'.
18022
18023 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18024 `grub_ieee1275_interpret'.
18025
97b2f2ff 180262006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18027
18028 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18029
97b2f2ff 180302006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18031
18032 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18033 (__cmpdi): Likewise.
18034
18035 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
18036 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
18037 `grub_ssize_t'.
18038
02bb8acc 18039 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 18040
18041 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
18042 to type `grub_ssize_t'.
18043 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
18044
7f9a8531 180452006-09-22 Marco Gerards <marco@gnu.org>
18046
18047 * normal/script.c (grub_script_create_cmdmenu): Skip leading
18048 newlines.
18049
b5ef1102 180502006-09-22 Marco Gerards <marco@gnu.org>
18051
18052 * commands/echo.c: New file.
18053
18054 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
18055
18056 * conf/common.rmk (echo_mod_SOURCES): New variable.
18057 (echo_mod_CFLAGS): Likewise.
18058 (echo_mod_LDFLAGS): Likewise.
18059
2cff3677 180602006-09-22 Marco Gerards <marco@gnu.org>
18061
18062 * normal/main.c (get_line): Malloc memory instead of using
18063 preallocated memory. Removed the arguments `cmdline' and
18064 `max_len'. Updated all callers.
18065
6ba4688b 180662006-09-22 Marco Gerards <marco@gnu.org>
18067
18068 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
18069 (normal_mod_DEPENDENCIES): Likewise.
18070
18071 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
18072 (normal_mod_DEPENDENCIES): Likewise.
18073
18074 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
18075
e02ac02c 180762006-09-22 Johan Rydberg <jrydberg@gnu.org>
18077
18078 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
18079 programs.
18080 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
18081 (normal_mod_DEPENDENCIES): Likewise.
18082 * conf/i386-pc.mk: Regenerate.
18083 * conf/i386-efi.mk: Likewise
18084 * conf/common.mk: Likewise.
18085 * conf/powerpc-ieee1275.mk: Likewise.
18086 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18087
8d252e44 180882006-09-22 Robert Millan <rmh@aybabtu.com>
18089
18090 Sync with i386 version.
18091 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
18092 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
18093
209bf7ac 180942006-09-21 Robert Millan <rmh@aybabtu.com>
18095
18096 Import from GRUB Legacy (lib/device.c):
18097 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
18098 (init_device_map) [__linux__]: Add support for I2O devices.
18099
6b146090 181002006-09-14 Marco Gerards <marco@gnu.org>
18101
18102 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
18103 `-melf_i386'.
18104
e38600a8 181052006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 18106
18107 * util/i386/pc/grub-install.in: Skip menu.lst when removing
18108 /boot/grub/*.lst.
78fa1790 18109
2952da5d 18110 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 18111
2952da5d 18112 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
18113 before adding it to device.map.
18114
01b82a64 181152006-08-15 Johan Rydberg <jrydberg@gnu.org>
18116
fe6b695a 18117 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 18118 compiles a file; using the -MD option.
18119 * conf/common.mk: Regenerate.
18120 * conf/i386-pc.mk: Likewise.
18121 * conf/i386-efi.mk: Likewise.
18122 * conf/powerpc-ieee1275.mk: Likewise.
18123 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 18124
1064790d 181252006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
18126
18127 Move the prototypes of grub_setjmp and grub_longjmp to
18128 cpu/setjmp.h, so that each architecture may specify different
18129 attributes.
f19dbdb7 18130
1064790d 18131 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
18132 (grub_longjmp): Likewise.
18133 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
18134 (grub_longjmp): Likewise.
18135 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
18136 (grub_longjmp): Likewise.
18137
18138 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
18139 [!GRUB_UTIL] (grub_longjmp): Removed.
18140
29dda3ed 181412006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
18142
18143 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
18144 "color!" method does not return any value.
18145
ad2a06ed 181462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18147
18148 * include/grub/bitmap.h: New file.
18149
18150 * include/grub/i386/pc/vbeutil.h: Likewise.
18151
18152 * video/bitmap.c: Likewise.
18153
18154 * video/readers/tga.c: Likewise.
18155
18156 * video/i386/pc/vbeutil.c: Likewise.
18157
18158 * commands/videotest.c: Code cleanup and updated to reflect to new
18159 video API.
18160
18161 * term/gfxterm.c: Likewise.
18162
18163 * video/video.c: Likewise.
18164
18165 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
18166 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
18167 (bitmap_mod_SOURCES): New entry.
18168 (bitmap_mod_CFLAGS): Likewise.
18169 (bitmap_mod_LDFLAGS): Likewise.
18170 (tga_mod_SOURCES): Likewise.
18171 (tga_mod_CFLAGS): Likewise.
18172 (tga_mod_LDFLAGS): Likewise.
18173
18174 * include/grub/video.h (grub_video_blit_operators): New enum type.
18175 (grub_video_render_target): Changed as forward declaration and moved
18176 actual definition to be video driver specific.
18177 (grub_video_adapter.blit_bitmap): Added blitting operator.
18178 (grub_video_adapter.blit_render_target): Likewise.
18179 (grub_video_blit_bitmap): Likewise.
18180 (grub_video_blit_render_target): Likewise.
18181
18182 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
18183 driver specific render target definition.
18184 (grub_video_vbe_map_rgba): Added driver internal helper.
18185 (grub_video_vbe_unmap_color): Updated to use
18186 grub_video_i386_vbeblit_info.
18187 (grub_video_vbe_get_video_ptr): Likewise.
18188
18189 * include/grub/i386/pc/vbeblit.h
18190 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
18191 grub_video_i386_vbeblit_info.
18192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18193 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18194 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18195 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18196 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18197 (grub_video_i386_vbeblit_index_index): Likewise.
18198 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
18199 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18200 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18201 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
18202 operator.
18203 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
18204 operator.
18205
18206 * video/i386/pc/vbeblit.c: Updated to reflect changes on
18207 include/grub/i386/pc/vbeblit.h.
18208
18209 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
18210 Updated to use grub_video_i386_vbeblit_info.
18211 (grub_video_i386_vbefill_R8G8B8): Likewise.
18212 (grub_video_i386_vbefill_index): Likewise.
18213 (grub_video_i386_vbefill): Added generic filler.
18214
18215 * video/i386/pc/vbefill.c: Updated to reflect changes on
18216 include/grub/i386/pc/vbefill.h.
18217
18218 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
18219 grub_video_i386_vbeblit_info.
18220 (grub_video_vbe_unmap_color): Likewise.
18221 (grub_video_vbe_blit_glyph): Likewise.
18222 (grub_video_vbe_scroll): Likewise.
18223 (grub_video_vbe_draw_pixel): Removed function.
18224 (grub_video_vbe_get_pixel): Likewise.
18225 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
18226 updated code to use it.
18227 (common_blitter): Added common blitter for render target and bitmap.
18228 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
18229 (grub_video_vbe_blit_render_target): Likewise.
18230
bc8c036d 182312006-07-30 Johan Rydberg <jrydberg@gnu.org>
18232
18233 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
18234 is in text mode if there is no console control protocol instance
18235 available.
18236
684a8eff 182372006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18238
18239 * include/grub/video.h: Code cleanup.
18240
18241 * include/grub/i386/pc/vbe.h: Likewise.
18242
18243 * video/i386/pc/vbe.c: Likewise.
18244
18245 * video/i386/pc/vbeblit.c: Likewise.
18246
18247 * video/i386/pc/vbefill.c: Likewise.
18248
18249 * video/video.c: Likewise. Also added more comments.
18250
5915059b 182512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
18252
18253 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
18254 (struct grub_biosdisk_dap): Likewise.
18255
18256 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
18257 linkage settings for all functions.
18258
90ce5d56 182592006-07-12 Marco Gerards <marco@gnu.org>
18260
18261 * configure.ac (--enable-mm-debug): Fix typo.
18262
18263 * genkernsyms.sh.in: Use proper quoting for `CC'.
18264
43e7f879 182652006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
18266
18267 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
18268 (normal_mod_ASFLAGS): Remove "-m32".
18269
4889bdec 182702006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
18271
18272 * util/misc.c: Include config.h.
18273 [!HAVE_MEMALIGN]: Do not include malloc.h.
18274 (grub_memalign): Use posix_memalign, if present. Then, use
18275 memalign, if present. Otherwise, emit an error.
18276
18277 * util/grub-emu.c: Do not include malloc.h.
18278
18279 * include/grub/util/misc.h: Include unistd.h. This is required for
18280 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
18281 D. Eades III <hde@foobar-qux.org>.
18282
18283 * configure.ac (AC_GNU_SOURCE): Added.
18284 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
18285 type.
18286
fd39d4da 182872006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
18288
18289 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
18290 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
18291
b786f3b5 182922006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
18293
18294 * include/grub/types.h (grub_host_addr_t): Rename to
18295 grub_target_addr_t.
18296 (grub_host_off_t): Rename to grub_target_off_t.
18297 (grub_host_size_t): Rename to grub_target_size_t.
18298 (grub_host_ssize_t): Rename to grub_target_ssize_t.
18299 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
18300
18301 * include/grub/kernel.h (struct grub_module_header): Change type
18302 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
18303 (grub_module_info): Likewise.
f19dbdb7 18304
051988bb 183052006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18306
18307 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
18308 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
18309 Velazquez <jesus.velazquez@gmail.com>.
18310
deae281b 183112006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
18312
18313 Count partitions from 1 instead of 0 in the string representation
18314 of partitions. Still use 0-based internally.
f19dbdb7 18315
deae281b 18316 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
18317 (sun_partition_map_iterate): Use grub_partition_t instead of
18318 struct grub_partition *. Cast DESC->START_CYLINDER to
18319 grub_uint64_t after converting the endian.
18320 (sun_partition_map_probe): Subtract 1 for PARTNUM.
18321 (sun_partition_map_get_name): Add 1 to P->INDEX.
18322
18323 * partmap/pc.c (grub_partition_parse): Subtract 1 for
18324 PCDATA->DOS_PART.
18325 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
18326
18327 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
18328 zero instead of one.
18329 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
18330 (gpt_partition_map_get_name): Add 1 into P->INDEX.
18331
18332 * partmap/apple.c (apple_partition_map_iterate): Change the type
18333 of POS to unsigned.
18334 (apple_partition_map_probe): Subtract 1 for PARTNUM.
18335 (apple_partition_map_get_name): Add 1 into P->INDEX.
18336
18337 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
18338 of POS to unsigned.
18339 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
18340 calculate the offset of a partition.
18341 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
18342 (amiga_partition_map_get_name): Add 1 into P->INDEX.
18343
18344 * partmap/acorn.c (acorn_partition_map_find): Change the type of
18345 SECTOR to grub_disk_addr_t.
18346 (acorn_partition_map_iterate): Likewise.
18347 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
18348 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
18349 top.
18350 (acorn_partition_map_get_name): Add 1 into P->INDEX.
18351
18352 * kern/i386/pc/init.c (make_install_device): Add 1 into
18353 GRUB_INSTALL_DOS_PART.
18354
18355 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
18356 conditional.
18357
524a1e6a 183582006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18359
18360 Clean up the code to support 64-bit addressing in disks and
18361 files. This change is not enough for filesystems yet.
f19dbdb7 18362
524a1e6a 18363 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
18364 type of "start" to grub_uint64_t.
18365 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
18366 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
18367 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
18368 convert addresses.
18369
18370 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
18371 to grub_disk_addr_t.
18372
18373 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
18374 string.
18375
18376 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18377
18378 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
18379 to char *.
18380
18381 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
18382
18383 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
18384
18385 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
18386
18387 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
18388 to grub_off_t, to detect an error from grub_file_seek.
18389 (grub_multiboot_load_elf32): Likewise.
18390
18391 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
18392 maximum unsigned long value when an overflow is detected.
18393 (grub_strtoull): New function.
18394 (grub_divmod64): Likewise.
18395 (grub_lltoa): use grub_divmod64.
18396
18397 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
18398 grub_disk_addr_t.
18399 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
18400 the pointer to next character. Use grub_strtoull instead of
18401 grub_strtoul.
18402 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
18403 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
18404 respectively.
18405
fe6b695a 18406 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 18407 return value is signed.
18408 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
18409 test if OFFSET is less than zero, as OFFSET is unsigned now.
18410
18411 * kern/disk.c (struct grub_disk_cache): Change the type of
18412 "sector" to grub_disk_addr_t.
18413 (grub_disk_cache_get_index): Change the type of SECTOR to
18414 grub_disk_addr_t. Calculate the hash with SECTOR casted to
18415 unsigned after shifting.
18416 (grub_disk_cache_invalidate): Change the type of SECTOR to
18417 grub_disk_addr_t.
18418 (grub_disk_cache_unlock): Likewise.
18419 (grub_disk_cache_store): Likewise.
18420 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
18421 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
18422 grub_disk_addr_t and grub_uint64_t, respectively.
18423 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
18424 body, as the value of OFFSET is tweaked by
18425 grub_disk_check_range. Change the types of START_SECTOR, LEN and
18426 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
18427 respectively.
18428 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
18429 body, as the value of OFFSET is tweaked by
18430 grub_disk_check_range. Change the types of LEN and N to
18431 grub_size_t.
18432
18433 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
18434 and "saved_offset" to grub_off_t.
18435 (test_header): Cast BUF to char *.
18436 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
18437 to char *.
18438 (grub_gzio_read): Change the types of OFFSET and SIZE to
18439 grub_off_t and grub_size_t, respectively.
18440
18441 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
18442 Removed.
18443 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
18444 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
18445 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
18446 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
18447 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
18448
18449 * include/grub/types.h (grub_off_t): Unconditionally set to
18450 grub_uint64_t.
18451 (grub_disk_addr_t): Changed to grub_uint64_t.
18452
18453 * include/grub/partition.h (struct grub_partition): Change the
18454 types of "start", "len" and "offset" to grub_disk_addr_t,
18455 grub_uint64_t and grub_disk_addr_t, respectively.
18456 (grub_partition_get_start): Return grub_disk_addr_t.
18457 (grub_partition_get_len): Return grub_uint64_t.
18458
18459 * include/grub/misc.h (grub_strtoull): New prototype.
18460 (grub_divmod64): Likewise.
18461
18462 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
18463 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
18464 grub_off_t, respectively.
18465 All callers and references changed.
18466
18467 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
18468 grub_size_t in "read".
18469 All callers and references changed.
18470
18471 * include/grub/file.h (struct grub_file): Change the types of
18472 "offset" and "size" to grub_off_t and grub_off_t,
18473 respectively. Change the type of SECTOR to grub_disk_addr_t in
18474 "read_hook".
18475 (grub_file_read): Change the type of LEN to grub_size_t.
18476 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
18477 grub_off_t.
18478 (grub_file_size): Return grub_off_t.
18479 (grub_file_tell): Likewise.
18480 All callers and references changed.
18481
18482 * include/grub/disk.h (struct grub_disk_dev): Change the types of
18483 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
18484 "write".
18485 (struct grub_disk): Change the type of "total_sectors" to
18486 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 18487 "read_hook".
524a1e6a 18488 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
18489 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
18490 (grub_disk_write): Likewise.
18491 All callers and references changed.
18492
18493 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
18494 char * for grub_strncmp to silence gcc.
18495 (grub_iso9660_mount): Likewise.
18496 (grub_iso9660_mount): Likewise.
18497 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
18498 return statement.
18499 (grub_iso9660_iterate_dir): Likewise.
18500 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
18501
18502 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
18503 LEN to grub_disk_addr_t and grub_size_t, respectively.
18504
18505 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18506
18507 * fs/jfs.c (grub_jfs_read_file): Likewise.
18508
18509 * fs/minix.c (grub_jfs_read_file): Likewise.
18510
18511 * fs/sfs.c (grub_jfs_read_file): Likewise.
18512
18513 * fs/ufs.c (grub_jfs_read_file): Likewise.
18514
18515 * fs/xfs.c (grub_jfs_read_file): Likewise.
18516
18517 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
18518 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
18519 respectively.
18520
18521 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
18522 BLKNR to -1 instead of returning GRUB_ERRNO.
18523 (grub_ext2_read_file): Change the types of SECTOR and
18524 LEN to grub_disk_addr_t and grub_size_t, respectively.
18525
18526 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
18527 LEN to grub_disk_addr_t and grub_size_t, respectively.
18528
18529 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
18530 grub_file_read.
18531
18532 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
18533 string. Do not cast SECTOR explicitly.
18534
18535 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
18536 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
18537 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
18538 grub_disk_addr_t and grub_size_t, respectively. If the sector is
18539 over 2TB and LBA mode is not supported, raise an error.
18540 (get_safe_sectors): New function.
18541 (grub_biosdisk_read): Use get_safe_sectors.
18542 (grub_biosdisk_write): Likewise.
18543
18544 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
18545 (grub_efidisk_write): Likewise.
18546
18547 * disk/loopback.c (delete_loopback): Cosmetic changes.
18548 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
18549 correctly.
18550 (grub_loopback_open): Likewise.
18551 (grub_loopback_read): Likewise. Also, change the type of POS to
18552 grub_off_t, and fix the usage of grub_memset.
18553
18554 * commands/i386/pc/play.c: Include grub/machine/time.h.
18555
18556 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
18557 print FILE->SIZE.
18558
18559 * commands/configfile.c: Include grub/env.h.
18560
18561 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
18562 GRUB_ERRNO directly instead. Change the type of POS to
18563 grub_off_t. Follow the coding standard.
18564
18565 * commands/blocklist.c: Include grub/partition.h.
18566 (grub_cmd_blocklist): Return an error if the underlying device is
18567 not a disk. Take the starting sector of a partition into account,
18568 if a partition is used.
18569
18570 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
18571 a length field.
18572 (lba_mode): Support 64-bit addresses.
18573 (chs_mode): Likewise.
18574 (copy_buffer): Adapted to the new offsets of a length field and a
18575 segment field.
18576 (blocklist_default_start): Allocate 64-bit space.
18577
18578 * boot/i386/pc/boot.S (force_lba): Removed.
18579 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 18580 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 18581 space.
18582 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
18583 is useless.
18584 (lba_mode): Refactored to support a 64-bit address. More size
18585 optimization.
18586 (setup_sectors): Likewise.
18587
53af98ad 185882006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
18589
18590 * DISTLIST: Added include/grub/i386/linux.h. Removed
18591 include/grub/i386/pc/linux.h
18592
18593 * configure.ac (AC_INIT): Bumped to 1.94.
18594
18595 * config.guess: Updated from gnulib.
18596 * config.sub: Likewise.
18597 * install-sh: Likewise.
18598 * mkinstalldirs: Likewise.
18599
b4c1940a 186002006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18601
18602 * conf/common.rmk (grub_modules_init.lst): Depended on
18603 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
18604 MODSRCFILES.
18605
18606 * genmk.rb (PModule::rule): Reverted the previous change.
18607
cfca1cfd 186082006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
18609
18610 * conf/common.rmk (grub_modules_init.lst): Depends on
18611 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
18612 that the target does not exist before producing.
18613 (grub_modules_init.h): Remove the target before generating.
18614 (grub_emu_init.c): Likewise.
18615
18616 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
18617
aa6d7826 186182006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
18619
18620 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
18621 for the target-specific tests. Make sure that we also have the
18622 up-to-date target variables for those tests.
18623
26c607b9 186242006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18625
18626 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
18627 (PModule::rule): Likewise.
18628
0162321a 186292006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
18630
18631 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
18632 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
18633 target-specific flags should be prefixed.
18634 (PModule::rule): Likewise.
18635
6c826348 186362006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
18637
18638 * configure.ac (CMP): Check if cmp is available explicitly.
18639
b977bf01 186402006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
18641
18642 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
18643 (target_cpu): New variable.
18644 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 18645
b977bf01 18646 * util/i386/pc/grub-install.in (host_cpu): Removed.
18647 (target_cpu): New variable.
18648 (pkglibdir): Use target_cpu instead of host_cpu.
18649
18650 * util/genmoddep.c: Removed.
f19dbdb7 18651
b977bf01 18652 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
18653 instead of GRUB_HOST_SIZEOF_VOID_P.
18654 * kern/dl.c: Likewise.
18655
18656 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
18657 ...
18658 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18659 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18660 (GRUB_TARGET_SIZEOF_LONG): ... this.
18661 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18662 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18663 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18664 to ...
18665 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18666 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18667 (GRUB_TARGET_SIZEOF_LONG): ... this.
18668 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18669 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18670 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
18671 to ...
18672 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
18673 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
18674 (GRUB_TARGET_SIZEOF_LONG): ... this.
18675 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
18676 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
18677
18678 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
18679 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
18680 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
18681 instead of GRUB_HOST_SIZEOF_LONG.
18682 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
18683 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
18684 GRUB_CPU_WORDS_BIGENDIAN.
18685 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
18686 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
18687 grub_host_ssize_t.
18688
18689 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
18690 (genmoddep_SOURCES): Likewise.
18691 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
18692 (genmoddep_SOURCES): Likewise.
18693 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
18694 (genmoddep_SOURCES): Likewise.
18695 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
18696 Likewise.
18697 (genmoddep_SOURCES): Likewise.
18698
18699 * genmoddep.awk: New file.
18700
18701 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
18702 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
18703 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
18704 (PModule::rule): Likewise.
18705 (Program::rule): Likewise.
18706 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
18707 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
18708 respectively.
18709
18710 * configure.ac: Rewritten intensively to use host and target
18711 instead of build and host, respectively.
18712
18713 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
18714 (host_cpu): Removed.
18715 (target_cpu): New variable.
18716 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
18717 (BUILD_CC): Removed.
18718 (BUILD_CFLAGS): Likewise.
18719 (BUILD_CPPFLAGS): Likewise.
18720 (TARGET_CC): New variable.
18721 (TARGET_CFLAGS): Likewise.
18722 (TARGET_CPPFLAGS): Likewise.
18723 (TARGET_LDFLAGS): Likewise.
18724 (AWK): Likewise.
18725 (include): Use target_cpu instead of host_cpu.
18726 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 18727
b977bf01 18728 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
18729
f09771a1 187302006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
18731
18732 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
18733 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
18734 field 'false' to 'exec_on_false'.
18735 (grub_script_create_cmdif): Renamed argument names to reflect above
18736 changes.
18737
18738 * normal/execute.c (grub_script_execute_cmdif): Likewise.
18739
18740 * normal/script.c (grub_script_create_cmdif): Likewise.
18741
118f4fb3 187422006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
18743
18744 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
18745 top.
18746 (grub_hfsplus_btree_recptr): Likewise.
18747 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
18748 FILEBLOCK both to pass a block number and store next block
18749 number.
18750 (grub_hfsplus_read_block): Rewritten heavily to support an extent
18751 overflow file correctly. Specify errors appropriately, because
18752 fshelp expects that GRUB_ERRNO is set when fails. Reuse
18753 grub_hfsplus_btree_recptr to get the pointer to a found key.
18754 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
18755 is found.
18756
18757 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
18758 linux.mod.
18759 (_linux_mod_SOURCES): New variable.
18760 (_linux_mod_CFLAGS): Likewise.
18761 (_linux_mod_LDFLAGS): Likewise.
18762 (linux_mod_SOURCES): Likewise.
18763 (linux_mod_CFLAGS): Likewise.
18764 (linux_mod_LDFLAGS): Likewise.
18765
18766 * DISTLIST: Added loader/i386/efi/linux.c,
18767 loader/i386/efi/linux_normal.c and
18768 include/grub/i386/efi/loader.h.
18769
18770 * loader/i386/efi/linux.c: New file.
18771 * loader/i386/efi/linux_normal.c: Likewise.
18772 * include/grub/i386/efi/loader.h: Likewise.
18773
89a7d726 187742006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
18775
18776 * commands/blocklist.c: New file.
18777
18778 * DISTLIST: Added commands/blocklist.c.
18779
18780 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 18781 color for the background, and a darker color for the foreground.
89a7d726 18782 (grub_console_checkkey): Return READ_KEY.
18783 (grub_console_cls): Set the background to
18784 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
18785
18786 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
18787
18788 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
18789 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
18790
18791 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
18792 prototype.
18793
18794 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
18795 BG. The spec is wrong again.
18796
18797 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
18798 prototype.
18799 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
18800
18801 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18802 commands/blocklist.c.
18803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 18804
89a7d726 18805 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
18806 (blocklist_mod_SOURCES): New variable.
18807 (blocklist_mod_CFLAGS): Likewise.
18808 (blocklist_mod_LDFLAGS): Likewise.
18809
75c8f258 188102006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
18811
18812 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
18813 duplication.
18814 (lba_mode): Use %eax more intensively to reduce the code size.
18815
da2eb181 188162006-05-20 Marco Gerards <marco@gnu.org>
18817
18818 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
18819
18820 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
18821 for `menuentry'.
18822 (script): Accept leading newlines.
18823 (newlines): New rule to describe 0 or more newlines.
18824 (commands): Accept `command' with trailing newline. Fixed the
18825 order in which arguments were passed to `grub_script_add_cmd'.
18826 Accept commands separated by newlines.
18827 (function): Changed to accept newlines.
18828 (menuentry) Rewritten.
18829
18830 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
18831 front of the list, instead of to the end.
18832
577b4050 188332006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
18834
18835 * util/i386/pc/grub-install.in (bindir): New variable.
18836 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
18837 Shaver <lbgwjl@gmail.com>.
18838
0d6e1189 188392006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
18840
18841 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
18842 grub/machine/linux.h
18843 * loader/i386/pc/linux.c: Likewise.
18844
18845 * include/grub/i386/pc/linux.h: Moved to ...
18846 * include/grub/i386/linux.h: ... here.
18847
18848 * include/grub/i386/linux.h (struct linux_kernel_params): New
18849 struct.
f19dbdb7 18850
31b86e9f 188512006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
18852
18853 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
18854 checking.
18855 (grub_video_vbe_blit_glyph): Likewise.
18856 (grub_video_vbe_blit_bitmap): Likewise.
18857 (grub_video_vbe_blit_render_target): Likewise.
18858
83b984de 188592006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
18860
18861 * configure.ac (--with-platform): Properly quote the square
18862 brackets.
18863
5f0413bd 188642006-05-08 Marco Gerards <marco@gnu.org>
18865
18866 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
18867 this...
18868 (kernel_elf_HEADERS): ...to this. Updated all users.
18869 (grubof_symlist.c): Renamed from this...
18870 (kernel_elf_symlist.c): ...to this. Updated all users.
18871 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18872 (grubof_SOURCES): Renamed from this...
18873 (kernel_elf_SOURCES): ...to this.
18874 (grubof_HEADERS): Renamed from this...
18875 (kernel_elf_HEADERS): ...to this.
18876 (grubof_CFLAGS): Renamed from this...
18877 (kernel_elf_CFLAGS): ...to this.
18878 (grubof_ASFLAGS): Renamed from this...
18879 (kernel_elf_ASFLAGS): ...to this.
18880 (grubof_LDFLAGS): Renamed from this...
18881 (kernel_elf_LDFLAGS): ...to this.
18882
18883 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
18884 this...
18885 (kernel_elf_HEADERS): ...to this. Updated all users.
18886 (grubof_symlist.c): Renamed from this...
18887 (kernel_elf_symlist.c): ...to this. Updated all users.
18888 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
18889 (grubof_SOURCES): Renamed from this...
18890 (kernel_elf_SOURCES): ...to this.
18891 (grubof_HEADERS): Renamed from this...
18892 (kernel_elf_HEADERS): ...to this.
18893 (grubof_CFLAGS): Renamed from this...
18894 (kernel_elf_CFLAGS): ...to this.
18895 (grubof_ASFLAGS): Renamed from this...
18896 (kernel_elf_ASFLAGS): ...to this.
18897 (grubof_LDFLAGS): Renamed from this...
18898 (kernel_elf_LDFLAGS): ...to this.
18899
18900 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
18901 `kernel.elf' instead of `grubof'.
18902
05568c2e 189032006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
18904
18905 Add --with-platform to configure. Use pkglibdir instead of
18906 pkgdatadir. This is reported by Roger Leigh.
18907
18908 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
18909 (host_vendor): Likewise.
18910 (host_os): Likewise.
18911 (pkgdatadir): Likewise.
18912 (platform): New variable.
18913 (pkglibdir): Likewise.
18914 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 18915
05568c2e 18916 * util/i386/pc/grub-install.in (datadir): Removed.
18917 (host_vendor): Likewise.
18918 (host_os): Likewise.
18919 (pkgdatadir): Likewise.
18920 (platform): New variable.
18921 (pkglibdir): Likewise.
18922 Use PKGLIBDIR instead of PKGDATADIR.
18923
18924 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
18925 instead of GRUB_DATADIR.
18926 (main): Likewise.
18927 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18928 (main): Likewise.
18929 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18930 (main): Likewise.
18931
18932 * configure.ac (--with-platform): New option.
18933 Use PLATFORM instead of HOST_VENDOR to specify a platform.
18934
18935 * Makefile.in: Include a makefile based on PLATFORM instead of
18936 HOST_VENDOR.
18937 (pkgdatadir): Not appended by the machine type.
18938 (pkglibdir): Appended by the machine type.
18939 (host_vendor): Removed.
18940 (platform): New variable.
18941 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
18942 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
18943 (uninstall): Likewise.
18944
4e93851c 189452006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
18946
18947 Use the environment context in the menu. Remove the commands
18948 "default" and "timeout", and use variables instead.
f19dbdb7 18949
4e93851c 18950 * normal/menu.c: Include grub/env.h.
18951 (print_entry): Cast TITLE to silence gcc.
18952 (get_timeout): New function.
18953 (set_timeout): Likewise.
18954 (get_entry_number): Likewise.
18955 (run_menu): Use a default entry, a fallback entry and a timeout
18956 in the environment variables "default", "fallback" and
18957 "timeout". Also, tweak the default entry if it is not within the
18958 current menu entries.
18959 (grub_menu_run): Use a fallback entry in the environment variable
18960 "fallback".
18961
18962 * normal/main.c (read_config_file): Do not initialize
18963 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
18964 NEWMENU->TIMEOUT.
18965 (grub_normal_execute): Use a data slot to store the menu.
18966
18967 * include/grub/normal.h (struct grub_menu): Removed default_entry,
18968 fallback_entry and timeout.
18969 (struct grub_menu_list): Removed.
18970 (grub_menu_list_t): Likewise.
18971 (struct grub_context): Likewise.
18972 (grub_context_t): Likewise.
18973 (grub_context_get): Likewise.
18974 (grub_context_get_current_menu): Likewise.
18975 (grub_context_push_menu): Likewise.
18976 (grub_context_pop_menu): Likewise.
18977 (grub_default_init): Likewise.
18978 (grub_default_fini): Likewise.
18979 (grub_timeout_init): Likewise.
18980 (grub_timeout_fini): Likewise.
18981
18982 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
18983 and timeout.mod.
18984 (normal_mod_SOURCES): Removed normal/context.c.
18985
18986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
18987 commands/default.c, commands/timeout.c and normal/context.c.
18988 (normal_mod_SOURCES): Removed normal/context.c.
18989
18990 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
18991 commands/timeout.c and normal/context.c.
18992 (normal_mod_SOURCES): Removed normal/context.c.
18993
18994 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
18995 commands/default.c, commands/timeout.c and normal/context.c.
18996 (normal_mod_SOURCES): Removed normal/context.c.
18997
18998 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
18999 timeout.mod.
19000 (default_mod_SOURCES): Removed.
19001 (default_mod_CFLAGS): Likewise.
19002 (default_mod_LDFLAGS): Likewise.
19003 (timeout_mod_SOURCES): Removed.
19004 (timeout_mod_CFLAGS): Likewise.
19005 (timeout_mod_LDFLAGS): Likewise.
19006
19007 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19008 normal/context.c.
19009
19010 * commands/default.c: Removed.
19011 * commands/timeout.c: Likewise.
19012 * normal/context.c: Likewise.
19013
1eb9cc1d 190142006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19015
19016 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19017
385bd9c1 190182006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19019
19020 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19021 "next" to "prev" for readability.
19022 (struct grub_env_sorted_var): New struct.
19023 (grub_env_context): Renamed to ...
19024 (initial_context): ... this.
19025 (grub_env_var_context): Renamed to ...
19026 (current_context): ... this.
19027 (grub_env_find): Look only at CURRENT_CONTEXT.
19028 (grub_env_context_open): Rewritten to copy exported variables from
19029 previous context.
19030 (grub_env_context_close): Rewritten according to the new
19031 scheme. Also, add an assertion to prevent the initial context from
19032 removed.
19033 (grub_env_insert): Removed the code for the sorted list.
19034 (grub_env_remove): Likewise.
19035 (grub_env_export): Simply mark the variable with
19036 GRUB_ENV_VAR_GLOBAL.
19037 (grub_env_set): A cosmetic change for naming consistency.
19038 (grub_env_get): Likewise.
19039 (grub_env_unset): Likewise.
19040 (grub_env_iterate): Rewritten to sort variables within this
19041 function.
19042 (grub_register_variable_hook): Fixed for naming consistency. Call
19043 grub_env_find again, only if NAME is not found at the first time.
19044 (mangle_data_slot_name): New function.
19045 (grub_env_set_data_slot): Likewise.
19046 (grub_env_get_data_slot): Likewise.
19047 (grub_env_unset_data_slot): Likewise.
19048
19049 * include/grub/env.h (grub_env_var_type): New enum.
19050 (GRUB_ENV_VAR_LOCAL): New constant.
19051 (GRUB_ENV_VAR_GLOBAL): Likewise.
19052 (GRUB_ENV_VAR_DATA): Likewise.
19053 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
19054 "type".
19055 (grub_env_set): Replace VAR with NAME for consistency.
19056 (grub_register_variable_hook): Likewise.
19057 (grub_env_export): Specify the name of the argument.
19058 (grub_env_set_data_slot): New prototype.
19059 (grub_env_get_data_slot): Likewise.
19060 (grub_env_unset_data_slot): Likewise.
19061
7f362539 190622006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19063
19064 Extend the loader so that GRUB can accept a loader which comes
19065 back to GRUB when a loaded image exits. Also, this change adds
19066 support for a chainloader on EFI.
f19dbdb7 19067
7f362539 19068 * term/efi/console.c: Include grub/misc.h.
19069 (grub_console_checkkey): Display a scan code on the top for
19070 debugging. This will be removed once the EFI port gets stable.
19071 Correct the scan code mapping.
19072
19073 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
19074 allocate memory from larger regions, in order to reduce the number
19075 of allocated regions. Otherwise, the MacOSX loader panics.
19076 (filter_memory_map): Avoid less than 1MB for compatibility with
19077 other loaders.
19078 (add_memory_regions): Allocate from the tail of a region, if
19079 possible, to avoid allocating a region near to 1MB, for the MacOSX
19080 loader.
19081
19082 * kern/efi/init.c (grub_efi_set_prefix): Specify
19083 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
19084
19085 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
19086 argument IMAGE_HANDLE and specify it to get a loaded image.
19087 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
19088 grub_efi_get_loaded_image.
fe6b695a 19089 (grub_efi_get_filename): Divide the length by the size of
7f362539 19090 grub_efi_char16_t.
19091 (grub_efi_get_device_path): New function.
19092 (grub_efi_print_device_path): Print End Device Path nodes. Divide
19093 the length by the size of grub_efi_char16_t for a file path device
19094 path node.
19095
19096 * kern/loader.c (grub_loader_noreturn): New variable.
19097 (grub_loader_set): Accept a new argument NORETURN. Set
19098 GRUB_LOADER_NORETURN to NORETURN.
19099 All callers changed.
19100 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
19101 grub_machine_fini.
19102
19103 * include/grub/efi/efi.h (grub_efi_get_device_path): New
19104 prototype.
19105 (grub_efi_get_loaded_image): Take an argument to specify an image
19106 handle.
19107
19108 * include/grub/loader.h (grub_loader_set): Added one more argument
19109 NORETURN.
19110
19111 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
19112 instead of grub_efi_open_protocol.
19113 (grub_efidisk_get_device_name): Likewise.
19114 (grub_efidisk_close): Print a newline.
19115 (grub_efidisk_get_device_handle): Fixed to use
19116 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
19117 GRUB_EFI_DEVICE_PATH_TYPE.
19118
19119 * disk/efi/efidisk.c (device_path_guid): Moved to ...
19120 * kern/efi/efi.c (device_path_guid): ... here.
19121
19122 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
19123 chain.mod.
19124 (kernel_mod_HEADERS): Added efi/disk.h.
19125 (_chain_mod_SOURCES): New variable.
19126 (_chain_mod_CFLAGS): Likewise.
19127 (_chain_mod_LDFLAGS): Likewise.
19128 (chain_mod_SOURCES): Likewise.
19129 (chain_mod_CFLAGS): Likewise.
19130 (chain_mod_LDFLAGS): Likewise.
19131
19132 * DISTLIST: Added include/grub/efi/chainloader.h,
19133 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
19134
19135 * include/grub/efi/chainloader.h: New file.
19136 * loader/efi/chainloader.c: Likewise.
19137 * loader/efi/chainloader_normal.c: Likewise.
19138
c0111d6e 191392006-04-30 Marco Gerards <marco@gnu.org>
19140
19141 * commands/configfile.c (grub_cmd_source): New function.
19142 (GRUB_MOD_INIT): Register the commands `source' and `.'.
19143 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
19144
df5341da 191452006-04-30 Marco Gerards <marco@gnu.org>
19146
19147 * normal/execute.c (grub_script_execute_cmd): Change the return
19148 type to `grub_err_t'. Correctly return the error.
19149 (grub_script_execute_cmdline): In case a command line is not a
19150 command or a function, try to interpret it as an assignment.
19151
f85934bd 191522006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
19153
19154 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
19155 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
19156 skip a node whose name is obviously invalid as UTF-16,
19157 i.e. contains a NUL character. Stop the iteration when the last
19158 directory entry is found. Instead of using the return value of
19159 grub_hfsplus_btree_iterate_node, store the value in RET and use
19160 it, because the iterator can be stopped by the last directory
19161 entry.
19162
8f8a2cf8 191632006-04-30 Marco Gerards <marco@gnu.org>
19164
19165 * include/grub/env.h (grub_env_export): New prototype. Reported
19166 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
19167
a27e84ce 191682006-04-30 Marco Gerards <marco@gnu.org>
19169
19170 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
19171 size of the extents in a catalog file record.
19172
eaef0553 191732006-04-29 Marco Gerards <marco@gnu.org>
19174
19175 * commands/configfile.c (grub_cmd_configfile): Execute the
19176 configfile within its own context.
19177
19178 * include/grub/env.h (grub_env_context_open): New prototype.
19179 (grub_env_context_close): Likewise.
19180
19181 * kern/env.c (grub_env): Removed.
19182 (grub_env_sorted): Likewise.
19183 (grub_env_context): New variable.
19184 (grub_env_var_context): Likewise.
19185 (grub_env_find): Search both the active context and the global
19186 context.
19187 (grub_env_context_open): New function.
19188 (grub_env_context_close): Likewise.
19189 (grub_env_insert): Likewise.
19190 (grub_env_remove): Likewise.
19191 (grub_env_export): Likewise.
19192 (grub_env_set): Changed to use helper functions to avoid code
19193 duplication.
19194 (grub_env_iterate): Rewritten so both the current context and the
19195 global context are being used.
19196
19197 * normal/command.c (export_command): New function.
19198 (grub_command_init): Register the `export' function.
19199
7b455f4d 192002006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
19201
19202 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
19203 explicitly to suppress gcc's warnings.
19204 * fs/fat.c (grub_fat_find_dir): Likewise.
19205 (grub_fat_label): Likewise.
19206 * fs/xfs.c (grub_xfs_read_inode): Likewise.
19207 (grub_xfs_mount): Likewise.
19208 (grub_xfs_label): Likewise.
19209 * fs/affs.c (grub_affs_mount): Likewise.
19210 (grub_affs_label): Likewise.
19211 (grub_affs_iterate_dir): Likewise.
19212 * fs/sfs.c (grub_sfs_mount): Likewise.
19213 (grub_sfs_iterate_dir): Likewise.
19214 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
19215 * fs/hfs.c (grub_hfs_mount): Likewise.
19216 (grub_hfs_cmp_catkeys): Likewise.
19217 (grub_hfs_find_dir): Likewise.
19218 (grub_hfs_dir): Likewise.
19219 (grub_hfs_label): Likewise.
19220 * fs/jfs.c (grub_jfs_mount): Likewise.
19221 (grub_jfs_opendir): Likewise.
19222 (grub_jfs_getent): Likewise.
19223 (grub_jfs_lookup_symlink): Likewise.
19224 (grub_jfs_label): Likewise.
19225 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
19226 (grub_hfsplus_iterate_dir): Likewise.
19227 (grub_hfsplus_btree_iterate_node): Made static.
19228
19229 * util/grub-emu.c (prefix): New variable.
19230 (grub_machine_set_prefix): New function.
19231 (main): Do not set the environment variable "prefix" here. Only
19232 set PREFIX, which is used later by grub_machine_set_prefix.
19233
19234 * include/grub/video.h: Do not include grub/symbol.h.
19235 (grub_video_register): Not exported. This symbol is not defined in
19236 the kernel.
19237 (grub_video_unregister): Likewise.
19238 (grub_video_iterate): Likewise.
19239 (grub_video_setup): Likewise.
19240 (grub_video_restore): Likewise.
19241 (grub_video_get_info): Likewise.
19242 (grub_video_get_blit_format): Likewise.
19243 (grub_video_set_palette): Likewise.
19244 (grub_video_get_palette): Likewise.
19245 (grub_video_set_viewport): Likewise.
19246 (grub_video_get_viewport): Likewise.
19247 (grub_video_map_color): Likewise.
19248 (grub_video_map_rgb): Likewise.
19249 (grub_video_map_rgba): Likewise.
19250 (grub_video_fill_rect): Likewise.
19251 (grub_video_blit_glyph): Likewise.
19252 (grub_video_blit_bitmap): Likewise.
19253 (grub_video_blit_render_target): Likewise.
19254 (grub_video_scroll): Likewise.
19255 (grub_video_swap_buffers): Likewise.
19256 (grub_video_create_render_target): Likewise.
19257 (grub_video_delete_render_target): Likewise.
19258 (grub_video_set_active_render_target): Likewise.
19259
19260 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
19261 Undefined.
19262 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
19263
19264 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
19265 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19266 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19267 instead of $(srcdir)/genkernsyms.sh.
19268
19269 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
19270 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19271 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19272 instead of $(srcdir)/genkernsyms.sh.
19273
19274 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
19275 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19276 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19277 instead of $(srcdir)/genkernsyms.sh.
19278
19279 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
19280 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
19281 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
19282 instead of $(srcdir)/genkernsyms.sh.
19283
19284 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
19285 genkernsyms.sh.
19286
19287 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
19288 genkernsyms.sh.
19289 (gensymlist.sh): New target.
19290 (genkernsyms.sh): Likewise.
19291
19292 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
19293 genkernsyms.sh.in and gensymlist.sh.in.
19294
19295 * genkernsyms.sh: Removed.
19296 * gensymlist.sh: Likewise.
f19dbdb7 19297
7b455f4d 19298 * genkernsyms.sh.in: New file.
19299 * gensymlist.sh.in: Likewise.
19300
1885bb27 193012006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19302
19303 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
19304 clobber "prefix", since we may have already set it manually.
19305
71538dff 193062006-04-25 Hollis Blanchard <hollis@penguinppc.org>
19307
19308 * kern/misc.c (abort): New alias for grub_abort.
19309
2965c7cc 193102006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
19311
19312 A new machine-specific function "grub_machine_set_prefix" is
19313 defined. This is called after loading modules, so that a prefix
19314 initialization can use modules. Also, this change adds an
19315 intensive debugging feature for the memory manager via the
19316 configure option "--enable-mm-debug".
f19dbdb7 19317
2965c7cc 19318 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
19319 PART.LEN.
19320
19321 * kern/sparc64/ieee1275/init.c (abort): Removed.
19322 (grub_stop): Likewise.
19323 (grub_exit): New function.
19324 (grub_set_prefix): Renamed to ...
19325 (grub_machine_set_prefix): ... this.
19326 (grub_machine_init): Do not call grub_set_prefix.
19327
19328 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
19329 (grub_machine_set_prefix): ... this.
19330 (grub_machine_init): Do not call grub_set_prefix.
19331
19332 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
19333 (grub_machine_init): Do not set the prefix here.
19334
19335 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
19336
19337 * kern/efi/init.c: Include grub/mm.h.
19338 (grub_efi_set_prefix): New function.
19339
19340 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
19341 (grub_efi_get_filename): New function.
19342 (grub_print_device_path): Renamed to ...
19343 (grub_efi_print_device_path): ... this.
19344
19345 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
19346 [MM_DEBUG] (grub_realloc): Likewise.
19347 [MM_DEBUG] (grub_free): Likewise.
19348 [MM_DEBUG] (grub_memalign): Likewise.
19349 [MM_DEBUG] (grub_mm_debug): New variable.
19350 [MM_DEBUG] (grub_debug_malloc): New function.
19351 [MM_DEBUG] (grub_debug_free): New function.
19352 [MM_DEBUG] (grub_debug_realloc): New function.
19353 [MM_DEBUG] (grub_debug_memalign): New function.
19354
19355 * kern/misc.c (grub_abort): Print a newline to distinguish
19356 the message.
19357
19358 * kern/main.c (grub_main): Call grub_machine_set_prefix and
19359 grub_set_root_dev after loading modules. This is necessary when
19360 setting a prefix depends on modules.
19361
19362 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
19363 (grub_efi_print_device_path): ... this.
19364 (grub_efi_get_filename): New prototype.
19365 (grub_efi_set_prefix): Likewise.
19366
19367 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
19368 and grub/disk.h.
19369 (grub_efidisk_get_device_handle): New prototype.
19370 (grub_efidisk_get_device_name): Likewise.
19371
19372 * include/grub/mm.h: Include config.h.
19373 (MM_DEBUG): Removed.
19374 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
19375 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
19376 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
19377 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
19378 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
19379 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
19380 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
19381 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
19382 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
19383
19384 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
19385
19386 * disk/efi/efidisk.c: Include grub/partition.h.
19387 (iterate_child_devices): New function.
19388 (add_device): First, compare only last device path nodes, so that
19389 devices are sorted by the types.
19390 (grub_efidisk_get_device_handle): New function.
19391 (grub_efidisk_get_device_name): Likewise.
19392
19393 * configure.ac (--enable-mm-debug): New option to enable the
19394 memory manager debugging feature. This makes the binary much
19395 bigger, so is disabled by default.
19396
9cacaa17 193972006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
19398
19399 Use grub_abort instead of grub_stop, and grub_exit must be
19400 define in each architecture now. Also, this change adds support
19401 for EFI disks.
f19dbdb7 19402
9cacaa17 19403 * util/i386/pc/grub-probefs.c: Include grub/term.h.
19404 (grub_getkey): New function.
19405 (grub_term_get_current): Likewise.
19406
19407 * util/i386/pc/grub-setup.c: Include grub/term.h.
19408 (grub_getkey): New function.
19409 (grub_term_get_current): Likewise.
19410
19411 * util/misc.c (grub_stop): Renamed to ...
19412 (grub_exit): ... this.
19413
19414 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
19415 (grub_exit): ... this.
19416 (grub_machine_init): Use grub_abort instead of abort.
19417 (grub_stop): Removed.
19418
19419 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
19420 abort.
19421
19422 * kern/i386/pc/startup.S (grub_exit): New function.
19423 (cold_reboot): New label.
19424
19425 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
19426 (grub_efi_init): Call grub_efidisk_init.
19427 (grub_efi_fini): Call grub_efidisk_fini.
19428
19429 * kern/efi/efi.c: Include grub/mm.h.
19430 (grub_efi_console_control_guid): Renamed to ...
19431 (console_control_guid): ... this.
19432 (grub_efi_loaded_image_guid): Renamed to ...
19433 (loaded_image_guid): ... this.
19434 (grub_efi_locate_handle): New function.
19435 (grub_efi_open_protocol): Likewise.
19436 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
19437 GRUB_EFI_CONSOLE_CONTROL_GUID.
19438 (grub_efi_exit): Removed.
19439 (grub_stop): Likewise.
19440 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
19441 (grub_exit): New function.
19442 (grub_print_device_path): Likewise.
19443
19444 * kern/rescue.c (grub_rescue_cmd_exit): New function.
19445 (grub_enter_rescue_mode): Register "exit".
19446
19447 * kern/misc.c (grub_real_dprintf): A cosmetic change.
19448 (grub_abort): New function.
19449
19450 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
19451
19452 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
19453
19454 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
19455
19456 * include/grub/efi/efi.h (grub_efi_exit): Removed.
19457 (grub_print_device_path): New prototype.
19458 (grub_efi_locate_handle): Likewise.
19459 (grub_efi_open_protocol): Likewise.
19460
19461 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
19462 * disk/efi/efidisk.c: Likewise.
19463
19464 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
19465
19466 * include/grub/efi/console_control.h
19467 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
19468
19469 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
19470 last 8 bytes as an array.
19471 (GRUB_EFI_DISK_IO_GUID): New macro.
19472 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
19473 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
19474 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
19475 grub_uint8_t.
19476 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
19477 (struct grub_efi_device_path): Rename the member "sub_type" to
19478 "subtype".
19479 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
19480 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
19481 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
19482 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
19483 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
19484 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
19485 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
19486 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
19487 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
19488 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
19489 (struct grub_efi_pci_device_path): New structure.
19490 (grub_efi_pci_device_path_t): New type.
19491 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
19492 (struct grub_efi_pccard_device_path): New structure.
19493 (grub_efi_pccard_device_path_t): New type.
19494 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
19495 (struct grub_efi_memory_mapped_device_path): New structure.
19496 (grub_efi_memory_mapped_device_path_t): New type.
19497 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
19498 (struct grub_efi_vendor_device_path): New structure.
19499 (grub_efi_vendor_device_path_t): New type.
19500 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
19501 (struct grub_efi_controller_device_path): New structure.
19502 (grub_efi_controller_device_path_t): New type.
19503 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
19504 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
19505 (struct grub_efi_acpi_device_path): New structure.
19506 (grub_efi_acpi_device_path_t): New type.
19507 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
19508 (struct grub_efi_expanded_acpi_device_path): New structure.
19509 (grub_efi_expanded_acpi_device_path_t): New type.
19510 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
19511 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
19512 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
19513 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
19514 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
19515 (struct grub_efi_atapi_device_path): New structure.
19516 (grub_efi_atapi_device_path_t): New type.
19517 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
19518 (struct grub_efi_fibre_channel_device_path): New structure.
19519 (grub_efi_fibre_channel_device_path_t): New type.
19520 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
19521 (struct grub_efi_1394_device_path): New structure.
19522 (grub_efi_1394_device_path_t): New type.
19523 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
19524 (struct grub_efi_usb_device_path): New structure.
19525 (grub_efi_usb_device_path_t): New type.
19526 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
19527 (struct grub_efi_usb_class_device_path): New structure.
19528 (grub_efi_usb_class_device_path_t): New type.
19529 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
19530 (struct grub_efi_i2o_device_path): New structure.
19531 (grub_efi_i2o_device_path_t): New type.
19532 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
19533 (struct grub_efi_mac_address_device_path): New structure.
19534 (grub_efi_mac_address_device_path_t): New type.
19535 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
19536 (struct grub_efi_ipv4_device_path): New structure.
19537 (grub_efi_ipv4_device_path_t): New type.
19538 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
19539 (struct grub_efi_ipv6_device_path): New structure.
19540 (grub_efi_ipv6_device_path_t): New type.
19541 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
19542 (struct grub_efi_infiniband_device_path): New structure.
19543 (grub_efi_infiniband_device_path_t): New type.
19544 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
19545 (struct grub_efi_uart_device_path): New structure.
19546 (grub_efi_uart_device_path_t): New type.
19547 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
19548 (struct grub_efi_vendor_messaging_device_path): New structure.
19549 (grub_efi_vendor_messaging_device_path_t): New type.
19550 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
19551 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
19552 (struct grub_efi_hard_drive_device_path): New structure.
19553 (grub_efi_hard_drive_device_path_t): New type.
19554 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
19555 (struct grub_efi_cdrom_device_path): New structure.
19556 (grub_efi_cdrom_device_path_t): New type.
19557 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
19558 (struct grub_efi_vendor_media_device_path): New structure.
19559 (grub_efi_vendor_media_device_path_t): New type.
19560 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
19561 (struct grub_efi_file_path_device_path): New structure.
19562 (grub_efi_file_path_device_path_t): New type.
19563 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
19564 (struct grub_efi_protocol_device_path): New structure.
19565 (grub_efi_protocol_device_path_t): New type.
19566 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
19567 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
19568 (struct grub_efi_bios_device_path): New structure.
19569 (grub_efi_bios_device_path_t): New type.
19570 (struct grub_efi_disk_io): New structure.
19571 (grub_efi_disk_io_t): New type.
19572 (struct grub_efi_block_io_media): New structure.
19573 (grub_efi_block_io_media_t): New type.
19574 (struct grub_efi_block_io): New structure.
19575 (grub_efi_block_io_t): New type.
19576
19577 * include/grub/misc.h (grub_stop): Removed.
19578 (grub_exit): New prototype.
19579 (grub_abort): Likewise.
19580
19581 * include/grub/disk.h (enum grub_disk_dev_id): Added
19582 GRUB_DISK_DEVICE_EFIDISK_ID.
19583
19584 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
19585 disk/efi/efidisk.c.
19586 (kernel_syms.lst): Remove the target if an error occurs.
19587
49986a9f 195882006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
19589
19590 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
19591 as it was simply too buggy.
19592
970d3b8a 195932006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
19594
19595 * kern/misc.c (grub_lltoa): New function.
19596 (grub_vsprintf): Added support for the long long suffix,
19597 i.e. "ll".
19598
ff04ec24 195992006-04-20 Hollis Blanchard <hollis@penguinppc.org>
19600
19601 * Makefile.in (LDFLAGS): Add variable.
19602 (LD): Remove variable.
19603 * configure.ac: Add -m32 to LDFLAGS.
19604 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
19605 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
19606 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
19607 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
19608 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
19609 variables.
19610 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
19611 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
19612 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
19613
37e5e1a4 196142006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
19615
19616 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
19617 length for unknown glyph.
19618
c352d8dd 196192006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
19620
2eab1c0d 19621 Add support for pre-loaded modules into the EFI port.
f19dbdb7 19622
2eab1c0d 19623 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
19624 completely. Accept one more argument DIR. The caller has changed.
19625
19626 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
19627
19628 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
19629 (grub_efi_loaded_image_guid): New variable.
19630 (grub_efi_get_loaded_image): New function.
19631 (grub_arch_modules_addr): Likewise.
19632
19633 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
19634 prototype.
19635
19636 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
19637 (struct grub_efi_loaded_image): New structure.
19638 (grub_efi_loaded_image_t): New type.
19639
196402006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19641
c352d8dd 19642 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
19643 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
19644 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
19645
6d01d6b4 196462006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
19647
19648 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
19649
976a4ea0 196502006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
19651
19652 * DISTLIST: Added include/grub/efi/console.h,
19653 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
19654 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19655
19656 * include/grub/efi/console.h: New file.
19657 * include/grub/efi/time.h: Likewise.
19658 * include/grub/i386/efi/kernel.h: Likewise.
19659 * kern/efi/init.c: Likewise.
19660 * kern/efi/mm.c: Likewise.
19661 * term/efi/console.c: Likewise.
f19dbdb7 19662
976a4ea0 19663 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
19664 (grub_stop): Removed.
19665 (grub_get_rtc): Likewise.
19666 (grub_machine_init): Simply call grub_efi_init.
19667 (grub_machine_fini): Call grub_efi_fini.
19668
19669 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
19670 (grub_efi_output_string): Removed.
19671 (grub_efi_stall): New function.
19672 (grub_stop): Likewise.
19673 (grub_get_rtc): Likewise.
19674
19675 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
19676 (grub_efi_stall): New prototype.
19677 (grub_efi_allocate_pages): Likewise.
19678 (grub_efi_free_pages): Likewise.
19679 (grub_efi_get_memory_map): Likewise.
19680 (grub_efi_mm_init): Likewise.
19681 (grub_efi_mm_fini): Likewise.
19682 (grub_efi_init): Likewise.
19683 (grub_efi_fini): Likewise.
19684
19685 * include/grub/i386/efi/time.h: Do not include
19686 grub/symbol.h. Include grub/efi/time.h.
19687 (GRUB_TICKS_PER_SECOND): Removed.
19688 (grub_get_rtc): Likewise.
19689
19690 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
19691 Added padding. The EFI spec is buggy.
19692 (GRUB_EFI_BLACK): New macro.
19693 (GRUB_EFI_BLUE): Likewise.
19694 (GRUB_EFI_GREEN): Likewise.
19695 (GRUB_EFI_CYAN): Likewise.
19696 (GRUB_EFI_RED): Likewise.
19697 (GRUB_EFI_MAGENTA): Likewise.
19698 (GRUB_EFI_BROWN): Likewise.
19699 (GRUB_EFI_LIGHTGRAY): Likewise.
19700 (GRUB_EFI_BRIGHT): Likewise.
19701 (GRUB_EFI_DARKGRAY): Likewise.
19702 (GRUB_EFI_LIGHTBLUE): Likewise.
19703 (GRUB_EFI_LIGHTGREEN): Likewise.
19704 (GRUB_EFI_LIGHTCYAN): Likewise.
19705 (GRUB_EFI_LIGHTRED): Likewise.
19706 (GRUB_EFI_LIGHTMAGENTA): Likewise.
19707 (GRUB_EFI_YELLOW): Likewise.
19708 (GRUB_EFI_WHITE): Likewise.
19709 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
19710 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
19711 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
19712 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
19713 (GRUB_EFI_BACKGROUND_RED): Likewise.
19714 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
19715 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
19716 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
19717 (GRUB_EFI_TEXT_ATTR): Likewise.
19718
19719 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
19720 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
19721 (kernel_mod_HEADERS): Added efi/time.h.
19722
83709125 197232006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
19724
19725 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
19726 include/grub/efi/api.h, include/grub/efi/console_control.h,
19727 include/grub/efi/efi.h, include/grub/efi/pe32.h,
19728 include/grub/i386/efi/time.h, kern/efi/efi.c,
19729 kern/i386/efi/init.c, kern/i386/efi/startup.S,
19730 and util/i386/efi/grub-mkimage.c.
19731
19732 * Makefile.in (RMKFILES): Added i386-efi.rmk.
19733
19734 * genmk.rb (PModule#rule): Do not export symbols if
19735 #{prefix}_EXPORTS is set to "no".
19736
19737 * conf/i386-efi.mk: New file.
19738 * conf/i386-efi.rmk: Likewise.
19739 * include/grub/efi/api.h: Likewise.
19740 * include/grub/efi/console_control.h: Likewise.
19741 * include/grub/efi/efi.h: Likewise.
19742 * include/grub/efi/pe32.h: Likewise.
19743 * include/grub/i386/efi/time.h: Likewise.
19744 * kern/efi/efi.c: Likewise.
19745 * kern/i386/efi/init.c: Likewise.
19746 * kern/i386/efi/startup.S: Likewise.
19747 * util/i386/efi/grub-mkimage.c: Likewise.
19748
197492006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 19750
19751 * include/grub/script.h: Include <grub/parser.h> and
19752 "grub_script.tab.h".
19753 (struct grub_lexer_param): New struct.
19754 (struct grub_parser_param): Likewise.
19755 (grub_script_create_arglist): Pass the state in an argument.
19756 (grub_script_add_arglist): Likewise.
19757 (grub_script_create_cmdline): Likewise.
19758 (grub_script_create_cmdblock): Likewise.
19759 (grub_script_create_cmdif): Likewise.
19760 (grub_script_create_cmdmenu): Likewise.
19761 (grub_script_add_cmd): Likewise.
19762 (grub_script_arg_add): Likewise.
19763 (grub_script_lexer_ref): Likewise.
19764 (grub_script_lexer_deref): Likewise.
19765 (grub_script_lexer_record_start): Likewise.
19766 (grub_script_lexer_record_stop): Likewise.
19767 (grub_script_mem_record): Likewise.
19768 (grub_script_mem_record_stop): Likewise.
19769 (grub_script_malloc): Likewise.
19770 (grub_script_yylex): Likewise.
19771 (grub_script_yyparse): Likewise.
19772 (grub_script_yyerror): Likewise.
19773 (grub_script_yylex): Likewise.
19774 (grub_script_lexer_init): Return the state.
19775
19776 * normal/lexer.c (grub_script_lexer_state): Removed variable.
19777 (grub_script_lexer_done): Likewise.
19778 (grub_script_lexer_getline): Likewise.
19779 (grub_script_lexer_refs): Likewise.
19780 (script): Likewise.
19781 (newscript): Likewise.
19782 (record): Likewise.
19783 (recording): Likewise.
19784 (recordpos): Likewise.
19785 (recordlen): Likewise.
19786 (grub_script_lexer_init): Return the state instead of setting
19787 global variables.
19788 (grub_script_lexer_ref): Use the newly added argument for state
19789 instead of globals.
19790 (grub_script_lexer_deref): Likewise.
19791 (grub_script_lexer_record_start): Likewise.
19792 (grub_script_lexer_record_stop): Likewise.
19793 (recordchar): Likewise.
19794 (nextchar): Likewise.
19795 (grub_script_yylex2): Likewise.
19796 (grub_script_yylex): Likewise.
19797 (grub_script_yyerror): Likewise.
19798
19799 * normal/parser.y (func_mem): Removed variable.
19800 (menu_entry): Likewise.
19801 (err): Likewise.
19802 (%lex-param): New parser option.
19803 (%parse-param): Likewise.
19804 (script): Always return the AST.
19805 (argument): Pass the state around.
19806 (arguments): Likewise.
19807 (grubcmd): Likewise.
19808 (commands): Likewise.
19809 (function): Likewise.
19810 (menuentry): Likewise.
19811 (if_statement): Likewise.
19812 (if): Likewise.
19813
19814 * normal/script.c (grub_script_memused): Removed variable.
19815 (grub_script_parsed): Likewise.
19816 (grub_script_malloc): Added a state argument. Use that instead of
19817 global variables.
19818 (grub_script_mem_record): Likewise.
19819 (grub_script_mem_record_stop): Likewise.
19820 (grub_script_arg_add): Likewise.
19821 (grub_script_add_arglist): Likewise.
19822 (grub_script_create_cmdline): Likewise.
19823 (grub_script_create_cmdif): Likewise.
19824 (grub_script_create_cmdmenu): Likewise.
19825 (grub_script_add_cmd): Likewise.
19826 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 19827
e2a8c904 198282006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 19829
19830 * normal/command.c (grub_command_init): Remove the title command.
19831
19832 * normal/lexer.c (grub_script_yylex): Renamed from this...
19833 (grub_script_yylex2): ... to this.
19834 (grub_script_yylex): New function. Temporary
19835 introduced to filter some tokens.
19836 (grub_script_yyerror): Print a newline.
19837
19838 * normal/main.c (read_config_file): Output information about the
19839 lines that contain errors. Wait for a key after all lines have
19840 been processed. Don't return an empty menu.
19841
19842 * normal/parser.y (func_mem): Don't initialize.
19843 (menu_entry): Likewise.
19844 (err): New variable.
19845 (script): Don't return anything when an error was encountered.
19846 (ws, returns): Removed rules.
19847 (argument): Disabled concatenated variable support.
19848 (arguments): Remove explicit separators.
19849 (grubcmd): Likewise.
19850 (function): Likewise.
19851 (menuentry): Likewise.
19852 (if): Likewise.
19853 (commands): Likewise. Add error handling.
19854
19855 * normal/script.c (grub_script_create_cmdline): If
19856 `grub_script_parsed' is 0, assume the parser encountered an error.
19857
c9a86192 198582006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
19859
19860 * configure.ac: Add support for EFI. Fix the typo
19861 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
19862
70f3b243 198632006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19864
19865 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
19866 foreign multibyte characters should be shown correctly.
19867
65f201ad 198682006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
19869
19870 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
19871 calculation.
19872 (read_config_file): Made it to close file before returning.
19873
b4b93674 198742006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
19875
19876 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
19877 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
19878 video/i386/pc/vbefill.c.
19879
19880 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
19881 video/i386/pc/vbefill.c.
19882
19883 * include/grub/video.h (grub_video_blit_format): New enum.
19884 (grub_video_mode_info): Added new member blit_format.
19885 (grub_video_get_blit_format): New function prototype.
19886
19887 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
19888 function prototype.
19889 (grub_video_vbe_map_rgb): Likewise.
19890 (grub_video_vbe_unmap_color): Likewise.
19891
19892 * include/grub/i386/pc/vbeblit.h: New file.
19893
19894 * include/grub/i386/pc/vbefill.h: New file.
19895
19896 * video/video.c (grub_video_get_blit_format): New function.
19897 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
19898 (grub_video_vbe_map_rgb): Likewise.
19899 (grub_video_vbe_unmap_color): Likewise.
19900
19901 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
19902 optimized fills.
19903 (grub_video_vbe_blit_render_target): Changed to use more optimized
19904 blits.
19905 (grub_video_vbe_setup): Added detection for optimized settings.
19906 (grub_video_vbe_create_render_target): Likewise.
19907
19908 * video/i386/pc/vbeblit.c: New file.
19909
19910 * video/i386/pc/vbefill.c: New file.
19911
c2379b9c 199122006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
19913
19914 * font/manager.c (grub_font_get_glyph): Removed font fixup from
19915 here...
19916
19917 * util/unifont2pff.rb: ... and moved it to here. Improved argument
19918 parsing to support both hex and dec ranges. If filename was missing
19919 show usage information.
19920
bd0d7896 199212006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
19922
19923 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
19924 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
19925
19926 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
19927 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
19928 (video_mod_SOURCES): Added.
19929 (video_mod_CFLAGS): Likewise.
19930 (video_mod_LDFLAGS): Likewise.
19931 (gfxterm_mod_SOURCES): Likewise.
19932 (gfxterm_mod_CFLAGS): Likewise.
19933 (gfxterm_mod_LDFLAGS): Likewise.
19934 (videotest_mod_SOURCES): Likewise.
19935 (videotest_mod_CFLAGS): Likewise.
19936 (videotest_mod_LDFLAGS): Likewise.
19937 (vesafb_mod_SOURCES): Removed.
19938 (vesafb_mod_CFLAGS): Likewise.
19939 (vesafb_mod_LDFLAGS): Likewise.
19940 (vga_mod_SOURCES): Likewise.
19941 (vga_mod_CFLAGS): Likewise.
19942 (vga_mod_LDFLAGS): Likewise.
19943
19944 * commands/videotest.c: New file.
19945
19946 * font/manager.c (fill_with_default_glyph): Modified to use
19947 grub_font_glyph.
19948 (grub_font_get_glyph): Likewise.
19949 (fontmanager): Renamed from this...
19950 (font_manager): ... to this.
19951
19952 * include/grub/font.h (grub_font_glyph): Added new structure.
19953 (grub_font_get_glyph): Modified to use grub_font_glyph.
19954
19955 * include/grub/misc.h (grub_abs): Added as inline function.
19956
19957 * include/grub/video.h: New file.
19958
19959 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
19960 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
19961 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
19962 (grub_vbe_get_controller_info): Renamed from this...
19963 (grub_vbe_bios_get_controller_info): ... to this.
19964 (grub_vbe_get_mode_info): Renamed from this...
19965 (grub_vbe_bios_get_mode_info): ... to this.
19966 (grub_vbe_set_mode): Renamed from this...
19967 (grub_vbe_bios_set_mode): ... to this.
19968 (grub_vbe_get_mode): Renamed from this...
19969 (grub_vbe_bios_get_mode): ... to this.
19970 (grub_vbe_set_memory_window): Renamed from this...
19971 (grub_vbe_bios_set_memory_window): ... to this.
19972 (grub_vbe_get_memory_window): Renamed from this...
19973 (grub_vbe_bios_get_memory_window): ... to this.
19974 (grub_vbe_set_scanline_length): Renamed from this...
19975 (grub_vbe_set_scanline_length): ... to this.
19976 (grub_vbe_get_scanline_length): Renamed from this...
19977 (grub_vbe_bios_get_scanline_length): ... to this.
19978 (grub_vbe_set_display_start): Renamed from this...
19979 (grub_vbe_bios_set_display_start): ... to this.
19980 (grub_vbe_get_display_start): Renamed from this...
19981 (grub_vbe_bios_get_display_start): ... to this.
19982 (grub_vbe_set_palette_data): Renamed from this...
19983 (grub_vbe_bios_set_palette_data): ... to this.
19984 (grub_vbe_set_pixel_rgb): Removed.
19985 (grub_vbe_set_pixel_index): Likewise.
19986
19987 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
19988 from this...
19989 (grub_vbe_bios_get_controller_info): ... to this.
19990 (grub_vbe_get_mode_info): Renamed from this...
19991 (grub_vbe_bios_get_mode_info): ... to this.
19992 (grub_vbe_set_mode): Renamed from this...
19993 (grub_vbe_bios_set_mode): ... to this.
19994 (grub_vbe_get_mode): Renamed from this...
19995 (grub_vbe_bios_get_mode): ... to this.
19996 (grub_vbe_set_memory_window): Renamed from this...
19997 (grub_vbe_bios_set_memory_window): ... to this.
19998 (grub_vbe_get_memory_window): Renamed from this...
19999 (grub_vbe_bios_get_memory_window): ... to this.
20000 (grub_vbe_set_scanline_length): Renamed from this...
20001 (grub_vbe_set_scanline_length): ... to this.
20002 (grub_vbe_get_scanline_length): Renamed from this...
20003 (grub_vbe_bios_get_scanline_length): ... to this.
20004 (grub_vbe_set_display_start): Renamed from this...
20005 (grub_vbe_bios_set_display_start): ... to this.
20006 (grub_vbe_get_display_start): Renamed from this...
20007 (grub_vbe_bios_get_display_start): ... to this.
20008 (grub_vbe_set_palette_data): Renamed from this...
20009 (grub_vbe_bios_set_palette_data): ... to this.
20010 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20011 getting corrupted after calling it. Added more pushes and pops.
20012 (grub_vbe_bios_set_mode): Likewise.
20013 (grub_vbe_bios_get_mode): Likewise.
20014 (grub_vbe_bios_get_memory_window): Likewise.
20015 (grub_vbe_bios_set_scanline_length): Likewise.
20016 (grub_vbe_bios_get_scanline_length): Likewise.
20017 (grub_vbe_bios_get_display_start): Likewise.
20018 (grub_vbe_bios_set_palette_data): Likewise.
20019
20020 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20021 (cl_insert): Likewise.
20022 (cl_delete): Likewise.
20023
20024 * term/gfxterm.c: New file.
20025
20026 * term/i386/pc/vesafb.c: Removed file.
20027
20028 * video/video.c: New file.
20029
20030 * video/i386/pc/vbe.c (real2pm): Added new function.
20031 (grub_video_vbe_draw_pixel): Likewise.
20032 (grub_video_vbe_get_video_ptr): Likewise.
20033 (grub_video_vbe_get_pixel): Likewise
20034 (grub_video_vbe_init): Likewise.
20035 (grub_video_vbe_fini): Likewise.
20036 (grub_video_vbe_setup): Likewise.
20037 (grub_video_vbe_get_info): Likewise.
20038 (grub_video_vbe_set_palette): Likewise.
20039 (grub_video_vbe_get_palette): Likewise.
20040 (grub_video_vbe_set_viewport): Likewise.
20041 (grub_video_vbe_get_viewport): Likewise.
20042 (grub_video_vbe_map_color): Likewise.
20043 (grub_video_vbe_map_rgb): Likewise.
20044 (grub_video_vbe_map_rgba): Likewise.
20045 (grub_video_vbe_unmap_color): Likewise.
20046 (grub_video_vbe_fill_rect): Likewise.
20047 (grub_video_vbe_blit_glyph): Likewise.
20048 (grub_video_vbe_blit_bitmap): Likewise.
20049 (grub_video_vbe_blit_render_target): Likewise.
20050 (grub_video_vbe_scroll): Likewise.
20051 (grub_video_vbe_swap_buffers): Likewise.
20052 (grub_video_vbe_create_render_target): Likewise.
20053 (grub_video_vbe_delete_render_target): Likewise.
20054 (grub_video_vbe_set_active_render_target): Likewise.
20055 (grub_vbe_set_pixel_rgb): Remove function.
20056 (grub_vbe_set_pixel_index): Likewise.
20057 (index_color_mode): Remove static variable.
20058 (active_mode): Likewise.
20059 (framebuffer): Likewise.
20060 (bytes_per_scan_line): Likewise.
20061 (grub_video_vbe_adapter): Added new static variable.
20062 (framebuffer): Likewise.
20063 (render_target): Likewise.
20064 (initial_mode): Likewise.
20065 (mode_in_use): Likewise.
20066 (mode_list): Likewise.
20067
5f97350b 200682006-03-10 Marco Gerards <marco@gnu.org>
20069
20070 * configure.ac (AC_INIT): Bumped to 1.93.
20071
20072 * DISTLIST: Added `include/grub/hfs.h'.
20073
a3c5c6f8 200742006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
20075
20076 * boot/i386/pc/boot.S (general_error): Before looping, try INT
20077 18H, which might help the BIOS falling back to next boot media.
20078
6de53d26 200792006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
20080
20081 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
20082 Poe Chen <poe.poechen@gmail.com>.
20083
77c4a393 200842006-01-17 Marco Gerards <marco@gnu.org>
20085
20086 * include/grub/normal.h: Include <grub/script.h>.
20087 (grub_command_list): Removed struct.
20088 (grub_command_list_t): Removed type.
20089 (grub_menu_entry): Remove members `num' and `command_list'. Add
20090 members `commands' and `sourcecode'.
20091 * include/grub/script.h: Add inclusion guards.
20092 (grub_script_cmd_menuentry): New struct.
20093 (grub_script_execute_menuentry): New prototype.
20094 (grub_script_lexer_record_start): Likewise.
20095 (grub_script_lexer_record_stop): Likewise.
20096 * normal/execute.c (grub_script_execute_menuentry): New function.
20097 * normal/lexer.c (record, recording, recordpos, recordlen): New
20098 variables.
20099 (grub_script_lexer_record_start): New function.
20100 (grub_script_lexer_record_stop): Likewise.
20101 (recordchar): Likewise.
20102 (nextchar): Likewise.
20103 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
20104 2048 as the buffer size. Add the tokens `menuentry' and `@'.
20105 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
20106 (current_menu): New variable.
20107 (free_menu): Mainly rewritten.
20108 (grub_normal_menu_addentry): New function.
20109 (read_config_file): Rewritten.
20110 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 20111 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 20112 the menu entry.
20113 (run): Mainly rewritten.
20114 * normal/parser.y (menu_entry): New variable.
20115 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
20116 (menuentry): New rule.
20117 (command): Add `menuentry'.
20118 (if_statement): Allow additional returns before `fi'.
20119 * normal/script.c (grub_script_create_cmdmenu): New function.
20120
144f1f98 201212006-01-03 Marco Gerards <marco@gnu.org>
20122
20123 * INSTALL: GNU Bison is required.
20124 * configure.ac: Rewritten the test to detect Bison.
20125 * Makefile.in (YACC): New variable. Reported by Xun Sun
20126 <xun.sun.cn@gmail.com>.
20127
af4b2d89 201282006-01-03 Marco Gerards <marco@gnu.org>
20129
20130 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
20131 the HFS+ filesystem to filesystem blocks.
20132 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
20133 GCC warning is silenced.
20134
15643b71 201352006-01-03 Marco Gerards <marco@gnu.org>
20136
20137 * partmap/apple.c (apple_partition_map_iterate): Convert the data
20138 read from disk from big endian to host byte order.
20139
00905879 201402006-01-03 Hollis Blanchard <hollis@penguinppc.org>
20141
20142 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
20143 documentation.
20144 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
20145 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
20146 embedded HFS+ filesystem.
20147 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
20148 (grub_hfs_sblock): Move from here...
20149 * include/grub/hfs.h: To here... New file.
20150 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
20151 documentation.
20152 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
20153 New macros.
20154 (grub_hfsplus_volheader): Change type of member `magic' to
20155 `grub_uint16_t'.
20156 (grub_hfsplus_data): Add new member `embedded_offset'.
20157 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
20158 returned block.
20159 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
20160 Calculate the offset.
20161
8899bc3e 201622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20163
20164 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
20165 Removed.
20166 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
20167
ae8c0277 201682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20169
20170 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
20171 ENV->NAME is NULL after allocating ENV->VALUE.
20172
07084456 201732005-12-25 Marco Gerards <marco@gnu.org>
20174
20175 * kern/env.c (grub_env_set): Rewritten the error handling code.
20176
4750f5f1 201772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20178
20179 * geninit.sh: Made more robust, and more portable.
20180
50214199 201812005-12-25 Marco Gerards <marco@gnu.org>
20182
20183 Add support for Apple HFS+ filesystems.
f19dbdb7 20184
50214199 20185 * fs/hfsplus.c: New file.
20186
20187 * DISTLIST: Added `fs/hfsplus.c'.
20188
20189 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
20190 (hfsplus_mod_SOURCES): New variable.
20191 (hfsplus_mod_CFLAGS): Likewise.
20192 (hfsplus_mod_LDFLAGS): Likewise.
20193 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
20194 (grub_setup_SOURCES): Likewise.
20195 (grub_mkdevicemap_SOURCES): Likewise.
20196 (grub_emu_SOURCES): Likewise.
20197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20198
20199 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
20200
20201 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
20202
befaed6c 202032005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
20204
20205 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
20206 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
20207 include/grub/parser.h, include/grub/script.h, kern/parser.c,
20208 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
20209 normal/lexer.c, normal/parser.y, normal/script.c, and
20210 partmap/gpt.c.
20211 Removed kern/sparc64/cache.c.
20212
20213 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
20214 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
20215 grub_emu_init.c.
20216
20217 * configure.ac (AC_INIT): Bumped to 1.92.
20218
6a124103 202192005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
20220
20221 * kern/err.c (grub_error_push): Added new function to support error
20222 stacks.
20223 (grub_error_pop): Likewise.
20224 (grub_error_stack_items): New local variable to support error stacks.
20225 (grub_error_stack_pos): Likewise.
20226 (grub_error_stack_assert): Likewise.
20227 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
20228 stack depth.
20229 (grub_print_error): Added support to print errors from error stack.
20230
20231 * include/grub/err.h (grub_error_push): Added function prototype.
20232 (grub_error_pop): Likewise.
20233
be973c1b 202342005-12-09 Hollis Blanchard <hollis@penguinppc.org>
20235
20236 * configure.ac: Accept `powerpc64' as host_cpu.
20237 (amd64): Rename to `biarch32'.
20238
20239 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
20240 non-cacheline-aligned addresses.
20241
20242 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
20243 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
20244 if `size' is non-zero.
20245
b04216ab 202462005-12-03 Marco Gerards <mgerards@xs4all.nl>
20247
20248 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
20249 and `cd' to make sure the filename is not prefixed with a
20250 directory name.
20251 (pkgdata_MODULES): Add `gpt.mod'.
20252 (gpt_mod_SOURCES): New variable.
20253 (gpt_mod_CFLAGS): Likewise.
20254 (gpt_mod_LDFLAGS): Likewise.
20255
20256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
20257
20258 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
20259 New macro.
20260
20261 * partmap/gpt.c: New file.
20262
20263 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
20264 GPT partition map is detected.
20265
41730ed9 202662005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
20267
20268 * commands/i386/pc/play.c: New file.
20269 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
20270 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
20271 macros.
f19dbdb7 20272
95dc3643 202732005-11-27 Marco Gerards <mgerards@xs4all.nl>
20274
20275 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
20276 ((unused))' to silence gcc warning.
20277
1569ec51 202782005-11-26 Hollis Blanchard <hollis@penguinppc.org>
20279
20280 * configure.ac: Correct `AC_PROG_YACC' test.
20281
9abde152 202822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20283
20284 * util/powerpc/ieee1275/grub-install.in: Run the mount point
20285 check before installing files.
20286
44b83271 202872005-11-22 Mike Small <smallm@panix.com>
20288
20289 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
20290 number regex so multidigit numbers are recognized correctly.
20291
202922005-11-22 Mike Small <smallm@panix.com>
20293
20294 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
20295 debugging message before attempting to claim memory.
20296 (grub_rescue_cmd_initrd): Add a claim debugging message and try
20297 multiple addresses in case of failure.
20298
9c12956b 202992005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20300
20301 * term/tparm.c (get_space): Remove empty `if' statement.
20302
20303 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
20304
20305 * kern/parser.c (check_varstate): Rename `state' to 's'.
20306
aeaf81d9 203072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20308
20309 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
20310 variable definitions to the beginning of each function. Sort stack
20311 variables by size.
20312 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
20313 `buf' argument to `char *'.
20314
79bbb63f 203152005-11-22 Hollis Blanchard <hollis@penguinppc.org>
20316
20317 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
20318 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20319 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 20320 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20321 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20322 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20323 configfile.mod, search.mod, gzio.mod and test.mod.
20324 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20325 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20326 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20327 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20328 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20329 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20330 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20331 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20332 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20333 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20334 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20335 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20336 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20337 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20338 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20339 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20340 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20341 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20342 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20343 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20344 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20345 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20346 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
20347
20348 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
20349 `grep --include'.
20350 (pkgdata_MODULES): Add test.mod.
20351
233b1628 203522005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20353
20354 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
20355 appending to variables with "+=".
20356 (PModule): Use full pathname to generate *.lst filenames.
20357
20358 * Makefile.in: Fixed list rules moved from genmk.rb.
20359 (.DELETE_ON_ERROR): New special target.
20360 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
20361
20362 * conf/i386-pc.rmk: Include conf/common.mk.
20363 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 20364 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 20365 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
20366 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
20367 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
20368 configfile.mod, search.mod, gzio.mod and test.mod.
20369 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
20370 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
20371 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
20372 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
20373 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
20374 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
20375 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
20376 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
20377 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
20378 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
20379 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20380 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20381 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
20382 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
20383 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
20384 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
20385 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20386 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
20387 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
20388 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
20389 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
20390 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
20391 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
20392 here...
20393 * conf/common.rmk: ... to here. New file.
20394
20395 * conf/common.mk: New file.
20396
16f820c8 203972005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
20398
20399 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
20400 (grub_script.tab.c): ... here.
20401
20402 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
20403 (grub_script.tab.c): ... here.
20404
20405 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
20406 (grub_script.tab.c): ... here.
20407
20408 * normal/command.c (grub_command_find): Fixed a memory leak of
20409 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
20410
63ba1554 204112005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20412
20413 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
20414 "@" which marks the start of a comment on ARM.
20415 (VARIABLE): Likewise.
20416
7f67dc13 204172005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20418
79bbb63f 20419 Add support for Linux/ADFS partition tables.
7f67dc13 20420
20421 * partmap/acorn.c: New file.
20422
20423 * include/grub/acorn_filecore.h: Likewise.
20424
20425 * DISTLIST: Added `partmap/acorn.c' and
20426 `include/grub/acorn_filecore.h'.
f19dbdb7 20427
7f67dc13 20428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20429 `partmap/acorn.c'.
20430 (pkgdata_MODULES): Add `acorn.mod'.
20431 (acorn_mod_SOURCES): New variable.
20432 (acorn_mod_CFLAGS): Likewise.
20433
20434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20435 `partmap/acorn.c'.
20436 (pkgdata_MODULES): Add `acorn.mod'.
20437 (acorn_mod_SOURCES): New variable.
20438 (acorn_mod_CFLAGS): Likewise.
20439
20440 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
20441 (pkgdata_MODULES): Add `acorn.mod'.
20442 (acorn_mod_SOURCES): New variable.
20443 (acorn_mod_CFLAGS): Likewise.
20444 (acorn_mod_LDFLAGS): Likewise.
20445
20446 * include/types.h (grub_disk_addr_t): New typedef.
20447
6d099807 204482005-11-13 Marco Gerards <mgerards@xs4all.nl>
20449
20450 * geninit.sh: New file.
20451
20452 * geninitheader.sh: Likewise.
20453
20454 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
20455 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
20456 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
20457 * commands/configfile.c (grub_configfile_init)
20458 (grub_configfile_fini): Likewise.
20459 * commands/default.c (grub_default_init, grub_default_fini):
20460 Likewise.
20461 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
20462 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
20463 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
20464 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
20465 Likewise.
20466 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
20467 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
20468 Likewise.
20469 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 20470 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 20471 Likewise.
20472 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
20473 Likewise.
fe6b695a 20474 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 20475 Likewise.
20476 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
20477 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
20478 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
20479 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
20480 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
20481 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
20482 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
20483 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
20484 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
20485 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
20486 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
20487 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
20488 * partmap/amiga.c (grub_amiga_partition_map_init)
20489 (grub_amiga_partition_map_fini): Likewise.
20490 * partmap/apple.c (grub_apple_partition_map_init)
20491 (grub_apple_partition_map_fini): Likewise.
20492 * partmap/pc.c (grub_pc_partition_map_init)
20493 (grub_pc_partition_map_fini): Likewise.
20494 * partmap/sun.c (grub_sun_partition_map_init,
20495 grub_sun_partition_map_fini): Likewise.
20496 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
20497 Likewise.
20498
20499 * util/grub-emu.c: Include <grub_modules_init.h>.
20500 (main): Don't initialize and de-initialize any modules directly,
20501 use `grub_init_all' and `grub_fini_all' instead.
20502
20503 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
20504 `grub_vesafb_mod_init'.
20505 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
20506 all users.
20507 * term/i386/pc/vga.c (grub_vga_init): Renamed to
20508 `grub_vga_mod_init'. Updated all users.
20509 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 20510
6d099807 20511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
20512 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
20513 rules.
20514
20515 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
20516 Generate a function to initialize the module in utilities.
20517 Updated all callers.
20518 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
20519 initialize the module in utilities. Updated all callers.
20520
9046bcf0 205212005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20522
20523 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
20524 escape sequence and a literal ^L to clear the screen.
20525
20526 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
20527 when returning from Open Firmware.
20528
d13ea639 205292005-11-09 Hollis Blanchard <hollis@penguinppc.org>
20530
20531 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
20532 (grub_ofconsole_height): Likewise.
20533 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
20534 manually insert a '\n'.
20535 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
20536 `grub_ofconsole_height'. Return early if these are already set.
20537
a8fcf206 205382005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
20539
20540 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
20541 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
20542 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
20543 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
20544 and `normal/script.c'.
20545 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20546 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20547 (test_mod_SOURCES): New variable.
20548 (test_mod_CFLAGS): Likewise.
20549 (test_mod_LDFLAGS): Likewise.
20550 (pkgdata_MODULES): Add `test.mod'.
20551 (grub_script.tab.c): New rule.
20552 (grub_script.tab.h): Likewise.
20553
b6b32745 205542005-11-07 Marco Gerards <mgerards@xs4all.nl>
20555
20556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20557 `commands/test.c', `normal/execute.c', `normal/lexer.c',
20558 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20559 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20560 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
20561 (test_mod_SOURCES): New variable.
20562 (test_mod_CFLAGS): Likewise.
20563 (pkgdata_MODULES): Add `test.mod'.
20564 (grub_script.tab.c): New rule.
20565 (grub_script.tab.h): Likewise.
20566
daac212a 205672005-11-06 Marco Gerards <mgerards@xs4all.nl>
20568
20569 Add initial scripting support.
20570
20571 * commands/test.c: New file.
20572 * include/grub/script.h: Likewise.
20573 * normal/execute.c: Likewise.
20574 * normal/function.c: Likewise.
20575 * normal/lexer.c: Likewise.
20576 * normal/parser.y: Likewise.
20577 * normal/script.c: Likewise.
20578
20579 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 20580
daac212a 20581 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
20582 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
20583 `normal/function.c' and `normal/script.c'.
20584 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
20585 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 20586 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
20587 variables.
daac212a 20588 (pkgdata_MODULES): Add `test.mod'.
20589 (grub_script.tab.c): New rule.
20590 (grub_script.tab.h): Likewise.
20591
20592 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
20593
20594 * include/grub/normal.h (grub_test_init): New prototype.
20595 (grub_test_fini): Likewise.
f19dbdb7 20596
daac212a 20597 * normal/command.c: Include <grub/script.h>.
20598 (grub_command_execute): Rewritten.
f19dbdb7 20599
daac212a 20600 * util/grub-emu.c (main): Call `grub_test_init' and
20601 `grub_test_fini'.
20602
77500b2b 206032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20604
20605 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
20606 to 0.
20607 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
20608 there are no pending characters.
20609
e45deb9e 206102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20611
20612 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
20613 `grub_strndup' to drop device arguments. Replace unnecessary
20614 `grub_strndup' with `grub_strdup'.
20615
4ce32619 206162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
20617
20618 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
20619 `debug' environment variable has been set.
20620
206212005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20622
4ce32619 20623 * Makefile.in (install-local): Use $(DATA).
20624 (uninstall): Likewise.
20625 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
20626 (sbin_UTILITIES): ... to here.
20627 (sbin_SCRIPTS): New variable.
20628 (grub_install_SOURCES): New variable.
20629 * util/powerpc/ieee1275/grub-install.in: New file.
20630 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
20631 variable.
20632 (add_segments): Call `grub_util_get_path'.
20633
25fe6f03 206342005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
20635
20636 From Timothy Baldwin:
20637 * commands/ls.c (grub_ls_list_files): Close FILE with
20638 grub_file_close.
20639 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
20640
04ccf3ec 206412005-10-24 Marco Gerards <mgerards@xs4all.nl>
20642
20643 * include/grub/parser.h: New file.
20644
20645 * kern/parser.c: Likewise.
20646
20647 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
20648 (grub_setup_SOURCES): Likewise.
20649 (grub_probefs_SOURCES): Likewise.
20650 (grub_emu_SOURCES): Likewise.
20651 (kernel_img_HEADERS): Add `parser.h'.
20652
20653 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20654 (grub_emu_SOURCES): Add `kern/parser.c'.
20655 (grubof_SOURCES): Likewise.
20656
20657 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
20658 (grubof_SOURCES): Add `kern/parser.c'.
20659
20660 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
20661
20662 * kern/misc.c (grub_split_cmdline): Removed function.
20663
20664 * kern/rescue.c: Include <grub/parser.h>.
20665 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
20666 of `grub_split_cmdline'.
20667
20668 * normal/command.c: Include <grub/parser.h>.
20669 (grub_command_execute): Use `grub_parser_split_cmdline' instead
20670 of `grub_split_cmdline'.
20671
20672 * normal/completion.c: Include <grub/parser.h>.
20673 (cmdline_state): New variable.
20674 (iterate_dir): End the filename with a quote depending on the
20675 command line state.
20676 (get_state): new function.
20677 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
20678 split the arguments and determine the current argument. When the
20679 argument string is not quoted, escape all spaces.
20680
6d8f4b0e 206812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20682
20683 * normal/sparc64/setjmp.S: New file.
20684
15cf03ed 206852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20686
20687 * include/grub/sparc64/libgcc.h: New file.
20688 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
20689 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
20690 normal/sparc64/setjmp.c.
20691
03e8661a 206922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
20693
20694 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
20695 * kern/sparc64/cache.S: New file.
20696 * kern/sparc64/cache.c: Removed.
20697 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
20698 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
20699 -mtune=ultrasparc.
20700 (COMMON_LDFLAGS): Add -melf64_sparc.
20701 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
20702 (grubof_SOURCES): Use cache.S instead of cache.c.
20703 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
20704 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
20705 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
20706 commented though.
20707 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
20708 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
20709 (linux_mod_CFLAGS): Commented out.
20710 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
20711 out because module isn't built.
20712 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
20713 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
20714 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
20715 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
20716 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
20717 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20718 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20719 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
20720 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
20721 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
20722 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
20723 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
20724 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
20725 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
20726
34eeec8a 207272005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
20728
20729 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
20730 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
20731 longer, because HFS should not be used on PC.
20732
708367a3 207332005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20734
20735 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
20736 consistently within the loop.
20737
6fa1251a 207382005-10-15 Marco Gerards <mgerards@xs4all.nl>
20739
20740 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
20741 directory can not be read.
20742
4801580b 207432005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20744
20745 * configure.ac (AC_INIT): Increase the version number to 1.91.
20746
20747 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
20748 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
20749 term/i386/pc/serial.c.
20750
219ad426 207512005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20752
20753 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
20754 file size must be permitted.
20755
20756 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
20757 between %ah and %al.
20758
688e5699 207592005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
20760
20761 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
20762 grub_uint64_t.
20763 Call the hook with a NUL-terminated filename.
20764 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
20765 grub_cpu_to_be32.
20766
20767 * kern/term.c (cursor_state): New variable.
20768 (grub_term_set_current): Reset the cursor state on a new
20769 terminal.
20770 (grub_setcursor): Rewritten to use CURSOR_STATE.
20771 (grub_getcursor): New function.
20772
20773 * include/grub/term.h (grub_getcursor): New prototype.
20774
20775 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
20776 integers on ARM. Reported by Timothy Baldwin
20777 <T.E.Baldwin99@members.leeds.ac.uk>.
20778
bb34586c 207792005-10-11 Marco Gerards <mgerards@xs4all.nl>
20780
20781 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
20782 allocated.
20783 (grub_sfs_dir): Likewise.
20784
9a909877 207852005-10-09 Marco Gerards <mgerards@xs4all.nl>
20786
20787 Add support for the SFS filesystem.
20788
20789 * fs/sfs.c: New file.
20790
20791 * DISTLIST: Added `fs/sfs.c'.
20792
20793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
20794 (grub_probefs_SOURCES): Likewise.
20795 (grub_emu_SOURCES): Likewise.
20796 (pkgdata_MODULES): Add `sfs.mod'.
20797 (sfs_mod_SOURCES): New variable.
20798 (sfs_mod_CFLAGS): Likewise.
20799 (sfs_mod_LDFLAGS): Likewise.
20800
20801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
20802 (pkgdata_MODULES): Add `sfs.mod'.
20803 (sfs_mod_SOURCES): New variable.
20804 (sfs_mod_CFLAGS): Likewise.
20805
20806 * util/grub-emu.c (main): Call `grub_sfs_init' and
20807 `grub_sfs_fini'.
20808
20809 * include/grub/fs.h (grub_sfs_init): New prototype.
20810 (grub_sfs_fini): Likewise.
20811
57bdbde3 208122005-10-07 Marco Gerards <mgerards@xs4all.nl>
20813
20814 Add support for the AFFS filesystem.
20815
20816 * fs/affs.c: New file.
20817
20818 * DISTLIST: Added `fs/affs.c'.
20819
20820 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
20821 (grub_probefs_SOURCES): Likewise.
20822 (grub_emu_SOURCES): Likewise.
20823 (pkgdata_MODULES): Add `affs.mod'.
20824 (affs_mod_SOURCES): New variable.
20825 (affs_mod_CFLAGS): Likewise.
20826 (affs_mod_LDFLAGS): Likewise.
20827
20828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
20829 (pkgdata_MODULES): Add `affs.mod'.
20830 (affs_mod_SOURCES): New variable.
20831 (affs_mod_CFLAGS): Likewise.
20832
20833 * util/grub-emu.c (main): Call `grub_affs_init' and
20834 `grub_affs_fini'.
20835
20836 * include/grub/fs.h (grub_affs_init): New prototype.
20837 (grub_affs_fini): Likewise.
20838
047b67e0 208392005-10-01 Marco Gerards <mgerards@xs4all.nl>
20840
20841 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
20842
59b8208a 208432005-10-01 Marco Gerards <mgerards@xs4all.nl>
20844
20845 * configure.ac: Accept `x86_64' as host_cpu. In that case add
20846 `-m32' to CFLAGS.
20847
20848 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
20849 linking.
f19dbdb7 20850
59b8208a 20851 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
20852 (COMMON_LDFLAGS): New variable.
20853 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
20854 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
20855 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
20856 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
20857 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
20858 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
20859 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
20860 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
20861 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
20862 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
20863 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
20864 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
20865 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
20866 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
20867 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
20868 variables.
20869 (normal_mod_ASFLAGS): Add `-m32'.
20870
20871 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
20872 (grub_host_size_t, grub_host_ssize_t): New types.
20873 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 20874 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 20875 `GRUB_HOST_SIZEOF_VOID_P'.
20876
20877 * include/grub/kernel.h (struct grub_module_header): Type of
20878 member offset changed to `grub_host_off_t'. Type of member size
20879 changed to `grub_host_size_t'.
20880 (struct grub_module_info): Type of member offset changed to
20881 `grub_host_off_t'. Type of member size changed to
20882 `grub_host_size_t'.
20883
b4093103 208842005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
20885
20886 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 20887
b4093103 20888 * kern/i386/pc/startup.S (multiboot_header): New label.
20889 (multiboot_entry): Likewise.
20890 (multiboot_trampoline): Likewise.
20891
20892 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20893 Increased to 0x4A0.
20894
20895 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
20896 put parentheses after a question mark.
20897 [!GRUB_UTIL] (my_mod): New variable.
20898
20899 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
20900
b2499b29 209012005-09-28 Marco Gerards <mgerards@xs4all.nl>
20902
20903 Adds support for the XFS filesystem. Btrees are not supported
20904 yet.
20905
20906 * fs/xfs.c: New file.
20907
20908 * DISTLIST: Added `fs/xfs.c'.
20909
20910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
20911 (grub_probefs_SOURCES): Likewise.
20912 (grub_emu_SOURCES): Likewise.
20913 (pkgdata_MODULES): Add `xfs.mod'.
20914 (xfs_mod_SOURCES): New variable.
20915 (xfs_mod_CFLAGS): Likewise.
20916
20917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
20918 (pkgdata_MODULES): Add `xfs.mod'.
20919 (xfs_mod_SOURCES): New variable.
20920 (xfs_mod_CFLAGS): Likewise.
20921
20922 * util/grub-emu.c (main): Call `grub_xfs_init' and
20923 `grub_xfs_fini'.
20924
20925 * include/grub/fs.h (grub_xfs_init): New prototype.
20926 (grub_xfs_fini): Likewise.
20927
f19dbdb7 20928
83d37a62 209292005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
20930
20931 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
20932 color modes, allow greater than 16 colors to be configured as
20933 a default palette.
20934
47d2d65e 209352005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20936
20937 * normal/completion.c (complete_arguments): Add the qualifier
20938 const into OPTIONS.
20939
20940 From Omniflux <omniflux+lists@omniflux.com>:
20941 * include/grub/terminfo.h: New file.
20942 * include/grub/tparm.h: Likewise.
20943 * include/grub/i386/pc/serial.h: Likewise.
20944 * term/terminfo.c: Likewise.
20945 * term/tparm.c: Likewise.
20946 * term/i386/pc/serial.c: Likewise.
20947 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
20948 serial.mod.
20949 (terminfo_mod_SOURCES): New variable.
20950 (terminfo_mod_CFLAGS): Likewise.
20951 (serial_mod_SOURCES): Likewise.
20952 (serial_mod_CFLAGS): Likewise.
20953
48b671ff 209542005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
20955
20956 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
20957 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
20958 and kern/powerpc/ieee1275/cmain.c, respectively.
20959
20960 * boot/powerpc/ieee1275/crt0.S: Moved to ...
20961 * kern/powerpc/ieee1275/crt0.S: ... here.
20962
20963 * boot/powerpc/ieee1275/cmain.c: Moved to ...
20964 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 20965
48b671ff 20966 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
20967 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
20968 instead of boot/powerpc/ieee1275/crt0.S and
20969 boot/powerpc/ieee1275/cmain.c, respectively.
20970
20971 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
20972 sectors. It was not used anyway.
20973
09fc77a7 209742005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20975
20976 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
20977 `unused parameter' warning.
20978
003789c7 209792005-08-30 Hollis Blanchard <hollis@penguinppc.org>
20980
20981 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
20982 function.
20983 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
20984 getcharwidth.
20985
67f44c86 209862005-08-28 Marco Gerards <metgerards@student.han.nl>
20987
20988 * include/grub/normal.h (enum grub_completion_type): Added
20989 `GRUB_COMPLETION_TYPE_ARGUMENT'.
20990
20991 * normal/cmdline.c (print_completion): Handle
20992 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
20993 * normal/menu_entry.c (store_completion): Likewise.
20994
20995 * normal/completion.c (complete_arguments): New function.
20996 (grub_normal_do_completion): Call `complete_arguments' when the
20997 current words start with a dash.
20998
0b5abe02 209992005-08-27 Marco Gerards <metgerards@student.han.nl>
21000
21001 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21002 `gzio.mod' instead of `io.mod').
21003
d9864ee1 210042005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21005
21006 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21007 (DISTDIRS): Added io and video.
21008 Rewrite the search routine to make an output consistently.
21009
21010 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21011 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21012 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21013 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21014 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21015 util/powerpc/ieee1275/misc.c.
f19dbdb7 21016
d9864ee1 21017 * include/grub/gzio.h: New file.
21018 * io/gzio.c: Likewise.
f19dbdb7 21019
d9864ee1 21020 * kern/file.c (grub_file_close): Call grub_device_close only if
21021 FILE->DEVICE is not NULL.
21022
21023 * include/grub/mm.h [!NULL] (NULL): New macro.
21024
21025 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21026
21027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21028 (pkgdata_MODULES): Added gzio.mod.
21029 (gzio_mod_SOURCES): New variable.
21030 (gzio_mod_CFLAGS): Likewise.
21031
21032 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21033 (pkgdata_MODULES): Added gzio.mod.
21034 (gzio_mod_SOURCES): New variable.
21035 (gzio_mod_CFLAGS): Likewise.
21036
21037 * commands/cat.c: Include grub/gzio.h.
21038 (grub_cmd_cat): Use grub_gzfile_open instead of
21039 grub_file_open.
f19dbdb7 21040
d9864ee1 21041 * commands/cmp.c: Include grub/gzio.h.
21042 (grub_cmd_cmp): Use grub_gzfile_open instead of
21043 grub_file_open.
21044
21045 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
21046 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
21047 grub_file_open.
21048 (grub_rescue_cmd_module): Likewise.
21049
fa46f4b5 210502005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21051
21052 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
21053 kern/sparc64/ieee1275/init.c because it contains _start.
21054 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
21055
e9211b5d 210562005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
21057
21058 * configure.ac: Add support for sparc64 host with ieee1275
21059 firmware.
21060 * configure: Generated from configure.ac.
21061 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
21062 instead of int.
21063 (grub_ofdisk_read): Likewise.
21064 (grub_ofdisk_open): Use %p to print pointer values, and cast the
21065 pointers as (void *) to remove a warning.
21066 (grub_ofdisk_close): Likewise.
21067 (grub_ofdisk_read): Likewise.
21068 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
21069 returns, so make it return void to remove a warning.
21070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
21071 Corresponding prototype change.
21072 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
21073 values, and cast the pointers as (void *) to remove a warning.
21074 (grub_mm_dump): Likewise.
21075 * conf/sparc64-ieee1275.mk: New file.
21076 * conf/sparc64-ieee1275.rmk: Likewise.
21077 * include/grub/sparc64/setjmp.h: Likewise.
21078 * include/grub/sparc64/types.h: Likewise.
21079 * include/grub/sparc64/ieee1275/console.h: Likewise.
21080 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21081 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21082 * include/grub/sparc64/ieee1275/time.h: Likewise.
21083 * kern/sparc64/cache.c: Likewise.
21084 * kern/sparc64/dl.c: Likewise.
21085 * kern/sparc64/ieee1275/init.c: Likewise.
21086 * kern/sparc64/ieee1275/openfw.c: Likewise.
21087
385c6a92 210882005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21089
21090 * util/console.c (grub_ncurses_putchar): If C is greater than
21091 0x7f, set C to a question mark.
21092 (grub_ncurses_getcharwidth): New function.
21093 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
21094 getcharwidth.
21095
21096 * normal/menu.c (print_entry): Made aware of Unicode. First,
21097 convert TITLE to UCS-4, and predict the cursor position by
21098 grub_getcharwidth.
21099
21100 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
21101 const to SRC.
21102 * kern/misc.c (grub_utf16_to_utf8): Likewise.
21103
16ccb8b1 211042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21105
21106 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
21107 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21108 grub_strcat.
21109
21110 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
21111 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
21112 grub_strcpy and grub_strlen. Take it into account that a space
21113 character is inserted as a delimiter.
21114
6a85ce79 211152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21116
21117 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 21118 invalid magic in the error.
6a85ce79 21119
21120 * commands/search.c: New file.
f19dbdb7 21121
6a85ce79 21122 * util/grub-emu.c (main): Call grub_search_init and
21123 grub_search_fini.
21124
21125 * kern/rescue.c (grub_rescue_print_disks): Removed.
21126 (grub_rescue_print_devices): New function.
21127 (grub_rescue_cmd_ls): Use grub_device_iterate with
21128 grub_rescue_print_devices instead of grub_disk_dev_iterate with
21129 grub_rescue_print_disks.
21130
21131 * kern/partition.c (grub_partition_iterate): Return the result of
21132 PARTMAP->ITERATE instead of GRUB_ERRNO.
21133
21134 * kern/device.c: Include grub/partition.h.
21135 (grub_device_iterate): New function.
21136
21137 * include/grub/partition.h (grub_partition_iterate): Return int
21138 instead of grub_err_t.
21139
21140 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
21141 prototype.
21142 [GRUB_UTIL] (grub_search_fini): Likewise.
21143
21144 * include/grub/device.h (grub_device_iterate): New prototype.
21145
21146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21147 commands/search.c.
21148 (pkgdata_MODULES): Added search.mod.
21149 (search_mod_SOURCES): New variable.
21150 (search_mod_CFLAGS): Likewise.
21151
21152 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
21153 (pkgdata_MODULES): Added search.mod.
21154 (search_mod_SOURCES): New variable.
21155 (search_mod_CFLAGS): Likewise.
21156
21157 * commands/ls.c (grub_ls_list_disks): Renamed to ...
21158 (grub_ls_list_devices): ... this, and use grub_device_iterate.
21159 All callers changed.
21160
21161 * DISTLIST: Added commands/search.c.
21162
ef095434 211632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
21164
21165 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
21166 conversion.
21167 (grub_getcharwidth): New function.
21168
21169 * kern/misc.c (grub_utf8_to_ucs4): New function.
21170
21171 * include/grub/term.h (struct grub_term): Added a new member
21172 "getcharwidth".
21173 (grub_getcharwidth): New prototype.
21174
21175 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
21176
21177 * term/i386/pc/console.c (map_char): New function. Segregated from
21178 grub_console_putchar.
21179 (grub_console_putchar): Use map_char.
21180 (grub_console_getcharwidth): New function.
21181 (grub_console_term): Specified grub_console_getcharwidth as
21182 getcharwidth.
21183
21184 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
21185 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
21186
21187 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
21188 GRUB_ERRNO.
21189 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
21190 on grub_strtoul completely.
21191 (write_char): Declare local variables in the beginning of the
21192 function.
21193 (grub_vesafb_getcharwidth): New function.
21194 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
21195 getcharwidth.
21196
1f0a95e4 211972005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
21198
21199 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
21200 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
21201 commands/i386/pc/vbetest.c.
21202
21203 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
21204 call grub_vbe_get_controller_info again, because the returned
21205 information is volatile.
21206 (grub_vbe_set_video_mode): Mostly rewritten.
21207 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
21208 grub_vbe_status_t correctly.
21209 (grub_vbe_get_video_mode_info): Likewise.
21210 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
21211 several if statements.
21212
21213 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
21214 * commands/i386/pc/vbeinfo.c: ... this.
21215
21216 * commands/i386/pc/vbe_test.c: Renamed to ...
21217 * commands/i386/pc/vbetest.c: ... this.
21218
21219 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
21220 ...
21221 (grub_cmd_vbeinfo): ... this. Save video modes before
21222 iterating. Skip a video mode, if it is not available, not enough
21223 information is given or it is monochrome. Show the memory
21224 model. Leave the interpretation of MODEVAR to grub_strtoul
21225 completely.
21226 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
21227 (GRUB_MOD_FINI): Likewise.
21228
21229 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
21230 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
21231 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
21232 duplicated grub_env_get. Leave the interpretation of MODEVAR to
21233 grub_strtoul completely.
21234 (real2pm): Removed.
21235 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
21236 (GRUB_MOD_FINI): Likewise.
21237
21238 * normal/misc.c: Include grub/mm.h.
21239
21240 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
21241 vbe_list_modes with vbetest.mod and vbeinfo.mod.
21242 (vbe_list_modes_mod_SOURCES): Removed.
21243 (vbe_list_modes_mod_CFLAGS): Likewise.
21244 (vbe_test_mod_SOURCES): Likewise.
21245 (vbe_test_mod_CFLAGS): Likewise.
21246 (vbeinfo_mod_SOURCES): New variable.
21247 (vbeinfo_mod_CFLAGS): Likewise.
21248 (vbetest_mod_SOURCES): Likewise.
21249 (vbetest_mod_CFLAGS): Likewise.
21250
992ffbbe 212512005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
21252
21253 * normal/misc.c: New file.
21254
21255 * DISTLIST: Added normal/misc.c.
f19dbdb7 21256
992ffbbe 21257 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
21258 DISK to HOOK. Call HOOK with DISK.
21259 * partmap/apple.c (apple_partition_map_iterate): Likewise.
21260 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21261 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21262
21263 * normal/menu_entry.c (struct screen): Added a new member
21264 "completion_shown".
21265 (completion_buffer): New global variable.
21266 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
21267 (store_completion): New function.
21268 (complete): Likewise.
21269 (clear_completions): Likewise.
21270 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
21271 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
21272 a tab, call complete.
21273
21274 * normal/completion.c (disk_dev): Removed.
21275 (print_simple_completion): Likewise.
21276 (print_partition_completion): Likewise.
21277 (print_func): New global variable.
21278 (add_completion): Do not take the arguments WHAT or PRINT any
21279 longer. Added a new argument TYPE. Instead of printing directly,
21280 call PRINT_FUNC if not NULL.
21281 All callers changed.
21282 (complete_device): Use a local variable DEV instead of
21283 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
21284 (grub_normal_do_completion): Take a new argument HOOK. Do not
21285 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
21286 empty string, return NULL instead.
21287 All callers changed.
21288
21289 * normal/cmdline.c (print_completion): New function.
21290
21291 * kern/partition.c (grub_partition_iterate): Add an argument DISK
21292 to HOOK.
21293 All callers changed.
21294
21295 * kern/disk.c (grub_print_partinfo): Removed.
21296
21297 * include/grub/partition.h (struct grub_partition_map): Add a new
21298 argument DISK into HOOK of ITERATE.
21299 (grub_partition_iterate): Add a new argument DISK to HOOK.
21300
21301 * include/grub/normal.h (enum grub_completion_type): New enum.
21302 (grub_completion_type_t): New type.
21303 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
21304 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
21305 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
21306 (GRUB_COMPLETION_TYPE_FILE): Likewise.
21307 (grub_normal_do_completion): Added a new argument HOOK.
21308 (grub_normal_print_device_info): New prototype.
21309
21310 * include/grub/disk.h (grub_print_partinfo): Removed.
21311
21312 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
21313 (normal_mod_SOURCES): Likewise.
21314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21315 (normal_mod_SOURCES): Likewise.
21316
21317 * commands/ls.c (grub_ls_list_disks): Use
21318 grub_normal_print_device_info instead of grub_print_partinfo. Free
21319 PNAME.
21320 (grub_ls_list_files): Use grub_normal_print_device_info instead of
21321 duplicating the code.
21322
0bd41162 213232005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21324
21325 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 21326 follow GCS more precisely.
21327 * commands/i386/pc/vbe_test.c: Likewise.
21328 * include/grub/i386/pc/vbe.h: Likewise.
21329 * term/i386/pc/vesafb.c: Likewise.
21330 * video/i386/pc/vbe.c: Likewise.
0bd41162 21331
6323696a 213322005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
21333
21334 * DISTLIST: Added term/i386/pc/vesafb.c
21335 DISTLIST: Added video/i386/pc/vbe.c
21336 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
21337 DISTLIST: Added commands/i386/pc/vbe_test.c.
21338 * commands/i386/pc/vbe_list_modes.c: New file.
21339 * commands/i386/pc/vbe_test.c: Likewise.
21340 * term/i386/pc/vesafb.c: Likewise.
21341 * video/i386/pc/vbe.c: Likewise.
21342 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
21343 (grub_vbe_probe) Added prototype.
21344 (grub_vbe_set_video_mode) Likewise.
21345 (grub_vbe_get_video_mode) Likewise.
21346 (grub_vbe_get_video_mode_info) Likewise.
21347 (grub_vbe_set_pixel_rgb) Likewise.
21348 (grub_vbe_set_pixel_index) Likewise.
21349 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
21350 (pkgdata_MODULES): Added vesafb.mod.
21351 (pkgdata_MODULES): Added vbe_list_modes.mod.
21352 (pkgdata_MODULES): Added vbe_test.mod.
21353 (vbe_mod_SOURCES): Added.
21354 (vbe_mod_CFLAGS): Likewise.
21355 (vesafb_mod_SOURCES): Likewise.
21356 (vesafb_mod_CFLAGS): Likewise.
21357 (vbe_list_modes_mod_SOURCES): Likewise.
21358 (vbe_list_modes_mod_CFLAGS): Likewise.
21359 (vbe_test_mod_SOURCES): Likewise.
21360 (vbe_test_mod_CFLAGS): Likewise.
21361
0a74e62f 213622005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
21363
0a74e62f 21364 * normal/command.c (grub_command_execute): If INTERACTIVE is
21365 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
21366 CMDLINE. Disable the pager if INTERACTIVE is true.
21367 All callers are changed.
21368
21369 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
21370 before reading a config file.
21371 * normal/main.c (read_config_file): Even if a command is not
21372 found, register it if it is within an entry.
21373
21374 * util/grub-emu.c: Include sys/types.h and unistd.h.
21375 (options): Added --hold.
21376 (struct arguments): Added a new member "hold".
21377 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
21378 missing.
21379 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
21380 cleared by a debugger, if it is not zero.
21381
21382 * include/grub/normal.h (grub_command_execute): Add an argument
21383 INTERACTIVE.
21384
e51f85ae 213852005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
21386
21387 * DISTLIST: Added include/grub/i386/pc/vbe.h.
21388
e9c6f39b 213892005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
21390
21391 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
21392 program with another one, because the old one didn't detect a bug
21393 in gcc-3.4. Always use regparm 2, because the new test is still
21394 not enough for gcc-4.0. Someone must investigate a simple test
21395 case which detects a bug in gcc-4.0.
21396
8de3495c 213972005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
21398
21399 * DISTLIST: Added normal/completion.c.
21400
21401 * normal/completion.c: New file.
f19dbdb7 21402
8de3495c 21403 * term/i386/pc/console.c (grub_console_getwh): New function.
21404 (grub_console_term): Assign grub_console_getwh to getwh.
21405
21406 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
21407 function is defined in normal/completion.c as
21408 grub_normal_do_completion.
21409 (grub_cmdline_get): Use grub_normal_do_completion instead of
21410 grub_tab_complete.
21411
21412 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
21413 returns non-zero, otherwise return 0.
21414 (grub_partition_iterate): First, probe the partition map. Then,
21415 call ITERATE only for this partition map.
21416
21417 * kern/misc.c (grub_strncmp): Rewritten.
21418
21419 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
21420 returns non-zero. Otherwise return 0.
21421
21422 * include/grub/partition.h (grub_partition_map_iterate): Return
21423 int instead of void.
21424
21425 * include/grub/normal.h (grub_normal_do_completion): New prototype.
21426
21427 * include/grub/misc.h (grub_strncmp): Change the type of N to
21428 grub_size_t.
21429
21430 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
21431 of void.
21432
21433 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 21434 unsigned explicitly before comparing it with I.
8de3495c 21435
21436 * kern/main.c (grub_env_write_root): Add the attribute unused into
21437 VAR.
21438
21439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
21440 normal/completion.c.
21441 (normal_mod_SOURCES): Likewise.
21442 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21443 (normal_mod_SOURCES): Likewise.
21444
21445 * normal/command.c (grub_iterate_commands): If ITERATE returns
21446 non-zero, return one immediately.
21447
e85e144b 214482005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
21449
21450 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
21451 * kern/i386/pc/startup.S: Updated Global Descriptor table's
21452 descriptions.
21453 (grub_vbe_get_controller_info): New function.
21454 (grub_vbe_get_mode_info): Likewise.
21455 (grub_vbe_set_mode): Likewise.
21456 (grub_vbe_get_mode): Likewise.
21457 (grub_vbe_set_memory_window): Likewise.
21458 (grub_vbe_get_memory_window): Likewise.
21459 (grub_vbe_set_scanline_length): Likewise.
21460 (grub_vbe_get_scanline_length): Likewise.
21461 (grub_vbe_set_display_start): Likewise.
21462 (grub_vbe_get_display_start): Likewise.
21463 (grub_vbe_set_palette_data): Likewise.
21464 * include/grub/i386/pc/vbe.h: New file.
21465
c46153d2 214662005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21467
21468 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21469 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
21470 * DISTLIST: Likewise.
21471 * kern/ieee1275/of.c: Moved to ...
21472 * kern/ieee1275/ieee1275.c: ... here.
21473
0cb90c45 214742005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21475
21476 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
21477 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
21478 Pass 0 as `end' parameter to grub_strtoul().
21479
a19fb360 214802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
21481
21482 * include/grub/powerpc/ieee1275/console.h: Do not include
21483 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
21484 ifdef.
21485 (grub_console_cur_color): Remove i386-specific prototype.
21486 (grub_console_real_putchar): Likewise.
21487 (grub_console_checkkey): Likewise.
21488 (grub_console_getkey): Likewise.
21489 (grub_console_getxy): Likewise.
21490 (grub_console_gotoxy): Likewise.
21491 (grub_console_cls): Likewise.
21492 (grub_console_setcursor): Likewise.
21493 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
21494 Include <grub/machine/console.h>.
21495 * term/ieee1275/ofconsole.c: Likewise.
21496
4ac9bd04 214972005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
21498
21499 * Makefile.in (LIBLZO): New variable.
21500
21501 * configure.ac: Check for LZO version 2.
21502
21503 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
21504 lzo/lzo1x.h instead of lzo1x.h.
21505
21506 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
21507 of -llzo.
21508
21509 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
21510 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
21511
21512 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
21513 copying the data from PARTITION to P.
21514
f4917dfd 215152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21516
21517 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
21518 negative, unload the module.
21519
21520 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
21521 map is "pc_partition_map" but not "pc".
21522 (usage): Fix the description. The options are --boot-image and
21523 --core-image but not --boot-file or --core-file.
21524 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
21525 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
21526 DEFAULT_DIRECTORY.
21527
21528 * util/i386/pc/grub-install.in: Do not specify --boot-file or
21529 --core-file. Specify INSTALL_DEVICE as an argument.
21530
21531 * util/console.c: Include config.h.
21532 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
21533 [HAVE_NCURSES_H]: Include ncurses.h.
21534 [HAVE_CURSES_H]: Include curses.h.
21535 [!A_NORMAL] (A_NORMAL): Defined as zero.
21536 [!A_STANDOUT] (A_STANDOUT): Likewise.
21537
21538 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
21539 -lncurses.
21540 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
21541
21542 * configure.ac: Check for curses libraries and headers.
21543
21544 * Makefile.in (LIBCURSES): New variable.
21545
21546 * genmk.rb (Script::rule): Set the executable bits.
21547
21548 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
21549 name of the PC partition map is "pc_partition_map" but not "pc".
21550
0e143073 215512005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21552
21553 * util/i386/pc/grub-install.in (grub_probefs): New variable.
21554 (modules): Likewise.
21555 (usage): Added descriptions for --modules and --grub-probefs.
21556 Handle --modules and --grub-probefs. Save the arguments in MODULES
21557 and GRUB_PROBEFS, respectively.
21558 Auto-detect a filesystem module against GRUBDIR. If the result is
21559 empty and modules are not specified explicitly, abort the
21560 installation. Add the result to MODULES.
21561
21562 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
21563 disk/powerpc/ieee1275/ofdisk.c,
21564 include/grub/powerpc/ieee1275/init.h and
21565 term/powerpc/ieee1275/ofconsole.c.
21566 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
21567 term/ieee1275/ofconsole.c.
21568
21569 * include/grub/powerpc/ieee1275/console.h: Resurrected.
21570
21571 * COPYING: Upgraded to the latest version. Only the address of the
21572 FSF office has changed.
f19dbdb7 21573
efd6e6d5 215742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
21575
21576 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
21577 kern/ieee1275.c with kern/ieee1275/of.c.
21578
21579 * kern/ieee1275.c: Moved to ...
21580 * kern/ieee1275/of.c: ... here.
21581
8ceafda2 215822005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
21583
21584 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 21585 readability.
8ceafda2 21586
21587 * config.guess: Updated to the latest version from gnulib.
21588 * config.sub: Likewise.
21589 * install.sh: Likewise.
21590 * mkinstalldirs: Likewise.
21591
21592 * include/grub/console.h: Removed. This file is arch-specific. Do
21593 not put this in include/grub.
21594
21595 * include/grub/i386/pc/console.h: Resurrected.
21596
21597 * util/console.c: Include grub/machine/console.h instead of
21598 grub/console.h.
21599 * util/grub-emu.c: Likewise.
21600
267f6cd9 216012005-08-04 Marco Gerards <metgerards@student.han.nl>
21602
21603 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
21604 hardcoded value.
f19dbdb7 21605
267f6cd9 21606 From Vincent Pelletier <subdino2004@yahoo.fr>
21607 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
21608 Redefined to use grub_getwh.
21609 (grub_term): New member named getwh.
21610 (grub_getwh): New prototype.
21611 * kern/term.c (grub_getwh): New function.
21612 * term/i386/pc/console.c (grub_console_getwh): New function.
21613 (grub_console_term): New member `getwh'.
21614 * term/i386/pc/vga.c (grub_vga_getwh): New function.
21615 (grub_vga_term): New member `getwh'.
0b5abe02 21616 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 21617 grub_ssize_t.
21618 (grub_ofconsole_getw): New function.
21619 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
21620 (grub_ofconsole_term): New field named getwh and new initial
21621 value.
21622
3be7266d 216232005-08-03 Hollis Blanchard <hollis@penguinppc.org>
21624
21625 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
21626 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
21627 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
21628 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
21629 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
21630 of <grub/machine/ieee1275.h>.
21631 * commands/ieee1275/reboot.c: Likewise.
21632 * boot/powerpc/ieee1275/ieee1275.c: Move ...
21633 * kern/ieee1275.c: ... to here. All users updated. Change all
21634 parameter structs to use new type `grub_ieee1275_cell_t'.
21635 * term/powerpc/ieee1275/ofconsole.c: Move ...
21636 * term/ieee1275/ofconsole.c: ... to here. All users updated.
21637 * disk/powerpc/ieee1275/ofdisk.c: Move ...
21638 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
21639 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
21640 to return int.
21641 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
21642 Remove unused prototypes. All users updated.
21643 * include/grub/powerpc/ieee1275/console.h: Removed.
21644 * include/grub/powerpc/ieee1275/ieee1275.h: Define
21645 `grub_ieee1275_cell_t'.
21646 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
21647 Cast comparisons with -1 to the correct type.
21648 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
21649 type to match `grub_ieee1275_entry_fn'.
21650
8b5f3938 216512005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
21652
21653 * DISTLIST: Added util/i386/pc/grub-probefs.c.
21654
21655 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
21656 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
21657 partmap/sun.c.
21658 (grub_probefs_SOURCES): New variable.
21659
21660 * util/i386/pc/grub-probefs.c: New file.
21661
21662 * util/i386/pc/grub-setup.c (main): Call
21663 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
21664 grub_hfs_init and grub_jfs_init to initialize the system. Call
21665 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
21666 grub_pc_partition_map_fini to finish the system.
21667
ea409713 216682005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
21669
21670 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
21671 function.
21672 (grub_multiboot_load_elf32): Likewise.
21673 (grub_multiboot_is_elf64): Likewise.
21674 (grub_multiboot_load_elf64): Likewise.
21675 (grub_multiboot_load_elf): Likewise.
21676 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
21677 an ELF32 or ELF64 file.
21678 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
21679
21680 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
21681 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
21682 NULL before calling FS->LABEL.
21683 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
21684 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
21685 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
21686 before calling FS->LABEL.
21687
141a288b 216882005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
21689
21690 * util/i386/pc/grub-install.in (datadir): New variable.
21691 (libdir): Removed.
21692 (pkgdatadir): New variable.
21693 (pkglibdir): Removed.
21694
0d5f8a54 216952005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
21696
21697 * DISTLIST: Added util/i386/pc/grub-install.in.
21698
21699 * util/i386/pc/grub-install.in: New file.
21700
21701 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
21702 (grub_install_SOURCES): Likewise.
21703
21704 * genmk.rb: Added support for scripts.
21705 (Script): New class.
21706 (scripts): New variable.
21707
21708 * Makefile.in (install-local): Install sbin_SCRIPTS by
21709 INSTALL_SCRIPT.
21710 (uninstall): Remove sbin_SCRIPTS.
21711
21712 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
21713 device, try to get a GRUB device by
21714 grub_util_biosdisk_get_grub_dev.
21715 Free DEST_DEV.
21716
21717 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
21718 description for --device-map.
21719
5f968e1e 217202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21721
21722 Change the semantics of variable hooks. They now return strings
21723 instead of error values.
f19dbdb7 21724
5f968e1e 21725 * util/i386/pc/grub-setup.c: Include grub/env.h.
21726 (setup): Use grub_device_set_root instead of grub_env_set.
21727
21728 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
21729 grub_env_get instead of grub_device_set_root and
21730 grub_device_get_root, respectively.
21731
21732 * kern/main.c (grub_env_write_root): New function.
21733 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
21734 grub_env_set instead of grub_device_set_root.
21735
21736 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
21737 many variables.
21738 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
21739 rather than calling ENV->WRITE_HOOK afterwards.
21740 (grub_env_get): Return the result of ENV->READ_HOOK rather than
21741 passing a pointer of a pointer.
21742 (grub_register_variable_hook): Change the types of "read_hook" and
21743 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
21744 respectively.
21745 Allocate the default empty string on the heap, because this string
21746 may be freed later.
21747
21748 * kern/device.c: Include grub/env.h.
21749 (grub_device_set_root): Removed.
21750 (grub_device_get_root): Likewise.
21751 (grub_device_open): Use grub_env_get instead of
21752 grub_device_get_root.
21753
21754 * include/grub/env.h (grub_env_read_hook_t): New type.
21755 (grub_env_write_hook_t): Likewise.
21756 (grub_env_var): Change the types of "read_hook" and "write_hook"
21757 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
21758 (grub_register_variable_hook): Likewise.
21759
21760 * include/grub/device.h (grub_device_set_root): Removed.
21761 (grub_device_set_root): Likewise.
21762
21763 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
21764 make sure that DIRNAME terminates with '/', so that
21765 grub_fat_find_dir will fail if PATH is not a directory.
21766
21767 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
21768 from DIRNAME.
21769 Use the qualifier auto for print_files and print_files_long.
21770 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
21771 as a regular file.
21772 Put a newline only if there is no error.
21773 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
21774 used.
21775
896f0afd 217762005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
21777
21778 * kern/partition.c (grub_partition_probe): Initialize PART to
21779 NULL. Otherwise, when no partition map is registered, this returns
21780 a garbage.
21781
b28b81b2 217822005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
21783
21784 * partmap/apple.c (apple_partition_map_iterate): Check if POS
21785 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
21786 valid.
21787
5f3607e0 217882005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
21789
21790 * commands/ls.c (grub_ls_list_disks): Print the filesystem
21791 information on each device, if it does not have partitions. Print
21792 "Device" instead of "Disk", because this function is not specific
21793 to disk devices.
21794
21795 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
21796 static to ensure that it is put on the memory rather than a
21797 register.
21798
502c87e8 217992005-07-17 Yoshinori Okuji <okuji@enbug.org>
21800
21801 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
21802 (grub_cat_init): Likewise.
21803 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
21804 (options): Likewise.
21805 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21806 (grub_configfile_init): Likewise.
21807 * font/manager.c (GRUB_MOD_INIT): Likewise.
21808 * commands/help.c (GRUB_MOD_INIT): Likewise.
21809 (grub_help_init): Likewise.
21810 * normal/command.c (grub_command_init): Likewise.
21811 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
21812 * disk/loopback.c (grub_loop_init): Likewise.
21813 (GRUB_MOD_INIT): Likewise.
21814 * commands/ls.c (grub_ls_init): Likewise.
21815 (GRUB_MOD_INIT): Likewise.
21816 (options): Likewise.
21817 * commands/boot.c (grub_boot_init): Likewise.
21818 (GRUB_MOD_INIT): Likewise.
21819 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
21820 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
21821 (GRUB_MOD_INIT): Likewise.
21822 * commands/cmp.c (grub_cmp_init): Likewise.
21823 (GRUB_MOD_INIT): Likewise.
21824
21825 * normal/arg.c: Use <> instead of "" to include header files.
21826 (SHORT_ARG_HELP): New macro.
21827 (SHORT_ARG_USAGE): Likewise.
21828 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
21829 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
21830 descriptions.
21831 (find_short): Check if C is 'h' or 'u' explicitly.
21832 (grub_arg_show_help): Use space characters instead of tabs. Treat
21833 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
21834 are shown with --help and --usage only if they are not used for
21835 the command itself.
21836 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
21837 'h' and 'u'.
21838
21839 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
21840 const into "longarg". Change the type of "shortarg" to int.
21841
f806d18e 218422005-07-17 Yoshinori Okuji <okuji@enbug.org>
21843
21844 * boot/i386/pc/boot.S (boot_drive_check): New label.
21845
21846 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
21847 macro.
21848
21849 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
21850 which do not pass a boot drive correctly. Copied from GRUB Legacy.
21851
e293232b 218522005-07-17 Yoshinori Okuji <okuji@enbug.org>
21853
21854 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
21855 When turning off Gate A20, skip the check and return immediately,
21856 because this is not fatal usually.
21857
ebedfd00 218582005-07-17 Yoshinori Okuji <okuji@enbug.org>
21859
21860 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
21861 be 0x7C00 instead of 0x8000.
21862
21863 * boot/i386/pc/pxeboot.S: Rewritten.
21864
21865 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
21866 EXT_C.
21867 (gate_a20_check_state): Read a byte from 0x108000. Invert the
21868 result.
21869
654fc59f 218702005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
21871
21872 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
21873 robustness. This routine now supports a BIOS call and System
21874 Control Port A to modify the gate A20.
21875
21876 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21877 Increased to 0x440.
21878
09f9923f 218792005-07-12 Hollis Blanchard <hollis@penguinppc.org>
21880
21881 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
21882 device path and resulting ihandle.
21883 (grub_ofdisk_close): dprintf the ihandle being closed.
21884 (grub_ofdisk_read): dprintf function parameters.
21885 * kern/mm.c (grub_mm_init_region): Likewise.
21886 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
21887 (grub_linux_boot): dprintf the Linux entry point, initrd address and
21888 size, and boot arguments.
21889 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
21890 before loading into memory.
21891 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
21892 before loading into memory.
21893
7ef504d8 218942005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
21895
21896 * kern/mm.c: Added much documentation.
21897 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
21898 8, set to 5 instead of 8.
21899
e0f050c2 219002005-07-10 Yoshinori Okuji <okuji@enbug.org>
21901
21902 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
21903
21904 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
21905 (grub_mkdevicemap_SOURCES): New variable.
21906
21907 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
21908 lib/device.c of GRUB Legacy.
21909
7224189a 219102005-07-10 Yoshinori Okuji <okuji@enbug.org>
21911
21912 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
21913 instead of PATH is NULL.
21914
68c864eb 219152005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
21916
21917 * commands/cmp.c (BUFFER_SIZE): New macro.
21918 (grub_cmd_cmp): Close the right file at the right time. Compare
21919 only data just read. Don't report files of different size as
21920 identical. Dynamically allocate buffers. Move variable
21921 declarations at the beginning of function.
21922
e6f3e614 219232005-07-09 Yoshinori Okuji <okuji@enbug.org>
21924
21925 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
21926 reverse.
21927
f8f1559a 219282004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
21929
21930 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
21931 when backspace is pressed at beginning of line.
21932
39c9d41d 219332005-07-03 Yoshinori Okuji <okuji@enbug.org>
21934
21935 * DISTLIST: Added genfslist.sh.
21936
21937 * normal/main.c (fs_module_list): New variable.
21938 (autoload_fs_module): New function.
21939 (read_fs_list): Likewise.
21940 (grub_normal_execute): Call read_fs_list.
21941
21942 * kern/fs.c (grub_fs_autoload_hook): New variable.
21943 (grub_fs_probe): Added support for auto-loading.
21944
21945 * include/grub/normal.h (struct grub_fs_module_list): New struct.
21946 (grub_fs_module_list_t): New type.
21947
21948 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
21949 (grub_fs_autoload_hook): New prototype.
21950
21951 * genfslist.sh: New file.
f19dbdb7 21952
39c9d41d 21953 * genmk.rb: Added a rule to generate a filesystem list.
21954
121c1d83 219552005-06-30 Marco Gerards <metgerards@student.han.nl>
21956
21957 * configure.ac: Fix the test for cross-compiling.
21958
21959 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
21960 define GRUB_UTIL anymore.
21961
21962 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
21963 so this function works on other systems than just big endian.
21964 (load_modules): Likewise.
21965 (add_segments): Likewise.
21966
e75d76e1 219672005-06-23 Hollis Blanchard <hollis@penguinppc.org>
21968
21969 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
21970 contains `l' modifier, get a long from va_arg().
21971
50b5a0a7 219722005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
21973
21974 * kern/mm.c (grub_free): If the next free block which is being
21975 merged is the first free block, set the first block to the block
21976 being freed.
21977 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
21978
89371b20 219792005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21980
21981 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
21982 `grub_ieee1275_chosen'.
21983
168d6e58 219842005-05-08 Hollis Blanchard <hollis@penguinppc.org>
21985
21986 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
21987 (grub_ieee1275_chosen): New variable.
21988 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
21989 `chosen'.
21990 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
21991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21992 Rename first argument to `phandle' for consistency.
21993 (grub_ieee1275_get_property_length): Likewise.
21994 (grub_ieee1275_next_property): Likewise. Change type of first argument
21995 to grub_ieee1275_phandle_t.
21996 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
21997 Move export next to declaration.
21998 (grub_ieee1275_chosen): New variable.
21999 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22000 Correct cosmetic typo.
22001 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22002 `grub_ieee1275_chosen'.
22003 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22004 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22005 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22006 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22007 `grub_ieee1275_chosen'.
22008
ca5baa3f 220092005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22010
22011 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22012 /chosen/bootargs.
22013 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22014 /chosen/bootargs as "variable=value" pairs.
22015
708b345f 220162005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22017
22018 * include/grub/misc.h (grub_dprintf): New macro.
22019 (grub_real_dprintf): New prototype.
22020 (grub_strword): Likewise.
22021 (grub_iswordseparator): Likewise.
22022 * kern/misc.c (grub_real_dprintf): New function.
22023 (grub_strword): Likewise.
22024 (grub_iswordseparator): Likewise.
22025
f4c5e67c 220262005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22027
22028 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22029 (roundup): Remove macro.
22030 (grub_ieee1275_flags): Make static.
22031 (grub_ieee1275_realmode): Remove.
22032 (grub_ieee1275_test_flag): New function.
22033 (grub_ieee1275_set_flag): Likewise.
22034 (find_options): Rename to `grub_ieee1275_find_options'; update
22035 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
22036 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
22037 (cmain): New prototype.
22038 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
22039 `grub_ieee1275_flags' directly.
22040 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
22041 machine/biosdisk.h.
22042 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
22043 Don't include grub/machine/init.h.
22044 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
22045 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
22046 Remove prototype.
22047 (grub_ieee1275_realmode): Likewise.
22048 (grub_ieee1275_flag): New enum.
22049 (grub_ieee1275_test_flag): New prototype.
22050 (grub_ieee1275_set_flag): New prototype.
22051 * include/grub/powerpc/ieee1275/init.h: Remove file.
22052 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
22053 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
22054 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
22055 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
22056 comment.
22057 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
22058 `grub_ieee1275_test_flag'.
22059 (grub_ieee1275_encode_devname): Likewise.
22060
ed16607e 220612005-04-21 Hollis Blanchard <hollis@penguinppc.org>
22062
22063 * include/grub/powerpc/ieee1275/ieee1275.h
22064 (grub_ieee1275_encode_devname): New prototype.
22065 (grub_ieee1275_get_filename): Likewise.
22066 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
22067 function.
22068 (grub_set_prefix): Likewise.
22069 (grub_machine_init): Call grub_set_prefix.
22070 * kern/powerpc/ieee1275/openfw.c: Fix typos.
22071 (grub_parse_type): New enum.
22072 (grub_ieee1275_get_devargs): New function.
22073 (grub_ieee1275_get_devname): Likewise.
22074 (grub_ieee1275_parse_args): Likewise.
22075 (grub_ieee1275_get_filename): Likewise.
22076 (grub_ieee1275_encode_devname): Likewise.
22077
be369920 220782005-03-30 Marco Gerards <metgerards@student.han.nl>
22079
22080 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
22081 `grub_loader_unset'.
22082
a5ce3a4a 220832005-03-26 Hollis Blanchard <hollis@penguinppc.org>
22084
22085 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
22086 instead of grub_ieee1275_interpret.
22087 (grub_halt_init): New function.
22088 (grub_halt_fini): Likewise.
22089 (GRUB_MOD_INIT): Correct message grammar.
22090 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
22091 instead of grub_ieee1275_interpret.
22092 (grub_reboot_init): New function.
22093 (grub_reboot_fini): Likewise.
22094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
22095 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
22096 util/i386/pc/misc.c with commands/ieee1275/halt.c,
22097 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
22098 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
22099 function.
22100 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
22101 Add prototype.
22102 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
22103 prototype.
22104 (grub_halt): Likewise.
22105 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
22106 (cmain): Remove __attribute__((unused)).
22107 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
22108 (grub_heap_len): Likewise.
22109 (grub_machine_fini): New function.
22110 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
22111 (grub_halt): Likewise.
22112 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
22113 function.
22114 * util/powerpc/ieee1275/misc.c: New file.
22115
0058f771 221162005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
22117
22118 * DISTLIST: New file.
22119 * gendistlist.sh: Likewise.
f19dbdb7 22120
0058f771 22121 * Makefile.in (COMMON_DISTFILES): Removed.
22122 (BOOT_DISTFILES): Likewise.
22123 (CONF_DISTFILES): Likewise.
22124 (DISK_DISTFILES): Likewise.
22125 (FS_DISTFILES): Likewise.
22126 (INCLUDE_DISTFILES): Likewise.
22127 (KERN_DISTFILES): Likewise.
22128 (LOADER_DISTFILES): Likewise.
22129 (TERM_DISTFILES): Likewise.
22130 (UTIL_DISTFILES): Likewise.
22131 (DISTFILES): Likewise.
22132 (uninstall): Uninstall files in $(pkgdata_DATA).
22133 (DISTLIST): New target.
22134 (distdir): Use the contents of the file DISTLIST to get a list of
22135 distributed files.
22136
46b3b8a5 221372005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
22138
22139 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
22140 descriptor. This is ported from GRUB Legacy.
22141
22142 * gencmdlist.sh: Added an extra semicolon to make it work with
22143 old sed versions. Reported by Robert Bihlmeyer
22144 <robbe@orcus.priv.at>.
22145
5822ff87 221462005-03-08 Yoshinori Okuji <okuji@enbug.org>
22147
22148 Automatic loading of commands is supported.
f19dbdb7 22149
5822ff87 22150 * normal/main.c (read_command_list): New function.
22151 (grub_normal_execute): Call read_command_list.
22152
22153 * normal/command.c (grub_register_command): Return zero or CMD.
22154 Allocate CMD->NAME from the heap.
22155 Initialize CMD->MODULE_NAME to zero.
22156 Find the same name as well. If the same command is found and it is
22157 a dummy command, overwrite members. If it is not a dummy command,
22158 return zero.
22159 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
22160 (grub_command_find): If a dummy command is found, load a module
22161 and retry to find a command only once.
22162
22163 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
22164 make sure that each command is loaded.
22165
22166 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
22167 macro.
22168 (struct grub_command): Remove const from the member `name'.
22169 Add a new member `module_name'.
22170 (grub_register_command): Return grub_command_t.
22171
22172 * commands/help.c (grub_cmd_help): Call grub_command_find to make
22173 sure that each command is loaded.
22174
22175 * genmk.rb (PModule::rule): Specify a module name without the
22176 suffix ".mod" to gencmdlist.sh.
22177
7b1f4b57 221782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22179
22180 * gencmdlist.sh: New file.
f19dbdb7 22181
7b1f4b57 22182 * genmk.rb (PModule::rule): Generate a rule for a command list.
22183 Clean command.lst.
22184 Generate command.lst from $(COMMANDFILES).
22185
22186 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
22187 (DATA): Added $(pkgdata_DATA).
22188 (install-local): Install files in $(pkgdata_DATA).
22189
062aaf39 221902005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
22191
22192 * term/i386/pc/vga.c (debug_command): Removed.
22193 (GRUB_MOD_INIT): Do not register the command "debug".
22194
22195 From Hollis Blanchard:
22196 * commands/configfile.c: New file.
22197 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22198 commands/configfile.c.
22199 (pkgdata_MODULES): Added configfile.mod.
22200 (configfile_mod_SOURCES): New variable.
22201 (configfile_mod_CFLAGS): Likewise.
22202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22203 commands/configfile.c.
22204 (pkgdata_MODULES): Added configfile.mod.
22205 (configfile_mod_SOURCES): New variable.
22206 (configfile_mod_CFLAGS): Likewise.
22207 * util/grub-emu.c (main): Call grub_configfile_init and
22208 grub_configfile_fini.
22209 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
22210 prototype.
22211 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 22212
cee01aa6 222132005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22214
22215 * normal/arg.c (grub_arg_show_help): Do not show the bug report
22216 address.
22217
22218 * commands/help.c (grub_cmd_help): Do not print newlines after
22219 the last command in print_command_help.
22220
93f3a1d8 222212005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
22222
22223 * commands/default.h: New file.
22224 * commands/timeout.h: Likewise.
22225 * normal/context.c: Likewise.
f19dbdb7 22226
93f3a1d8 22227 * util/misc.c: Do not include sys/times.h.
22228 Include sys/time.h and grub/machine/time.h.
22229 (grub_get_rtc): Rewritten with gettimeofday.
22230
22231 * util/grub-emu.c (main): Call grub_default_init and
22232 grub_timeout_init before grub_normal_init, and call
22233 grub_timeout_fini and grub_default_fini after grub_main.
22234
22235 * util/console.c (grub_ncurses_checkkey): Return the read
22236 character or -1.
22237
22238 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
22239 timeouts.
22240
22241 * normal/main.c (read_config_file): Push MENU. If this fails,
22242 print an error and wait for a user input.
22243 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
22244 If a menu is empty or an error occurs, pop MENU.
22245 (grub_normal_execute): Pop and free MENU after grub_menu_run
22246 returns.
22247
22248 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
22249
22250 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
22251 include time.h.
22252 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22253 without GRUB_UTIL.
22254 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
22255 time.h.
22256 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
22257 without GRUB_UTIL.
22258
22259 * include/grub/normal.h (struct grub_menu_list): New struct.
22260 (grub_menu_list_t): New type.
22261 (struct grub_context): New struct.
22262 (grub_context_t): New type.
22263 (grub_register_command): Got rid of EXPORT_FUNC.
22264 (grub_unregister_command): Likewise.
22265 (grub_context_get): New prototype.
22266 (grub_context_get_current_menu): Likewise.
22267 (grub_context_push_menu): Likewise.
22268 (grub_context_pop_menu): Likewise.
22269 [GRUB_UTIL] (grub_default_init): Likewise.
22270 [GRUB_UTIL] (grub_default_fini): Likewise.
22271 [GRUB_UTIL] (grub_timeout_init): Likewise.
22272 [GRUB_UTIL] (grub_timeout_fini): Likewise.
22273
22274 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
22275 commands/timeout.c and normal/context.c.
22276 (pkgdata_MODULES): Added default.mod and timeout.mod.
22277 (normal_mod_SOURCES): Added normal/context.c.
22278 (default_mod_SOURCES): New variable.
22279 (default_mod_CFLAGS): Likewise.
22280 (timeout_mod_SOURCES): Likewise.
22281 (timeout_mod_CFLAGS): Likewise.
22282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
22283 conf/i386-pc.rmk.
22284 (pkgdata_MODULES): Added default.mod and timeout.mod.
22285 (normal_mod_SOURCES): Added normal/context.c.
22286 (default_mod_SOURCES): New variable.
22287 (default_mod_CFLAGS): Likewise.
22288 (timeout_mod_SOURCES): Likewise.
22289 (timeout_mod_CFLAGS): Likewise.
22290
22291 * Makefile.in (all-local): Added $(MKFILES).
22292
4ed2e1dd 222932005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
22294
22295 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
22296 (grub_emu_SOURCES): Likewise.
22297 (pkgdata_MODULES): Add `sun.mod'.
22298 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22300 `partmap/sun.c'.
22301 (pkgdata_MODULES): Add `sun.mod'.
22302 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
22303 * include/grub/partition.h (grub_sun_partition_map_init): New
22304 prototype.
22305 (grub_sun_partition_map_fini): Likewise.
22306 * partmap/sun.c: New file.
22307 * util/grub-emu.c (main): Initialize and de-initialize the sun
22308 partitionmap support.
22309
4d4e372e 223102005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
22311
22312 This implements an Emacs-like menu entry editor.
f19dbdb7 22313
4d4e372e 22314 * normal/menu_entry.c: New file.
f19dbdb7 22315
4d4e372e 22316 * util/console.c (grub_ncurses_putchar): Translate some Unicode
22317 characters to ASCII.
22318 (saved_char): New variable.
22319 (grub_ncurses_checkkey): Rewritten completely.
22320 (grub_ncurses_getkey): Likewise.
22321 (grub_ncurses_init): Call raw instead of cbreak.
22322
22323 * normal/menu.c (print_entry): Do not put a space.
22324 (init_page): Renamed to ...
22325 (grub_menu_init_page): ... this. All callers changed.
22326 (edit_menu_entry): Removed.
22327 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
22328
22329 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
22330
22331 * kern/misc.c (grub_vprintf): Call grub_refresh.
22332
22333 * normal/menu.c (DISP_LEFT): Renamed to ...
22334 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
22335 * normal/menu.c (DISP_UP): Renamed to ...
22336 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
22337 * normal/menu.c (DISP_RIGHT): Renamed to ...
22338 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
22339 * normal/menu.c (DISP_DOWN): Renamed to ...
22340 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
22341 * normal/menu.c (DISP_HLINE): Renamed to ...
22342 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
22343 * normal/menu.c (DISP_VLINE): Renamed to ...
22344 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
22345 * normal/menu.c (DISP_UL): Renamed to ...
22346 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
22347 * normal/menu.c (DISP_UR): Renamed to ...
22348 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
22349 * normal/menu.c (DISP_LL): Renamed to ...
22350 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
22351 * normal/menu.c (DISP_LR): Renamed to ...
22352 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
22353 * normal/menu.c (TERM_WIDTH): Renamed to ...
22354 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
22355 * normal/menu.c (TERM_HEIGHT): Renamed to ...
22356 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
22357 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
22358 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
22359 * normal/menu.c (TERM_MARGIN): Renamed to ...
22360 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
22361 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
22362 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
22363 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
22364 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
22365 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
22366 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
22367 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
22368 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
22369 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
22370 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
22371 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
22372 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
22373 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
22374 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
22375 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
22376 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
22377 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
22378 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
22379 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
22380 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
22381 All callers changed.
22382
22383 * include/grub/normal.h: New prototype.
22384
22385 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22386 normal/menu_entry.c.
22387 (normal_mod_SOURCES): Likewise.
22388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22389 (normal_mod_SOURCES): Likewise.
22390
e6b92c8a 223912005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
22392
22393 * include/grub/normal.h (grub_halt_init): New prototype.
22394 (grub_halt_fini): Likewise.
22395 (grub_reboot_init): Likewise.
22396 (grub_reboot_fini): Likewise.
22397
22398 * util/grub-emu.c: Include signal.h.
22399 (main_env): New global variable.
22400 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
22401 catch C-c.
22402 (grub_machine_fini): New function.
22403 (main): Call grub_halt_init and grub_reboot_init before
22404 grub_main, and grub_reboot_fini and grub_halt_fini after it.
22405 Call setjmp with MAIN_ENV to go back afterwards.
22406 Call grub_machine_fini right before return.
22407
22408 * include/grub/util/misc.h: Include setjmp.h.
22409 (main_env): New prototype.
22410
22411 * include/grub/kernel.h (grub_machine_fini): New prototype.
22412 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
22413 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
22414
22415 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
22416 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
22417 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 22418
e6b92c8a 22419 * util/i386/pc/misc.c: New file.
f19dbdb7 22420
e6b92c8a 22421 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22422 util/i386/pc/misc.c, commands/i386/pc/halt.c and
22423 commands/i386/pc/reboot.c.
22424
c642636f 224252005-02-14 Guillem Jover <guillem@hadrons.org>
22426
22427 * include/grub/dl.h (grub_dl_check_header): New prototype.
22428 (grub_arch_dl_check_header): Change return type to grub_err_t,
22429 remove size parameter and export function. Update all callers.
22430 * kern/dl.c (grub_dl_check_header): New function.
22431 (grub_dl_load_core): Use `grub_dl_check_header' instead of
22432 `grub_arch_dl_check_header'. Check ELF type. Check if sections
22433 are inside the core.
22434 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
22435 independent ELF header checks.
22436 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22437 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
22438 `grub_dl_check_header' instead of explicit checks. Check for the
22439 ELF type.
22440 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
22441 `grub_dl_check_header' instead of explicit checks. Remove arch
22442 specific ELF header checks.
22443
e6b92c8a 22444 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
22445 argument SIZE.
22446
5eabe94b 224472005-02-13 Hollis Blanchard <hollis@penguinppc.org>
22448
22449 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
22450 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
22451
1b14a681 224522005-02-12 Hollis Blanchard <hollis@penguinppc.org>
22453
22454 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 22455 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 22456 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 22457 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 22458 * partmap/amiga.c (amiga_partition_map_iterate): Return
22459 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
22460 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22461
aca108aa 224622005-02-01 Guillem Jover <guillem@hadrons.org>
22463
22464 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
22465 help info.
22466
c9f9c556 224672005-01-31 Marco Gerards <metgerards@student.han.nl>
22468
22469 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
22470 Removed prototype.
22471 (grub_rescue_cmd_linux): New prototype.
22472 (grub_rescue_cmd_initrd): Likewise.
22473 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
22474 `bi_rec'.
22475 (grub_linux_release_mem): Release the memory for the initrd.
22476 (grub_load_linux): Renamed from this...
22477 (grub_rescue_cmd_linux): ...To this. Changed all callers.
22478 Changed `entry' not to be static. Loop over memory regions to
22479 find another one when the default fails.
22480 (grub_rescue_cmd_initrd): New function.
22481 (grub_linux_init): Remove function.
22482 (grub_linux_fini): Likewise.
22483 (GRUB_MOD_INIT): Register `initrd'.
22484 (GRUB_MOD_FINI): Unregister `initrd'.
22485 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
22486 Function removed.
22487 (grub_linux_normal_fini): Likewise.
22488 (GRUB_MOD_INIT): Register `initrd'.
22489 (GRUB_MOD_FINI): Unregister `initrd'.
22490
990cf3aa 224912005-01-31 Marco Gerards <metgerards@student.han.nl>
22492
22493 * commands/help.c: New file.
22494 * normal/arg.c (show_help): Renamed to...
22495 (grub_arg_show_help): ... this.
22496 * commands/i386/pc/halt.c: New file.
22497 * commands/i386/pc/reboot.c: Likewise.
22498 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
22499 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
22500 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
22501 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
22502 variables.
22503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22504 `commands/help.c'.
22505 (pkgdata_MODULES): Add `help.mod'.
22506 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
22507 * grub/i386/pc/init.h (grub_reboot): New prototype.
22508 (grub_halt): Likewise.
22509 * include/grub/normal.h (grub_arg_show_help): New prototype.
22510 (grub_help_init): Likewise.
22511 (grub_help_fini): Likewise.
22512 * util/grub-emu.c (main): Initialize and deinitialize the help
22513 command.
22514
22515 * normal/cmdline.c (grub_cmdline_get): Doc fix.
22516
22517 * normal/command.c (grub_command_init): Fixed the description of
22518 the `set' and `unset' commands.
22519
225202005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 22521
22522 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
22523 function.
22524 * commands/ieee1275/halt.c: New file.
22525 * commands/ieee1275/reboot.c: Likewise.
22526 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
22527 `__attribute__ ((unused))'. Some GCS related fixed.
22528 (grub_suspend_init) [GRUB_UTIL]: Function removed.
22529 (grub_suspend_fini): Likewise.
22530 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
22531 and `halt.mod'.
22532 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
22533 (halt_mod_CFLAGS): New variables.
22534 * include/grub/powerpc/ieee1275/ieee1275.h
22535 (grub_ieee1275_interpret): New prototype.
22536
1ab09cc7 225372005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
22538
22539 * include/grub/misc.h (memmove): New prototype.
22540 (memcpy): Likewise.
22541
8b8cbdb2 225422005-01-22 Hollis Blanchard <hollis@penguinppc.org>
22543
22544 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
22545 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
22546
e3741a27 225472005-01-22 Marco Gerards <metgerards@student.han.nl>
22548
22549 * kern/misc.c (grub_strndup): Function rewritten.
22550
776bd780 225512005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
22552
22553 * normal/menu.c (TERM_WIDTH): Macro redefined.
22554 (TERM_TOP_BORDER_Y): Likewise.
22555 (draw_border): Replaced while-loop by a for-loop. Make the number
22556 of lines consistent with the number of lines displayed in
22557 print_entries. Added a margin below the rectangle.
22558 (print_entry): Make the entry fit in the rectangle.
22559 (print_entries): Display the scroll arrows next to the right
22560 border.
22561
78026bce 225622005-01-21 Marco Gerards <metgerards@student.han.nl>
22563
22564 * fs/minix.c (grub_minix_find_file): Reserve more space for
22565 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
22566 `grub_strncpy' to copy `path' into it.
22567
67bbaf0f 225682005-01-21 Marco Gerards <metgerards@student.han.nl>
22569
22570 Add the loopback device, a device via which files can be accessed
22571 as devices.
f19dbdb7 22572
67bbaf0f 22573 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
22574 (pkgdata_MODULES): Add loopback.mod.
22575 (loopback_mod_SOURCES): New variable.
22576 (loopback_mod_CFLAGS): Likewise.
22577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22578 `disk/loopback.c'.
22579 (pkgdata_MODULES): Add loopback.mod.
22580 (loopback_mod_SOURCES): New variable.
22581 (loopback_mod_CFLAGS): Likewise.
22582 * disk/loopback.c: new file.
22583 * include/grub/normal.h (grub_loop_init): New prototype.
22584 (grub_loop_fini): New prototype.
22585 * util/grub-emu.c (main): Initialize and de-initialize loopback
22586 support.
22587 * include/grub/disk.h (grub_disk_dev_id): Add
22588 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
22589
6f1c18bd 225902005-01-20 Hollis Blanchard <hollis@penguinppc.org>
22591
22592 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
22593 function.
22594 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
22595 (suspend_mod_SOURCES): New variable.
22596 (suspend_mod_CFLAGS): Likewise.
22597 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
22598 New prototype.
22599 * commands/ieee1275/suspend.c: New file.
22600
b38551da 226012005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22602
22603 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 22604 ((unused))' to `__attribute__ ((used))'.
b38551da 22605 (GRUB_MOD_FINI): Likewise.
22606 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
22607 * genmk.rb (PModule): Assign space to common symbols when linking
22608 modules.
22609
777aff39 226102005-01-20 Marco Gerards <metgerards@student.han.nl>
22611
22612 * include/grub/mm.h (grub_mm_init_region): Change the type of the
22613 `unsigned' arguments to `grub_size_t'.
22614 (grub_malloc): Likewise.
22615 (grub_realloc): Likewise.
22616 (grub_memalign): Likewise.
22617 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
22618 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
22619 * util/misc.c (grub_malloc): Likewise.
22620 (grub_realloc): Likewise.
22621 * kern/mm.c (get_header_from_pointer): Change the casts to
22622 `unsigned' into a cast to `grub_size_t'.
22623
22624 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
22625 point to `currnode' when `currnode' is changed.
22626
22627 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
22628 Schottelius <nico-linux@schottelius.org>.
22629
d0ff18e1 226302005-01-09 Hollis Blanchard <hollis@penguinppc.org>
22631
22632 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
22633 (note_path): Remove variable.
22634 (GRUB_IEEE1275_NOTE_NAME): New macro.
22635 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
22636 (grub_ieee1275_note_hdr): New structure.
22637 (grub_ieee1275_note_desc): Likewise.
22638 (grub_ieee1275_note): Likewise.
22639 (load_note): Remove `dir' argument. All callers updated. Remove
22640 `note_img' and `path'. Do not load a file from `note_path'.
22641 Initialize a struct grub_ieee1275_note and write that to `out'.
22642 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
22643
4ca7004c 226442005-01-05 Marco Gerards <metgerards@student.han.nl>
22645
22646 * util/misc.c (grub_util_read_image): Revert last change. It
22647 called `grub_util_read_at', which seeks from the beginning of the
22648 file.
22649
0b412211 226502005-01-04 Hollis Blanchard <hollis@penguinppc.org>
22651
22652 * TODO: Add note about endianness in grub-mkimage.
22653 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
22654 section.
22655 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
22656 (grub_mkimage_SOURCES): New target.
22657 * include/grub/kernel.h (grub_start_addr): Remove variable.
22658 (grub_end_addr): Likewise.
22659 (grub_total_module_size): Likewise.
22660 (grub_kernel_image_size): Likewise.
22661 (GRUB_MODULE_MAGIC): New constant.
22662 (grub_module_info): New structure.
22663 (grub_arch_modules_addr): New prototype.
22664 (grub_get_end_addr): Remove prototype.
22665 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
22666 * include/grub/powerpc/ieee1275/kernel.h: New file.
22667 * include/grub/util/misc.h (grub_util_get_fp_size): New
22668 prototype.
22669 (grub_util_read_at): Likewise.
22670 (grub_util_write_image_at): Likewise.
22671 * kern/main.c (grub_get_end_addr): Remove function.
22672 (grub_load_modules): Call grub_arch_modules_addr instead of using
22673 grub_end_addr. Look for a grub_module_info struct in memory. Use
22674 the grub_module_info fields instead of calling grub_get_end_addr
22675 as loop conditions. Move grub_add_unused_region code here.
22676 (grub_add_unused_region): Remove function.
22677 * kern/i386/pc/init.c: Include grub/cache.h.
22678 (grub_machine_init): Remove call to grub_get_end_addr. Remove
22679 one call to add_mem_region.
22680 (grub_arch_modules_addr): New function.
22681 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
22682 (grub_total_module_size): Likewise.
22683 Include grub/machine/kernel.h.
22684 (grub_arch_modules_addr): New function.
22685 * util/grub-emu.c (grub_end_addr): Remove variable.
22686 (grub_total_module_size): Likewise.
22687 (grub_arch_modules_addr): New function.
22688 * util/misc.c: Include unistd.h.
22689 (grub_util_get_fp_size): New function.
22690 (grub_util_read_at): Likewise.
22691 (grub_util_write_image_at): Likewise.
22692 (grub_util_read_image): Call grub_util_read_at.
22693 (grub_util_write_image): Call grub_util_write_image_at.
22694 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
22695 additional memory in kernel_img for a struct grub_module_info.
22696 Fill in that grub_module_info.
22697 * util/powerpc/ieee1275/grub-mkimage.c: New file.
22698
458786f8 226992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22700
22701 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
22702 New function.
22703 * include/grub/powerpc/ieee1275/ieee1275.h
22704 (grub_ieee1275_milliseconds): New prototype.
22705 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
22706 Change to 1000.
22707 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
22708 grub_ieee1275_milliseconds.
22709
ac507d1b 227102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
22711
22712 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
22713 variable.
22714 (find_options): New function.
22715 (cmain): Call find_options.
22716 * include/grub/powerpc/ieee1275/ieee1275.h
22717 (grub_ieee1275_realmode): New extern variable.
22718 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
22719 grub_map if grub_ieee1275_realmode is false.
22720
6b8fd1c4 227212004-12-29 Marco Gerards <metgerards@student.han.nl>
22722
22723 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
22724 lines are inserted and make it work like readline. Reported by
22725 Vincent Pelletier <subdino2004@yahoo.fr>.
22726
8514a1e0 227272004-12-28 Marco Gerards <metgerards@student.han.nl>
22728
22729 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
22730
22731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
22732 `kern/powerpc/cache.S'.
22733
924b6140 227342004-12-27 Marco Gerards <metgerards@student.han.nl>
22735
22736 * genmk.rb: Handle the `Program' class in the main loop. Written
22737 by Johan Rydberg <jrydberg@gnu.org>.
22738 (Program): New class.
22739 (programs): New variable.
22740 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
22741 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
22742 instead of "grub/kernel.h". Include <grub/machine/init.h>.
22743 (help_arch): Function removed.
22744 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
22745 `powerpc/libgcc.h' and `loader.h'.
22746 (pkgdata_PROGRAMS): New variable.
22747 (sbin_UTILITIES): Variable removed.
22748 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
22749 (grubof_SOURCES): Variable re-defined so it only includes the
22750 core functionality.
22751 (grubof_CFLAGS): Remove `-DGRUBOF'.
22752 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
22753 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
22754 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
22755 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
22756 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
22757 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
22758 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
22759 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
22760 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
22761 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
22762 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22763 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
22764 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
22765 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
22766 (pc_mod_CFLAGS): New variables.
22767 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
22768 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
22769 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
22770 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
22771 Moved from here...
22772 * include/grub/i386/pc/init.h (grub_os_area_addr)
22773 (rub_os_area_size): ... to here.
22774 * include/grub/powerpc/ieee1275/ieee1275.h
22775 (grub_ieee1275_entry_fn): Export symbol.
22776 * include/grub/powerpc/ieee1275/init.h: New file.
22777 * include/grub/powerpc/libgcc.h: Likewise.
22778 * include/grub/cache.h: Likewise.
22779 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
22780 <hollis@penguinppc.org>.
22781 * kern/dl.c: Include <grub/cache.h>.
22782 (grub_dl_flush_cache): New function.
22783 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
22784 for this module.
22785 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
22786 (grub_console_init): Removed prototypes.
22787 (grub_machine_init): Don't initialize the modules anymore.
22788 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
22789 static.
22790 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
22791 Macro undef removed.
22792 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
22793 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
22794 relocation `R_PPC_REL32'. Return an error when the relocation is
22795 unknown.
22796 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
22797 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
22798 * util/misc.c (grub_arch_sync_caches): Likewise.
22799
e4b47e0c 228002004-12-19 Marco Gerards <metgerards@student.han.nl>
22801
22802 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
22803 `symlist.c', add `grubof_symlist.c'.
22804 (symlist.c): Variable removed.
22805 (grubof_HEADERS): Variable added.
22806 (grubof_symlist.c): New target.
22807 (kernel_syms.lst): Use `grubof_HEADERS' instead of
22808 `kernel_img_HEADERS'.
22809 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
22810 * kern/powerpc/dl.c: New file.
22811 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
22812 Function removed.
22813 (grub_arch_dl_relocate_symbols): Likewise.
22814 (grub_register_exported_symbols): Likewise.
22815
4ceb3636 228162004-12-13 Marco Gerards <metgerards@student.han.nl>
22817
22818 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
22819 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
22820 to fail instead. Reported by Vincent Pelletier
22821 <subdino2004@yahoo.fr>.
22822
22823 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
22824 it is not allocated. Reported by Vincent Pelletier
22825 <subdino2004@yahoo.fr>.
22826
22827 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
22828 output so the output looks better.
f19dbdb7 22829
3f1578fe 228302004-12-04 Marco Gerards <metgerards@student.han.nl>
22831
22832 Modulize the partition map support and add support for the amiga
22833 partition map.
f19dbdb7 22834
3f1578fe 22835 * commands/ls.c: Include <grub/partition.h> instead of
22836 <grub/machine/partition.h>.
22837 * kern/disk.c: Likewise.
22838 * kern/rescue.c: Likewise.
22839 * loader/i386/pc/chainloader.c: Likewise.
22840 * normal/cmdline.c: Likewise.
22841 * kern/powerpc/ieee1275/init.c: Likewise.
22842 (grub_machine_init): Call `grub_pc_partition_map_init',
22843 `grub_amiga_partition_map_init' and
22844 `grub_apple_partition_map_init'.
22845 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
22846 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
22847 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
22848 `partition.h' and `pc_partition.h'.
22849 (grub_setup_SOURCES): Remove
22850 `disk/i386/pc/partition.c'. Add `kern/partition.c',
22851 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22852 (grub_emu_SOURCES): Likewise.
22853 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
22854 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
22855 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
22856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22857 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
22858 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
22859 (grubof_SOURCES): Likewise.
22860 * disk/i386/pc/partition.c: File removed.
22861 * disk/powerpc/ieee1275/partition.c: Likewise.
22862 * include/grub/powerpc/ieee1275/partition.h: Likewise.
22863 * include/grub/i386/pc/partition.h: Likewise.
22864 * kern/partition.c: New file.
22865 * partmap/amiga.c: Likewise.
22866 * partmap/apple.c: Likewise.
22867 * partmap/pc.c: Likewise.
22868 * include/grub/partition.h: Likewise..
22869 * include/grub/pc_partition.h: Likewise.
22870 * util/grub-emu.c: Include <grub/partition.h> instead of
22871 <grub/machine/partition.h>.
22872 (main): Call `grub_pc_partition_map_init',
22873 `grub_amiga_partition_map_init' and
22874 `grub_apple_partition_map_init' and deinitialize afterwards.
22875 * util/i386/pc/biosdisk.c: Include `#include
22876 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22877 `<grub/machine/partition.h>'.
22878 * util/i386/pc/grub-setup.c: Likewise.
22879 * util/i386/pc/biosdisk.c: Likewise.
22880 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
22881 partition information in case of a PC partition.
22882 * util/i386/pc/grub-setup.c: Include `#include
22883 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
22884 `<grub/machine/partition.h>'.
22885 (setup): Only access the PC specific partition information in case
22886 of a PC partition.
22887
0ef4ced9 228882004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22889
0ef4ced9 22890 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
22891 (grub_longjmp): Likewise.
22892 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
22893 20.
22894 * normal/powerpc/setjmp.S: New file.
22895 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
22896 `normal/powerpc/setjmp.S'.
22897 (grubof_CFLAGS): Add `-DGRUBOF'.
22898 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
22899 [GRUB_UTIL && !GRUBOF].
f19dbdb7 22900
19950e29 229012004-11-16 Marco Gerards <metgerards@student.han.nl>
22902
22903 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
22904 property named `name'. Correctly handle the error returned by
22905 `grub_ieee1275_finddevice' if a device can not be opened.
22906
a2fea427 229072004-11-02 Hollis Blanchard <hollis@penguinppc.org>
22908
22909 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
22910 `actual' for negativity.
22911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
22912 kern/fshelp.c.
22913
41ea0ea3 229142004-11-01 Marco Gerards <metgerards@student.han.nl>
22915
22916 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
22917 (PAGE_OFFSET): New macro.
22918 (CRTC_ADDR_PORT): Likewise.
22919 (CRTC_DATA_PORT): Likewise.
22920 (START_ADDR_HIGH_REGISTER): Likewise.
22921 (START_ADDR_LOW_REGISTER): Likewise.
22922 (GRAPHICS_ADDR_PORT): Likewise.
22923 (GRAPHICS_DATA_PORT): Likewise.
22924 (READ_MAP_REGISTER): Likewise.
22925 (INPUT_STATUS1_REGISTER): Likewise.
22926 (INPUT_STATUS1_VERTR_BIT): Likewise.
22927 (page): New variable.
22928 (wait_vretrace): New function.
22929 (set_read_map): Likewise.
22930 (set_start_address): Likewise.
22931 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
22932 the right page.
22933 (check_vga_mem): Take the page into account.
22934 (write_char): Likewise.
22935 (write_cursor): Likewise.
22936 (scroll_up): Likewise. Copy the page to the page that is not
22937 shown and switch between both pages.
22938 (grub_vga_putchar): Fix off by one error.
22939 (grub_vga_cls): Wait for the vertical retrace. Take the page into
22940 account.
22941
ad0bd20b 229422004-11-01 Marco Gerards <metgerards@student.han.nl>
22943
22944 Add support for iso9660 (including rockridge).
f19dbdb7 22945
ad0bd20b 22946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22947 (iso9660_mod_SOURCES): New variable.
22948 (iso9660_mod_CFLAGS): Likewise.
22949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
22950 * include/grub/fs.h (grub_iso9660_init): New prototype.
22951 * util/grub-emu.c (main): Call `grub_iso9660_init'.
22952 * fs/iso9660.c: New file.
22953
22954 * include/grub/misc.h (grub_strncat): New prototype.
22955 * kern/misc.c (grub_strncat): New function.
f19dbdb7 22956
ad0bd20b 22957 * fs/hfs.c (grub_hfs_mount): Translate the error
22958 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
22959 * fs/jfs.c (grub_jfs_mount): Likewise.
22960 * fs/ufs.c (grub_ufs_mount): Likewise.
22961
a5477a59 229622004-10-28 Hollis Blanchard <hollis@penguinppc.org>
22963
22964 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
22965 which initialized BAT registers.
22966 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
22967 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22968 Move from here...
22969 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
22970 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
22971 ... to here.
22972 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
22973 (grub_mapclaim): Likewise.
22974 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
22975 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
22976 hand.
22977
9304c1f8 229782004-10-19 Hollis Blanchard <hollis@penguinppc.org>
22979
22980 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
22981 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
22982 -ffreestanding and -msoft-float.
22983
86f4ae25 229842004-10-15 Hollis Blanchard <hollis@penguinppc.org>
22985
22986 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
22987 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
22988 set in grub_ieee1275_flags.
22989
38912228 229902004-10-14 Hollis Blanchard <hollis@penguinppc.org>
22991
22992 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
22993 prototype.
22994 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
22995 grub_console_init first.
22996 Change the memory range used for grub_ieee1275_claim and
22997 grub_mm_init_region.
22998 Print an error message if the claim fails.
22999 Include <grub/misc.h>.
23000
d1923dc8 230012004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23002
23003 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23004 Call grub_children_iterate for device nodes of type `scsi',
23005 `ide', or `ata'.
23006 (grub_ofdisk_open): Remove manual device alias resolution.
23007 Fix memory leak when device cannot be opened.
f19dbdb7 23008 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23009 (grub_children_iterate): New prototype.
23010 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23011 New function.
23012 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23013 Return -1 if args.size was -1.
23014
4512e4f3 230152004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23016
23017 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23018 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23019 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23020 Open Firmware's memory for it; claim memory from _start to _end.
23021 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23022 (_end): New extern.
23023 (_start): Zero BSS from __bss_start to _end.
23024 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23025 New extern.
23026 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23027
4d61feb0 230282004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23029
ad0bd20b 23030 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23031 -1 if args.base was -1.
4d61feb0 23032
026fa2f9 230332004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23034
23035 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
23036 escape sequence instead of a literal ^L. Also call
23037 grub_ofconsole_gotoxy.
23038
9f2220ef 230392004-10-03 Hollis Blanchard <hollis@penguinppc.org>
23040
23041 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
23042 void * arguments to grub_addr_t. All callers updated. Also make
23043 the `result' argument optional.
23044 (grub_ieee1275_release): change void * arguments to grub_addr_t.
23045 All callers updated.
23046
8a572cd7 230472004-09-22 Hollis Blanchard <hollis@penguinppc.org>
23048
23049 * commands/ls.c (grub_ls_list_files): Use the string following the
23050 initial ')', if present, as the filesystem path.
23051 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
23052
23053 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
23054
18aa81f2 230552004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
23056
23057 Make the source code of the menu interface more readable.
f19dbdb7 23058
18aa81f2 23059 * normal/menu.c: Include grub/mm.h.
23060 (TERM_WIDTH): New macro.
23061 (TERM_HEIGHT): Likewise.
23062 (TERM_INFO_HEIGHT): Likewise.
23063 (TERM_MARGIN): Likewise.
23064 (TERM_SCROLL_WIDTH): Likewise.
23065 (TERM_TOP_BORDER_Y): Likewise.
23066 (TERM_LEFT_BORDER_X): Likewise.
23067 (TERM_BORDER_WIDTH): Likewise.
23068 (TERM_MESSAGE_HEIGHT): Likewise.
23069 (TERM_BORDER_HEIGHT): Likewise.
23070 (TERM_NUM_ENTRIES): Likewise.
23071 (TERM_FIRST_ENTRY_Y): Likewise.
23072 (TERM_ENTRY_WIDTH): Likewise.
23073 (TERM_CURSOR_X): Likewise.
23074 (draw_border): Use macros instead of magic numbers.
23075 (print_entry): Likewise.
23076 (print_entries): Likewise.
23077 (run_menu): Likewise. Also, handle the key 'e'.
23078 (run_menu_entry): Ignore empty command lines.
23079 (print_message): Added a new argument EDIT. If EDIT is true,
23080 print a different message.
23081 (init_page): Likewise.
23082 (edit_menu_entry): New function. Not implemented yet.
23083
b47efe30 230842004-09-17 Marco Gerards <metgerards@student.han.nl>
23085
23086 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
23087 can be loaded from normal mode.
f19dbdb7 23088
b47efe30 23089 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
23090 `multiboot.mod'.
23091 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
23092 (multiboot_mod_CFLAGS): New variables.
23093 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 23094 * loader/i386/pc/multiboot_normal.c: Likewise.
23095
b47efe30 23096 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
23097 attribute `unused'.
f19dbdb7 23098
b47efe30 23099 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
23100 `fdiro' to read the mode information from instead of `diro'.
23101
23102 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
23103 looking up a symlink.
23104
23105 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
23106 macro.
23107 * normal/command.c (grub_command_execute): Don't parse the
23108 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
23109 flags of the command.
23110
23111 * normal/menu.c (grub_menu_run): Fix typo.
23112
da75ac71 231132004-09-14 Hollis Blanchard <hollis@penguinppc.org>
23114
23115 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
23116
23117 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
23118 `y + 1' instead of `y - 1'.
23119
23120 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 23121
062b24c2 231222004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
23123
23124 From Hollis Blanchard <hollis@penguinppc.org>:
23125 * kern/misc.c (memmove): New alias for grub_memmove.
23126 (memcmp): New alias for grub_memcmp.
23127 (memset): New alias for grub_memset.
f19dbdb7 23128 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 23129 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 23130 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 23131 (grub_ieee1275_get_property): Likewise.
f19dbdb7 23132
8ddad845 231332004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
23134
23135 Added normal mode command `chainloader' as module chain.mod, which
23136 depends on normal.mod and _chain.mod.
f19dbdb7 23137
8ddad845 23138 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
23139 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
23140 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
23141 Deleted prototype.
23142 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
23143 but arguments parsing moved to ...
23144 (grub_chainloader_cmd): ... here. New function.
23145 * include/grub/i386/pc/chainloader.h: New file.
23146 * loader/i386/pc/chainloader_normal.c: Likewise.
23147
2c1f4ce3 231482004-09-11 Marco Gerards <metgerards@student.han.nl>
23149
23150 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
23151 (grub_mkimage_LDFLAGS): Likewise.
23152 (grub_emu_SOURCES): Likewise.
23153 (kernel_img_HEADERS): Added fshelp.h.
23154 * fs/ext2.c: Include <grub/fshelp.h>.
23155 (FILETYPE_REG): New macro.
23156 (FILETYPE_INO_REG): Likewise.
23157 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
23158 Changed all users.
23159 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
23160 all users.
23161 (grub_fshelp_node): New struct.
23162 (grub_ext2_data): Added member `diropen'. Changed member `inode'
23163 to a pointer.
23164 (grub_ext2_get_file_block): Removed function.
23165 (grub_ext2_read_block): New function.
23166 (grub_ext2_read_file): Replaced parameter `data' by `node'.
23167 This function was written.
23168 (grub_ext2_mount): Read the root inode. Create a diropen struct.
23169 (grub_ext2_find_file): Removed function.
23170 (grub_ext2_read_symlink): New function.
23171 (grub_ext2_iterate_dir): Likewise.
23172 (grub_ext2_open): Rewritten.
23173 (grub_ext2_dir): Rewritten.
23174 * include/grub/fshelp.h: New file.
23175 * fs/fshelp.c: Likewise.
23176
3c52136a 231772004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
23178
23179 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
23180 (print_message): Add a missing newline.
23181 (run_menu): Added timeout support.
23182 (run_menu_entry): New local function.
23183 (grub_menu_run): Added support for booting.
23184
23185 * kern/loader.c (grub_loader_is_loaded): New function.
23186
23187 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
23188 (grub_get_rtc): Exported.
23189
23190 * include/grub/i386/pc/time.h: Include grub/symbol.h.
23191 (grub_get_rtc): Exported.
23192
23193 * include/grub/normal.h (struct grub_command_list): Remove
23194 constant from the member `command'.
23195
23196 * include/grub/loader.h (grub_loader_is_loaded): Declared.
23197
23198 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
23199
23200 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
23201
aa033560 232022004-08-28 Marco Gerards <metgerards@student.han.nl>
23203
23204 Add support for the JFS filesystem.
23205
23206 * fs/jfs.c: New file.
23207 * include/grub/fs.h (grub_jfs_init): New prototype.
23208 (grub_jfs_fini): New prototype.
23209 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
23210 (grub_emu_SOURCES): Likewise.
23211 (pkgdata_MODULES): Add jfs.mod.
23212 (jfs_mod_SOURCES): New variable.
23213 (jfs_mod_CFLAGS): Likewise.
23214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
23215 (grubof_SOURCES): Likewise.
23216 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
23217
23218 * fs/fat.c (grub_fat_find_dir): Convert the filename little
23219 endian to the host endian.
23220 (grub_fat_utf16_to_utf8): Move function from there...
23221 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 23222 the endianness of the source string anymore.
aa033560 23223 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
23224
94bc45af 232252004-08-24 Marco Gerards <metgerards@student.han.nl>
23226
23227 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
23228 (grub_boot_fini) [GRUB_UTIL]: Likewise.
23229 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
23230 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 23231
94bc45af 23232 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
23233 (grub_hfs_iterate_dir): Make the function static. Add prototypes
23234 for `node_found' and `it_dir'.
23235 (grub_hfs_dir): Add prototype for `dir_hook'.
23236
23237 * fs/minix.c (grub_minix_get_file_block): Add prototype for
23238 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
23239 and `indir32' to silence a gcc warning.
23240
23241 * include/grub/fs.h (grub_hfs_init): New prototype.
23242 (grub_hfs_fini): Likewise.
f19dbdb7 23243
23244
97543f08 232452004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23246
23247 Each disk device has its own id now. This is useful to make use
23248 of multiple disk devices.
f19dbdb7 23249
97543f08 23250 * include/grub/disk.h (grub_disk_dev_id): New enum.
23251 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
23252 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
23253
23254 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
23255 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23256
23257 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
23258 GRUB_DISK_DEVICE_OFDISK_ID as an id.
23259
23260 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
23261 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
23262
23263 * include/grub/disk.h (struct grub_disk_dev): Added a new member
23264 "id" which is used by the cache manager.
23265
23266 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
23267 of just "GRUB".
23268
64372eb4 232692004-08-18 Marco Gerards <metgerards@student.han.nl>
23270
23271 * fs/hfs.c: New file.
23272 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
23273 (grub_emu_SOURCES): Likewise.
23274 (pkgdata_MODULES): Add hfs.mod.
23275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
23276 (grubof_SOURCES): Likewise.
23277 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
23278
23279 * include/grub/misc.h (grub_strncasecmp): Add prototype.
23280 * kern/misc.c (grub_strncasecmp): Add function.
23281
cc61b58f 232822004-08-14 Marco Gerards <metgerards@student.han.nl>
23283
23284 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
23285 with parentheses.
23286
23287 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
23288 (grub_ext2_dir): In case the directory entry type is unknown, read
23289 it from the inode.
23290
0ef123f6 232912004-08-02 Peter Bruin <pjbruin@dds.nl>
23292
23293 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
23294 grub_load_linux instead of grub_rescue_cmd_linux as second
23295 argument of grub_rescue_register_command.
23296
23297 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
23298
a447c5df 232992004-07-27 Marco Gerards <metgerards@student.han.nl>
23300
23301 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
23302 function.
23303 * commands/boot.c: Remove the check for `GRUB_UTIL'.
23304 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23305 `loader/powerpc/ieee1275/linux.c',
23306 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
23307 * include/grub/powerpc/ieee1275/ieee1275.h
23308 (grub_ieee1275_release): New prototype.
23309 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
23310 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
23311 normal, boot, linux and linux_normal.
23312 * loader/powerpc/ieee1275/linux.c: New file.
23313 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23314
5a9e3546 233152004-07-12 Marco Gerards <metgerards@student.han.nl>
23316
23317 * normal/arg.c (grub_arg_parse): Correct error handling after
23318 reallocating the argumentlist (check if `argl' is not null instead
23319 of checking if `args' is not null).
23320 * kern/mm.c (grub_realloc): Return the same pointer when using the
23321 same region, instead of returning the header address.
23322
e15199cb 233232004-07-11 Marco Gerards <metgerards@student.han.nl>
23324
23325 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
23326 one block instead of two when looking for the initial partition.
23327 (grub_partition_probe): Initialize the local variable `p' with 0.
23328 Use base 10 for the grub_strtoul call.
23329 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
23330 need for one local variable.
23331 (grub_strtoul): Don't add the new value to `num', instead of that
23332 just assign it.
23333
020616c2 233342004-07-11 Marco Gerards <metgerards@student.han.nl>
23335
23336 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
23337 (pxeboot_img_SOURCES): New variable.
23338 (pxeboot_img_ASFLAGS): Likewise.
23339 (pxeboot_img_LDFLAGS): Likewise.
23340 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
23341 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
23342 <lode_leroy@hotmail.com>.
23343
6c51eb64 233442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23345
23346 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
23347 there was no input.
23348
cfb12aff 233492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23350
23351 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
23352 the history buffer logic.
23353
6eabba74 233542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
23355
23356 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
23357 (FILETYPE_INO_SYMLINK): New macros.
23358 (grub_ext2_find_file): Check if the node is a directory using the
23359 inode stat information instead of using the filetype in the
23360 dirent. Exclude the first character of an absolute symlink.
23361 (grub_ext2_dir): Mask out the filetype part of the mode member of
23362 the inode.
23363
66e19ef8 233642004-05-24 Marco Gerards <metgerards@student.han.nl>
23365
23366 Add support for UFS version 1 and 2. Add support for the minix
23367 filesystem version 1 and 2, both the variants with 14 and 30 long
23368 filenames.
f19dbdb7 23369
66e19ef8 23370 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
23371 fs/minix.c.
23372 (grub_emu_SOURCES): Likewise.
23373 (pkgdata_MODULES): Add ufs.mod and minix.mod.
23374 (ufs_mod_SOURCES): New variable.
23375 (ufs_mod_CFLAGS): Likewise.
23376 (minix_mod_SOURCES): Likewise.
23377 (minix_mod_CFLAGS): Likewise.
23378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
23379 fs/minix.c.
23380 (grubof_SOURCES): Likewise.
23381 * fs/ufs.c: New file.
23382 * fs/minix.c: New file.
23383 * include/grub/fs.h (grub_ufs_init): New prototype.
23384 (grub_ufs_fini): Likewise.
23385 (grub_minix_init): Likewise.
23386 (grub_minix_fini): Likewise.
23387 * util/grub-emu.c (main): Initialize and deinitialize UFS and
23388 minix fs.
23389
cc2e748a 233902004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
23391
23392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
23393 commands/ls.c, commands/terminal.c, commands/boot.c,
23394 commands/cmp.c and commands/cat.c.
23395 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
23396
23397 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
23398 "env.h"
23399
4b13b216 234002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23401
23402 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
23403 and grub_, respectively. Because the conversion is trivial and
23404 mechanical, I omit the details here. Please refer to the CVS
23405 if you need more information.
23406
6a142551 234072004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23408
23409 * include/pupa: Renamed to ...
23410 * include/grub: ... this.
23411 * util/i386/pc/pupa-mkimage.c: Renamed to ...
23412 * util/i386/pc/grub-mkimage.c: ... this.
23413 * util/i386/pc/pupa-setup.c: Renamed to ...
23414 * util/i386/pc/grub-setup.c: ... this.
23415 * util/pupa-emu.c: Renamed to ...
23416 * util/grub-emu.c: ... this.
23417
e56cdf21 234182004-03-29 Marco Gerards <metgerards@student.han.nl>
23419
23420 Add support for the newworld apple macintosh (PPC). This has been
23421 tested on the powerbook 2000 only. It only adds support for
23422 generic ieee1275 functions, console and disk support. This should
23423 be easy to port to other architectures with support for Open
23424 Firmware.
f19dbdb7 23425
e56cdf21 23426 * configure.ac: Accept the powerpc as host_cpu. In the case of
23427 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
23428 specific tests are only executed while building for the i386.
23429 Inverse test for crosscompile.
23430 * genmk.rb (Utility): Allow assembler files.
23431 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
23432 * conf/powerpc-ieee1275.rmk: New file.
23433 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
23434 * disk/powerpc/ieee1275/partition.c: Likewise.
23435 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
23436 * include/pupa/powerpc/ieee1275/console.h: Likewise.
23437 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
23438 * include/pupa/powerpc/ieee1275/time.h: Likewise.
23439 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
23440 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
23441 * include/pupa/powerpc/ieee1275/loader.h
23442 * include/pupa/powerpc/setjmp.h: Likewise.
23443 * include/pupa/powerpc/types.h: Likewise.
23444 * kern/powerpc/ieee1275/init.c: Likewise.
23445 * kern/powerpc/ieee1275/openfw.c: Likewise.
23446 * term/powerpc/ieee1275/ofconsole.c: Likewise.
23447
23448 These files were written by Johan Rydberg
23449 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 23450
e56cdf21 23451 * boot/powerpc/ieee1275/cmain.c: New file.
23452 * boot/powerpc/ieee1275/crt0.S: Likewise.
23453 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
23454 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
23455
8c8cc205 234562004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
23457
23458 * Makefile.in: Update copyright.
23459 * genmodsrc.sh: Likewise.
23460 * gensymlist.sh: Likewise.
23461 * term/i386/pc/vga.c: Indent correctly.
23462
23463 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
23464 bugreporting address.
23465 * util/i386/pc/pupa-setup.c (usage): Likewise,
23466 (main): Call pupa_ext2_init and pupa_ext2_fini.
23467
f19dbdb7 23468 * fs/fat.c (log2): Renamed to ...
8c8cc205 23469 (fat_log2): ... this.
23470 All callers changed.
23471 * kern/misc.c (memcpy): Alias to pupa_memmove.
23472 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
23473 lvalue cast.
23474 * util/console.c (pupa_ncurses_fini): Return 0.
23475
23476 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
23477 Move fail label here.
23478 [__GNU__]: Don't warn when using stat.
23479 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
23480 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
23481 long int. Use strtol instead of strtoul.
f19dbdb7 23482
db1771cf 234832004-03-14 Marco Gerards <metgerards@student.han.nl>
23484
23485 * commands/boot.c: New file.
23486 * commands/cat.c: Likewise.
23487 * commands/cmp.c: Likewise.
23488 * commands/ls.c: Likewise.
23489 * commands/terminal.c: Likewise.
23490 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
23491 (pupa_register_command): Changed interface to match the new
23492 argument parser.
23493 (pupa_command_execute): Changed (almost rewritten) so it uses
23494 pupa_split_command. Added support for setting variables using the
23495 syntax `foo=bar'.
23496 (rescue_command): Changed to work with the new argument parser.
23497 (terminal_command): Moved from here to commands/terminal.c.
23498 (set_command): New function.
23499 (unset_command): New function.
23500 (insmod_command): New function.
23501 (rmmod_command): New function.
23502 (lsmod_command): New function.
23503 (pupa_command_init): Don't initialize the command terminal
23504 anymore. Initialize the commands set, unset, insmod, rmmod and
23505 lsmod.
23506 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
23507 (kernel_img_HEADERS): Add arg.h and env.h.
23508 (pupa_mkimage_LDFLAGS): Add kern/env.c.
23509 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
23510 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
23511 normal/arg.c.
23512 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
23513 terminal.mod.
23514 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
23515 (boot_mod_SOURCES): New variable.
23516 (terminal_mod_SOURCES): Likewise.
23517 (ls_mod_SOURCES): Likewise.
23518 (cmp_mod_SOURCES): Likewise.
23519 (cat_mod_SOURCES): Likewise.
23520
23521 * normal/arg.c: New file.
23522 * kern/env.c: Likewise.
23523 * include/pupa/arg.h: Likewise.
23524 * include/pupa/env.h: Likewise.
23525 * font/manager.c (font_command): Changed to match argument parsing
23526 interface changes.
23527 (PUPA_MOD_INIT): Likewise.
23528 * hello/hello.c (pupa_cmd_hello): Likewise.
23529 (PUPA_MOD_INIT): Likewise.
23530 * include/pupa/disk.h: Include <pupa/device.h>.
23531 (pupa_print_partinfo): New prototype.
23532 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
23533 (pupa_dl_get_prefix): Likewise.
23534 * include/pupa/misc.h: Include <pupa/err.h>.
23535 (pupa_isgraph): New prototype.
23536 (pupa_isdigit): Likewise.
23537 (pupa_split_cmdline): Likewise.
23538 * include/pupa/normal.h: Include <pupa/arg.h>.
23539 (pupa_command): Changed the prototype of the member `func' to
23540 match the argument parsing interface. Added member `options'.
23541 (pupa_register_command): Updated to match function.
23542 (pupa_arg_parse): New prototype.
23543 (pupa_hello_init) [PUPA_UTIL]: New prototype.
23544 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
23545 (pupa_ls_init) [PUPA_UTIL]: Likewise.
23546 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
23547 (pupa_cat_init) [PUPA_UTIL]: Likewise.
23548 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
23549 (pupa_boot_init) [PUPA_UTIL]: Likewise.
23550 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
23551 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
23552 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
23553 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
23554 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
23555 * kern/disk.c: Include <pupa/file.h>.
23556 (pupa_print_partinfo): New function.
23557 * kern/dl.c: Include <pupa/env.h>.
23558 (pupa_dl_dir): Variable removed.
23559 (pupa_dl_load): Use the environment variable `prefix' instead of
23560 the variable pupa_dl_dir.
23561 (pupa_dl_set_prefix): Function removed.
23562 (pupa_dl_get_prefix): Likewise.
23563 * kern/i386/pc/init.c: Include <pupa/env.h>.
23564 (pupa_machine_init): Use the environment variable `prefix' instead of
23565 using pupa_dl_set_prefix to set the prefix.
23566 * kern/main.c: Include <pupa/env.h>.
23567 (pupa_set_root_dev): Use the environment variable `prefix' instead of
23568 using pupa_dl_get_prefix to get the prefix.
23569 * kern/misc.c: Include <pupa/env.h>.
23570 (pupa_isdigit): New function.
23571 (pupa_isgraph): Likewise.
23572 (pupa_ftoa): Likewise.
23573 (pupa_vsprintf): Added support for printing values of the type
23574 `double'. Make it possible to format variable output when using
23575 formatting like `%1.2%f'.
23576 (pupa_split_cmdline): New function.
23577 * kern/rescue.c: Include <pupa/env.h>.
23578 (next_word): Removed function.
23579 (pupa_rescue_cmd_prefix): Likewise.
23580 (pupa_rescue_cmd_set): New function.
23581 (pupa_rescue_cmd_unset): New function.
23582 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
23583 split the command line instead of splitting it here. Added
23584 support for setting variables using the syntax `foo=bar'. Don't
23585 initialize the prefix command anymore. Initialized the set and
23586 unset commands.
23587 * normal/cmdline.c: Include <pupa/env.h>.
23588 (pupa_tab_complete): Added prototypes for print_simple_completion,
23589 print_partition_completion, add_completion, iterate_commands,
23590 iterate_dev, iterate_part and iterate_dir. Moved code to print
23591 partition information from here to kern/disk.c.
fe6b695a 23592 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 23593 * normal/main.c: Include <pupa/env.h>.
23594 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
23595 instead of using pupa_dl_get_prefix to get the prefix.
23596 * term/i386/pc/vga.c: Include <pupa/arg.h>.
23597 (check_vga_mem): Cast pointers to `void *' to silence a gcc
23598 warning.
23599 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
23600 (pupa_vga_setcolor): Declare unused variables with `__attribute__
23601 ((unused))' to silence a gcc warning.
23602 (pupa_vga_setcolor): Likewise.
23603 (debug_command): Changed to match argument parsing
23604 interface changes.
23605 * util/pupa-emu.c: Include <pupa/env.h>.
23606 (options): Added 0's for unused fields to silence a gcc warning.
23607 (argp): Likewise.
23608 (main): Use the environment variable `prefix' instead of using
23609 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
23610 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
23611 and terminal.
23612
23613 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
23614 * util/misc.c: Include <malloc.h>.
23615 (pupa_malloc): Rewritten so errors are correctly reported.
23616 (pupa_realloc): Likewise.
23617 (pupa_memalign): Likewise.
23618 (pupa_mm_init_region): Declare unused variables with
23619 `__attribute__ ((unused))' to silence a gcc warning.
23620 * normal/i386/setjmp.S: Remove tab at the end of the file to
23621 silence a gcc warning.
23622 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
23623 variables with `__attribute__ ((unused))' to silence a gcc
23624 warning.
23625 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
23626 local variable i unsigned to silence a gcc warning.
23627
23628 * kern/term.c: Include <pupa/misc.h>.
23629 (pupa_more_lines): New variable.
23630 (pupa_more): Likewise.
23631 (pupa_putcode): When the pager is active pause at the end of every
23632 screen.
23633 (pupa_set_more): New function.
23634 * include/pupa/term.h (pupa_set_more): New prototype.
23635
23636
3b1139cb 236372004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
23638
23639 Now this project is GRUB 2 rather than PUPA. The location of
23640 the CVS repository was moved to GRUB's.
f19dbdb7 23641
3b1139cb 23642 * configure.ac: Use bug-grub as the reporting address.
23643 Use GRUB instead of PUPA.
23644 Change the version number to 1.90.
23645
8367695c 236462004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
23647
23648 * genkernsyms.sh: Updated copyright information.
23649 * genmk.rb: Likewise.
23650 * genmodsrc.sh: Likewise.
23651 * gensymlist.sh: Likewise.
23652 * boot/i386/pc/boot.S: Likewise.
23653 * boot/i386/pc/diskboot.S: Likewise.
23654 * disk/i386/pc/biosdisk.c: Likewise.
23655 * disk/i386/pc/partition.c: Likewise.
23656 * font/manager.c: Likewise.
23657 * fs/ext2.c: Likewise.
23658 * fs/fat.c: Likewise.
23659 * include/pupa/boot.h: Likewise.
23660 * include/pupa/device.h: Likewise.
23661 * include/pupa/disk.h: Likewise.
23662 * include/pupa/dl.h: Likewise.
23663 * include/pupa/elf.h: Likewise.
23664 * include/pupa/err.h: Likewise.
23665 * include/pupa/file.h: Likewise.
23666 * include/pupa/font.h: Likewise.
23667 * include/pupa/fs.h: Likewise.
23668 * include/pupa/kernel.h: Likewise.
23669 * include/pupa/loader.h: Likewise.
23670 * include/pupa/misc.h: Likewise.
23671 * include/pupa/mm.h: Likewise.
23672 * include/pupa/net.h: Likewise.
23673 * include/pupa/normal.h: Likewise.
23674 * include/pupa/rescue.h: Likewise.
23675 * include/pupa/setjmp.h: Likewise.
23676 * include/pupa/symbol.h: Likewise.
23677 * include/pupa/term.h: Likewise.
23678 * include/pupa/types.h: Likewise.
23679 * include/pupa/i386/setjmp.h: Likewise.
23680 * include/pupa/i386/types.h: Likewise.
23681 * include/pupa/i386/pc/biosdisk.h: Likewise.
23682 * include/pupa/i386/pc/boot.h: Likewise.
23683 * include/pupa/i386/pc/console.h: Likewise.
23684 * include/pupa/i386/pc/init.h: Likewise.
23685 * include/pupa/i386/pc/kernel.h: Likewise.
23686 * include/pupa/i386/pc/linux.h: Likewise.
23687 * include/pupa/i386/pc/loader.h: Likewise.
23688 * include/pupa/i386/pc/memory.h: Likewise.
23689 * include/pupa/i386/pc/multiboot.h: Likewise.
23690 * include/pupa/i386/pc/partition.h: Likewise.
23691 * include/pupa/i386/pc/time.h: Likewise.
23692 * include/pupa/i386/pc/vga.h: Likewise.
23693 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
23694 * include/pupa/util/getroot.h: Likewise.
23695 * include/pupa/util/misc.h: Likewise.
23696 * include/pupa/util/resolve.h: Likewise.
23697 * kern/device.c: Likewise.
23698 * kern/disk.c: Likewise.
23699 * kern/dl.c: Likewise.
23700 * kern/err.c: Likewise.
23701 * kern/file.c: Likewise.
23702 * kern/fs.c: Likewise.
23703 * kern/loader.c: Likewise.
23704 * kern/main.c: Likewise.
23705 * kern/misc.c: Likewise.
23706 * kern/mm.c: Likewise.
23707 * kern/rescue.c: Likewise.
23708 * kern/term.c: Likewise.
23709 * kern/i386/dl.c: Likewise.
23710 * kern/i386/pc/init.c: Likewise.
23711 * kern/i386/pc/lzo1x.S: Likewise.
23712 * kern/i386/pc/startup.S: Likewise.
23713 * loader/i386/pc/chainloader.c: Likewise.
23714 * loader/i386/pc/linux.c: Likewise.
23715 * loader/i386/pc/multiboot.c: Likewise.
23716 * normal/cmdline.c: Likewise.
23717 * normal/command.c: Likewise.
23718 * normal/main.c: Likewise.
23719 * normal/menu.c: Likewise.
23720 * normal/i386/setjmp.S: Likewise.
23721 * term/i386/pc/console.c: Likewise.
23722 * term/i386/pc/vga.c: Likewise.
23723 * util/console.c: Likewise.
23724 * util/genmoddep.c: Likewise.
23725 * util/misc.c: Likewise.
23726 * util/pupa-emu.c: Likewise.
23727 * util/resolve.c: Likewise.
23728 * util/unifont2pff.rb: Likewise.
23729 * util/i386/pc/biosdisk.c: Likewise.
23730 * util/i386/pc/getroot.c: Likewise.
23731 * util/i386/pc/pupa-mkimage.c: Likewise.
23732 * util/i386/pc/pupa-setup.c: Likewise.
23733
e6eced71 237342004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
23735
23736 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
23737 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
23738 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
23739 reading and reset it after reading.
23740 (pupa_ext2_close): Return PUPA_ERR_NONE.
23741
23742 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
23743 Correct value.
23744 (struct linux_kernel_header): Add kernel_version and
23745 initrd_addr_max.
23746 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
23747 pupa_file_read succeeds.
23748 (pupa_rescue_cmd_initrd): Implement.
23749
5aded270 237502003-12-03 Marco Gerards <metgerards@student.han.nl>
23751
23752 * fs/ext2.c (pupa_ext2_label): New function.
23753 (pupa_ext2_fs): Added label.
23754 * fs/fat.c (pupa_fat_label): New function.
23755 (pupa_fat_fs): Added label.
23756 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
23757
23758 * kern/misc.c (pupa_strndup): New function.
23759 * include/pupa/misc.h (pupa_strndup): New prototype.
23760
23761 * include/pupa/normal.h: Include <pupa/err.h>.
23762 (pupa_set_history): New prototype.
23763 (pupa_iterate_commands): New prototype.
23764 * normal/cmdline.c: Include <pupa/machine/partition.h>,
23765 <pupa/disk.h>, <pupa/file.h>.
23766 (hist_size): New variable.
23767 (hist_lines): Likewise.
23768 (hist_end): Likewise.
23769 (hist_used): Likewise.
23770 (pupa_set_history): New function.
23771 (pupa_history_get): Likewise.
23772 (pupa_history_add): Likewise.
23773 (pupa_history_replace): Likewise.
23774 (pupa_tab_complete): Likewise.
23775 (pupa_cmdline_run): Added tab completion and history buffer. Tab
23776 completion shows partitionnames while completing partitions, this
23777 feature was suggested by Jeff Bailey.
23778 * normal/command.c (pupa_iterate_commands): New function.
23779 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
23780 (pupa_normal_init): Initialize history buffer.
23781 (PUPA_MOD_INIT): Likewise.
23782 (pupa_normal_fini): Free the history buffer.
23783 (PUPA_MOD_FINI): Likewise.
23784
23785 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
23786 key.
23787
23788 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
23789 * configure.ac [i386]: Check for regparam bug.
23790 (NESTED_FUNC_ATTR) [! i386]: Defined.
23791
1f7315a3 237922003-11-17 Marco Gerards <metgerards@student.han.nl>
23793
23794 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
23795 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
23796 (pupa_emu_SOURCES): New variable.
23797 (pupa_emu_LDFLAGS): Likewise.
23798 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
23799 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
23800 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
23801 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23802 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
23803 (pupa_jmp_buf): New typedef.
23804 (pupa_setjmp) [PUPA_UTIL]: New macro.
23805 (pupa_longjmp) [PUPA_UTIL]: Likewise.
23806 * include/pupa/term.h (struct pupa_term): New member `refresh'.
23807 (pupa_refresh): New prototype.
23808 * include/pupa/util/getroot.h: New file.
23809 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
23810 it.
23811 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
23812 (pupa_rescue_cmd_cat): Likewise.
23813 (pupa_rescue_cmd_ls): Likewise.
23814 (pupa_rescue_cmd_testload): Likewise.
23815 (pupa_rescue_cmd_lsmod): Likewise.
23816 * normal/cmdline.c (pupa_cmdline_get): Likewise.
23817 * normal/menu.c (run_menu): Likewise.
23818 * kern/term.c (pupa_cls): Likewise.
23819 (pupa_refresh): New function.
23820 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
23821 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
23822 * util/console.c: New file.
f19dbdb7 23823
1f7315a3 23824 * util/i386/pc/getroot.c: New file.
23825 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
23826 (pupa_putchar): New function.
23827 (pupa_refresh): Likewise.
23828 (xgetcwd): Function moved to ...
23829 (strip_extra_slashes): Likewise.
23830 (get_prefix): Likewise.
f19dbdb7 23831 * util/i386/pc/getroot.c: ... here.
1f7315a3 23832 (find_root_device): Function moved and renamed to...
23833 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
23834 Changed all callers.
23835 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
23836 and renamed to...
23837 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
23838 Changed all callers.
23839 * util/misc.c (pupa_memalign): New function.
23840 (pupa_mm_init_region): Likewise.
23841 (pupa_register_exported_symbols): Likewise.
23842 (pupa_putchar): Function removed.
23843 * util/pupa-emu.c: New file.
23844
9a5c1ade 238452003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
23846
23847 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
23848 (_multiboot_mod_SOURCES): New variable.
23849 (_multiboot_mod_CFLAGS): Likewise.
23850 * loader/i386/pc/multiboot.c: New file.
23851 * include/pupa/i386/pc/multiboot.h: Likewise.
23852 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
23853 (pupa_multiboot_real_boot): New function.
23854 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
23855 (pupa_multiboot_real_boot): New prototype.
23856 (pupa_rescue_cmd_multiboot): Likewise
23857 (pupa_rescue_cmd_module): Likewise.
23858
23859 * kern/loader.c (pupa_loader_set): Continue when
23860 pupa_loader_unload_func() fails.
23861 (pupa_loader_unset): New function.
23862 * include/pupa/loader.h (pupa_loader_unset): New prototype.
23863
23864 * kern/misc.c (pupa_stpcpy): New function.
23865 * include/pupa/misc.h (pupa_stpcpy): New prototype.
23866
8e72a9c0 238672003-11-12 Marco Gerards <metgerards@student.han.nl>
23868
23869 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
23870 for available extensions.
23871
23872 * include/pupa/i386/pc/time.h: New file.
23873 * kern/disk.c: Include <pupa/machine/time.h>.
23874 (PUPA_CACHE_TIMEOUT): New macro.
23875 (pupa_last_time): New variable.
23876 (pupa_disk_open): Flush the cache when there was a timeout.
23877 (pupa_disk_close): Reset the timer.
23878 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
23879 pupa_currticks.
23880 * util/misc.c: Include <sys/times.h>
23881 (pupa_get_rtc): New function.
23882
c4adbd32 238832003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23884
23885 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
23886 as blocks.
23887 (pupa_ext2_get_file_block): Use blocks member.
23888
23889 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
23890 first block. Return -1 instead of pupa_errno on error.
23891
bfd30f06 238922003-10-27 Marco Gerards <metgerards@student.han.nl>
23893
23894 * README: In the pupa-mkimage example use _chain instead of chain
23895 and ext2 instead of fat.
23896 * TODO: Replace ext2fs with jfs as an example. Add an item for
23897 adding journal playback for ext2fs.
23898 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
23899 (pkgdata_MODULES): Added ext2.mod.
23900 (ext2_mod_SOURCES): New variable.
23901 (ext2_mod_CFLAGS): Likewise.
23902 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
23903 * include/pupa/misc.h (pupa_strncpy): New prototype.
23904 (pupa_strcat): Likewise.
23905 (pupa_strncmp): Likewise.
23906 * kern/misc.c (pupa_strcat): Enable function.
23907 (pupa_strncpy): New function.
23908 (pupa_strncmp): Likewise.
23909 * fs/ext2.c: New file.
f19dbdb7 23910
bfd30f06 23911 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
23912 when the read failed before retrying.
23913 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
23914 (_FILE_OFFSET_BITS): Likewise.
23915 * configure.ac: Added AC_SYS_LARGEFILE.
23916
98d15063 239172003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23918
23919 * genmk.rb (PModule#rule): Make sure to get only symbol names
23920 from the output of nm.
59cad637 23921 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 23922
18d9c7cd 239232003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
23924
23925 I forgot to check in these changes for a long time. This adds
23926 incomplete support for VGA console, and this is still very
23927 buggy. Also, a lot of consideration is required for I18N,
23928 UNICODE, and VGA font issues. Therefore, assume that this is
23929 such that "better than nothing".
f19dbdb7 23930
18d9c7cd 23931 * font/manager.c: New file.
23932 * include/pupa/font.h: Likewise.
23933 * include/pupa/i386/pc/vga.h: Likewise.
23934 * term/i386/pc/vga.c: Likewise.
23935 * util/unifont2pff.rb: Likewise.
23936
23937 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
23938 (pkgdata_MODULES): Added vga.mod and font.mod.
23939 (vga_mod_SOURCES): New variables.
23940 (vga_mod_CFLAGS): Likewise.
23941 (font_mod_SOURCES): Likewise.
23942 (font_mod_CFLAGS): Likewise.
23943
23944 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
23945
23946 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 23947 (struct pupa_term): Added init and fini.
18d9c7cd 23948 Changed the argument of putchar to pupa_uint32_t.
23949
23950 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
23951 (pupa_console_real_putchar): New prototype.
23952 (pupa_console_putchar): Removed.
23953 (pupa_console_checkkey): Exported.
23954 (pupa_console_getkey): Likewise.
23955
23956 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
23957 characters.
23958
23959 * kern/term.c (pupa_term_set_current): Rewritten.
23960 (pupa_putchar): Likewise.
23961 (pupa_putcode): New function.
23962
23963 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
23964 (pupa_console_real_putchar): ... this.
23965 (pupa_vga_set_mode): New function.
23966 (pupa_vga_get_font): Likewise.
23967
23968 * normal/command.c: Include pupa/term.h.
23969 (terminal_command): New function.
23970 (pupa_command_init): Register the command "terminal".
23971
23972 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
23973 (DISP_UP): Likewise.
23974 (DISP_RIGHT): Likewise.
23975 (DISP_DOWN): Likewise.
23976 (DISP_HLINE): Likewise.
23977 (DISP_VLINE): Likewise.
23978 (DISP_UL): Likewise.
23979 (DISP_UR): Likewise.
23980 (DISP_LL): Likewise.
23981 (DISP_LR): Likewise.
23982
23983 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 23984
977329f5 239852003-02-08 NIIBE Yutaka <gniibe@m17n.org>
23986
23987 * util/resolve.c (pupa_util_resolve_dependencies): BUG
23988 FIX. Reverse the path_list.
23989
23990 * include/pupa/normal.h: Export pupa_register_command and
23991 pupa_unregister_command.
23992
23993 * hello/hello.c (pupa_cmd_hello): New module.
23994 * conf/i386-pc.rmk: Added hello.mod.
23995
1f5ab428 239962003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
23997
23998 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 23999
1f5ab428 24000 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24001 (compress_kernel): New variable.
24002 (generate_image): Heavily modified to support compressing a
24003 large part of the core image.
24004
24005 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24006 leak.
24007 (pupa_util_load_image): New function.
24008
24009 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24010 (pupa_compressed_size): New variable.
24011 (codestart): Enable Gate A20 here.
24012 Decompress the compressed part of the core image.
24013 Rearrange the code to put functions and variables which are
24014 required for initialization in the non-compressed part.
24015 Include lzo1x.S.
24016
24017 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24018 here.
24019
24020 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24021
f19dbdb7 24022 * include/pupa/i386/pc/kernel.h
1f5ab428 24023 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24024 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24025 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24026 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24027 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24028
24029 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24030
24031 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24032 (Utility#rule): Likewise.
24033
24034 * configure.ac: Check if LZO is available.
24035
ce5bf700 240362003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
24037
24038 * include/pupa/normal.h: New file.
24039 * include/pupa/setjmp.h: Likewise.
24040 * include/pupa/i386/setjmp.h: Likewise.
24041 * normal/cmdline.c: Likewise.
24042 * normal/command.c: Likewise.
24043 * normal/main.c: Likewise.
24044 * normal/menu.c: Likewise.
24045 * normal/i386/setjmp.S: Likewise.
f19dbdb7 24046
ce5bf700 24047 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
24048 (pupa_rescue_cmd_initrd): Likewise.
24049
24050 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
24051 Likewise.
24052
24053 * kern/i386/pc/startup.S (translation_table): New variable.
24054 (translate_keycode): New function.
24055 (pupa_console_getkey): Call translate_keycode.
24056
24057 * kern/rescue.c (attempt_normal_mode): New function.
24058 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
24059 it failed, print a message.
24060
24061 * kern/mm.c (pupa_real_malloc): Print more information when a
24062 free magic is broken.
24063 (pupa_free): If the first free header is not free actually, set
24064 it to P.
24065
24066 * kern/main.c (pupa_load_normal_mode): Just load the module
24067 "normal".
24068 (pupa_main): Don't print the message
24069 "Entering into rescue mode..." here.
24070
24071 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
24072 Declared.
24073 (pupa_rescue_cmd_initrd): Likewise.
24074 (pupa_rescue_cmd_initrd): Likewise.
24075
24076 * include/pupa/symbol.h (FUNCTION): Specify the type.
24077 (VARIABLE): Likewise.
24078
24079 * include/pupa/err.h (pupa_err_t): Added
24080 PUPA_ERR_UNKNOWN_COMMAND.
24081
24082 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
24083 (pupa_dl_get_prefix): Likewise.
24084
24085 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
24086 Added _chain.mod and _linux.mod instead of chain.mod and
24087 linux.mod.
24088 (chain_mod_SOURCES): Renamed to ...
24089 (_chain_mod_SOURCES): ... this.
24090 (chain_mod_CFLAGS): Renamed to ...
24091 (_chain_mod_CFLAGS): ... this.
24092 (linux_mod_SOURCES): Renamed to ...
24093 (_linux_mod_SOURCES): ... this.
24094 (linux_mod_CFLAGS): Renamed to ...
24095 (_linux_mod_CFLAGS): ... this.
24096 (normal_mod_SOURCES): New variable.
24097 (normal_mod_CFLAGS): Likewise.
24098 (normal_mod_ASFLAGS): Likewise.
24099
241002003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
24101
24102 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
24103 possible.
24104
fe6b695a 24105 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 24106 recursively.
24107 (pupa_dl_unref): Unrefer depending modules recursively.
24108 Don't call pupa_dl_unload implicitly, because PUPA can crash if
24109 a module is unloaded before one depending on that module is
24110 unloaded.
24111 (pupa_dl_unload): Unload depending modules explicitly,
24112 if possible.
24113
c04da074 241142003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
24115
24116 * include/pupa/i386/pc/linux.h: New file.
24117 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 24118
c04da074 24119 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
24120 Removed.
24121 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
24122 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
24123 of PUPA_CHAINLOADER_BOOT_SECTOR.
24124
24125 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
24126 (pupa_linux_prot_size): New variable.
24127 (pupa_linux_tmp_addr): Likewise.
24128 (pupa_linux_real_addr): Likewise.
24129 (pupa_linux_boot_zimage): New function.
24130 (pupa_linux_boot_bzimage): Likewise.
24131
24132 * kern/i386/pc/init.c (struct mem_region): New structure.
24133 (MAX_REGIONS): New macro.
24134 (mem_regions): New variable.
24135 (num_regions): Likewise.
24136 (pupa_os_area_addr): Likewise.
24137 (pupa_os_area_size): Likewise.
24138 (pupa_lower_mem): Likewise.
24139 (pupa_upper_mem): Likewise.
24140 (add_mem_region): New function.
24141 (compact_mem_regions): Likewise.
24142 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
24143 the size of the conventional memory and that of so-called upper
24144 memory (before the first memory hole).
24145 Instead of adding each found region to free memory, use
24146 add_mem_region and add them after removing overlaps.
24147 Also, add only 1/4 of the upper memory to free memory. The rest
24148 is used for loading OS images. Maybe this is ad hoc, but this
24149 makes it much easier to relocate OS images when booting.
24150
24151 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
24152 (pupa_enter_rescue_mode): Don't register initrd and module.
24153
24154 * kern/mm.c: Include pupa/dl.h.
24155
24156 * kern/main.c: Include pupa/file.h and pupa/device.h.
24157
24158 * kern/loader.c (pupa_loader_load_module_func): Removed.
24159 (pupa_loader_load_module): Likewise.
24160
24161 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
24162 ``.o''.
24163
24164 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
24165 (pupa_linux_tmp_addr): Likewise.
24166 (pupa_linux_real_addr): Likewise.
24167 (pupa_linux_boot_zimage): Likewise.
24168 (pupa_linux_boot_bzimage): Likewise.
24169
24170 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
24171 (pupa_upper_mem): Likewise.
24172 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
24173 module is too dangerous.
24174
24175 * include/pupa/loader.h (pupa_os_area_addr): Declared.
24176 (pupa_os_area_size): Likewise.
24177 (pupa_loader_set): Remove the first argument. Loader doesn't
24178 manage modules or initrd any longer.
24179 (pupa_loader_load_module): Removed.
24180
24181 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
24182 (linux_mod_SOURCES): New variable.
24183 (linux_mod_CFLAGS): Likewise.
24184
a13f9237 241852003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
24186
24187 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
24188 the length of a blocklist correctly.
24189
24190 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
24191 Use ioctl only if the OS file is a block device.
24192 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
24193 not very useful for normal files.
24194
24195 * kern/main.c (pupa_set_root_dev): New function.
24196 (pupa_load_normal_mode): Likewise.
24197 (pupa_main): Call those above.
24198
24199 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
24200 pupa_uint16_t.
24201
24202 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
24203
a5ffe966 242042003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24205
24206 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
24207 (setup): Configure the installed partition information and the
24208 dl prefix.
24209
24210 * loader/i386/pc/chainloader.c (my_mod): New variable.
24211 (pupa_chainloader_unload): New function.
24212 (pupa_rescue_cmd_chainloader): Refer itself.
24213 (PUPA_MOD_INIT): Save its own module in MY_MOD.
24214
24215 * kern/i386/pc/startup.S (install_partition): Removed.
24216 (version_string): Likewise.
24217 (config_file): Likewise.
24218 (pupa_install_dos_part): New variable.
24219 (pupa_install_bsd_part): Likewise.
24220 (pupa_prefix): Likewise.
24221 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
24222
24223 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
24224 and pupa/misc.h.
24225 (make_install_device): New function.
24226 (pupa_machine_init): Set the dl prefix.
24227
24228 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
24229 (buf): Renamed to ...
24230 (linebuf): ... this.
24231 (pupa_rescue_cmd_prefix): New function.
24232 (pupa_rescue_cmd_insmod): Likewise.
24233 (pupa_rescue_cmd_rmmod): Likewise.
24234 (pupa_rescue_cmd_lsmod): Likewise.
24235 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
24236 rmmod and lsmod.
24237
24238 * kern/mm.c (pupa_memalign): If failed even after invalidating
24239 disk caches, unload unneeded modules and retry.
24240
24241 * kern/misc.c (pupa_memmove): New function.
24242 (pupa_memcpy): Removed.
24243 (pupa_strcpy): New function.
24244 (pupa_itoa): Made static.
24245
24246 * kern/dl.c (pupa_dl_iterate): New function.
24247 (pupa_dl_ref): Likewise.
24248 (pupa_dl_unref): Likewise.
24249 (pupa_dl_unload): Return if succeeded or not.
24250 (pupa_dl_unload_unneeded): New function.
24251 (pupa_dl_unload_all): Likewise.
24252 (pupa_dl_init): Renamed to ...
24253 (pupa_dl_set_prefix): ... this.
24254 (pupa_dl_get_prefix): New function.
24255
24256 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
24257 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
24258 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24259 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24260 (pupa_install_dos_part): Declared.
24261 (pupa_install_bsd_part): Likewise.
24262 (pupa_prefix): Likewise.
24263 (pupa_boot_drive): Likewise.
24264
24265 * include/pupa/types.h: Fix a typo.
24266
24267 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
24268 pupa_memmove.
24269 (pupa_memmove): Declared.
24270 (pupa_strcpy): Likewise.
24271
24272 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
24273 pupa_mod_init takes one argument, its own module.
24274 (pupa_dl_unload_unneeded): Declared.
24275 (pupa_dl_unload_all): Likewise.
24276 (pupa_dl_ref): Likewise.
24277 (pupa_dl_unref): Likewise.
24278 (pupa_dl_iterate): Likewise.
24279 (pupa_dl_init): Renamed to ...
24280 (pupa_dl_set_prefix): ... this.
24281 (pupa_dl_get_prefix): Declared.
24282
24283 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 24284 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 24285 unloaded.
24286 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
24287 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
24288
24289 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
24290 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
24291
012d7999 242922003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24293
24294 * util/i386/pc/pupa-setup.c (setup): Define the internal
24295 function find_first_partition_start at the top level, because GCC
24296 3.0.x cannot compile internal functions in deeper scopes
24297 correctly.
24298 (find_root_device): Use lstat instead of stat.
24299 Don't follow symbolic links.
24300 Fix the path-constructing code.
24301
24302 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
24303 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
24304 by a BLKGETSIZE ioctl first, because block devices don't fill
24305 the member st_mode of the structure stat on Linux.
24306 [__linux__] (linux_find_partition): Use a temporary buffer
24307 REAL_DEV for the working space. Copy it to DEV before returning.
24308 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
24309 buffer cache consistent.
24310 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
24311 strncmp. The previous value was merely wrong.
24312 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
24313
24314 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
24315 FAT size is 12. The previous value was merely wrong.
24316
24317 * kern/main.c (pupa_main): Don't split the starting message from
24318 newlines.
24319
24320 * kern/term.c (pupa_putchar): Put CR after LF instead of before
24321 LF, because BIOS goes crazy about character attributes in this
24322 case.
24323
1cc73a62 243242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
24325
24326 * include/i386/pc/util/biosdisk.h: New file.
24327 * util/i386/pc/biosdisk.c: Likewise.
24328 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 24329
1cc73a62 24330 * Makefile.in (INCLUDE_DISTFILES): Added
24331 include/pupa/i386/pc/util/biosdisk.h.
24332 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
24333 directory util/i386/pc.
24334 (install-local): Added a rule for sbin_UTILITIES.
24335 (uninstall): Likewise.
24336
24337 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
24338
24339 * util/misc.c (xrealloc): New function.
24340 (pupa_malloc): Likewise.
24341 (pupa_free): Likewise.
24342 (pupa_realloc): Likewise.
24343 (pupa_stop): Likewise.
24344 (pupa_putchar): Likewise.
24345
24346 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
24347
24348 * include/pupa/util/misc.h (xrealloc): Declared.
24349
24350 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
24351 macro.
24352 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
24353 (PUPA_BOOT_MACHINE_BPB_END): ... this.
24354
24355 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
24356 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24357
24358 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
24359 way should be implemented.
24360 [PUPA_UTIL] (pupa_fat_fini): Likewise.
24361
24362 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
24363 the size of NAME for safety.
24364 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
24365 0x88.
24366
24367 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
24368 (pupa_setup_SOURCES): Likewise.
24369
24370 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
24371
08b70fe8 243722002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24373
24374 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
24375 bunch of pushl's from pusha, because this destroys the return
24376 value.
24377
62ddcc8f 243782002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
24379
24380 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
24381 This means that any missing prototypes could be fatal. Also, you
24382 must take care when writing assembly code. See the comments at
24383 the beginning of startup.S, for more details.
f19dbdb7 24384
62ddcc8f 24385 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
24386 compilation mechanism.
24387 (pupa_chainloader_real_boot): Likewise.
24388 (pupa_biosdisk_rw_int13_extensions): Likewise.
24389 (pupa_biosdisk_rw_standard): Likewise.
24390 (pupa_biosdisk_check_int13_extensions): Likewise.
24391 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
24392 (pupa_biosdisk_get_diskinfo_standard): Likewise.
24393 (pupa_get_memsize): Likewise.
24394 (pupa_get_mmap_entry): Likewise.
24395 (pupa_console_putchar): Likewise.
24396 (pupa_console_setcursor): Likewise.
24397 (pupa_getrtsecs): Use pushl instead of push.
24398
24399 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
24400 memory instead of the stack for a mmap entry, because some
24401 BIOSes may ignore the maximum size and overflow.
24402
24403 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
24404
24405 * genmk.rb (PModule#rule): Compile automatically generated
24406 sources with module-specific CFLAGS as well as other sources.
24407
9962ed99 244082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24409
24410 * configure.ac: Check ld.
24411 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
24412 respectively, before checking endianness and sizes.
24413
24414 * Makefile.in (LD): New variable.
f19dbdb7 24415
abdfc3c5 244162002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24417
24418 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
24419
6a161fa9 244202002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
24421
24422 * Changelog: New file.
24423