]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-12-27 Carles Pina i Estany <carles@pina.cat>
[grub2.git] / ChangeLog
CommitLineData
64fd18ed 12009-12-27 Carles Pina i Estany <carles@pina.cat>
2
3 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
4 * normal/main.c (grub_normal_read_line): Remove a space from the
5 default prompt.
6
714af9b9 72009-12-27 Carles Pina i Estany <carles@pina.cat>
8
9 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
13 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16
82f3e412 172009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18
19 * video/readers/jpeg.c (cmd): Declare.
20 (grub_cmd_jpegtest): Use `grub_command_t' type.
21 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22 Assign to `cmd'.
23 (GRUB_MOD_FINI): Use `cmd' to unregister.
24 * video/readers/png.c (cmd): Declare.
25 (grub_cmd_pngtest): Use `grub_command_t' type.
26 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27 Assign to `cmd'.
28 (GRUB_MOD_FINI): Use `cmd' to unregister.
29 * video/readers/tga.c (cmd): Declare.
30 (grub_cmd_tgatest): Use `grub_command_t' type.
31 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32 Assign to `cmd'.
33 (GRUB_MOD_FINI): Use `cmd' to unregister.
34
82f3e412 352009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 36
37 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
38 stops.
39 * kern/corecmd.c (grub_register_core_commands): Likewise.
40 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
41 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
42 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
43 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
44 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
45 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
46 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
47 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
48 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
49 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
50 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
51 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
52 * normal/handler.c (insert_handler): Likewise.
53 * normal/main.c (GRUB_MOD_INIT): Likewise.
54 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
55
fdcdbb66 562009-12-26 Carles Pina i Estany <carles@pina.cat>
57
58 * commands/help.c (grub_cmd_help): Print the command name before the
59 summary.
60 (GRUB_MOD_INIT): Remove command name from the summary.
61 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 62 string as summary.
fdcdbb66 63 * lib/arg.c (find_long): Print the command name before the summary.
64 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
65 summary.
66 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
67 * commands/cat.c (GRUB_MOD_INIT): Likewise.
68 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
69 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
70 * commands/crc.c (GRUB_MOD_INIT): Likewise.
71 * commands/date.c (GRUB_MOD_INIT): Likewise.
72 * commands/echo.c (GRUB_MOD_INIT): Likewise.
73 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
74 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
75 * commands/handler.c (GRUB_MOD_INIT): Likewise.
76 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
77 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
78 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
79 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
80 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
81 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
82 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
83 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
84 * commands/ls.c (GRUB_MOD_INIT): Likewise.
85 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
86 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
87 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
88 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
89 * commands/password.c (GRUB_MOD_INIT): Likewise.
90 * commands/probe.c (GRUB_MOD_INIT): Likewise.
91 * commands/read.c (GRUB_MOD_INIT): Likewise.
92 * commands/search.c (GRUB_MOD_INIT): Likewise.
93 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
94 * commands/test.c (GRUB_MOD_INIT): Likewise.
95 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
96 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
97 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
98 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
99 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
100 * lib/arg.c (GRUB_MOD_INIT): Likewise.
101 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
102 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
103 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
104 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
105 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
106 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
107 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
108 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
109
9c288be2
VS
1102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Use search command for preliminar UUID search.
113
114 * commands/search.c: Split into ...
115 * commands/search_wrap.c: ...this
116 * commands/search.c: ...and this.
117 * commands/search_file.c: New file.
118 * commands/search_label.c: New file.
119 * commands/search_uuid.c: New file.
120 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
121 Add commands/search_wrap.c, commands/search_file.c,
122 commands/search_label.c and commands/search_uuid.c.
123 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
124 (search_mod_SOURCES): Set to commands/search_wrap.c.
125 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
126 search_label.mod.
127 (search_fs_file_mod_SOURCES): New variable.
128 (search_fs_file_mod_CFLAGS): Likewise.
129 (search_fs_file_mod_LDFLAGS): Likewise.
130 (search_label_mod_SOURCES): Likewise.
131 (search_label_mod_CFLAGS): Likewise.
132 (search_label_mod_LDFLAGS): Likewise.
133 (search_fs_uuid_mod_SOURCES): New variable.
134 (search_fs_uuid_mod_CFLAGS): Likewise.
135 (search_fs_uuid_mod_LDFLAGS): Likewise.
136 (fs_file_mod_SOURCES): Removed.
137 (fs_file_mod_CFLAGS): Likewise.
138 (fs_file_mod_LDFLAGS): Likewise.
139 (fs_uuid_mod_SOURCES): Removed.
140 (fs_uuid_mod_CFLAGS): Likewise.
141 (fs_uuid_mod_LDFLAGS): Likewise.
142 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
143 Set to util/grub-install.in.
144 * disk/fs_file.c: Removed.
145 * disk/fs_uuid.c: Likewise.
146 * include/grub/search.h: New file.
147 * util/grub-install.in: Handle sparc64.
148 Create and use load.cfg.
149 * util/sparc64/ieee1275/grub-install.in: Removed.
150
db943399
VS
1512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
154 Ignore return status if CF is cleared.
155 (grub_biosdisk_get_diskinfo_standard): Likewise.
156
3fdae612
RM
1572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
158
159 * term/i386/pc/at_keyboard.c
160 (keyboard_controller_wait_untill_ready): New function.
161 (grub_keyboard_controller_write, grub_keyboard_controller_read)
162 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
163 for keyboard polling, rather than duplicate the same loop. This
164 saves a few bytes in code size.
165
7ebaa2b4
VS
1662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
167
168 Support for (pxe[:server[:gateway]]) syntax and
169 use environment variable for PXE.
170
171 * commands/i386/pc/pxecmd.c (options): Removed.
172 (print_ip): Removed.
173 (grub_cmd_pxe): Removed
174 (grub_cmd_pxe_unload): New function.
175 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
176 (grub_pxe_your_ip): Made static.
177 (grub_pxe_default_server_ip): Likewise.
178 (grub_pxe_default_gateway_ip): Likewise.
179 (grub_pxe_blksize): Likewise.
180 (parse_ip): New function.
181 (grub_pxe_open): Support server and gateway specification.
182 (grub_pxe_close): Free disk->data.
183 (grub_pxefs_open): Use disk->data.
184 (grub_pxefs_read): Likewise.
185 (grub_env_write_readonly): New function.
186 (set_mac_env): Likewise.
187 (set_env_limn_ro): Likewise.
188 (parse_dhcp_vendor): Likewise.
189 (grub_pxe_detect): Set the environment variables.
190 (set_ip_env): New function.
191 (write_ip_env): Likewise.
192 (grub_env_write_pxe_default_server): Likewise.
193 (grub_env_write_pxe_default_gateway): Likewise.
194 (grub_env_write_pxe_blocksize): Likewise.
195 (GRUB_MOD_INIT(pxe)): Set environment variables.
196 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
197 (grub_pxe_mac_addr_t): ... this. All users updated.
198 (grub_pxe_your_ip): Removed.
199 (grub_pxe_server_ip): Likewise.
200 (grub_pxe_gateway_ip): Likewise.
201 (grub_pxe_blksize): Likewise.
202
ec5f98ab 2032009-12-25 Carles Pina i Estany <carles@pina.cat>
204
205 * commands/help.c: Include `<grub/i18n.h>'.
206 (grub_cmd_help): Gettextizze.
207 (GRUB_MOD_INIT): Likewise.
208 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
209 (GRUB_MOD_INIT): Gettextizze.
210 * commands/search.c: Include `<grub/i18n.h>'.
211 (options): Gettextizze.
212 (GRUB_MOD_INIT): Gettextizze.
213 * lib/arg.c: Include `<grub/i18n.h>'.
214 (help_options): Gettextizze.
215 (find_long): Likewise.
216 (grub_arg_show_help): Likewise.
217 * normal/dyncmd.c: Include `<grub/i18n.h>'.
218 (read_command_list): Gettextizze.
219 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 220 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 221
22815526
RM
2222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
223
224 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
225 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
226 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
227 (led_status): New variable.
228 (keyboard_controller_led): New function.
229 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
230 update led status for caps lock, num lock and scroll lock.
231
0ad46fd7
FZ
2322009-12-25 Felix Zielcke <fzielcke@z-51.de>
233
234 * util/hostdisk.c (open_device): Fix a comment.
235
d0e158c2
RM
2362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
237
238 * util/grub-install.in (host_os): New variable.
239 * util/i386/efi/grub-install.in (host_os): Likewise.
240
401c0ad6
RM
2412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
242
243 * util/mkisofs/write.c (padblock_write): Abort when given an
244 excedingly large embed image, instead of silently truncating it.
245
d14d3370
RM
2462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
247
248 * include/multiboot.h: Indentation fixes.
249
eeed10b4
RM
2502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
251
252 * include/multiboot.h (struct multiboot_aout_symbol_table)
253 (struct multiboot_elf_section_header_table): New structure
254 declarations (stolen from GRUB Legacy).
255 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
256 table information.
257
258 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
259 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
260 type aliases.
261
681c70ab
RM
2622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
263
264 * include/multiboot.h: Make comments src2texi-friendly.
265
e4d47d8d
RM
2662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
267
268 For consistency with [multiboot]/docs/boot.S.
269
270 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
271 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
272 (MULTIBOOT_MAGIC2): Rename from this ...
273 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
274
a0b70bda
RM
2752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
276
277 * include/multiboot.h: Remove `<grub/types.h>'.
278 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
279 types. Update all users.
280
61ba42be 2812009-12-25 Carles Pina i Estany <carles@pina.cat>
282
283 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
284 `couldn't' and `can not' by `cannot'.
285 * commands/i386/pc/drivemap.c: Likewise.
286 * disk/ata.c: Likewise.
287 * disk/ieee1275/nand.c: Likewise.
288 * fs/affs.c: Likewise.
289 * fs/fat.c: Likewise.
290 * fs/hfs.c: Likewise.
291 * fs/hfsplus.c: Likewise.
292 * fs/iso9660.c: Likewise.
293 * fs/jfs.c: Likewise.
294 * fs/minix.c: Likewise.
295 * fs/reiserfs.c: Likewise.
296 * fs/sfs.c: Likewise.
297 * fs/udf.c: Likewise.
298 * fs/ufs.c: Likewise.
299 * fs/xfs.c: Likewise.
300 * loader/powerpc/ieee1275/linux.c: Likewise.
301 * loader/sparc64/ieee1275/linux.c: Likewise.
302 * util/grub-probe.c: Likewise.
303 * util/misc.c: Likewise.
304
7fd0baee 3052009-12-24 Carles Pina i Estany <carles@pina.cat>
306
307 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
308 grub_errno calls.
309 * commands/acpi.c: Likewise.
310 * commands/blocklist.c: Likewise.
311 * commands/efi/loadbios.c: Likewise.
312 * commands/i386/pc/drivemap.c: Likewise.
313 * commands/loadenv.c: Likewise.
314 * commands/memrw.c: Likewise.
315 * commands/password.c: Likewise.
316 * commands/videotest.c: Likewise.
317 * disk/ata.c: Likewise.
318 * disk/ata_pthru.c: Likewise.
319 * disk/dmraid_nvidia.c: Likewise.
320 * disk/ieee1275/nand.c: Likewise.
321 * disk/ieee1275/ofdisk.c: Likewise.
322 * disk/loopback.c: Likewise.
323 * disk/lvm.c: Likewise.
324 * disk/mdraid_linux.c: Likewise.
325 * disk/raid.c: Likewise.
326 * disk/raid6_recover.c: Likewise.
327 * disk/scsi.c: Likewise.
328 * efiemu/main.c: Likewise.
329 * efiemu/mm.c: Likewise.
330 * efiemu/pnvram.c: Likewise.
331 * efiemu/symbols.c: Likewise.
332 * font/font.c: Likewise.
333 * fs/cpio.c: Likewise.
334 * fs/hfsplus.c: Likewise.
335 * fs/iso9660.c: Likewise.
336 * fs/jfs.c: Likewise.
337 * fs/minix.c: Likewise.
338 * fs/ntfs.c: Likewise.
339 * fs/ntfscomp.c: Likewise.
340 * fs/reiserfs.c: Likewise.
341 * fs/ufs.c: Likewise.
342 * fs/xfs.c: Likewise.
343 * gettext/gettext.c: Likewise.
344 * include/grub/auth.h: Likewise.
345 * kern/elf.c: Likewise.
346 * kern/file.c: Likewise.
347 * kern/ieee1275/init.c: Likewise.
348 * kern/ieee1275/mmap.c: Likewise.
349 * kern/ieee1275/openfw.c: Likewise.
350 * kern/powerpc/dl.c: Likewise.
351 * kern/sparc64/dl.c: Likewise.
352 * lib/arg.c: Likewise.
353 * loader/i386/bsd.c: Likewise.
354 * loader/i386/bsdXX.c: Likewise.
355 * loader/i386/efi/linux.c: Likewise.
356 * loader/i386/efi/xnu.c: Likewise.
357 * loader/i386/ieee1275/linux.c: Likewise.
358 * loader/i386/linux.c: Likewise.
359 * loader/i386/multiboot.c: Likewise.
360 * loader/i386/pc/linux.c: Likewise.
361 * loader/i386/pc/multiboot2.c: Likewise.
362 * loader/i386/xnu.c: Likewise.
363 * loader/ieee1275/multiboot2.c: Likewise.
364 * loader/macho.c: Likewise.
365 * loader/machoXX.c: Likewise.
366 * loader/multiboot2.c: Likewise.
367 * loader/multiboot_loader.c: Likewise.
368 * loader/powerpc/ieee1275/linux.c: Likewise.
369 * loader/sparc64/ieee1275/linux.c: Likewise.
370 * loader/xnu.c: Likewise.
371 * loader/xnu_resume.c: Likewise.
372 * mmap/i386/pc/mmap.c: Likewise.
373 * normal/menu_viewer.c: Likewise.
374 * partmap/acorn.c: Likewise.
375 * partmap/amiga.c: Likewise.
376 * partmap/apple.c: Likewise.
377 * script/lexer.c: Likewise.
378 * term/gfxterm.c: Likewise.
379 * term/i386/pc/serial.c: Likewise.
380 * term/i386/pc/vga.c: Likewise.
381 * term/ieee1275/ofconsole.c: Likewise.
382 * term/terminfo.c: Likewise.
383 * video/bitmap.c: Likewise.
384 * video/efi_gop.c: Likewise.
385 * video/efi_uga.c: Likewise.
386 * video/fb/video_fb.c: Likewise.
387 * video/i386/pc/vbe.c: Likewise.
388 * video/readers/tga.c: Likewise.
389 * video/video.c: Likewise.
390
0ad46fd7 3912009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
392
393 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
394 * commands/lspci.c: Likewise.
395 * commands/probe.c: Likewise.
396 * commands/xnu_uuid.c: Likewise.
397 * conf/i386-coreboot.rmk: Likewise.
398 * conf/i386-efi.rmk: Likewise.
399 * conf/i386-ieee1275.rmk: Likewise.
400 * conf/i386-pc.rmk: Likewise.
401 * conf/powerpc-ieee1275.rmk: Likewise.
402 * conf/sparc64-ieee1275.rmk: Likewise.
403 * conf/x86_64-efi.rmk: Likewise.
404 * fs/i386/pc/pxe.c: Likewise.
405 * gettext/gettext.c: Likewise.
406 * include/grub/efi/graphics_output.h: Likewise.
407 * include/grub/i386/pc/memory.h: Likewise.
408 * kern/env.c: Likewise.
409 * kern/i386/qemu/startup.S: Likewise.
410 * lib/i386/pc/biosnum.c: Likewise.
411 * lib/i386/relocator.c: Likewise.
412 * lib/i386/relocator_asm.S: Likewise.
413 * lib/relocator.c: Likewise.
414 * loader/i386/bsd.c: Likewise.
415 * loader/i386/multiboot.c: Likewise.
416 * loader/i386/pc/chainloader.c: Likewise.
417 * loader/i386/xnu.c: Likewise.
418 * loader/xnu.c: Likewise.
419 * normal/main.c: Likewise.
420 * normal/menu_text.c: Likewise.
421 * util/getroot.c: Likewise.
422 * util/grub-mkconfig_lib.in: Likewise.
423 * util/grub.d/00_header.in: Likewise.
424 * util/i386/pc/grub-mkimage.c: Likewise.
425 * util/mkisofs/eltorito.c: Likewise.
426 * util/mkisofs/exclude.h: Likewise.
427 * util/mkisofs/hash.c: Likewise.
428 * util/mkisofs/iso9660.h: Likewise.
429 * util/mkisofs/joliet.c: Likewise.
430 * util/mkisofs/mkisofs.c: Likewise.
431 * util/mkisofs/mkisofs.h: Likewise.
432 * util/mkisofs/multi.c: Likewise.
433 * util/mkisofs/name.c: Likewise.
434 * util/mkisofs/rock.c: Likewise.
435 * util/mkisofs/tree.c: Likewise.
436 * util/mkisofs/write.c: Likewise.
437 * video/efi_gop.c: Likewise.
438
009ec743
VS
4392009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
442 size counting.
443
0ad46fd7 4442009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
445
446 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
447 * genmk.rb (class SCRIPT): Modify the target file instead of source.
448
d3d30ea0
VS
4492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
452 (GRUB_MOD_INIT(memrw)): Update help line.
453
a34f5c70
VS
4542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
457 Use grub_extcmd_t. All users updated.
458 (options): New variable.
459 (grub_cmd_read): Restructure for readability. Support "-v" option.
460 (grub_cmd_write): Restructure for readability.
461
0ad46fd7 4622009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
463
464 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
465
0ad46fd7 4662009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
467
468 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
469 with the actual contents of the correspondending make variable.
470 * util/grub-mkrescue.in (pkglib_DATA): New variable.
471 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
472 specifying `*.lst' and `efiemu??.o'
473
0ad46fd7 4742009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
475
476 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
477 after function name.
478 Noticed by Rene Engelhard <rene@debian.org>.
479
dc77a799
VS
4802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
483 (options): New variable.
484 (iospace): Likewise.
485 (grub_lspci_iter): List IO spaces if "-i" was given.
486 (grub_cmd_lspci): Parse options.
487 (GRUB_MOD_INIT(lspci)): Use extcmd.
488 (GRUB_MOD_FINI(lspci)): Likewise.
489
0ad46fd7 4902009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
491
492 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
493 `function' keyword.
494 Patch by Tony Mancill <tmancill@debian.org>.
495
b5d5993b
VS
4962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
499 (grub_uhci_portstatus): Likewise.
500 (grub_uhci_portstatus): Add necessary delay.
11d18281 501 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 502
941903f2 5032009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 504
941903f2 505 * commands/acpi.c (options): Fix capitalizations and/or full stops.
506 (GRUB_MOD_INIT): Likewise.
507 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 508 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
509 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 510 * commands/efi/loadbios.c (enable_rom_area): Likewise.
511 (enable_rom_area): Likewise.
512 (GRUB_MOD_INIT): Likewise.
513 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
514 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
515 * commands/handler.c (GRUB_MOD_INIT): Likewise.
516 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
517 * commands/hexdump.c (options): Likewise.
518 * commands/i386/cpuid.c (options): Likewise.
519 (GRUB_MOD_INIT): Likewise.
520 * commands/i386/pc/drivemap.c (options): Likewise.
521 (GRUB_MOD_INIT): Likewise.
522 * commands/i386/pc/halt (options): Likewise.
523 (GRUB_MOD_INIT): Likewise.
524 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
525 * commands/i386/pc/pxecmd.c (options): Likewise.
526 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
527 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
528 * commands/keystatus.c (options): Likewise.
529 (GRUB_MOD_INIT): Likewise.
530 * commands/loadenv.c (options): Likewise.
531 * commands/ls.c (options): Likewise.
532 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
533 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
534 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
535 * commands/parttool.c (helpmsg): Likewise.
536 * commands/probe.c (options): Likewise.
537 * commands/read.c (GRUB_MOD_INIT): Likewise.
538 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
539 * commands/search.c (options): Likewise.
540 * commands/sleep.c (options): Likewise.
541 * commands/test.c (GRUB_MOD_INIT): Likewise.
542 * commands/true.c (GRUB_MOD_INIT): Likewise.
543 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
544 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
545 * lib/arg.c (help_options): Likewise.
e9bbb4e7 546 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
547 `$(XGETTEXT)'.
98a50553 548 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 549
0ad46fd7 5502009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 551
ef3c2c3a 552 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
553 instead of specifying them explicit.
554
7922f68b
RM
5552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
556
557 * NEWS: Add grub-probe support for GNU/Hurd.
558
537ce47f
RM
5592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
560
561 * NEWS: gettext was added after 1.97.
562
9b214e3a
RM
5632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
564
565 * util/mkisofs/msdos_partition.h: New file (based on
566 include/grub/msdos_partition.h).
567 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
568 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
569 (ld_options, main): Recognize --protective-msdos-label.
570 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
571 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
572 (padblock_write): If `use_protective_msdos_label' is set, patch a
573 protective DOS-style label in the output image.
574
575 * util/grub-mkrescue.in: Use --protective-msdos-label.
576
e9309813
RM
5772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
578
579 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
580 boot.
581
0ae56929
RM
5822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
583
584 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
585 variables.
586 (ld_options, main): Recognize `--embedded-boot'.
587 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
588 declarations.
589 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
590 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
591 (padblock_write): Likewise. Rewrite to support embedded boot image.
592
593 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
594 for BIOS-based disk boot instead of only ElTorito.
595
b15937b1
RM
5962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
597
598 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
599 build (not needed for bootstrap).
600
52cc3ce0
RM
6012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
602
603 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
604 from i386-pc build (not needed for bootstrap).
605 Rewrite a pair of strings.
606
36f5ff04
RM
6072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
608
609 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
610
973c6c85 6112009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
612
613 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
614
05d21547
AB
6152009-12-21 Andreas Born <futur.andy@googlemail.com>
616
617 * kern/env.c (grub_env_context_open): Mark exported variable for
618 reexport.
619
0175d51f
AB
6202009-12-21 Andreas Born <futur.andy@googlemail.com>
621
622 * kern/env.c (grub_env_export): Create nonexistent variables before
623 exporting.
624
7f39d92f 6252009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 626
7f39d92f 627 * include/grub/auth.h: Include `<grub/i18n.h>'.
628 (GRUB_GET_PASSWORD): Gettextizze string.
629 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
630 menu_text.c.
631 (grub_utf8_to_ucs4_alloc): Fix indentation.
632 (grub_print_ucs4): Likewise.
633 (grub_getstringwidth): Likewise.
634 (print_message_indented): New declaration.
635 * normal/auth.c: Include `<grub/i18n.h>'.
636 (grub_auth_check_authentication): Gettexttize string.
637 * normal/cmdline.c: Include `<grub/i18n.h>'.
638 (grub_cmdline_get): Gettextizze.
639 * normal/color.c: Include `<grub/i18n.h>'.
640 (grub_parse_color_name_pair): Gettexttize strings.
641 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
642 string (use `print_message_indented').
643 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
644 `include/grub/normal.h'.
645 (print_message_indented): Renamed to ...
646 (grub_print_message_indented): ... this. Remove `static' qualifer (now
647 used in normal/main.c).
648 (print_message): Use `grub_print_message_indented' instead of
649 `print_message_indented'.
650 (print_timeout): Likewise.
651 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
652 (grub_normal_print_device_info): Gettexttize strings.
653 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
654
3041d898
VS
6552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
658 of arguments. Return number of tokens and not arguments. All users
659 updated.
660
de15bf8e
VS
6612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
664 non-MSDOS paritions.
665
e0a6ca52
VS
6662009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * include/grub/types.h (UNUSED): Removed since it conflicts with
669 NetBSD headers. All users changed to direct __attribute__ ((unused)).
670 Reported by Grégoire Sutre.
671
b99518d1 6722009-12-19 Carles Pina i Estany <carles@pina.cat>
673
674 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
675 (grub_print_ucs4_alloc): Likewise.
676 (grub_getstringwidth): Likewise.
677 * normal/main.c (grub_normal_init_page): Gettextize version string.
678 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
679 (getstringwidth): Renamed to ...
680 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
681 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
682 (grub_print_ucs4): Remove `static' qualifer (now used in
683 normal/main.c).
684 * po/POTFILES: Add normal/main.c.
685
bfd5e52b 6862009-12-19 Carles Pina i Estany <carles@pina.cat>
687
688 * normal/menu_text.c (STANDARD_MARGIN): New macro.
689 (print_message_indented): Add `margin_left' and `margin_right'
690 parameters.
691 (print_message): Update `print_message_indented' calls. Adds '\n' to the
692 strings.
693 (print_timeout): Use `print_message_indented' to print the message.
694 Deletes `second_stage' parameter.
695 (run_menu): Update `print_timeout' calls.
696
5a1ad2b9
VS
6972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Fix console palette on OpenFirmware.
700
701 * term/ieee1275/ofconsole.c (MAX): Removed.
702 (colors): Redone based on VGA palette.
703 (grub_ofconsole_setcolor): Discard brightness bit since only 8
704 colors are supported.
705 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
706
b045f00a
VS
7072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Fix potential EfiEmu double prepare.
710
711 * efiemu/main.c (prepared): New variable
712 (grub_efiemu_unload): Set prepare to '0'.
713 (grub_efiemu_prepare): Return if already prepared. Set prepared.
714
715 set_virtual_address_map support.
716
717 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
718 prototype.
719 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
720 prototype.
721 (grub_efiemu_crc32): Likewise.
722 (grub_efiemu_crc64): Likewise.
723 (grub_efiemu_set_virtual_address_map): Likewise.
724 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
725 New definition.
726 (grub_autoefi_set_virtual_address_map): Likewise.
727 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
728 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
729 Restructure flow to accomodate it.
730 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
731 (grub_efiemu_crc): Recompute CRC32.
732 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
733 (efiemu_ptv_relocated): ... this. Made global. All users updated.
734 * efiemu/symbols.c (relocated_handle): New variable.
735 (grub_efiemu_free_syms): Free relocated_handle.
736 (grub_efiemu_alloc_syms): Allocate relocated_handle.
737 (grub_efiemu_write_sym_markers): New function.
738 (grub_efiemu_set_virtual_address_map): Likewise.
739
740 Newer XNU parameters.
741
742 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
743 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
744 (grub_xnu_fill_devicetree): New prototype.
745 (grub_xnu_heap_real_start): New variable.
746 * loader/xnu.c (get_name_ptr): New function.
747 (grub_xnu_load_driver): Fill namelen and name.
748
749 64-bit xnu support.
750
751 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
752 and 'loader/macho64.c'.
753 * conf/i386-pc.rmk: Likewise.
754 * conf/x86_64-efi.rmk: Likewise.
755 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
756 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
757 * include/grub/macho.h (grub_macho_segment64): New structure.
758 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
759 (grub_macho_size32): ... to this.
760 (grub_macho32_get_entry_point): Renamed from ...
761 (grub_macho_get_entry_point32): ... to this.
762 (grub_macho_contains_macho64): New prototype.
763 (grub_macho_size64): Likewise.
764 (grub_macho_get_entry_point64): Likewise.
765 (grub_macho32_load): Renamed from ...
766 (grub_macho_load32): ... to this.
767 (grub_macho32_filesize): Renamed from ...
768 (grub_macho_filesize32): ... to this.
769 (grub_macho32_readfile): Renamed from ...
770 (grub_macho_readfile32): ... to this.
771 (grub_macho_filesize64): New prototype.
772 (grub_macho_readfile64): Likewise.
773 (grub_macho_parse32): Likewise.
774 (grub_macho_parse64): Likewise.
775 * loader/macho.c: Split into ...
776 * loader/machoXX.c: ... and this. Replace 32 with XX.
777 * loader/macho32.c: New file.
778 * loader/macho64.c: Likewise.
779 * loader/xnu.c (grub_xnu_is_64bit): New variable.
780 (grub_cmd_xnu_kernel): Make 32-bit only.
781 (grub_cmd_xnu_kernel64): New function.
782 (grub_xnu_load_driver): Support Mach-O 64.
783 (grub_cmd_xnu_mkext): Likewise.
784 * util/grub.d/30_os-prober.in (osx_entry): New function.
785 Generate entries for 64-bit boot too.
786
787 Eliminate ad-hoc tree format in XNU and EfiEmu.
788
789 * efiemu/main.c (grub_efiemu_prepare): Update comment.
790 * efiemu/pnvram.c: Rewritten to use environment variables.
791 All users updated.
792
793 Inline utf16_to_utf8.
794
795 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
796 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
797 All users updated.
798 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
799
800 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
801 * commands/usbtest.c (grub_usb_get_string): ... move here.
802 (usb_print_str): Fix error handling.
803 * include/grub/usb.h (grub_usb_get_string): Remove.
804
805 UTF-8 to UTF-16 transformation.
806
807 * conf/common.rmk (pkglib_MODULES): Add charset.mod
808 (charset_mod_SOURCES): New variable.
809 (charset_mod_CFLAGS): Likewise.
810 (charset_mod_LDFLAGS): Likewise.
811 * include/grub/utf.h: New file.
812 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
813
814 Support for device properties.
815
816 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
817 (grub_xnu_devprop_device_header): Likewise.
818 (grub_xnu_devprop_device_descriptor): Likewise.
819 (grub_xnu_devprop_add_device): New prototype.
820 (grub_xnu_devprop_remove_device): Likewise.
821 (grub_xnu_devprop_remove_property): Likewise.
822 (grub_xnu_devprop_add_property_utf8): Likewise.
823 (grub_xnu_devprop_add_property_utf16): Likewise.
824 (grub_cpu_xnu_init): Likewise.
825 (grub_cpu_xnu_fini): Likewise.
826 (grub_cpu_xnu_unload): Likewise.
827 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
828 (property_descriptor): Likewise.
829 (devices): New variable.
830 (grub_xnu_devprop_remove_property): New function.
831 (grub_xnu_devprop_add_device): Likewise.
832 (grub_xnu_devprop_remove_device): Likewise.
833 (grub_xnu_devprop_add_property): Likewise.
834 (grub_xnu_devprop_add_property_utf8): Likewise.
835 (grub_xnu_devprop_add_property_utf16): Likewise.
836 (hextoval): Likewise.
837 (grub_cpu_xnu_fill_devprop): Likewise.
838 (grub_cmd_devprop_load): Likewise.
839 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
840 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
841 (cmd_devprop_load): New variable.
842 (grub_cpu_xnu_init): New function.
843 (grub_cpu_xnu_fini): Likewise.
844 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
845 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
846 (grub_cmd_xnu_devtree): Likewise.
847 (hextoval): New function.
848 (unescape): Likewise.
849 (grub_xnu_fill_devicetree): Likewise.
850
851 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
852 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
853
0945f181
VS
8542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
855
856 Workaround for broken ATI VBE.
857
858 * video/i386/pc/vbe.c (last_set_mode): New variable.
859 (grub_vbe_set_video_mode): Set 'last_set_mode'.
860 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
861 (grub_video_vbe_setup): Don't check for reserved flag.
862
0ad46fd7 8632009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
864
865 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
866 the `find' command.
867
c179ebe4
VS
8682009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
869
870 UUID support for HFS.
871
872 * fs/hfs.c (grub_hfs_uuid): New function.
873 (grub_hfs_fs): New value .uuid.
874 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
875
0ad46fd7 8762009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
877
878 Fix a segfault with parsing unknown long options.
879
880 * util/grub-mkrelpath.c (options): Zero terminate it.
881
c4a3e41a
CPE
8822009-12-13 Carles Pina i Estany <carles@pina.cat>
883
884 * include/grub/misc.h (grub_puts): New declaration.
885 (grub_puts_): Likewise.
a22008a6 886 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
887 (grub_puts_): Likewise.
888
2e8a7602
RM
8892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
890
891 * util/grub-probe.c (probe): Improve error message.
892
b50b77b9
RM
8932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
894
895 * loader/i386/multiboot_elfxx.c
896 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
897 initialization.
898
8992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Relocator framework
902
903 * loader/i386/xnu_helper.S: Removed. All users updated.
904 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
905 (relocator_mod_SOURCES): New variable.
906 (relocator_mod_CFLAGS): Likewise.
907 (relocator_mod_LDFLAGS): Likewise.
908 (relocator_mod_ASFLAGS): Likewise.
909 * conf/x86_64.rmk: Likewise.
910 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
911 (grub_multiboot_payload_entry_offset): Likewise.
912 (grub_multiboot_forward_relocator): Likewise.
913 (grub_multiboot_forward_relocator_end): Likewise.
914 (grub_multiboot_backward_relocator): Likewise.
915 (grub_multiboot_backward_relocator_end): Likewise.
916 (grub_multiboot_payload_eip): New variable.
917 (grub_multiboot_payload_orig): Likewise.
918 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
919 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
920 * include/grub/i386/memory.h
921 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
922 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
923 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
924 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
925 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
926 * include/grub/i386/relocator.h: New file.
927 * include/grub/x86_64/relocator.h: Likewise.
928 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
929 (XNU_RELOCATOR): New macro.
930 (grub_xnu_launcher_start): Remove.
931 (grub_xnu_launcher_end): Likewise.
932 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
933 (grub_xnu_heap_real_start): Remove.
934 (grub_xnu_heap_start): Change to void *. All users updated.
935 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
936 * lib/i386/relocator.c: New file.
937 * lib/i386/relocator_asm.S: Likewise.
938 * lib/i386/relocator_backward.S: Likewise.
939 * lib/mips/relocator.c: Likewise.
940 * lib/mips/relocator_asm.S: Likewise.
941 * lib/relocator.c: Likewise.
942 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
943 (entry): Removed.
944 (playground): Likewise.
945 (grub_multiboot_payload_orig): New variable.
946 (grub_multiboot_payload_dest): Likewise.
947 (grub_multiboot_payload_size): Likewise.
948 (grub_multiboot_payload_eip): Likewise.
949 (grub_multiboot_payload_esp): Likewise.
950 (grub_multiboot_boot): Use grub_relocator32_boot.
951 (grub_multiboot_unload): Free relocators.
952 (grub_multiboot): Setup stack. Use relocators.
953 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
954 (grub_multiboot_load_elfXX): Use relocators.
955 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
956 (grub_multiboot_payload_size): Likewise.
957 (grub_multiboot_payload_dest): Likewise.
958 (grub_multiboot_payload_entry_offset): Likewise.
959 (grub_multiboot_forward_relocator): Likewise.
960 (grub_multiboot_backward_relocator): Likewise.
961 (grub_multiboot_real_boot): Likewise.
962 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
963 (grub_xnu_entry_point): Likewise.
964 (grub_xnu_arg1): Likewise.
965 (grub_xnu_stack): Likewise.
966 (grub_xnu_launch): Removed.
967 (grub_xnu_boot_resume): New function.
968 (grub_xnu_boot): Use relocators.
969 * loader/i386/xnu_helper.S: Removed.
970 * loader/xnu.c (grub_xnu_heap_start): New variable.
971 (grub_xnu_heap_size): Likewise.
972 (grub_xnu_heap_malloc): Use relocators.
973 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
974
29eb90c6
VS
9752009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
978 anything.
979
31027430
CPE
9802009-12-13 Carles Pina i Estany <carles@pina.cat>
981
982 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
983 GRUB_ERR_NONE before calling grub_env_set.
984
dc0c71d9
RM
9852009-12-12 Robert Millan <rmh@aybabtu.com>
986
987 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
988 * genmk.rb (video): New variable.
989 (CLEANFILES, VIDEOFILES): Add #{video}.
990 (#{video}): New target rule.
991 * genvideolist.sh: New file.
992 * Makefile.in (pkglib_DATA): Add video.lst.
993 (video.lst): New target rule.
994 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
995 `video.lst'.
996 * util/grub.d/30_os-prober.in: Replace `vbe' with
997 ${GRUB_VIDEO_BACKEND}.
998
2a4bfcf0
RM
9992009-12-11 Robert Millan <rmh.grub@aybabtu.com>
1000
1001 * THANKS: Add David Miller.
1002
2a3aa4d5
RM
10032009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 libpciaccess support.
1006
1007 * Makefile.in (LIBPCIACCESS): New variable.
1008 (enable_grub_emu_pci): Likewise.
1009 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
1010 util/pci.c and commands/lspci.c.
1011 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
1012 * configure.ac (grub-emu-pci): New option.
1013 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
1014 (grub_pci_device_unmap_range): Likewise.
1015 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
1016 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
1017 (grub_pci_address_t) [!GRUB_UTIL]: New type.
1018 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
1019 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
1020 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
1021 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
1022 * include/grub/pciutils.h: New file.
1023 * util/pci.c: Likewise.
1024
0ad46fd7 10252009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
1026
1027 * util/misc.c: Don't include <errno.h> twice.
1028
0ad46fd7 10292009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
1030
1031 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
1032 name in an error message.
1033 (grub_biosdisk_rw): Likewise.
1034
2e59983c
VS
10352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 Eliminate NTFS 4Gib barrier.
1038
1039 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
1040 (read_run_data): Likewise.
1041 (grub_ntfs_read_run_list): Likewise.
1042 (grub_ntfs_read_block): Likewise.
1043 (grub_ntfs_iterate_dir): Likewise.
1044 (read_mft): Likewise.
1045 (read_data): Likewise.
1046 Use COM_LOG_LEN.
1047 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
1048 to avoid 64-bit division
1049 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
1050 (grub_ntfs_rlst): Use grub_disk_addr_t.
1051
71ee178a
VS
10522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Eliminate grub-fstest 4Gib barrier.
1055
1056 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
1057 (read_file): Fix error reporting.
1058
2520d4b8
VS
10592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Eliminate hexdump 4Gib barrier.
1062
1063 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
1064 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
1065
e1f27065
VS
10662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
1069 Fixes amarsh bug.
1070
1a0f7f45
RM
10712009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
1072
1073 Remove miscellaneous files in distclean target.
1074
1075 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
1076
c631d9fb
CW
10772009-12-09 Colin Watson <cjwatson@ubuntu.com>
1078
1079 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
1080 if they're already set. This resolves the conflict between my
1081 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
1082 fixing the --grub-probe option again.
1083 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
1084 change on 2009-10-06, so that we now once again source
1085 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1086
7c7b6106
RM
10872009-12-08 Robert Millan <rmh.grub@aybabtu.com>
1088
1089 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
1090 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
1091 `util/devicemap.c'.
1092
e3069ec1
CPE
10932009-12-08 Carles Pina i Estany <carles@pina.cat>
1094
1095 * include/grub/misc.h (grub_printf_): New declaration.
1096 * kern/misc.c (grub_printf_): New definition.
1097 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
1098 instead of `grub_printf' and `_'.
1099 * normal/menu_entry.c (store_completion): Likewise.
1100 (run): Likewise.
1101 (grub_menu_entry_run): Likewise.
1102 * normal/menu_text.c (grub_wait_after_message): Likewise.
1103 (notify_booting): Likewise.
1104 (notify_fallback): Likewise.
1105 (notify_execution_failure): Likewise.
1106
d6ceebf1
CW
11072009-12-07 Colin Watson <cjwatson@ubuntu.com>
1108
1109 * configure.ac: Check for vasprintf.
1110 * util/misc.c (asprintf): Move allocation from here ...
1111 (vasprintf): ... to here. New function.
1112 (xasprintf): New function.
1113 * include/grub/util/misc.h (vasprintf, xasprintf): Add
1114 prototypes.
1115 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1116 * util/grub-mkfont.c (write_font): Likewise.
1117 * util/grub-probe.c (probe): Likewise.
1118 * util/hostdisk.c (make_device_name): Likewise.
1119
de6daa8b
DM
11202009-12-06 David S. Miller <davem@sunset.davemloft.net>
1121
1122 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
1123 anything even prefixed with 'cdrom' as a cdrom.
1124
0ad46fd7 11252009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
1126
1127 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
1128 mount points.
1129
98d3dc02
CPE
11302009-12-05 Carles Pina i Estany <carles@pina.cat>
1131
1132 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
1133 grub_gettext_msg_list.
1134 (grub_gettext_gettranslation_from_position): Return const char *
1135 and not char *.
a2c1332b 1136 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
1137 returns from the list if existing there.
1138 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
1139 (grub_gettext_delete_list): Delete the list.
1140 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
1141 lang environment variable is changed.
1142 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
1143
b283f108
VS
11442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 Rename kernel.mod to kernel.img.
1147
1148 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
1149 (kernel_mod_EXPORTS): Rename to ...
1150 (kernel_img_EXPORTS): ... this.
1151 (kernel_mod_SOURCES): Rename to ...
1152 (kernel_img_SOURCES): ... this.
1153 (kernel_mod_HEADERS): Rename to ...
1154 (kernel_img_HEADERS): ... this. All users updated.
1155 (kernel_mod_CFLAGS): Rename to ...
1156 (kernel_img_CFLAGS): ... this.
1157 (kernel_mod_ASFLAGS): Rename to ...
1158 (kernel_img_ASFLAGS): ... this.
1159 (kernel_mod_LDFLAGS): Rename to ...
1160 (kernel_img_LDFLAGS): ... this.
1161 * conf/x86_64-efi.rmk: Likewise.
1162 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
1163 (read_kernel_image): ... this. All users updated.
1164 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
1165
69055f8a
CPE
11662009-12-05 Carles Pina i Estany <carles@pina.cat>
1167
1168 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
1169 (print_spaces): New function.
1170 (grub_print_ucs4): New function.
1171 (getstringwidth): New function.
1172 (print_message_indented): New function.
1173 (print_message): Gettexttize strings using print_message_indented.
1174 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
1175 width.
1176 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 1177 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
1178 Gettextize.
1179 * normal/menu_entry.c (store_completion): Cleanup the gettextized
1180 string.
1181 (run): Likewise.
1182 (grub_menu_entry_run): Likewise.
1183 * PO/POTFILES: Add normal/menu_entry.c.
1184
f616f51c
VS
11852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
1188
57bbe3be
CPE
11892009-12-05 Carles Pina i Estany <carles@pina.cat>
1190
1191 * util/grub-install.in: Install gettext .mo files.
1192 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
1193
013d67a1
CPE
11942009-12-05 Carles Pina i Estany <carles@pina.cat>
1195
1196 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
1197 grub_dprintf.
1198
fb954db0
RM
11992009-12-05 Robert Millan <rmh.grub@aybabtu.com>
1200
1201 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
1202 non-firmware-dependant one in realmode.S takes precedence.
1203
6b8474f8
RM
12042009-12-04 Robert Millan <rmh.grub@aybabtu.com>
1205
1206 * commands/halt.c: Replace misc arch-specific headers with
1207 `<grub/misc.h>'.
1208 * commands/reboot.c: Likewise.
1209 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
1210 `<grub/misc.h>'.
1211 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
1212 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
1213 (kernel_img_SOURCES): ... to here.
1214
1215 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
1216 * include/grub/i386/pc/init.h: Likewise.
1217 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1218 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1219
1220 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
1221
1222 * include/grub/i386/halt.h: Remove.
1223 * include/grub/i386/reboot.h: Likewise.
1224
1225 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
1226
4b2e6ca2
DM
12272009-12-03 David S. Miller <davem@sunset.davemloft.net>
1228
1229 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
1230 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
1231 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
1232 "progname.h"
1233 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1234 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1235 (usage): Add missing comma in printf.
1236
5239348f
RM
12372009-12-02 Robert Millan <rmh.grub@aybabtu.com>
1238
1239 Use the same reboot approach on i386 coreboot and qemu as we do on
1240 BIOS.
1241
1242 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
1243 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
1244 * kern/i386/reboot.c: Remove.
1245 * include/grub/i386/reboot.h (grub_reboot): Export function.
1246 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
1247 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
1248 0xf000:0xfff0 instead of 0xffff:0x0000.
1249 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
1250 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
1251
ef34cbd4
RM
12522009-11-30 Robert Millan <rmh.grub@aybabtu.com>
1253
1254 Fix $srcdir != $objdir build.
1255
1256 * Makefile.in (po/%.po): Rewrite as ...
1257 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
1258
dc9837ea
ST
12592009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
1260
1261 Fix GNU/Hurd grub-install crash.
1262 * util/grub-probe.c (probe): Try to access `path' only when it is not
1263 NULL.
1264
2f857f98
VS
12652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Correct module naming.
1268
1269 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1270 (GRUB_MOD_INIT(efi_uga)): ... to this
1271 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1272 (GRUB_MOD_FINI(efi_uga)): ... to this
1273 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
1274 (GRUB_MOD_INIT(efi_gop)): ... to this
1275 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
1276 (GRUB_MOD_FINI(efi_gop)): ... to this
1277
c5448046
RM
12782009-11-28 Robert Millan <rmh.grub@aybabtu.com>
1279
1280 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
1281 translatable.
1282 (usage): Translate `arg' strings using gettext().
1283 Thanks to Jordi Mallach for the suggestion.
1284
c85184ad
VS
12852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 GOP support. Based on patch from Bean
1288 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1289
1290 * video/efi_gop.c: New file.
1291 * include/grub/efi/graphics_output.h: Likewise.
1292 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
1293 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1294 variables.
1295 * conf/x86_64-efi.rmk: Likewise.
1296
8a4c48d8
VS
12972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Rename efi_fb to efi_uga.
1300
1301 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1302 'efi_uga.mod'.
1303 (efi_fb_mod_SOURCES): Rename this ...
1304 (efi_uga_mod_SOURCES): ... to this.
1305 (efi_fb_mod_CFLAGS): Rename this ...
1306 (efi_uga_mod_CFLAGS): ... to this.
1307 (efi_fb_mod_LDFLAGS): Rename this ...
1308 (efi_uga_mod_LDFLAGS): ... to this.
1309 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
1310 'efi_uga.mod'.
1311 (efi_fb_mod_SOURCES): Rename this ...
1312 (efi_uga_mod_SOURCES): ... to this.
1313 (efi_fb_mod_CFLAGS): Rename this ...
1314 (efi_uga_mod_CFLAGS): ... to this.
1315 (efi_fb_mod_LDFLAGS): Rename this ...
1316 (efi_uga_mod_LDFLAGS): ... to this.
1317 * video/efi_fb.c: Move this ...
1318 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
1319
fb6c1a7b
RM
13202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1321
1322 * po/README: New file. Explain our PO file workflow.
1323
3bc7896c
RM
13242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1325
1326 * po/ChangeLog: Remove. Move relevant entries back to ...
1327 * ChangeLog: ... here.
1328 * po/ca.po: Remove (now handled by TLP).
1329 * po/id.po: Likewise.
1330 * po/zh_CN.po: Likewise.
1331 * Makefile.in (LINGUAS): Initialize in a way that supports
1332 empty set.
1333
9ed4841d
RM
13342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
1335
1336 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
1337 reliing on po/LINGUAS.
1338 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
1339 (po/%.po): ... this.
1340
0ad46fd7 13412009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
1342
1343 * util/i386/efi/grub-mkimage.c: Include "progname.h".
1344 (main): Use `program_name' instead of nonexistent `progname'.
1345
e30dd392
FZ
13462009-11-26 Felix Zielcke <fzielcke@z-51.de>
1347
1348 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1349 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
1350
7656de4f
RM
13512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1352
1353 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
1354 commit.
1355 * conf/i386-efi.rmk: Likewise.
1356 * conf/i386-ieee1275.rmk: Likewise.
1357 * conf/powerpc-ieee1275.rmk: Likewise.
1358 * conf/sparc64-ieee1275.rmk: Likewise.
1359 * conf/x86_64-efi.rmk: Likewise.
1360
db77c4d4
FZ
13612009-11-26 Felix Zielcke <fzielcke@z-51.de>
1362
1363 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
1364
a755bb04
FZ
13652009-11-26 Felix Zielcke <fzielcke@z-51.de>
1366
1367 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
1368
8a4c07fd
RM
13692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
1370
1371 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
1372 (grub_mkdevicemap_SOURCES): New variable.
1373 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
1374 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
1375 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
1376 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
1377 (grub_mkdevicemap_SOURCES): Remove.
1378 * conf/i386-efi.rmk: Likewise.
1379 * conf/i386-ieee1275.rmk: Likewise.
1380 * conf/i386-pc.rmk: Likewise.
1381 * conf/powerpc-ieee1275.rmk: Likewise.
1382 * conf/sparc64-ieee1275.rmk: Likewise.
1383 * conf/x86_64-efi.rmk: Likewise.
1384 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
1385 (usage): Fix strings to use `program_name'.
1386 (main): Initialize gettext.
1387 * util/grub-editenv.c: Likewise.
1388 * util/grub-emu.c: Likewise.
1389 * util/grub-fstest.c: Likewise.
1390 * util/grub-mkdevicemap.c: Likewise.
1391 * util/grub-mkfont.c: Likewise.
1392 * util/grub-mkrelpath.c: Likewise.
1393 * util/grub-pe2elf.c: Likewise.
1394 * util/grub-probe.c: Likewise.
1395 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1396 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
1397 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1398
1399 * util/misc.c: Include `"progname.h"'.
1400 (progname): Remove variable.
1401 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
1402
6f61ed55
FZ
14032009-11-25 Felix Zielcke <fzielcke@z-51.de>
1404
1405 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
1406 printf and print a newline after the menuentry header line.
1407 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1408
f022876b
FZ
14092009-11-25 Felix Zielcke <fzielcke@z-51.de>
1410
1411 autoconf >= 2.60 support $(localedir).
1412
1413 * INSTALL: Note that autoconf 2.60 is required.
1414 * configure.ac (AC_PREREQ): Bump to 2.60.
1415 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
1416 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1417
6717926e
YB
14182009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
1419
1420 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
1421 aclocal is run.
1422
08806a54
RM
14232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1424
1425 * normal/main.c (grub_normal_read_line): Fix off-by-one
1426 buffer overflow.
1427
13b33fba
RM
14282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
1429
1430 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
1431 "parser.grub" in grub_command_execute() call.
1432
4a8572e9
CPE
14332009-11-24 Carles Pina i Estany <carles@pina.cat>
1434
1435 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
1436 * conf/i386-efi.rmk: Likewise.
1437 * conf/i386-ieee1275.rmk: Likewise.
1438 * conf/i386-pc.rmk: Likewise.
1439 * conf/powerpc-ieee1275.rmk: Likewise.
1440 * conf/sparc64-ieee1275.rmk: Likewise.
1441 * conf/x86_64-efi.rmk: Likewise.
1442 * gettext/gettex.c: Include <grub/i18n.h>.
1443 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
1444 here ...
1445 * include/grub/i18n.h: ... to here
1446 * include/grub/i18n.h: ... to here.
1447 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 1448 (grub_gettext_dummy): Move above user.
4a8572e9 1449
bee48093
FZ
14502009-11-24 Felix Zielcke <fzielcke@z-51.de>
1451
1452 * util/Makefile.in (install-local): Convert a `for' into a normal
1453 shell expansion.
1454
a031e91c
RM
14552009-11-24 Robert Millan <rmh.grub@aybabtu.com>
1456
1457 * autogen.sh: Add automake call.
1458 * config.guess: Remove.
1459 * config.sub: Likewise.
1460 * install-sh: Likewise.
1461
26bec39d
FZ
14622009-11-24 Felix Zielcke <fzielcke@z-51.de>
1463
1464 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
1465
8e2532fd
FZ
14662009-11-24 Felix Zielcke <fzielcke@z-51.de>
1467
1468 * util/Makefile.in (install-local): Convert a make `$(foreach)'
1469 function to a normal shell `for'.
1470
fefa1b7d
FZ
14712009-11-24 Felix Zielcke <fzielcke@z-51.de>
1472
1473 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1474
4501250b
FZ
14752009-11-24 Felix Zielcke <fzielcke@z-51.de>
1476
1477 * util/grub-mkrelpath.c: New file.
1478 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
1479 (grub_mkrelpath_SOURCES): New variable.
1480 * include/grub/util/misc.h: New function prototype.
1481 * util/misc.c (make_system_path_relative_to_its_root): New function.
1482
1483 * util/grub-mkconfig_lib.in (bindir): New variable.
1484 (grub_mkrelpath): Likewise.
1485 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
1486
1487 * util/probe.c (probe): Make the file path relative to its root.
1488 Change a info message to use the GRUB path. Enable again the
1489 check if we can read the file with GRUB facilities.
1490
1491 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
1492 to its root.
1493
11d9778b
FZ
14942009-11-24 Felix Zielcke <fzielcke@z-51.de>
1495
1496 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
1497 platform.
1498
4465287d
FZ
14992009-11-24 Felix Zielcke <fzielcke@z-51.de>
1500
1501 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
1502 strncmp().
1503
62b47f22
FZ
15042009-11-24 Felix Zielcke <fzielcke@z-51.de>
1505
1506 * util/getroot.c (grub_util_is_dmraid): New function.
1507 (grub_util_get_dev_abstraction): Treat dmraid and multipath
1508 devices as normal ones, not as LVM.
1509
1eafb9b9 15102009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
1511
1512 * conf/common.rmk: Add grub-gettext_lib target and updates
1513 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
1514 LDFLAGS.
1515 * gettext/gettext.c: New file. (Reads mo files).
1516 * include/grub/file.h (grub_file_pread): New prototype.
1517 * include/grub/i18n.h (_): New prototype.
1518 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
1519 prototypes.
1520 * kern/misc.c (grub_gettext_dummy): New function.
1521 * normal/menu_text.c: Include <grub/i18n.h>.
1522 * normal/menu_text.c (print_timeout): Gettexttize string.
1523 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
1524 * po/POTFILES: Add `normal/menu_text.c'.
1525 * po/ca.po: Add new translations.
c3ea6bd4
CPE
1526 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
1527 gettext module and defines locale_dir and lang in grub.cfg.
1528 * NEWS: Add gettext support.
1529
0fdb2568
RM
15302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1531
1532 * util/hostdisk.c: Include `<grub/i18n.h>'.
1533 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
1534 (make_device_name): Rewrite using asprintf.
1535 (convert_system_partition_to_system_disk): Replace 0 with NULL.
1536 (find_system_device): If a device is not found, generate one just
1537 by reusing the OS path name.
1538 (read_device_map): Make it permissible for device.map not to exist.
1539
f515aa62
RM
15402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1541
1542 * script/sh/execute.c: Move from here ...
1543 * script/execute.c: ... to here. Update all users.
1544 * script/sh/function.c: Move from here ...
1545 * script/function.c: ... to here. Update all users.
1546 * script/sh/lexer.c: Move from here ...
1547 * script/lexer.c: ... to here. Update all users.
1548 * script/sh/main.c: Move from here ...
1549 * script/main.c: ... to here. Update all users.
1550 * script/sh/parser.y: Move from here ...
1551 * script/parser.y: ... to here. Update all users.
1552 * script/sh/script.c: Move from here ...
1553 * script/script.c: ... to here. Update all users.
1554
f84b481b
RM
15552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1556
1557 * configure.ac: Detect all `emu' platforms. Define
1558 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
1559 --enable-grub-emu logic. Disable include/grub/machine
1560 symlink on `emu' platforms.
1561
1562 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
1563 * gensymlist.sh.in: Likewise.
1564
1565 * include/grub/i386/coreboot/machine.h: Remove file.
1566 * include/grub/i386/efi/machine.h: Likewise.
1567 * include/grub/i386/ieee1275/machine.h: Likewise.
1568 * include/grub/i386/pc/machine.h: Likewise.
1569 * include/grub/i386/qemu/machine.h: Likewise.
1570 * include/grub/powerpc/ieee1275/machine.h: Likewise.
1571 * include/grub/sparc64/ieee1275/machine.h: Likewise.
1572 * include/grub/x86_64/efi/machine.h: Likewise.
1573
1574 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
1575 * commands/halt.c: Likewise.
1576 * commands/reboot.c: Likewise.
1577 * include/grub/autoefi.h: Likewise.
1578 * include/grub/i386/at_keyboard.h: Likewise.
1579 * include/grub/i386/kernel.h: Likewise.
1580 * include/grub/i386/loader.h: Likewise.
1581 * include/grub/i386/pc/memory.h: Likewise.
1582 * kern/dl.c: Likewise.
1583 * kern/i386/coreboot/init.c: Likewise.
1584 * loader/i386/bsd.c: Likewise.
1585 * loader/i386/linux.c: Likewise.
1586 * loader/multiboot_loader.c: Likewise.
1587 * term/i386/pc/serial.c: Likewise.
1588 * term/usb_keyboard.c: Likewise.
1589
1590 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
1591 `<grub/machine/machine.h>'
1592 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
1593 * util/misc.c: Remove `<grub/machine/machine.h>' and
1594 `<grub/machine/time.h>'.
1595
1596 * Makefile.in (enable_grub_emu): Remove variable.
1597 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
1598
1599 * conf/any-emu.rmk: New file.
1600 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
1601 (grub_emu_init.c): Move from here ...
1602 * conf/any-emu.rmk: ... to here.
1603
1604 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
1605 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
1606 * conf/any-emu.rmk: ... to here.
1607
4efeab03
RM
16082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1609
1610 * include/grub/parser.h (grub_parser_register): Document need
1611 of `name' parameter.
1612 * normal/main.c (grub_normal_read_line): Simplify prompt string.
1613 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
1614 "sh" to "grub".
1615
ea1dd8bf
RM
16162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1617
1618 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
1619 `$(XGETTEXT)'.
1620 * include/grub/i18n.h (N_): New macro.
1621 * util/mkisofs/mkisofs.h: Likewise.
1622 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
1623 around N_().
1624 (usage): Use gettext() to translate help strings when printing them.
1625
0c140626
RM
16262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
1627
1628 Based on patch from Bean
1629 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
1630
1631 * video/efi_fb.c: New file.
1632 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
1633 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
1634 variables.
1635 * conf/x86_64-efi.rmk: Likewise.
1636
87d58298
RM
16372009-11-22 Robert Millan <rmh.grub@aybabtu.com>
1638
1639 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
1640 * util/i386/pc/grub-setup.c: Likewise.
1641
994cc3a3
ST
16422009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1643
1644 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
1645 <hurd/fs.h>
1646 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
1647 file_get_storage_info to implement grub_guess_root_device.
1648
26a61d6a
FZ
16492009-11-21 Felix Zielcke <fzielcke@z-51.de>
1650
1651 * Makefile.in (target): Use make's builtin $(shell) function
1652 instead of calling directly $(SHELL) to create the locale directories,
1653 inside the $(foreach) function.
1654
74ff1dd5
FZ
16552009-11-21 Felix Zielcke <fzielcke@z-51.de>
1656
1657 * util/grub-mkrescue.in: Print an error and usage if output option
1658 has not been given.
1659
0b787d0e
FZ
16602009-11-21 Felix Zielcke <fzielcke@z-51.de>
1661
1662 Patch from Loïc Minier <loic.minier@ubuntu.com>.
1663 * util/grub.d/30_os-prober.in: Cope with Linux entries where
1664 root and /boot are on different devices.
1665
1164b270
RM
16662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1667
1668 Fix build for srcdir != objdir.
1669
1670 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
1671 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
1672 $(srcdir).
1673 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
1674 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
1675 reference for input.
1676
13774a2f
RM
16772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1678
1679 * util/grub-mkrescue.in: Use source directory direcly (without copiing
1680 or hardlinking it). Remove -J option, Joliet is not compatible with
1681 multiple source directories.
1682
efda854e
RM
16832009-11-21 Carles Pina i Estany <carles@pina.cat>
16842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
1685
1686 * util/grub-mkrescue.in: Recognize `--override-directory' option.
1687 (process_input_dir): New function. Process an arbitrary input
1688 directory.
1689 Misc adjustments to support both "override mode" and system-wide mode.
1690
6c09890c
FZ
16912009-11-20 Felix Zielcke <fzielcke@z-51.de>
1692
1693 * configure.ac (UNIFONT_BDF): Rename to ...
1694 (FONT_SOURCE): ... this. Update all users.
1695
a797824f
FZ
16962009-11-20 Felix Zielcke <fzielcke@z-51.de>
1697
1698 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
1699 to the list of unifont files to look for.
1700
cd4f42b0
RM
17012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1702
1703 Patch from Joe Auricchio <jauricchio@gmail.com>
1704 * commands/minicmd.c (grub_mini_cmd_clear): New function.
1705 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
1706 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
1707
393c783d
FZ
17082009-11-19 Felix Zielcke <fzielcke@z-51.de>
1709
1710 * Makefile.in (install-local): Add a missing backslash.
1711
b2f1e327
FZ
17122009-11-19 Felix Zielcke <fzielcke@z-51.de>
1713
1714 * include/grub/x86_64/io.h: New file.
1715
f577f7a0
RM
17162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1717
1718 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
1719 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
1720 Include `"progname.h"'.
1721 (main): Initialize gettext.
1722 * util/i386/pc/grub-setup.c: Gettexttize.
1723 * util/i386/pc/grub-mkimage.c: Likewise.
1724
1725 * Makefile.in (po/*.po): Redefine as ...
1726 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
1727
3bc7896c
RM
1728 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
1729
c37943b6
RM
17302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
1731
1732 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
1733 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
1734 (program_name): Remove.
1735 (main): Initialize gettext support.
6323f705
RM
1736 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
1737 Include `<libintl.h>'.
1738 (_): New macro.
c37943b6
RM
1739
1740 * util/mkisofs/eltorito.c: Gettexttize.
1741 * util/mkisofs/joliet.c: Likewise.
1742 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
1743 * util/mkisofs/multi.c: Likewise.
1744 * util/mkisofs/rock.c: Likewise.
1745 * util/mkisofs/tree.c: Likewise.
1746 * util/mkisofs/write.c: Likewise.
1747
3bc7896c
RM
1748 * po/POTFILES: Update with new files.
1749
5ce77c6e
RM
17502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1751
1752 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
1753 * util/mkisofs/iso9660.h: Likewise.
1754 * util/mkisofs/joliet.c: Likewise.
1755 * util/mkisofs/mkisofs.c: Likewise.
1756 * util/mkisofs/mkisofs.h: Likewise.
1757 * util/mkisofs/rock.c: Likewise.
1758 * util/mkisofs/tree.c: Likewise.
1759 * util/mkisofs/write.c: Likewise.
1760
1761 * util/mkisofs/eltorito.c (rcsid): Remove.
1762 * util/mkisofs/hash.c: Likewise.
1763 * util/mkisofs/joliet.c: Likewise.
1764 * util/mkisofs/name.c: Likewise.
1765 * util/mkisofs/rock.c: Likewise.
1766 * util/mkisofs/tree.c: Likewise.
1767 * util/mkisofs/write.c: Likewise.
1768
1dabbc77
RM
17692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1770
1771 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
1772 instead of static allocation.
1773 * util/mkisofs/match.h: Likewise.
1774
633877cb
RM
17752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1776
3bc7896c
RM
1777 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
1778 and `util/grub.d/10_linux.in'.
633877cb
RM
1779 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
1780 translatable Shell files.
1781
af1c0c85
RM
17822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
1783
1784 * Makefile.in ($(srcdir)/aclocal.m4): New target.
1785
769ae37b
RM
17862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1787
1788 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 1789 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
1790 * util/grub.d/10_kfreebsd.in (bindir): New variable.
1791 Add gettext initialization.
1792 (kfreebsd_entry): Make menuentry output translatable.
1793
17942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1795
1796 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
1797 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
1798 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
1799 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
1800 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 1801 * po/LINGUAS: New file.
769ae37b
RM
1802
18032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1804
1805 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
1806 other things).
1807 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
1808 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
1809 bindtextdomain() calls for gettext initialization.
1810
18112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1812
1813 * gnulib/progname.c: New file (imported from Gnulib).
1814 * gnulib/progname.h: Likewise.
1815 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
1816 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
1817 (usage): Replace `progname' with `program_name'.
1818 (main): Use set_program_name() for program name initialization.
1819
18202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1821
1822 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
1823 from here ...
1824 * Makefile.in (CPPFLAGS): ... to here.
1825
18262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1827
1828 * aclocal.m4: Move from here ...
1829 * acinclude.m4: ... to here.
1830 * autogen.sh: Add call to `aclocal'.
1831 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
1832
18332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1834
1835 * Makefile.in (CLEANFILES): Add `po/*.mo'.
1836 (LINGUAS): New variable.
1837 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
1838 (install-local): Install MO files.
1839 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
1840 * include/grub/i18n.h: New file.
3bc7896c
RM
1841 * po/POTFILES: New file.
1842 * po/ca.po: New file.
769ae37b
RM
1843 * util/grub.d/10_linux.in (bindir): New variable.
1844 Add gettext initialization.
1845 (linux_entry): Make menuentry output translatable.
1846 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
1847 (usage): Make --help output translatable.
1848 (main): Initialize gettext.
1849
02c0a6ad
RM
18502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1851
1852 * import_gcry.py: New file (written by Vladimir with minor
1853 adjustments).
1854 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
1855 ciphers.
1856 * INSTALL: Document that Python is required for bootstrap.
1857
18582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
1859
1860 Import ciphers from libgcrypt 1.4.4.
1861
1862 * lib/libgcrypt/cipher/ChangeLog
1863 * lib/libgcrypt/cipher/ac.c
1864 * lib/libgcrypt/cipher/arcfour.c
1865 * lib/libgcrypt/cipher/bithelp.h
1866 * lib/libgcrypt/cipher/blowfish.c
1867 * lib/libgcrypt/cipher/camellia-glue.c
1868 * lib/libgcrypt/cipher/camellia.c
1869 * lib/libgcrypt/cipher/camellia.h
1870 * lib/libgcrypt/cipher/cast5.c
1871 * lib/libgcrypt/cipher/cipher.c
1872 * lib/libgcrypt/cipher/crc.c
1873 * lib/libgcrypt/cipher/des.c
1874 * lib/libgcrypt/cipher/dsa.c
1875 * lib/libgcrypt/cipher/ecc.c
1876 * lib/libgcrypt/cipher/elgamal.c
1877 * lib/libgcrypt/cipher/hash-common.c
1878 * lib/libgcrypt/cipher/hash-common.h
1879 * lib/libgcrypt/cipher/hmac-tests.c
1880 * lib/libgcrypt/cipher/md.c
1881 * lib/libgcrypt/cipher/md4.c
1882 * lib/libgcrypt/cipher/md5.c
1883 * lib/libgcrypt/cipher/primegen.c
1884 * lib/libgcrypt/cipher/pubkey.c
1885 * lib/libgcrypt/cipher/rfc2268.c
1886 * lib/libgcrypt/cipher/rijndael-tables.h
1887 * lib/libgcrypt/cipher/rijndael.c
1888 * lib/libgcrypt/cipher/rmd.h
1889 * lib/libgcrypt/cipher/rmd160.c
1890 * lib/libgcrypt/cipher/rsa.c
1891 * lib/libgcrypt/cipher/seed.c
1892 * lib/libgcrypt/cipher/serpent.c
1893 * lib/libgcrypt/cipher/sha1.c
1894 * lib/libgcrypt/cipher/sha256.c
1895 * lib/libgcrypt/cipher/sha512.c
1896 * lib/libgcrypt/cipher/tiger.c
1897 * lib/libgcrypt/cipher/twofish.c
1898 * lib/libgcrypt/cipher/whirlpool.c
1899
af2f93ac
RM
19002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1901
1902 Fix build for systems without error().
1903
1904 * gnulib/error.c: New file (imported from Gnulib).
1905 * gnulib/error.h: Likewise.
1906 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
1907 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
1908 (this variable is now used by error()).
1909
73fb3dd5
FZ
19102009-11-16 Felix Zielcke <fzielcke@z-51.de>
1911
814f5e96
FZ
1912 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
1913 instead of relying that char is signed.
73fb3dd5 1914
a691ca33
VS
19152009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
1918 blocksize different from specified.
1919 (grub_pxefs_read): Likewise.
1920
2af8f0f4
FZ
19212009-11-16 Felix Zielcke <fzielcke@z-51.de>
1922
1923 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
1924
1925 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
1926 (grub_ata_readwrite): Likewise. Update 2 format strings.
1927 (grub_atapi_read): Likewise.
1928
1929 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
1930 * conf/i386.rmk (pkglib_MODULES): ... to here ...
1931 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
1932 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
1933 (ata_mod_LDFLAGS): Move from here ...
1934 * conf/i386.rmk: ... to here ...
1935 * conf/x86_64-efi.rmk: ... and here.
1936 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
1937 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
1938
83bdecaf
RM
19392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1940
1941 Relicense multiboot.h, with RMS' blessing.
1942
1943 * include/multiboot.h: Change to X11 license.
1944
fd6fd3d7
RM
19452009-11-15 Robert Millan <rmh.grub@aybabtu.com>
1946
1947 Support --version in grub-mkisofs.
1948
1949 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
1950 (OPTION_VERSION): New macro.
1951 (ld_options): Recognize --version.
1952 (usage): Move `program_name' from here ...
1953 (program_name): ... to here. Add `static' qualifier.
1954 (main): Recognize `OPTION_VERSION'.
1955
16a88c49
FZ
19562009-11-15 Felix Zielcke <fzielcke@z-51.de>
1957
1958 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
1959 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
1960
a4158476
RM
19612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1962
1963 Fix help2man generation for mkisofs.
1964
1965 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
1966 (usage): Send output to stdout (rather than stderr).
1967
fc2208b0
RM
19682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1969
1970 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
1971 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1972 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
1973 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1974 (bin_SCRIPTS): Add `grub-mkfloppy'.
1975 (grub_mkfloppy_SOURCES): New variable.
1976
1977 * util/grub-mkrescue.in: New file.
1978 * util/i386/pc/grub-mkfloppy.in: New file.
1979
1980 * util/i386/coreboot/grub-mkrescue.in: Remove.
1981 * util/i386/pc/grub-mkrescue.in: Remove.
1982
8d0edf4a
RM
19832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1984
1985 * include/grub/multiboot.h (struct grub_multiboot_header): Move
1986 from here ...
1987 * include/multiboot.h (struct multiboot_header): ... to here. Update
1988 all users.
1989 * include/grub/multiboot.h (struct grub_multiboot_info): Move
1990 from here ...
1991 * include/multiboot.h (struct multiboot_info): ... to here. Update
1992 all users.
1993 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
1994 from here ...
1995 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
1996 Update all users.
1997 * include/grub/multiboot.h (struct grub_mod_list): Move
1998 from here ...
1999 * include/multiboot.h (struct multiboot_mod_list): ... to here.
2000 Update all users.
2001
a73f5969
RM
20022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2003
2004 * include/multiboot2.h (multiboot_word): Rename from this ...
2005 (multiboot2_word): ... to this. Update all users.
2006 (multiboot_header): Rename from this ...
2007 (multiboot2_header): ... to this. Update all users.
2008 (multiboot_tag_header): Rename from this ...
2009 (multiboot2_tag_header): ... to this. Update all users.
2010 (multiboot_tag_start): Rename from this ...
2011 (multiboot2_tag_start): ... to this. Update all users.
2012 (multiboot_tag_name): Rename from this ...
2013 (multiboot2_tag_name): ... to this. Update all users.
2014 (multiboot_tag_module): Rename from this ...
2015 (multiboot2_tag_module): ... to this. Update all users.
2016 (multiboot_tag_memory): Rename from this ...
2017 (multiboot2_tag_memory): ... to this. Update all users.
2018 (multiboot_tag_unused): Rename from this ...
2019 (multiboot2_tag_unused): ... to this. Update all users.
2020 (multiboot_tag_end): Rename from this ...
2021 (multiboot2_tag_end): ... to this. Update all users.
2022
1c8927f0
RM
20232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
2024
2025 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
2026 this platform we should support Multiboot1 first.
2027
2028 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2029 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
2030 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
2031
6e1e0d89
RM
20322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2033
2034 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
2035 of write calls (converting them to fwrite() if they aren't already).
2036 (get_torito_desc): Likewise.
2037 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
2038
7f2b34d8
RM
20392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
2040
2041 * util/i386/pc/grub-install.in: Move from here ...
2042 * util/grub-install.in: ... to here. Update all users.
2043
c0ef3311
CW
20442009-11-11 Colin Watson <cjwatson@ubuntu.com>
2045
2046 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
2047
e1f240ff
RM
20482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2049
2050 Support for El Torito without floppy emulation.
2051
2052 * util/mkisofs/eltorito.c: Include `<errno.h>'.
2053 (init_boot_catalog): Improve error handling.
2054 (get_torito_desc): Don't use floppy emulation unless requested by
2055 user. Patch boot information table when requested via
2056 `-boot-info-table'.
2057 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
2058 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
2059 (use_boot_info_table): New variables.
2060 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
2061 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
2062 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
2063 `--eltorito-emul-floppy'.
2064 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
2065 and `OPTION_ELTORITO_EMUL_FLOPPY'.
2066 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
2067 (use_boot_info_table, get_731): New prototypes.
2068 * util/mkisofs/write.c (get_731): New function.
2069
af7d4de5
FZ
20702009-11-11 Felix Zielcke <fzielcke@z-51.de>
2071
2072 Fix the generation of the man page.
2073
2074 * util/pc/i386/grub-install.in: Source
2075 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2076
2c55dbc0
RM
20772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
2078
2079 Large file support for grub-mkisofs.
2080
2081 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
2082 * util/mkisofs/mkisofs.c (next_extent, last_extent)
2083 (session_start): Upgrade type to `uint64_t'. Update all users.
2084 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
2085 (struct directory_entry): Upgrade type of `starting_block' and
2086 `size' to `uint64_t'. Update all users.
2087 (struct deferred): Remove unused structure.
2088 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
2089 Update all users.
2090 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
2091 file is larger than `UINT32_MAX'.
2092 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
2093 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
2094 return value.
2095 (struct deferred_write): Upgrade type of `extent' and `size' to
2096 `uint64_t'. Update all users.
2097 (last_extent_written): Upgrade type to `uint64_t'. Update all
2098 users.
2099 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
2100 Update all users. Upgrade type of `remain' to `int64_t' and
2101 `use' to `size_t'. Use error() to handle fread() errors.
2102 (write_files): Rely on write_one_file() rather than calling
2103 xfwrite() directly.
2104
6a9cead5
FZ
21052009-11-09 Felix Zielcke <fzielcke@z-51.de>
2106
2107 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
2108
4825d790
RM
21092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2110
2111 * util/mkisofs/fnmatch.c: Remove.
2112 * util/mkisofs/getopt1.c: Likewise.
2113 * util/mkisofs/getopt.c: Likewise.
2114 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
2115 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
2116 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
2117 `gnulib/getopt1.c' and `gnulib/getopt.c'.
2118 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
2119
2120 * configure.ac: Detect `mingw32msvc' host_os.
2121 Check for lstat(), getuid() and getgid().
2122
2123 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
2124 instances of `u_char' with `uint8_t'.
2125
2126 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
2127 [!HAVE_GETUID] (getuid): New function (stub).
2128 [!HAVE_GETGID] (getgid): Likewise.
2129 [!HAVE_LSTAT] (lstat): Likewise.
2130 [!S_IROTH] (S_IROTH): New macro (dummy).
2131 [!S_IRGRP] (S_IRGRP): Likewise.
2132
84b860d8
RM
21332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2134
2135 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
2136 conditional expression).
2137
66e9b712
RM
21382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2139
2140 Import from Gnulib.
2141
2142 * gnulib/fnmatch.c: New file.
2143 * gnulib/fnmatch.h: Likewise.
2144 * gnulib/fnmatch_loop.c: Likewise.
2145 * gnulib/getopt.c: Likewise.
2146 * gnulib/getopt.h: Likewise.
2147 * gnulib/getopt1.c: Likewise.
2148 * gnulib/getopt_int.h: Likewise.
2149 * gnulib/gettext.h: Likewise.
2150
34f4a5b0
RM
21512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2152
2153 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
2154 * normal/handler.c (read_handler_list): Likewise.
2155
ac451143
RM
21562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2157
2158 Misc cleanup.
2159
2160 * kern/command.c (grub_register_command_prio): Use
2161 grub_zalloc() instead of explicitly zeroing data.
2162 * kern/list.c: Include `<grub/mm.h>'.
2163 (grub_named_list_find): Replace `0' with `NULL'.
2164 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
2165 (fs_module_list): Change type to `grub_named_list_t'. Update all
2166 users.
2167 * normal/dyncmd.c (read_command_list): Add space between function
2168 call and parenthesis.
2169 * normal/handler.c (read_handler_list): Likewise.
2170
4089b167
RM
21712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2172
2173 * normal/auth.c (punishment_delay): Moved from here ...
2174 (grub_auth_strcmp): ... to here (inside function).
2175
325f5037
RM
21762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2177
2178 * include/grub/list.h (struct grub_named_list): Remove `const'
2179 qualifier from `name'.
2180 (struct grub_prio_list): Likewise.
2181
7aea29a3
RM
21822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2183
2184 * normal/auth.c: Include `<grub/time.h>'.
2185 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
2186
3fd6f044
RM
21872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2188
2189 * normal/auth.c (punishment_delay): New variable.
2190 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
2191 (grub_auth_check_authentication): Punish failed login attempts with
2192 an incremental (2^N) delay.
2193
a4cd68e4
RM
21942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2195
2196 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
2197 path with $(srcdir).
2198
7ad12f43
VS
21992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
2202
c1129f03
RM
22032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
2204
2205 * util/i386/coreboot/grub-mkrescue.in: New file.
2206 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
2207 variables.
2208
2209 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
2210 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
2211 * configure.ac: Add header and function checks to satisfy grub-mkisofs
2212 requirements.
2213 * util/mkisofs/defaults.h: New file.
2214 * util/mkisofs/eltorito.c: Likewise.
2215 * util/mkisofs/exclude.h: Likewise.
2216 * util/mkisofs/fnmatch.c: Likewise.
2217 * util/mkisofs/getopt.c: Likewise.
2218 * util/mkisofs/getopt1.c: Likewise.
2219 * util/mkisofs/hash.c: Likewise.
2220 * util/mkisofs/include/fctldefs.h: Likewise.
2221 * util/mkisofs/include/mconfig.h: Likewise.
2222 * util/mkisofs/include/prototyp.h: Likewise.
2223 * util/mkisofs/include/statdefs.h: Likewise.
2224 * util/mkisofs/iso9660.h: Likewise.
2225 * util/mkisofs/joliet.c: Likewise.
2226 * util/mkisofs/match.c: Likewise.
2227 * util/mkisofs/match.h: Likewise.
2228 * util/mkisofs/mkisofs.c: Likewise.
2229 * util/mkisofs/mkisofs.h: Likewise.
2230 * util/mkisofs/multi.c: Likewise.
2231 * util/mkisofs/name.c: Likewise.
2232 * util/mkisofs/rock.c: Likewise.
2233 * util/mkisofs/tree.c: Likewise.
2234 * util/mkisofs/write.c: Likewise.
2235
ec8bb77d
VS
22362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
2239 being insecure.
2240
3716b12c
RM
22412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2242
2243 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
2244 `grub-mkimage' (and use $0 when possible).
2245
b97b7b91
RM
22462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2247
2248 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
2249 error message for excessively large memory map.
2250
04114812
RM
22512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2252
2253 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
2254 executable bit.
2255
e4eb2373
RM
22562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
2257
2258 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
2259 message for coreboot users.
2260
c926e1d5 22612009-11-07 Robert Millan <rmh.grub@aybabtu.com>
2262
2263 Fix build with GNU gold.
2264
2265 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
2266 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
2267 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
2268 link addresses.
2269 * aclocal.m4: Likewise.
2270
86e5b1db 22712009-11-04 Felix Zielcke <fzielcke@z-51.de>
2272
2273 * configure.ac (AC_PREREQ): Bump to 2.59d.
2274 * INSTALL: Make it more clear when Autoconf and Ruby are
2275 needed and when to run `./autogen.sh'.
2276
246cd78f 22772009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2278
2279 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
2280 OSes.
2281
4f9dfb37 22822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2283
2284 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
2285
b82bd5e1 22862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2287
2288 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
2289 giving it to GNU Mach.
2290
ff1a9bca 22912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2292
2293 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
2294 GNU partition number to get internal GRUB partition number.
2295
61697d9c 22962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
2297
2298 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
2299 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
2300
a50569e1 23012009-11-01 Robert Millan <rmh.grub@aybabtu.com>
2302
2303 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
2304 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
2305 case.
2306
5b153867 23072009-11-01 Felix Zielcke <fzielcke@z-51.de>
2308
2309 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
2310
d9e2cd70 23112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2312
2313 Fix build problem.
2314
2315 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
2316 `-isystem=$(srcdir)/include'.
2317
805111a4 23182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
2319
2320 * util/i386/pc/grub-install.in: Remove hint that device.map should be
2321 checked (grub-install doesn't currently rely on it).
2322
fa6e945f 23232009-10-29 Robert Millan <rmh.grub@aybabtu.com>
2324
2325 Revert SVN r2660.
2326
2327 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
2328 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2329 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
2330 * conf/i386-ieee1275.rmk: Likewise.
2331 * conf/i386-pc.rmk: Likewise.
2332 * conf/powerpc-ieee1275.rmk: Likewise.
2333 * conf/sparc64-ieee1275.rmk: Likewise.
2334 * conf/x86_64-efi.rmk: Likewise.
2335
cee15086 23362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2337
2338 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
2339
95b9239e 23402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2341
2342 * include/grub/misc.h: Stop checking for APPLE_CC.
2343
2ed19dfd 23442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
2345
2346 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
2347 doesn't cause an infinite call loop.
2348
fdcdde19 23492009-10-28 Felix Zielcke <fzielcke@z-51.de>
2350
2351 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
2352 strings.
2353
cefabfe1 23542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2355
2356 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
2357 variable.
2358 * Makefile.in: Likewise.
2359
ed96ab6d 23602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2361
2362 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
2363
0579b753 23642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2365
2366 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
2367
478df409 23682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2369
2370 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
2371
083d1679 23722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2373
2374 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
2375 from here ...
2376 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
2377
5947ae32 23782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2379
2380 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
2381 in $(MAKEINFO) invocation. This makes it clear in output that
2382 errors are being ignored.
2383
94180ff6 23842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2385
2386 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
2387 from here ...
2388 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
2389 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
2390 * conf/i386-ieee1275.rmk: Likewise.
2391 * conf/i386-pc.rmk: Likewise.
2392 * conf/powerpc-ieee1275.rmk: Likewise.
2393 * conf/sparc64-ieee1275.rmk: Likewise.
2394 * conf/x86_64-efi.rmk: Likewise.
2395
9031b03a 23962009-10-26 Colin Watson <cjwatson@ubuntu.com>
2397
2398 * util/grub-editenv.c (main): If only a command is given, use
2399 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
2400 (usage): FILENAME is now optional and has a default.
2401
e4f6809b 24022009-10-26 Colin Watson <cjwatson@ubuntu.com>
2403
2404 Improve grub-mkconfig performance when there are several menu
2405 entries on a single filesystem.
2406
2407 * util/grub.d/10_linux.in (linux_entry): Cache the output of
2408 prepare_grub_to_access_device.
2409 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
2410 * util/grub.d/30_os-prober.in: Likewise.
2411
67937d4d 24122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2413
2414 * util/grub.d/10_freebsd.in: Remove.
2415 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
2416 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
2417
ee3756cc 24182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
2419
5c35048e 2420 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 2421
4dea1c6f 24222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2423
2424 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
2425 grub_util_error() call.
2426
042484d7 24272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2428
2429 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
2430 `reserved_first_sector' member.
2431 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
2432 `reserved_first_sector' to 1.
2433 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
2434 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
2435 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
2436 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
2437 filesystems which begin at first sector.
2438 (options): New option --skip-fs-probe.
2439 (main): Handle --skip-fs-probe and pass it to setup().
2440
d64448a7 24412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2442
2443 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
2444 (memset): Fix function prototype.
2445
508d42ec 24462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24472009-10-25 Vasily Averin <vvs@parallels.com>
2448
2449 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
2450 `dirent.direntlen == 0'.
2451
b240e30c 24522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2453
2454 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
2455 `cpio'.
2456 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
2457
346e7fbe 24582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2459
2460 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
2461 `__trampoline_setup' and `__ucmpdi2'.
2462 * include/grub/powerpc/libgcc.h: Only export symbols for functions
2463 that libgcc provides.
2464
cdb308b0 24652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2466
2467 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
2468 * include/grub/sparc64/libgcc.h (memset): Likewise.
2469 * include/grub/misc.h (memset, memcmp): New function prototypes.
2470
fb26abc2 24712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2472
2473 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
2474 `cpio'.
2475 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
2476
f6693890 24772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2478
2479 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
2480 * docs/grub.cfg: Compensate for recent change in multiboot
2481 loader (since 2009-08-14 it won't pass filename to payload).
2482 * util/grub.d/10_hurd.in: Likewise.
2483
0933cdc0 24842009-10-21 Felix Zielcke <fzielcke@z-51.de>
2485
2486 * config.guess: Update to latest version from config git
2487 repository.
2488 * config.sub: Likewise.
2489
3b2fe8c2 24902009-10-20 Robert Millan <rmh.grub@aybabtu.com>
2491
2492 Fix build on sparc64.
2493
2494 * configure.ac: Perform checks for libgcc symbols before
2495 adding `-nostdlib' to LDFLAGS.
2496
46695a62 24972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Let user specify OpenBSD root device.
2500
2501 * loader/i386/bsd.c (openbsd_root): New variable.
2502 (openbsd_opts): New option 'root'.
2503 (OPENBSD_ROOT_ARG): New macro.
2504 (grub_openbsd_boot): Use 'openbsd_root'.
2505 (grub_cmd_openbsd): Fill 'openbsd_root'.
2506
d2b6b7fc 25072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2508
2509 * NEWS: Misc adjustments.
2510
421bd7ac 25112009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
2514
f1d29d87 25152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
2516
2517 * configure.ac: Bump version to 1.97.
2518
6f3cd880 25192009-10-16 Colin Watson <cjwatson@ubuntu.com>
2520
2521 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
2522 -mno-3dnow on x86 architectures. Some toolchains enable these
2523 features by default, but they rely on registers that aren't enabled
2524 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
2525
035f7122 25262009-10-15 Robert Millan <rmh.grub@aybabtu.com>
2527
2528 Make entry text a bit more readable.
2529
2530 * util/grub.d/10_linux.in: Add `with' before `Linux'.
2531
44998e58 25322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
2535
cd2851b3 25362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
2539 operations.
2540
c6f3b249 25412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * configure.ac: Add missing dollar.
2544
6b5886ba 25452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
2548
2549 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
2550 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
2551 exports.
2552 * include/grub/sparc64/libgcc.h: Likewise. Use
2553 preprocessor conditionals.
2554
e9d66f6d 25552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2556
2557 * conf/common.rmk (grub-dumpbios): Remove rule.
2558 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
2559 * util/grub-dumpbios.in: Remove file.
2560
9155bc17 25612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
2562
2563 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
2564 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
2565
2566 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
2567 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
2568 users.
2569
2570 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
2571 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
2572 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
2573 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
2574 users.
2575
bf7f7a18 25762009-10-12 Robert Millan <rmh.grub@aybabtu.com>
2577
2578 * term/tparm.c: Switch to GPLv3.
2579
86564c26 25802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2581
2582 * include/grub/i386/cpuid.h: Add header protection.
2583
5c936493 25842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
2585
2586 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
2587
2588 * include/grub/i386/cpuid.h: New file.
2589 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
2590 (has_longmode): Rename to ...
2591 (grub_cpuid_has_longmode): ... this. Update all users. Remove
2592 `static' attribute.
2593 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
2594 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
2595 on a CPU that doesn't implement AMD64 instruction set.
2596
186e7cf2 25972009-10-06 Colin Watson <cjwatson@ubuntu.com>
2598
2599 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
2600 that version.texi is rebuilt on version number changes.
2601
83b65c4a 26022009-10-06 Colin Watson <cjwatson@ubuntu.com>
2603
2604 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
2605 Fixes bug #27602.
2606
d244281c 26072009-10-06 Colin Watson <cjwatson@ubuntu.com>
2608
2609 * util/i386/pc/grub-install.in: Source
2610 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
2611 that the --grub-probe option will work.
2612 * util/sparc64/ieee1275/grub-install.in: Likewise.
2613
da25306d 26142009-10-05 Robert Millan <rmh.grub@aybabtu.com>
2615
2616 * configure.ac: Bump version to 1.97~beta4.
2617
e8ee83c0 26182009-10-03 Robert Millan <rmh.grub@aybabtu.com>
2619
2620 Resync grub-mkdevicemap in x86_64-efi.
2621
2622 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
2623 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
2624 `util/devicemap.c'.
2625
50dcabcf 26262009-10-01 Colin Watson <cjwatson@ubuntu.com>
2627
2628 * util/grub-editenv.c (create_envblk_file): Write new block with a
2629 .new suffix and then rename it into place, to ensure atomic
2630 creation.
2631
0e51c3a7 26322009-09-28 Robert Millan <rmh.grub@aybabtu.com>
2633
2634 Do not automatically install headers.
2635
2636 * Makefile.in (include_DATA): Remove. Update all users.
2637
31299a95 26382009-09-26 Robert Millan <rmh.grub@aybabtu.com>
2639
2640 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
2641 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
2642
2643 * util/osdetect.lua: Remove.
2644 * script/lua/lauxlib.c: Likewise.
2645 * script/lua/ldebug.c: Likewise.
2646 * script/lua/grub_main.c: Likewise.
2647 * script/lua/lauxlib.h: Likewise.
2648 * script/lua/ldebug.h: Likewise.
2649 * script/lua/ltablib.c: Likewise.
2650 * script/lua/liolib.c: Likewise.
2651 * script/lua/lstrlib.c: Likewise.
2652 * script/lua/lualib.h: Likewise.
2653 * script/lua/ldo.c: Likewise.
2654 * script/lua/ldump.c: Likewise.
2655 * script/lua/ldo.h: Likewise.
2656 * script/lua/loslib.c: Likewise.
2657 * script/lua/lundump.c: Likewise.
2658 * script/lua/grub_lib.c: Likewise.
2659 * script/lua/ldblib.c: Likewise.
2660 * script/lua/lundump.h: Likewise.
2661 * script/lua/lmem.c: Likewise.
2662 * script/lua/grub_lib.h: Likewise.
2663 * script/lua/lmathlib.c: Likewise.
2664 * script/lua/lstate.c: Likewise.
2665 * script/lua/ltm.c: Likewise.
2666 * script/lua/lvm.c: Likewise.
2667 * script/lua/lmem.h: Likewise.
2668 * script/lua/lstate.h: Likewise.
2669 * script/lua/ltm.h: Likewise.
2670 * script/lua/ltable.c: Likewise.
2671 * script/lua/lvm.h: Likewise.
2672 * script/lua/llex.c: Likewise.
2673 * script/lua/lgc.c: Likewise.
2674 * script/lua/grub_lua.h: Likewise.
2675 * script/lua/loadlib.c: Likewise.
2676 * script/lua/lfunc.c: Likewise.
2677 * script/lua/lopcodes.c: Likewise.
2678 * script/lua/lparser.c: Likewise.
2679 * script/lua/ltable.h: Likewise.
2680 * script/lua/llex.h: Likewise.
2681 * script/lua/lgc.h: Likewise.
2682 * script/lua/lfunc.h: Likewise.
2683 * script/lua/lbaselib.c: Likewise.
2684 * script/lua/lopcodes.h: Likewise.
2685 * script/lua/lparser.h: Likewise.
2686 * script/lua/lzio.c: Likewise.
2687 * script/lua/linit.c: Likewise.
2688 * script/lua/lobject.c: Likewise.
2689 * script/lua/llimits.h: Likewise.
2690 * script/lua/lstring.c: Likewise.
2691 * script/lua/lzio.h: Likewise.
2692 * script/lua/lapi.c: Likewise.
2693 * script/lua/lcode.c: Likewise.
2694 * script/lua/lua.h: Likewise.
2695 * script/lua/lobject.h: Likewise.
2696 * script/lua/lstring.h: Likewise.
2697 * script/lua/lapi.h: Likewise.
2698 * script/lua/lcode.h: Likewise.
2699 * script/lua/luaconf.h: Likewise.
2700
cb8a2c38 27012009-09-26 Colin Watson <cjwatson@ubuntu.com>
2702
2703 * docs/grub.texi (Command-line and menu entry commands): Document
2704 date and echo commands.
2705
6b9b6276 27062009-09-24 Pavel Roskin <proski@gnu.org>
2707
2708 * include/grub/kernel.h (struct grub_module_header): Remove
2709 `grub_module_header_types'. Make `type' unsigned. Make `size'
2710 32-bit on all platforms.
2711 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
2712 8-bit field. Use grub_host_to_target32() for `size'.
2713 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
2714 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
2715 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
2716
4e5a02a7 27172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2718
2719 Fix "lost keypress" bug in at_keyboard.
2720
2721 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
2722 Checks for readyness of input buffer (without flushing it).
2723 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
2724 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
2725
c6dcedf6 27262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2727
2728 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
2729 size check within GRUB_MACHINE_PCBIOS section.
2730
74c958b1 27312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
2732
2733 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
2734 return value.
2735 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
2736 KEYBOARD_ISREADY check.
2737 (grub_at_keyboard_checkkey): Rename to ...
2738 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
2739 Remove gratuitous cast.
2740
ff420223 27412009-09-23 Colin Watson <cjwatson@ubuntu.com>
2742
2743 * configure.ac: Call AC_PROG_MKDIR_P.
2744 * Makefile.in (docs/stamp-vti): Create docs directory. Create
2745 version.texi in $(builddir) rather than $(srcdir).
2746 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
2747 to makeinfo's @include search path.
2748
d96875df 27492009-09-23 Felix Zielcke <fzielcke@z-51.de>
2750
2751 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
2752
9b3f8365 27532009-09-23 Felix Zielcke <fzielcke@z-51.de>
2754
2755 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
2756 for `*.dpkg-new'.
2757
c44c90db 27582009-09-21 Colin Watson <cjwatson@ubuntu.com>
2759
2760 Build info documentation. Some code borrowed from Automake.
2761
2762 * configure.ac: Check for makeinfo.
2763 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
2764 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
2765 docs/version.texi.
2766 (MOSTLYCLEANFILES): Add vti.tmp.
2767 (docs/version.texi, docs/stamp-vti): Update automatically.
2768 (docs/grub.info): Build info documentation. Use --force and ignore
2769 errors for now.
2770 (all-local): Add $(INFOS).
2771 (install-local): Install info files.
2772 (uninstall): Uninstall info files.
2773 * docs/version.texi: Remove from revision control. This file is
2774 automatically generated on build now.
2775 * gendistlist.sh: Add `*.info'.
2776
e0b37bb5 27772009-09-21 Felix Zielcke <fzielcke@z-51.de>
2778
2779 * kern/term.c: Fix indentation.
2780
5a78865b 27812009-09-21 Felix Zielcke <fzielcke@z-51.de>
2782
2783 * util/hostdisk.c: Fix a comment.
2784
dace7e8a 27852009-09-20 Robert Millan <rmh.grub@aybabtu.com>
2786
2787 Fix regression introduced in r2539.
2788
2789 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
2790 to 0xA1.
2791
a83d079b 27922009-09-19 Colin Watson <cjwatson@ubuntu.com>
2793
2794 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 2795 os-prober. Under normal operation, it does not print anything to
2796 stderr; if it does, we need to debug it, and throwing away stderr
2797 makes that excessively difficult.
a83d079b 2798
be94a509 27992009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
2802
63f745e8 28032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2804
2805 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
2806 AC_LANG_PROGRAM from autoconf.
2807 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
2808 prototypes (fixes warning).
2809
2810 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
2811 `--disable-werror' was used.
2812
bbb2a70f 28132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
2814
2815 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
2816 uninitialized `lastaddr'.
2817
77c24f1d 28182009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2819
0f0b8c87 2820 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 2821
07197f23 28222009-09-14 Colin Watson <cjwatson@ubuntu.com>
2823
2824 * commands/test.c (get_fileinfo): Return immediately if
2825 grub_fs_probe fails.
2826
dabf1798 28272009-09-14 José Martínez <xosemp@gmail.com>
2828
2829 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
2830
d52109a7 28312009-09-14 Colin Watson <cjwatson@ubuntu.com>
2832
2833 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
2834 output.
2835
56532179 28362009-09-13 Robert Millan <rmh.grub@aybabtu.com>
2837
2838 * configure.ac: Remove --enable-grub-pe2elf. Only build
2839 grub-pe2elf when needed by the build system itself.
2840 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
2841
8ef070f5 28422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2843
2844 * configure.ac: Bump version to 1.97~beta3.
2845 * docs/version.texi: Likewise.
2846
61229557 28472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2848
2849 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
2850 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
2851 from here ...
2852 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
2853 (grub_linux_setup_video): ... to here (with some adjustments).
2854
5c9f8d84 28552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
2856
2857 Fix memory corruption issue (spotted by Colin Watson).
2858
2859 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
2860 causing returned size to be stored in an incorrect memory location.
2861 Fix use of uninitialized value when storing the returned size.
2862
e8f5d6e9 28632009-09-12 Yves Blusseau <blusseau@zetam.org>
2864
2865 Change clean rules to properly remove files
2866
2867 * genmk.rb: add new clean rules
2868 * Makefile.in (clean): add the new targets
2869 (mostlyclean): likewise
2870
cda2a409 28712009-09-11 Colin Watson <cjwatson@ubuntu.com>
2872
2873 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
2874 to grub_uint64_t.
2875 * fs/ntfs.c (init_file): Understand 64-bit sizes for
2876 non-resident files.
2877
86695375 28782009-09-11 Colin Watson <cjwatson@ubuntu.com>
2879
2880 * configure.ac: Don't look for help2man when cross-compiling. Fixes
2881 part of bug #27349.
2882
8aa1541a 28832009-09-10 Felix Zielcke <fzielcke@z-51.de>
2884
2885 * util/grub-mkconfig.in: Make the created config mode 400 and
2886 print a warning if it fails.
2887
48d9bb0a 28882009-09-10 Robert Millan <rmh.grub@aybabtu.com>
2889
2890 * util/grub.d/40_custom.in: Ask user to type custom entries below
2891 comment, rather than below 'exec tail' line.
2892
3b0521be 28932009-09-10 Colin Watson <cjwatson@ubuntu.com>
2894
2895 * util/grub.d/40_custom.in: Make sure that the explanatory text is
2896 visible in grub.cfg.
2897
50051d55 28982009-09-10 Colin Watson <cjwatson@ubuntu.com>
2899
2900 * util/grub.d/40_custom.in: Make it a little clearer how to use this
2901 file.
2902
c0d34387 29032009-09-10 Felix Zielcke <fzielcke@z-51.de>
2904
2905 * docs/grub.cfg: Add an example menu entry for memtest86+.
2906
80a608f3 29072009-09-09 Felix Zielcke <fzielcke@z-51.de>
2908
a2094832 2909 * config.guess: Update to latest version from config git.
80a608f3 2910 * config.sub: Likewise.
2911
99423078 29122009-09-08 Colin Watson <cjwatson@ubuntu.com>
2913
2914 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
2915 unknown-command case. Fixes bug #27320.
2916
44454e4c 29172009-09-08 Felix Zielcke <fzielcke@z-51.de>
2918
2919 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
2920 `help' if the command exists.
2921
e30d87ad 29222009-09-06 Robert Millan <rmh.grub@aybabtu.com>
2923
2924 * INSTALL: Require GCC 4.1.3 or later.
2925
9a86f1ec 29262009-09-06 Yves Blusseau <blusseau@zetam.org>
2927
2928 * Makefile.in (RMKFILES): add i386-qemu.rmk
2929 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
2930 $(srcdir)/stamp-h.in
2931
7f26d466 29322009-09-05 Robert Millan <rmh.grub@aybabtu.com>
2933
2934 * util/grub-probe.c (probe): Comment out buggy codepath, which
2935 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
2936 should be re-enabled after 1.97.
2937
3a613259 29382009-09-05 Felix Zielcke <fzielcke@z-51.de>
2939
2940 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
2941 find searches for.
2942
197f76c7 29432009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
2946 unnecessary calls to grub_error.
2947
70ba68ce 29482009-09-04 Colin Watson <cjwatson@ubuntu.com>
2949
2950 * NEWS: Mention `keystatus' and Unicode fonts.
2951
4ff0d7a4 29522009-09-04 Robert Millan <rmh.grub@aybabtu.com>
2953
2954 * configure.ac: Bump version to 1.97~beta2.
2955 * docs/version.texi: Likewise.
2956
77c55a87 29572009-09-03 Colin Watson <cjwatson@ubuntu.com>
2958
2959 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
2960 containing unwind information in some cases where it previously did
2961 not. Use -fno-dwarf2-cfi-asm if available to restore the old
2962 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
2963 discussion.
2964
f79572cd 29652009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
2966
2967 Embedding loadenv module into grub-emu
2968
2969 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
2970 commands/loadenv.c
2971 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
2972 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
2973 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
2974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
2975 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
2976 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
2977
93a81088 29782009-09-03 Magnus Granberg <zorry@ume.nu>
2979
2980 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
2981 include -fPIE in the default specs.
2982 * configure.ac: Check if pie_possible is yes and add -fno-PIE
2983 to TARGET_CFLAGS.
2984
160034b2 29852009-09-03 Felix Zielcke <fzielcke@z-51.de>
2986
2987 * INSTALL: Note that GNU Bison 2.3 or later is required.
2988
087c07c4 29892009-09-03 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * kern/i386/pc/startup.S: Fix typo.
2992
cbf978c0 29932009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
2996 according to GCS.
2997
29982009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 2999
3000 * docs/grub.texi (Naming convention): Describe one-based partition
3001 numbering.
3002 (Device syntax): Likewise.
3003 (File name syntax): Likewise.
3004 (Block list syntax): Likewise.
3005 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
3006 menu.lst.
3007 (File name syntax): Likewise.
3008 (Command-line and menu entry commands): Document acpi, blocklist,
3009 crc, export, insmod, keystatus, ls, set, and unset commands.
3010
f3e8cdfd 30112009-09-02 Colin Watson <cjwatson@ubuntu.com>
3012
3013 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
3014 to avoid implying that only one of --shift, --ctrl, or --alt may be
3015 used.
3016
c0bc232b 30172009-09-02 Colin Watson <cjwatson@ubuntu.com>
3018
3019 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
3020 rather than comparing against S_IFREG, which will almost never work.
3021
aa0f752d 30222009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
3025 (write_blocklists): Likewise.
3026
ecb3166a 30272009-09-01 Colin Watson <cjwatson@ubuntu.com>
3028
3029 * script/lua/grub_lua.h (fputs): Supply a format string as the first
3030 argument to grub_printf.
3031
c403a125 30322009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 3033
3034 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 3035 non GNU test.
31aba781 3036
b5e7312c 30372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * kern/file.c (grub_file_read): Spelling fix
3040
fe00f472 30412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
3044 loading of headers in some cases.
3045
cc55302e 30462009-08-30 Robert Millan <rmh.grub@aybabtu.com>
3047
3048 * configure.ac: Bump version to 1.97~beta1.
3049 * docs/version.texi: Likewise.
3050
5c90cdd2 30512009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 3052
3053 * include/grub/i386/xnu.h: Add license header.
3054 include grub/err.h explicitly.
3055
c90edae4 30562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3057
3058 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
3059 to `ufs' in the vfs.root.mountfrom kernel parameter.
3060
d8888b5c 30612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
3062
3063 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
3064
3065 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
3066 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
3067
3068 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
3069 `ARRAY_SIZE' macro.
3070
6f07b921 30712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * kern/file.c (grub_file_read): Check offset.
3074 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
3075 * fs/jfs.c (grub_jfs_read_file): Likewise.
3076 * fs/ntfs.c (grub_ntfs_read): Likewise.
3077 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
3078 * fs/minix.c (grub_minix_read_file): Correct offset check.
3079 * fs/ufs.c (grub_ufs_read_file): Likewise.
3080
b4f34077 30812009-08-28 Colin Watson <cjwatson@ubuntu.com>
3082
3083 * term/i386/pc/console.c (bios_data_area): Cast
3084 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
3085
e7c69859 30862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 1-bit optimised blitters.
3089
3090 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
3091 prototype.
3092 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3093 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3094 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3095 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3096 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3097 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3098 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
3099 function.
3100 (grub_video_fbblit_replace_24bit_1bit): Likewise.
3101 (grub_video_fbblit_replace_16bit_1bit): Likewise.
3102 (grub_video_fbblit_replace_8bit_1bit): Likewise.
3103 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
3104 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
3105 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
3106 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
3107 when possible.
3108 * video/video.c (grub_video_get_blit_format): Return
3109 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
3110
a57da43f 31112009-08-28 Colin Watson <cjwatson@ubuntu.com>
3112
3113 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
3114 the first argument to grub_printf.
3115
4cbe67e5 31162009-08-28 Colin Watson <cjwatson@ubuntu.com>
31172009-08-28 Robert Millan <rmh.grub@aybabtu.com>
3118
3119 Add `getkeystatus' terminal method. Add a new `keystatus' command
3120 to query it.
3121
3122 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
3123 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
3124 modifier key bitmasks.
3125 (struct grub_term_input): Add `getkeystatus' member.
3126 (grub_getkeystatus): Add prototype.
3127 * kern/term.c (grub_getkeystatus): New function.
3128
3129 * include/grub/i386/pc/memory.h
3130 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
3131 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
3132 Data Area layout.
3133 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
3134 (grub_console_term_input): Set `getkeystatus' member.
3135 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
3136 constants.
3137 (grub_usb_keyboard_getreport): Likewise.
3138 (grub_usb_keyboard_checkkey): Likewise.
3139 (grub_usb_keyboard_getkeystatus): New function.
3140 (grub_usb_keyboard_term): Set `getkeystatus' member.
3141
3142 * commands/keystatus.c: New file.
3143 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
3144 (keystatus_mod_SOURCES): New variable.
3145 (keystatus_mod_CFLAGS): Likewise.
3146 (keystatus_mod_LDFLAGS): Likewise.
3147 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
3148 commands/keystatus.c.
3149 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3150 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3151 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3154 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 3155
6e2a9085 31562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 Split befs.mod and afs.mod into *_be.mod and *.mod
3159
3160 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
3161 (grub_fstest_SOURCES): Likewise.
3162 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
3163 (afs_be_mod_SOURCES): New variable.
3164 (afs_be_mod_CFLAGS): Likewise.
3165 (afs_be_mod_LDFLAGS): Likewise.
3166 (befs_be_mod_SOURCES): Likewise.
3167 (befs_be_mod_CFLAGS): Likewise.
3168 (befs_be_mod_LDFLAGS): Likewise.
3169 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
3170 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3171 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3172 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3173 (grub_emu_SOURCES): Likewise.
3174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3175 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3176 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3177 * fs/afs_be.c: New file.
3178 * fs/befs_be.c: New file.
3179 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
3180 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
3181 (U16): Replaced with ...
3182 (grub_afs_to_cpu16): ...this. All users updated.
3183 (U32): Replaced with ...
3184 (grub_afs_to_cpu32): ...this. All users updated.
3185 (U64): Replaced with ...
3186 (grub_afs_to_cpu64): ...this. All users updated.
3187 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
3188 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 3189 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 3190 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3191 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3192 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3193 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3194 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
3195 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
3196 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
3197 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
3198
32a71655 31992009-08-26 Bean <bean123ch@gmail.com>
3200
3201 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
3202 64-bit number.
3203 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3204 (grub_xfs_inode_block): Change return type to grub_uint64_t.
3205 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
3206
552bf6c5 32072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 NetBSD memory map support.
3210
3211 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
3212 (grub_netbsd_btinfo_mmap_header): New structure.
3213 (grub_netbsd_btinfo_mmap_entry): Likewise.
3214 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
3215
1ae2078c 32162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Enable bsd.mod on coreboot.
3219
3220 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
3221 (bsd_mod_SOURCES): New variable.
3222 (bsd_mod_CFLAGS): Likewise.
3223 (bsd_mod_LDFLAGS): Likewise.
3224 (bsd_mod_ASFLAGS): Likewise.
3225 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
3226 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
3227
beefc598 32282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Cleanup NetBSD root support.
3231
3232 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
3233 grub_bsd_get_device.
3234 Fix typo.
3235
3b76e68b 32362009-08-25 Felix Zielcke <fzielcke@z-51.de>
3237
3238 * util/grub.d/00_header.in: Move check for the video backend of
3239 gfxterm from here ...
3240 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
3241 a suitable video backend.
3242
aea664ea 32432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Fix breakage in grub-setup.
3246
3247 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
3248 "msdos_partition_map".
3249
ff747d50 32502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 Fix breakage in normal/auth.c.
3253
3254 * normal/auth.c (grub_iswordseparator): New function.
3255
e7e1f93f 32562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Authentication support.
3259
3260 * commands/password.c: New file.
3261 * conf/common.rmk (pkglib_MODULES): Add password.mod.
3262 (password_mod_SOURCES): New variable.
3263 (password_mod_CFLAGS): Likewise.
3264 (password_mod_LDFLAGS): Likewise.
3265 (normal_mod_SOURCES): Add normal/auth.c.
3266 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
3267 normal/auth.c.
3268 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3270 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3272 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3273 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
3274 * include/grub/auth.h: New file.
3275 * include/grub/err.h (grub_err_t): New enum value
3276 GRUB_ERR_ACCESS_DENIED.
3277 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
3278 'users'.
3279 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
3280 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
3281 users updated.
3282 * normal/auth.c: New file.
3283 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
3284 (grub_cmdline_run): Don't allow to go to command line without
3285 authentication.
3286 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
3287 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
3288 menuentry without superuser rights.
3289 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
3290 user isn't a superuser.
3291
70f1161d 32922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 Save space by inlining misc.c functions.
3295
3296 * kern/misc.c (grub_iswordseparator): Made static.
3297 * kern/misc.c (grub_strcat): Moved from here ...
3298 * include/grub/misc.h (grub_strcat): ... here. Inlined.
3299 * kern/misc.c (grub_strncat): Moved from here ...
3300 * include/grub/misc.h (grub_strncat): ... here. Inlined.
3301 * kern/misc.c (grub_strcasecmp): Moved from here ...
3302 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
3303 * kern/misc.c (grub_strncasecmp): Moved from here ...
3304 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
3305 * kern/misc.c (grub_isalpha): Moved from here ...
3306 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
3307 * kern/misc.c (grub_isdigit): Moved from here ...
3308 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
3309 * kern/misc.c (grub_isgraph): Moved from here ...
3310 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
3311 * kern/misc.c (grub_tolower): Moved from here ...
3312 * include/grub/misc.h (grub_tolower): ... here. Inlined.
3313
48e40bff 33142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * script/sh/function.c (grub_script_function_find): Cut error message
3317 not to flood terminal.
3318 * script/sh/lexer.c (grub_script_yylex): Remove command line length
3319 limit.
3320 * script/sh/script.c (grub_script_arg_add): Duplicate string.
3321
c385bfc3 33222009-08-24 Colin Watson <cjwatson@ubuntu.com>
3323
3324 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
3325 `report' grub_uint8_t *.
3326 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
3327 Use a 50-millisecond timeout rather than just repeating
3328 grub_usb_keyboard_getreport 50 times.
3329 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
3330
2d21e3e8 33312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Rename *_partition_map to part_*
3334
3335 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
3336 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
3337 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
3338 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
3339 All users updated.
3340 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
3341 All users updated.
3342 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
3343 * util/grub-probe.c (probe_partmap): Don't transform partition name
3344 to get module name.
3345
dd103c4e 33462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 Fix OpenBSD and NetBSD support.
3349
3350 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
3351 memory address conflict.
3352 (OPENBSD_MMAP_ACPI): New definition.
3353 (OPENBSD_MMAP_NVS): Likewise.
3354 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
3355 and OPENBSD_MMAP_NVS.
3356 Add memory map terminator
3357 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 3358 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 3359
16c84d74 33602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 Let user specify NetBSD root device.
3363
3364 * loader/i386/bsd.c (netbsd_root): New variable.
3365 (netbsd_opts): New option 'root'.
3366 (NETBSD_ROOT_ARG): New macro.
3367 (grub_netbsd_boot): Use 'netbsd_root'.
3368 (grub_bsd_unload): Free 'netbsd_root'.
3369 (grub_cmd_netbsd): Fill 'netbsd_root'.
3370
adb29902 33712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Support for 64-bit NetBSD.
3374
3375 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
3376 point when booting non-FreeBSD.
3377
f5ae9f74 33782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Support --no-smp and --no-acpi for NetBSD.
3381
3382 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
3383 (NETBSD_AB_NOACPI): Likewise.
3384 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
3385 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
3386
de74f136 33872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
3390 errors.
3391 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
3392 errors. Call grub_error when needed.
3393
e9a925da 33942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * commands/search.c (search_fs): Try searching without autoload first.
3397 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3398 filesystem module explicitly for faster booting.
3399
5174302b 34002009-08-23 Colin Watson <cjwatson@ubuntu.com>
3401
3402 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
3403
c8c80635 34042009-08-23 Colin Watson <cjwatson@ubuntu.com>
3405
3406 * util/grub.d/30_os-prober.in: Disable os-prober if
3407 `GRUB_DISABLE_OS_PROBER' was set to true.
3408
71acf5e5 34092009-08-23 Robert Millan <rmh.grub@aybabtu.com>
3410
3411 * partmap/pc.c: Rename to ...
3412 * partmap/msdos.c: ... this. Update all users.
3413 (grub_pc_partition_map): Rename to ...
3414 (grub_msdos_partition_map): ... this. Update all users.
3415
3416 * parttool/pcpart.c: Rename to ...
3417 * parttool/msdospart.c: ... this. Update all users.
3418
3419 * include/grub/pc_partition.h: Rename to ...
3420 * include/grub/msdos_partition.h: ... this. Update all users.
3421 (grub_pc_partition_bsd_entry): Rename to ...
3422 (grub_msdos_partition_bsd_entry): ... this. Update all users.
3423 (grub_pc_partition_disk_label): Rename to ...
3424 (grub_msdos_partition_disk_label): ... this. Update all users.
3425 (grub_pc_partition_entry): Rename to ...
3426 (grub_msdos_partition_entry): ... this. Update all users.
3427 (grub_pc_partition_mbr): Rename to ...
3428 (grub_msdos_partition_mbr): ... this. Update all users.
3429 (grub_pc_partition): Rename to ...
3430 (grub_msdos_partition): ... this. Update all users.
3431 (grub_pc_partition_is_empty): Rename to ...
3432 (grub_msdos_partition_is_empty): ... this. Update all users.
3433 (grub_pc_partition_is_extended): Rename to ...
3434 (grub_msdos_partition_is_extended): ... this. Update all users.
3435 (grub_pc_partition_is_bsd): Rename to ...
3436 (grub_msdos_partition_is_bsd): ... this. Update all users.
3437
3438 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
3439 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
3440 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
3441 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
3442 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
3443 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
3444 (gpt_mod_LDFLAGS): Rename to ...
3445 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
3446 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
3447 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
3448 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
3449 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
3450 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
3451 (part_gpt_mod_LDFLAGS): ... this.
3452 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
3453 `pcpart.mod' to `msdospart.mod'.
3454 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
3455 to ...
3456 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
3457 (msdospart_mod_LDFLAGS): ... this.
3458
c11fded5 34592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
3462 (openbsd_opts): Likewise.
3463 (netbsd_opts): Likewise.
3464 (freebsd_flags): Added 0 terminator.
3465 (openbsd_flags): Likewise.
3466 (netbsd_flags): Likewise.
3467 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
3468 (grub_cmd_freebsd): Transformed into extended command.
3469 (grub_cmd_openbsd): Likewise.
3470 (grub_cmd_netbsd): Likewise.
3471 (cmd_freebsd): Changed type to grub_extcmd_t.
3472 (cmd_openbsd): Likewise.
3473 (cmd_netbsd): Likewise.
3474 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
3475 grub_cmd_openbsd as extended commands.
3476 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
3477 cmd_netbsd and cmd_openbsd
3478
11d1c769 34792009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
3482
7a9094e5 34832009-08-21 Pavel Roskin <proski@gnu.org>
3484
5496c37e 3485 * Makefile.in (install-local): When checking if a file is in the
3486 build directory, use "test -e" to detect symlinks.
3487
7a9094e5 3488 * Makefile.in (install-local): Remove all files in
3489 $(DESTDIR)$(pkglibdir) before installing new files there.
3490
e53cea11 34912009-08-18 Felix Zielcke <fzielcke@z-51.de>
3492
3493 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
3494 grub-mkelfimage.
3495
9aced544 34962009-08-18 Felix Zielcke <fzielcke@z-51.de>
3497
3498 * util/grub-mkconfig.in: Don't use gfxterm by default if not
3499 explicitly specified by the user.
3500
b7da6bab 35012009-08-18 Pavel Roskin <proski@gnu.org>
3502
3503 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
3504 grub_uint8_t pointer for data.
3505 * include/grub/fbutil.h (struct grub_video_fbblit_info):
3506 Likewise.
3507 * video/fb/fbutil.c: Remove unnecessary casts.
3508
19f1b335 35092009-08-17 Michal Suchanek <hramrach@centrum.cz>
3510
3511 VBE cleanup.
3512
3513 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
3514 (grub_vbe_set_video_mode): Save active mode info
3515 only after setting the mode.
3516 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
3517 second argument.
3518
2f467aa9 35192009-08-17 Michal Suchanek <hramrach@centrum.cz>
3520
3521 Rename variables for clarity.
3522
3523 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
3524 (active_vbe_mode_info): ... this. All users updated.
3525 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
3526 All users updated.
3527 (initial_mode): Rename to ...
3528 (initial_vbe_mode): ... this. All users updated.
3529 (mode_in_use): Rename to ..
3530 (vbe_mode_in_use): ... this. All users updated.
3531 (mode_list): Rename to ..
3532 (vbe_mode_list): ... this. All users updated.
3533 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
3534 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
3535 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
3536 'mode_list_size' to 'vbe_mode_list_size'.
3537 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
3538 'best_mode_info' to 'best_vbe_mode_info' and
3539 'best_mode' to 'best_vbe_mode'
3540
6025fcd7 35412009-08-17 Michal Suchanek <hramrach@centrum.cz>
3542
3543 Remove duplicate grub_video_fb_get_video_ptr.
3544
3545 * include/grub/fbutil.h (get_data_ptr): Rename to ...
3546 (grub_video_fb_get_video_ptr): ... this.
3547 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
3548 * video/fb/fbutil.c: Add comment about addressing.
3549 (get_data_ptr): Rename to ...
3550 (grub_video_fb_get_video_ptr): ... this. All users updated.
3551 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
3552
cc8c6faf 35532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3554
3555 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
3556 grub_dprintf() that was just added.
3557
08aa61f0 35582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
3559
3560 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
3561 (DEFAULT_VIDEO_MODE): Remove macros.
3562 (grub_linux_boot): Remove assumption that Linux has FB support,
3563 and use "text" as default video mode.
3564
7cef4f75 35652009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
3568 grub_dprintf.
3569 * fs/fat.c (grub_fat_read_data): Likewise.
3570
e1f39873 35712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
3574 payload.
3575 (grub_module): Likewise.
3576
c166d79e 35772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
3580 mbi->cmdline but free playground.
3581
c60cee8e 35822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 Handle group offset on UFS1.
3585
3586 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
3587 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
3588
c0d8b5d4 35892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 Split ufs.mod into ufs1.mod and ufs2.mod.
3592
3593 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
3594 (grub_fstest_SOURCES): Likewise.
3595 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
3596 (ufs_mod_SOURCES): Remove.
3597 (ufs_mod_CFLAGS): Likewise.
3598 (ufs_mod_LDFLAGS): Likewise.
3599 (ufs1_mod_SOURCES): New variable.
3600 (ufs1_mod_CFLAGS): Likewise.
3601 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 3602 (ufs2_mod_SOURCES): New variable.
3603 (ufs2_mod_CFLAGS): Likewise.
3604 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 3605 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
3606 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3607 Likewise.
3608 (grub_emu_SOURCES): Likewise.
3609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3610 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3611 (grub_setup_SOURCES): Likewise.
3612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3613 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
3614 (grub_setup_SOURCES): Likewise.
3615 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
3616 Likewise.
3617 * fs/ufs2.c: New file.
3618 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
3619
d3539132 36202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 Framebuffer split.
3623
3624 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
3625 subsystem at the end.
3626 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
3627 (video_fb_mod_SOURCES): New variable.
3628 (video_fb_mod_CFLAGS): Likewise.
3629 (video_fb_mod_LDFLAGS): Likewise.
3630 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
3631 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
3632 * video/i386/pc/vbeblit.c: Moved from here ...
3633 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
3634 * video/i386/pc/vbefill.c: Moved from here ...
3635 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
3636 * video/i386/pc/vbeutil.c: Moved from here ...
3637 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
3638 * include/grub/i386/pc/vbeblit.h: Moved from here ...
3639 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
3640 * include/grub/i386/pc/vbefill.h: Moved from here ...
3641 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
3642 * include/grub/i386/pc/vbeutil.h: Moved from here ...
3643 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
3644 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
3645 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
3646 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
3647 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
3648 (grub_video_adapter): Added 'get_info_and_fini'.
3649 (grub_video_get_info_and_fini): New prototype.
3650 (grub_video_set_mode): make modestring const char *.
3651 * loader/i386/linux.c (grub_linux_setup_video): Use
3652 grub_video_get_info_and_fini.
3653 (grub_linux_boot): Move modesetting just before booting.
3654 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
3655 grub_video_get_info_and_fini.
3656 * video/i386/pc/vbe.c: Moved framebuffer part ...
3657 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
3658 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
3659 grub_video_fbstd_colors and grub_video_fb_set_palette.
3660 (grub_video_vbe_init): Clear 'framebuffer' variable and use
3661 grub_video_fb_init.
3662 (grub_video_vbe_fini): Use grub_video_fb_fini.
3663 (grub_video_vbe_setup): Use framebuffer.render_target instead of
3664 render_target and use grub_video_fb_set_active_render_target and
3665 grub_video_fb_set_palette.
3666 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
3667 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
3668 (grub_video_vbe_adapter): Use framebuffer.
3669 * video/video.c (grub_video_get_info_and_fini): New function.
3670 (grub_video_set_mode): Make modestring const char *.
3671 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
3672 values are already initialised.
3673
d404ee56 36742009-08-14 Pavel Roskin <proski@gnu.org>
3675
3676 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
3677 ABS and APPLE_CC.
3678 * boot/i386/pc/diskboot.S: Likewise.
3679 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
3680 sectors allow compilation on MacOSX.
3681 * conf/i386-pc.rmk: Enable unconditional compilation of
3682 lnxboot.img.
3683
9a10df16 36842009-08-13 Colin Watson <cjwatson@ubuntu.com>
3685
3686 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
3687 * util/grub.d/00_header.in: Enter interruptible sleep if
3688 GRUB_HIDDEN_TIMEOUT is set.
3689
be3c9ca7 36902009-08-13 Yves Blusseau <blusseau@zetam.org>
3691
3692 * include/grub/symbol.h: Add the LOCAL macro.
3693 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
3694 starting with "L_".
3695
1f9e557e 36962009-08-13 Pavel Roskin <proski@gnu.org>
3697
9ca62843 3698 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
3699 any modern compilers we support.
3700
1f9e557e 3701 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
3702 Use local labels starting with "L_" so that Apple assembler
3703 knows they are local.
3704
81623db6 37052009-08-10 Robert Millan <rmh.grub@aybabtu.com>
3706
3707 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
3708 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
3709 (bsd_kernel_types): ... this enum.
3710
3711 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
3712 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
3713 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
3714
3715 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
3716 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
3717 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
3718 messages.
3719
f5d35e7a 37202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3721
3722 * util/grub-dumpdevtree: Moved from here ...
3723 * util/i386/efi/grub-dumpdevtree: ... to here.
3724 (hexify): New function. Converts a string to its hex version.
3725 Generate hex versions of "efi" and "device-properties" by calling
3726 hexify() on the ASCII strings rather than by hardcoding numbers.
3727
d1e1d527 37282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
3729
3730 * fs/jfs.c: Update copyright year.
3731
1ebbe064 37322009-08-08 Felix Zielcke <fzielcke@z-51.de>
3733
3734 * util/grub.d/00_header.in: Fix a comment.
3735 * util/grub.d/10_linux.in: Likewise.
3736 * util/grub.d/10_windows.in: Likewise.
3737 * util/grub.d/10_hurd.in: Likewise.
3738
a78c8d24 37392009-08-08 Felix Zielcke <fzielcke@z-51.de>
3740
3741 * util/grub-mkconfig.in: Allow the user to specify the used font
3742 with GRUB_FONT.
3743
29a6b9e8 37442009-08-08 Pavel Roskin <proski@gnu.org>
3745
b5f16cc4 3746 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
3747 available, xfs.mod needs it now.
3748
2f5cb827 3749 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
3750 the "g" modifier in sed when the intention is to strip something
3751 once. This fixes comparison of kernels with multiple dashes.
3752
29a6b9e8 3753 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
3754 on it. Add missing space before closing bracket. Fix
3755 misleading formatting.
3756
892a3d98 37572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3758
3759 * docs/grub.texi: Major overhaul. Remove all sections that are
3760 specific to GRUB Legacy, or mostly composed of Legacy-specific
3761 information.
3762
ed94253f 37632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3764
3765 * docs/version.texi: New file. Provides version information for
3766 grub.texi.
3767
126d6628 37682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3769
3770 * docs/grub.texi: Update CVS information to SVN.
3771 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
3772
998b5aa9 37732009-08-07 Felix Zielcke <fzielcke@z-51.de>
3774
3775 * util/grub-mkconfig.in: Remove a wrong `fi'.
3776
818e094a 37772009-08-07 Felix Zielcke <fzielcke@z-51.de>
3778
3779 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
3780 (grub_jfs_uuid): New function.
3781 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
3782
b969c52f 37832009-08-07 Felix Zielcke <fzielcke@z-51.de>
3784
3785 * util/grub-mkconfig_lib.in (font_path): Move the functionality
3786 of it to ...
3787 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
3788 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
3789
7a4894cc 37902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3791
3792 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
3793 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
3794 Update all users.
3795
3796 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
3797 not just "vmlinu[zx]".
3798 Moved from here ...
3799 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
3800 all users.
3801
3802 * util/grub.d/10_linux.in (find_latest): Moved from here ...
3803 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
3804 all users.
3805
4e2171f8 38062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
3807
3808 * util/grub.d/10_freebsd.in: Use an absolute device path for
3809 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
3810
6dcfcb32 38112009-08-06 Felix Zielcke <fzielcke@z-51.de>
3812
3813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3814 handling of multiple abstraction modules.
3815
f56a8756 38162009-08-04 Robert Millan <rmh.grub@aybabtu.com>
3817
3818 Fix a bug resulting in black screen when loading Linux using a
3819 packed video mode.
3820
3821 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
3822 function.
3823
3824 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
3825 (grub_vbe_bios_getset_dac_palette_width): New function.
3826 (grub_vbe_bios_get_dac_palette_width)
3827 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
3828 grub_vbe_bios_getset_dac_palette_width()).
3829
3830 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
3831 check for return status.
3832 (grub_vbe_get_video_mode_info): When getting information for a packed
3833 mode (<= 8 bpp), obtain DAC palette width using
3834 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
3835 {red,green,blue}_mark_size.
3836
222671b2 38372009-08-04 Felix Zielcke <fzielcke@z-51.de>
3838
ecb1a6d9 3839 * commands/search.c (options): Fix help output to match actual code.
222671b2 3840
f84114f5 38412009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
3844 of homegrown code.
3845
bd288a20 38462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 3847
3848 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
3849 on XFS or ReiserFS.
3850
8aab5e25 38512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Support Apple partition map with sector size different from 512 bytes.
3854
3855 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
3856 (apple_partition_map_iterate): Respect 'aheader.blocksize'
3857 and 'apart.partmap_size'.
3858
6ad6258a 38592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
38602009-08-01 Robert Millan <rmh.grub@aybabtu.com>
3861
3862 Fix cpuid command.
3863
3864 * commands/i386/cpuid.c (options): New variable.
3865 (grub_cmd_cpuid): Return real error.
3866 (GRUB_MOD_INIT(cpuid)): Declare options.
3867
67459bc6 38682009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
3871 valid.
3872
fbc6ab54 38732009-07-31 Bean <bean123ch@gmail.com>
3874
3875 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
3876 log2_inode.
3877 (grub_fshelp_node): Move inode field to the end.
3878 (grub_xfs_data): Remove inode field.
3879 (grub_xfs_inode_block): Calculate inode size using sblock.
3880 (grub_xfs_inode_offset): Likewise.
3881 (grub_xfs_read_inode): Calculate inode size using sblock.
3882 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
3883 (grub_xfs_iterate_dir): Calculate inode size using sblock.
3884 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
3885 to match inode size.
3886 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
3887 not accessible when data is null.
3888 (grub_xfs_open): Likewise.
3889
f45d6cfc 38902009-07-31 Bean <bean123ch@gmail.com>
3891
3892 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
3893 Don't change pv->disk if it's already set.
3894
3895 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
3896 (grub_raid_register): ... here.
3897 (grub_raid_rescan): Removed.
3898
3899 * include/grub/raid.h (grub_raid_rescan): Removed.
3900
3901 * util/grub-fstest.c: Remove include file <grub/raid.h>.
3902 (fstest): Replace grub_raid_rescan with module fini function followed
3903 by init function.
3904
3905 * util/grub-probe.c: Add include file <grub/raid.h>.
3906 (probe_raid_level): New function.
3907 (probe): Detect abstraction by walking the disk device, support two
3908 level of abstraction (LVM on RAID) when detecting partition map.
3909
24443b5a 39102009-07-31 Pavel Roskin <proski@gnu.org>
3911
3912 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
3913 to grub_zalloc(), it was erroneous.
3914 Reported by Bean <bean123ch@gmail.com>
3915
a275d9e7 39162009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 3919 embedding zone, not only the first one.
a275d9e7 3920
56c5a47f 39212009-07-29 Joe Auricchio <jauricchio@gmail.com>
3922
3923 * term/gfxterm.c (clear_char): New function.
3924 (grub_virtual_screen_setup): Use clear_char.
3925 (scroll_up): Likewise.
3926 (grub_virtual_screen_cls): Likewise.
3927
67bb323a 39282009-07-29 Felix Zielcke <fzielcke@z-51.de>
3929
3930 * util/deviceiter.c (get_acceleraid_disk_name): New static
3931 function.
3932 (grub_util_iterate_devices): Handle Accelraid devices.
3933 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
3934
388a7c75 39352009-07-28 Robert Millan <rmh.grub@aybabtu.com>
3936
3937 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
3938 separator for the suggested gfxpayload string (';' collides with the
3939 parser and needs escaping).
3940
3bb7abcf 39412009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
3944 Clear direction flag before jumping to OS.
3945 (grub_multiboot2_real_boot): Likewise.
3946
2ddd36d7 39472009-07-28 Felix Zielcke <fzielcke@z-51.de>
3948
3949 * util/i386/pc/grub-install: Fix parsing of --disk-module
3950 option.
3951
c521b62b 39522009-07-28 Felix Zielcke <fzielcke@z-51.de>
3953
3954 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
3955 when embedding.
3956
880e0a0c 39572009-07-26 Felix Zielcke <fzielcke@z-51.de>
3958
3959 * util/grub-mkconfig.in (package_version): New variable.
3960 Use it do display the version.
3961
2366e356 39622009-07-25 Felix Zielcke <fzielcke@z-51.de>
3963
3964 * kern/file.c (grub_file_open): Revert to previous check with
3965 grub_errno.
3966
7ad8c80e 39672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
3970 from help line. It's out of sync with code.
3971
72b9658b 39722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
3975 entries on failed boot.
3976
77435277 39772009-07-25 Felix Zielcke <fzielcke@z-51.de>
3978
3979 * kern/file.c (grub_file_open): Fix an error check.
3980
fcaa8b21 39812009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
3982
35d16c74 3983 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
3984 partition map couldn't be identified.
fcaa8b21 3985
48904cd1 39862009-07-23 Pavel Roskin <proski@gnu.org>
3987
ef3c317f 3988 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
3989 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
3990 case of little endian words becomes just an optimization.
3991 Respect const modifier.
ad8ea1f4 3992 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 3993
48904cd1 3994 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
3995 to avoid loss of upper bits if align is unsigned and shorter
3996 than addr.
3997
260c9a89 39982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 UUID support for UFS
4001
4002 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
4003 (grub_ufs_uuid): New function.
4004 (grub_ufs_fs): add .uuid
4005
f76ce889 40062009-07-21 Pavel Roskin <proski@gnu.org>
4007
4008 * kern/dl.c (grub_dl_check_header): Make static.
4009
6a6cbcaf 40102009-07-21 Felix Zielcke <fzielcke@z-51.de>
4011
4012 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
4013 add drivemap for Vista. It breaks Windows 7.
4014
cffcddb2 40152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
4018 128 bytes
4019
1ef44b80 40202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 Add BFS support
4023
4024 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
4025 (grub_fstest_SOURCES): Likewise.
4026 (pkglib_MODULES): Add befs.mod.
4027 (befs_mod_SOURCES): New variable.
4028 (befs_mod_CFLAGS): Likewise.
4029 (befs_mod_LDFLAGS): Likewise.
4030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4031 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
4032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4033 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
4034 (grub_setup_SOURCES): Likewise.
4035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4037 (grub_setup_SOURCES): Likewise.
4038 * fs/befs.c: New file.
4039 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
4040 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
4041 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
4042 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
4043 (B_KEY_INDEX_ALIGN): New declaration.
4044 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
4045 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
4046 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
4047 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
4048 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
4049 (grub_afs_mount) [MODE_BFS]: Likewise.
4050 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
4051 (grub_afs_fs): Use GRUB_AFS_FSNAME
4052 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
4053 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
4054 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
4055 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
4056
4f253044 40572009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
4058
4059 * util/getroot.c (find_root_device): Add support for MacOSX.
4060 * util/hostdisk.c: Likewise.
4061
57a55913 40622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * font/font.c (find_glyph): Check whether a font is present to avoid
4065 segmentation fault.
75421ca9 4066
40672009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 4068
4069 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
4070
e98cd0c2 40712009-07-20 Pavel Roskin <proski@gnu.org>
4072
4073 * configure.ac: Trim excessively wordy excuses.
4074
1d2d169a 40752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Add symlink, mtime and label support to AtheFS.
4078
4079 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
4080 (grub_afs_iterate_dir): Handle symlinks.
4081 (grub_afs_open): Use grub_afs_read_symlink.
4082 (grub_afs_dir): Likewise.
4083 Pass mtime.
4084 (grub_afs_label): New function.
4085 (grub_afs_fs): Add grub_afs_label.
4086 (grub_afs_read_symlink): New function.
4087
186f3189 40882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 Fix AtheFS support.
4091
4092 * fs/afs.c: Fix comments style.
4093 (grub_afs_blockrun): Declare as packed.
4094 (grub_afs_datastream): Likewise.
4095 (grub_afs_bnode): Likewise.
4096 (grub_afs_btree): Likewise.
4097 (grub_afs_sblock): Likewise.
4098 Declare `name' as char.
4099 (grub_afs_inode): Declare as packed.
4100 Change void *vnode to grub_uint32_t unused.
4101 (grub_afs_iterate_dir): Check that key_size is positive.
4102 (grub_afs_mount): Don't read superblock twice.
75421ca9 4103 (grub_afs_dir): Don't free node in case of error,
186f3189 4104 grub_fshelp_find_file already handles this.
4105 (grub_afs_open): Likewise.
4106
5680109e 41072009-07-19 Pavel Roskin <proski@gnu.org>
4108
4109 * Makefile.in: Remove LIBLZO and enable_lzo.
4110 * conf/i386-pc.rmk: Remove lzo support.
4111 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
4112 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
4113 support.
4114 * kern/i386/pc/lzo1x.S: Remove.
4115 * kern/i386/pc/startup.S: Remove lzo support.
4116 * util/i386/pc/grub-mkimage.c: Likewise.
4117
ac70fa32 41182009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
4121 * fs/xfs.c (grub_xfs_dir): Likewise.
4122 * fs/afs.c (grub_afs_dir): Likewise.
4123 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4124 (grub_iso9660_open): Likewise.
4125 * fs/jfs.c (grub_jfs_open): Likewise.
4126 * fs/ext2.c (grub_ext2_dir): Likewise.
4127 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
4128 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 4129
eab58da2 41302009-07-16 Pavel Roskin <proski@gnu.org>
4131
d2838156 4132 * configure.ac: Never add "-c" to CFLAGS.
4133
55c70904 4134 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
4135
43e6200c 4136 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
4137 grub_cv_cc_efiemu should be used.
4138
ce7a733d 4139 * configure.ac: Typo fixes.
4140
eab58da2 4141 * kern/mm.c (grub_zalloc): New function.
4142 (grub_debug_zalloc): Likewise.
4143 * include/grub/mm.h: Declare grub_zalloc() and
4144 grub_debug_zalloc().
4145 * util/misc.c (grub_zalloc): New function.
4146 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
4147 instead of grub_malloc(), remove unneeded initializations.
4148 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
4149 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
4150 * commands/parttool.c (grub_cmd_parttool): Likewise.
4151 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4152 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
4153 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
4154 * disk/usbms.c (grub_usbms_finddevs): Likewise.
4155 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
4156 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
4157 (grub_cmd_efiemu_pnvram): Likewise.
4158 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
4159 * fs/iso9660.c (grub_iso9660_mount): Likewise.
4160 (grub_iso9660_iterate_dir): Likewise.
4161 * fs/jfs.c (grub_jfs_opendir): Likewise.
4162 * fs/ntfs.c (list_file): Likewise.
4163 (grub_ntfs_mount): Likewise.
4164 * kern/disk.c (grub_disk_open): Likewise.
4165 * kern/dl.c (grub_dl_load_core): Likewise.
4166 * kern/elf.c (grub_elf_file): Likewise.
4167 * kern/env.c (grub_env_context_open): Likewise.
4168 (grub_env_set): Likewise.
4169 (grub_env_set_data_slot): Likewise.
4170 * kern/file.c (grub_file_open): Likewise.
4171 * kern/fs.c (grub_fs_blocklist_open): Likewise.
4172 * loader/i386/multiboot.c (grub_module): Likewise.
4173 * loader/xnu.c (grub_xnu_create_key): Likewise.
4174 (grub_xnu_create_value): Likewise.
4175 * normal/main.c (grub_normal_add_menu_entry): Likewise.
4176 (read_config_file): Likewise.
4177 * normal/menu_entry.c (make_screen): Likewise.
4178 * partmap/sun.c (sun_partition_map_iterate): Likewise.
4179 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
4180 * script/sh/script.c (grub_script_parse): Likewise.
4181 * video/bitmap.c (grub_video_bitmap_create): Likewise.
4182 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4183 * video/readers/png.c (grub_png_output_byte): Likewise.
4184 (grub_video_reader_png): Likewise.
4185
830afef7 41862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 4187
4188 Enable all targets that can be built by default
4189
830afef7 4190 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 4191 grub-mkfont and grub-fstest if they can be built
4192
ee293aee 41932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 Fix hang and segmentation fault in grub-emu-usb
4196
4197 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
4198 * util/usb.c (grub_libusb_devices): likewise
4199 (grub_libusb_init): rename to ...
4200 (GRUB_MOD_INIT (libusb)):...this
4201 (grub_libusb_fini): rename to ..
4202 (GRUB_MOD_FINI (libusb)):...this
4203 * disk/usbms.c (grub_usbms_transfer): fix retry logic
4204 * include/grub/disk.h (grub_raid_init): removed, it's useless
4205 (grub_raid_fini): likewise
4206 (grub_lvm_init): likewise
4207 (grub_lvm_fini): likewise
4208 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
4209 by grub_init_all
4210
94414221 42112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 Fix libusb
4214
4215 * Makefile.in (LIBUSB): new macro
4216 * genmk.rb (Utility/print_tail): new method
4217 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
4218 (top level): call util.print_tail at the end.
4219
59ade63d 42202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 Make FreeBSD accept zpool.cache
4223
4224 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
4225 type is /boot/zfs/zpool.cache
4226
a58da8c7 42272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Fix 64-bit efiemu
4230
4231 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
4232 correct wrong typedef
4233 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
4234
20591577 42352009-07-15 Pavel Roskin <proski@gnu.org>
4236
560ca572 4237 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
4238 * kern/disk.c (struct grub_disk_cache): Likewise.
4239
e8e8e4fd 4240 * commands/probe.c (options): Typo fix.
4241
fde24e10 4242 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
4243 Increase to 0x5a to accommodate FAT32. Adjust other offsets
4244 accordingly.
4245 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
4246
379c54c1 4247 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
4248 the end of "Error" to make the message more readable.
4249
7bd8f5bf 4250 * boot/i386/pc/boot.S (kernel_segment): Remove.
4251 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
4252 for destination.
4253
40b132c5 4254 * boot/i386/pc/boot.S (boot_version): Remove.
4255 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4256 Remove.
4257
20591577 4258 * include/grub/i386/pc/boot.h: Sort all offsets.
4259 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
4260 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
4261 * boot/i386/pc/boot.S: Assert location of every offset listed in
4262 include/grub/i386/pc/boot.h.
4263
2df32b2c 42642009-07-13 Pavel Roskin <proski@gnu.org>
4265
44b5d879 4266 * include/grub/i386/coreboot/machine.h: Rename
4267 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
4268 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
4269 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
4270
17dc3751 4271 * kern/dl.c: Force native word size to suppress warnings when
4272 compiling grub-emu.
4273
2df32b2c 4274 * kern/device.c (grub_device_iterate): Change struct part_ent to
4275 hold the name, not a pointer to it. Use one grub_malloc() per
4276 partition, not two. Free partition_name if grub_malloc() fails.
4277 Set ents to NULL only before grub_partition_iterate() is called.
4278
75c59f59 42792009-07-11 Bean <bean123ch@gmail.com>
4280
4281 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
4282 childname.
4283
0ae1bf88 42842009-07-10 Bean <bean123ch@gmail.com>
42852009-07-10 Robert Millan <rmh.grub@aybabtu.com>
4286
4287 * kern/ieee1275/openfw.c (grub_children_iterate)
4288 (grub_devalias_iterate): Fix size evaluation for property or path
4289 strings, which was broken since r2132.
4290
8279cade 42912009-07-07 Pavel Roskin <proski@gnu.org>
4292
7d8a52d3 4293 * commands/search.c (search_file): Merge into ...
4294 (search_fs): ... this. Accept search type as argument.
4295 (grub_cmd_search): Pass search type to search_fs().
4296
25f9a05a 4297 * include/grub/util/console.h: New file.
4298 * util/console.c: Use it instead of grub/machine/console.h.
4299 * util/grub-emu.c: Likewise.
4300
8279cade 4301 * lib/arg.c (find_long_option): Remove.
4302 (find_long): Add `len' argument, make `s' const char *.
4303 (grub_arg_parse): Parse long options in place, not in a
4304 temporary buffer.
4305
4a11b60f 43062009-07-06 Pavel Roskin <proski@gnu.org>
4307
99f68041 4308 * commands/search.c (search_fs): Fix potential NULL pointer
4309 dereference.
4310
4a11b60f 4311 * commands/search.c (search_fs): Replace QUID macro with quid_fn
4312 function pointer.
4313
e110f4de 43142009-07-06 Daniel Mierswa <impulze@impulze.org>
4315
4316 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
4317 comparison.
4318
46eeb6a2 43192009-07-05 Pavel Roskin <proski@gnu.org>
4320
bab74958 4321 * include/grub/i386/linux.h (struct linux_kernel_params):
4322 Restore padding3, it's still needed.
4323
46eeb6a2 4324 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
4325 FreeBSD.
4326 * util/osdetect.lua: Likewise.
4327
b4a1dc79 43282009-07-05 Bean <bean123ch@gmail.com>
4329
4330 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
4331
4332 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
4333 (grub_lua_getenv): Likewise.
4334 (grub_lua_setenv): Likewise.
4335 (save_errno): New function.
4336 (push_result): Likewise.
4337 (grub_lua_enum_device): Likewise.
4338 (grub_lua_enum_file): Likewise.
4339 (grub_lua_file_open): Likewise.
4340 (grub_lua_file_close): Likewise.
4341 (grub_lua_file_seek): Likewise.
4342 (grub_lua_file_read): Likewise.
4343 (grub_lua_file_getline): Likewise.
4344 (grub_lua_file_getsize): Likewise.
4345 (grub_lua_file_getpos): Likewise.
4346 (grub_lua_file_eof): Likewise.
4347 (grub_lua_file_exist): Likewise.
4348 (grub_lua_add_menu): Likewise.
4349
4350 * script/lua/grub_lua.h (isupper): New inline function.
4351 (islower): Likewise.
4352 (ispunct): Likewise.
4353 (isxdigit): Likewise.
4354 (strcspn): Change to normal function.
4355 (strpbkr): New function declaration.
4356 (memchr): Likewise.
4357
4358 * script/lua/grub_main.c (scan_str): New function.
4359 (strcspn): Likewise.
4360 (strpbrk): Likewise.
4361 (memchr): Likewise.
4362
4363 * script/lua/linit.c (lualibs): Enable the string library.
4364
4365 * util/osdetect.lua: New file.
4366
2da92295 43672009-07-04 Robert Millan <rmh.grub@aybabtu.com>
4368
4369 * include/grub/i386/linux.h (struct linux_kernel_params): Add
4370 `capabilities' member.
4371
b2582ec9 43722009-07-02 Pavel Roskin <proski@gnu.org>
4373
4374 * genparttoollist.sh: Add missing newline at the end.
4375
32622956 43762009-07-01 Pavel Roskin <proski@gnu.org>
4377
87a7339e 4378 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
4379
d23af54e 4380 * util/hostdisk.c (open_device): Remove `const' from
4381 `sysctl_size', as sysctlbyname() can change it (in this case it
4382 doesn't actually happen).
4383
c94b18a9 4384 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
4385 using signed long int constants.
4386
c6cd3ef0 4387 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
4388 constant to avoid a warning on FreeBSD.
4389
0df63420 4390 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
4391 where it's needed.
4392
999577f1 4393 * Makefile.in: Install include/grub/machine symlink.
4394
6f41557f 4395 * Makefile.in: When installing symlinks, use "cp -fR", which
4396 works on FreeBSD and MacOSX.
4397 From Yves Blusseau <cl7m42e02@sneakemail.com>
4398
c8d22988 4399 * kern/dl.c (grub_dl_resolve_symbol): Make static.
4400 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
4401
1b96e952 4402 * util/misc.c: Move grub_reboot() and grub_halt() ...
4403 * util/grub-emu.c: ... here. Make main_env static.
4404 * include/grub/util/misc.h: Remove main_env.
4405
2ef0084d 4406 * kern/mm.c: Use correct format to print size_t.
4407
32622956 4408 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
4409 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
4410 * kern/powerpc/dl.c: Likewise.
4411 * kern/sparc64/dl.c: Likewise.
4412 * kern/x86_64/dl.c: Likewise.
4413
3f7f0cd0 44142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4415
4416 Fix grub-emu build on sparc64-ieee1275.
4417
75421ca9 4418 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 4419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
4420
211d06b5 44212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4422
4423 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
4424 (grub_reboot, grub_halt): New functions.
4425
4426 * util/i386/pc/misc.c: Delete. Update all users.
4427 * util/sparc64/ieee1275/misc.c: Likewise.
4428 * util/powerpc/ieee1275/misc.c: Likewise.
4429
aaf53e3c 44302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4431
4432 * conf/i386.rmk (setjmp_mod_SOURCES)
4433 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
4434 * conf/common.rmk (setjmp_mod_SOURCES)
4435 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
4436 to use $(target_cpu).
4437 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
4438 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
4439 * conf/powerpc-ieee1275.rmk: Likewise.
4440 * conf/sparc64-ieee1275.rmk: Likewise.
4441
4442 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
4443 $(target_cpu) for kern/$(target_cpu)/dl.c.
4444 * conf/i386-efi.rmk: Likewise.
4445 * conf/i386-ieee1275.rmk: Likewise.
4446 * conf/x86_64-efi.rmk: Likewise.
4447 * conf/i386-coreboot.rmk: Likewise.
4448 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
4449 $(target_cpu) for kern/$(target_cpu)/dl.c and for
4450 kern/$(target_cpu)/cache.S.
4451 * conf/sparc64-ieee1275.rmk: Likewise.
4452
a337130b 44532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
4454
4455 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
4456 type to `grub_uint8_t', and adjust `padding9' accordingly.
4457
c6fe4d53 44582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4459
b09db61d 4460 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
4461
c6fe4d53 4462 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
4463 assembly in final jump, using register constraints.
4464
b09db61d 4465 (grub_linux_boot): For text mode, initialize `have_vga' using
4466 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
4467
4468 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
4469 right before the final jump.
4470
4471 Set `video_mode' to 0x3.
4472
4473 Document initialization of `video_page', `video_mode' and
4474 `video_ega_bx'.
4475
28333ad0 44762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4477
4478 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
4479 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 4480 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 4481
02164e1b 44822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
4483
4484 Fix build on Debian / sparc.
4485
4486 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
4487
18b6c557 44882009-06-28 Pavel Roskin <proski@gnu.org>
4489
85f2aab6 4490 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
4491 fix a warning.
4492
18b6c557 4493 * util/grub.d/10_linux.in: Match SUSE style initrd names.
4494
ad760f81 44952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4496
4497 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
4498 `err'.
4499
87a4623b 45002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4501
4502 Revert r2338.
4503
4504 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
4505 file can't be opened. grub_file_open() is already supposed to set
75421ca9 4506 grub_errno / grub_errmsg appropriately.
87a4623b 4507 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4508
8231fb77 45092009-06-27 Pavel Roskin <proski@gnu.org>
45102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * include/grub/dl.h: Include grub/elf.h.
4513 (struct grub_dl): Add symtab field.
4514 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
4515 GRUB_MODULES_MACHINE_READONLY.
4516 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
4517 of the header for read-only modules.
4518 (grub_dl_unload): Free mod->symtab for read-only modules.
4519 * kern/i386/dl.c: Use mod->symtab.
4520 * kern/powerpc/dl.c: Likewise.
4521 * kern/sparc64/dl.c: Likewise.
4522 * kern/x86_64/dl.c: Likewise.
4523
4524 * conf/i386-qemu.rmk: New file.
4525 * kern/i386/qemu/startup.S: Likewise.
4526 * kern/i386/qemu/mmap.c: Likewise.
4527 * boot/i386/qemu/boot.S: Likewise.
4528 * include/grub/i386/qemu/time.h: Likewise.
4529 * include/grub/i386/qemu/serial.h: Likewise.
4530 * include/grub/i386/qemu/kernel.h: Likewise.
4531 * include/grub/i386/qemu/console.h: Likewise.
4532 * include/grub/i386/qemu/boot.h: Likewise.
4533 * include/grub/i386/qemu/init.h: Likewise.
4534 * include/grub/i386/qemu/machine.h: Likewise.
4535 * include/grub/i386/qemu/loader.h: Likewise.
4536 * include/grub/i386/qemu/memory.h: Likewise.
4537
4538 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
4539 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
4540 [qemu] (pkglib_IMAGES): Add `boot.img'.
4541 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
4542 [qemu] (boot_img_FORMAT): New variables.
4543 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
4544 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
4545 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
4546 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4547 [qemu] (kernel_img_FORMAT): New variables.
4548
4549 * configure.ac: Recognise `i386-qemu'.
4550
4551 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
4552 (for no compression).
4553 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
4554 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
4555 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
4556 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
4557 ifdefs).
4558
97fe384e 45592009-06-27 Pavel Roskin <proski@gnu.org>
4560
4561 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
4562 read.
4563 * efiemu/prepare32.c: Likewise.
4564 * efiemu/prepare64.c: Likewise.
4565
c402ab17 45662009-06-26 Pavel Roskin <proski@gnu.org>
4567
4568 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
4569 * include/grub/elf.h: Define symbols without "32" or "64" based
4570 on GRUB_TARGET_WORDSIZE.
4571 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
4572 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
4573 ELF definitions.
4574 * efiemu/loadcore64.c: Likewise.
4575 * loader/i386/bsd32.c: Likewise.
4576 * loader/i386/bsd64.c: Likewise.
4577 * kern/dl.c: Remove own ELF definitions.
4578 * util/i386/efi/grub-mkimage.c: Likewise.
4579
9bbdfd4d 45802009-06-23 Robert Millan <rmh.grub@aybabtu.com>
4581
4582 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
4583 segment 0x0 unconditionally, because the reference generated by
4584 GAS is an absolute address.
4585
a42ce6e9 45862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4587
4588 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
4589 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
4590
c952cf92 45912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4592
4593 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
4594 indexes. Check for -f explicitly.
cc3752ad 4595 (search_file): Improve error message.
4596 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 4597
132a0a59 45982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4599
4600 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
4601 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
4602
387a140c 46032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4604
4605 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
4606 * conf/i386-ieee1275.rmk: Likewise.
4607 * conf/i386-coreboot.rmk: Likewise.
4608
4609 * kern/i386/pc/startup.S (grub_stop): Remove function.
4610 * kern/i386/ieee1275/startup.S: Likewise.
4611 * kern/i386/coreboot/startup.S: Likewise.
4612 * kern/i386/misc.S (grub_stop): New function.
4613
41da9665 46142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4615
4616 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
4617 * kern/i386/realmode.S (real_to_prot): ... to here.
4618
bf337234 46192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
4620
4621 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
4622 with `kernel.img'.
4623 (kernel_elf_SOURCES): Rename to ...
4624 (kernel_img_SOURCES): ... this.
4625 (kernel_elf_HEADERS): Rename to ...
4626 (kernel_img_HEADERS): ... this. Update all users.
4627 (kernel_elf_ASFLAGS): Rename to ...
4628 (kernel_img_ASFLAGS): ... this.
4629 (kernel_elf_CFLAGS): Rename to ...
4630 (kernel_img_CFLAGS): ... this.
4631 (kernel_elf_LDFLAGS): Rename to ...
4632 (kernel_img_LDFLAGS): ... this.
4633 * conf/i386-coreboot.rmk: Likewise.
4634 * conf/powerpc-ieee1275.rmk: Likewise.
4635
4636 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
4637 with "kernel.img".
4638
f52196ff 46392009-06-21 Pavel Roskin <proski@gnu.org>
4640
c3cee413 4641 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
4642 to match nested functions.
4643 * loader/sparc64/ieee1275/linux.c: Likewise.
4644
f52196ff 4645 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
4646
58750afc 46472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4648
4649 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
4650 all i386 platforms.
4651
15355c7d 46522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
4653
4654 Fix asm file handling on ELF, and remove workarounds.
4655
4656 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 4657 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 4658 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
4659 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
4660
3f3ec72b 46612009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Load BSD ELF modules
4664
4665 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
4666 and loader/i386/bsd64.c
4667 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
4668 (FREEBSD_MODTYPE_ELF_MODULE): New definition
4669 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
4670 (grub_freebsd_load_elfmodule32): New declaration
4671 (grub_freebsd_load_elfmoduleobj64): Likewise
4672 (grub_freebsd_load_elf_meta32): Likewise
4673 (grub_freebsd_load_elf_meta64): Likewise
4674 (grub_freebsd_add_meta): Likewise
4675 (grub_freebsd_add_meta_module): Likewise
4676 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
4677 (grub_freebsd_add_meta_module): Likewise and move module-specific
4678 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
4679 (grub_cmd_freebsd): Add elf-kernel specific parts
4680 based on grub_freebsd_add_meta_module
4681 (grub_cmd_freebsd_module): Add type parsing moved from
4682 grub_freebsd_add_meta_module
4683 (grub_cmd_freebsd_module_elf): New function
4684 (cmd_freebsd_module_elf): New variable
4685 (GRUB_MOD_INIT): Register freebsd_module_elf
4686 * loader/i386/bsd32.c: New file
4687 * loader/i386/bsd64.c: Likewise
4688 * loader/i386/bsdXX.c: Likewise
4689 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
4690 (grub_elf64_load): Likewise
4691 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
4692 All users updated
4693 (grub_elf64_load_hook_t): Likewise
4694
0db15301 46952009-06-21 Colin Watson <cjwatson@ubuntu.com>
4696
4697 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
4698 variable.
4699 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
4700 don't write a menu entry for recovery mode.
4701
546796c1 47022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4703
4704 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
4705 after it's no longer needed.
4706
cd7310d5 47072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
4708
4709 * include/grub/i386/loader.h (grub_linux_prot_size)
4710 (grub_linux_tmp_addr, grub_linux_real_addr)
4711 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
4712 GRUB_MACHINE_PCBIOS.
4713 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
4714 common grub_util_info() call to ...
4715 (generate_image): ... here.
4716 Fix use of uninitialized memory, comparison of signed with
4717 unsigned integers and memory leak.
4718 Remove bogus module address message.
4719
ab32d3b5 47202009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
4723 grub_raid_register
4724 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
4725
024ef597 47262009-06-19 Pavel Roskin <proski@gnu.org>
4727
4728 * configure.ac: Remove stray AC_MSG_CHECKING.
4729
3ac72b51 47302009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 4733
e14cd814 47342009-06-18 Pavel Roskin <proski@gnu.org>
4735
4736 * conf/common.rmk: Add fs_file.mod.
4737 * disk/fs_file.c: New file.
4738 * include/grub/disk.h (enum grub_disk_dev_id): Add
4739 GRUB_DISK_DEVICE_FILE_ID.
4740
26586d98 47412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Fix build with Apple's toolchain. Part 2
4744
4745 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
4746 a fake start
4747
26de2bcd 47482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 Fix build with Apple's toolchain. Part 1
4751
4752 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
4753 for long calls
4754 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 4755 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 4756 Apple's toolchain
4757
09b3490b 47582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Fix warnings
4761
4762 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
4763 (decomp_block): initialize ch
4764 use grub_memcpy instead of memcpy
4765
c22a006a 47662009-06-17 Pavel Roskin <proski@gnu.org>
4767
d3638678 4768 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
4769 version, use declarations needed to use vga_text as the startup
4770 console.
4771
c22a006a 4772 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
4773 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
4774 the kernel.
4775 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
4776 and grub_at_keyboard_fini(), it's done on module load and
4777 unload.
4778
05b129e0 47792009-06-17 Felix Zielcke <fzielcke@z-51.de>
4780
4781 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
4782 file can't be found.
4783 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4784
cf24ed9e 47852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Fix newline handling
4788
4789 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 4790 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 4791 (grub_script_yylex): don't segfault on unterminated script
4792 newline terminates command and variable
4793
74aa8e4b 47942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 avoid double grub_adjust_range call. Bug reported by David Simner
4797
4798 * kern/disk.c (grub_disk_write): change to raw disk access before
4799 calling disk_read
4800
1bd265f3 48012009-06-17 Colin Watson <cjwatson@ubuntu.com>
4802
4803 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
4804 spaces, for the benefit of help2man.
4805 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4806
a2d08c06 48072009-06-16 Pavel Roskin <proski@gnu.org>
4808
4809 * kern/i386/halt.c: Include grub/machine/init.h.
4810 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
4811
b97bcb19 48122009-06-16 Felix Zielcke <fzielcke@z-51.de>
4813
4814 * util/grub.d/30_os-prober.in: Use ${root} in the generated
4815 drivemap menuentry.
4816
0644f96c 48172009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
4818
4819 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
4820 `echo' command.
4821
3ef17a2e 48222009-06-16 Pavel Roskin <proski@gnu.org>
4823
4824 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
4825 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
4826 save %dx, we only need %dl and we never change it.
4827 * boot/i386/pc/cdboot.S: Don't set the root drive.
4828 * boot/i386/pc/pxeboot.S: Likewise.
4829 * include/grub/i386/pc/boot.h: Remove
4830 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
4831 GRUB_BOOT_MACHINE_DRIVE_CHECK.
4832 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
4833 * kern/i386/pc/init.c (make_install_device): Remove references
4834 to grub_root_drive.
4835 * kern/i386/pc/startup.S: Likewise.
4836 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
4837
693fe637 48382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 xnu_uuid command
4841
4842 * commands/xnu_uuid.c: new file
4843 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
4844 (xnu_uuid_mod_SOURCES): new variable
4845 (xnu_uuid_mod_CFLAGS): likewise
4846 (xnu_uuid_mod_LDFLAGS): likewise
4847 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
4848 * conf/i386-ieee1275.rmk: likewise
4849 * conf/i386-pc.rmk: likewise
4850 * conf/powerpc-ieee1275.rmk: likewise
4851 * conf/sparc64-ieee1275.rmk: likewise
4852 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
4853
c9da87d0 48542009-06-16 Pavel Roskin <proski@gnu.org>
4855
4856 * configure.ac: Avoid '==' in test command, it's not portable.
4857
9c6f4596 48582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Probe command
4861
4862 * commands/probe.c: new file
4863 * conf/common.rmk (pkglib_MODULES): add probe.mod
4864 (probe_mod_SOURCES): new variable
4865 (probe_mod_CFLAGS): likewise
4866 (probe_mod_LDFLAGS): likewise
4867 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
4868 * conf/i386-ieee1275.rmk: likewise
4869 * conf/i386-pc.rmk: likewise
4870 * conf/powerpc-ieee1275.rmk: likewise
4871 * conf/sparc64-ieee1275.rmk: likewise
4872
70b7f9fd 48732009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Fix handling of string like \"hello\" and "a
4876 b"
4877
4878 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
4879 (grub_script_yylex): fix parsing of quoting, escaping and newline
4880
71c79a6b 48812009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4882
dd74360c 4883 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 4884 handling
dd74360c 4885
0644f96c 48862009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 4887
4888 * util/grub-mkconfig.in: Fix parsing of --output option.
4889
e40893c3 48902009-06-12 Pavel Roskin <proski@gnu.org>
4891
4892 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
4893 genmk.rb don't need to be generated or installed.
4894
3a1acfe2 48952009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * commands/i386/pc/drivemap_int13h.S: add more comments
4898
3a4575d4 48992009-06-11 Pavel Roskin <proski@gnu.org>
4900
0658e928 4901 * Makefile.in (uninstall): Uninstall manuals.
4902
ca0388f0 4903 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
4904 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
4905 and update-grub_lib in two places.
4906 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
4907
e3b27c39 4908 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
4909 a compiler warning.
4910
3a4575d4 4911 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
4912 `entry_lo' to fix variable shadowing.
4913
af1f4f55 49142009-06-11 Christian Franke <franke@computer.org>
4915
4916 * kern/misc.c (__enable_execute_stack): Add missing return type
4917 to prevent gcc warning.
4918
5225e649 49192009-06-11 Felix Zielcke <fzielcke@z-51.de>
4920
4921 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
4922
7d83bd47 49232009-06-11 Pavel Roskin <proski@gnu.org>
4924
c1cb63ba 4925 * Makefile.in: Don't rely on any scripts being executable.
4926 Always use $(SHELL) to run shell scripts.
4927
7d83bd47 4928 * configure.ac: Always define ___main if using -nostdlib. This
4929 fixes tests on Cygwin.
4930
948f48e7 49312009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
4932
4933 UDF fix
4934
7d83bd47 4935 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 4936 is in bytes and not in blocks
7d83bd47 4937
8ada9bc1 49382009-06-11 Pavel Roskin <proski@gnu.org>
4939
4940 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
4941 warning.
4942
25ad2323 49432009-06-11 Felix Zielcke <fzielcke@z-51.de>
4944
4945 * util/grub.d/30_os-prober.in: Fix a comment. Source
4946 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
4947 to set the root device. Place drivemap command in the generated
4948 chain entry.
4949
e65acb0c 49502009-06-11 Pavel Roskin <proski@gnu.org>
4951
4952 * configure.ac: Remove host_m32. Issues with 64-bit utilities
4953 have long been resolved.
4954
f285fe2d 49552009-06-11 Colin Watson <cjwatson@ubuntu.com>
4956
bd47b0b5 4957 * util/grub.d/10_linux.in: Capitalise "Linux".
4958
f285fe2d 4959 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
4960
a0c62e4e 49612009-06-11 Pavel Roskin <proski@gnu.org>
4962
b6783cb2 4963 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
4964 fix a gcc warning and ensure that the function won't ever exit.
4965
dde032e8 4966 * kern/i386/ieee1275/init.c: Add missing prototype for
4967 grub_stop_floppy().
4968
22cd079d 4969 * loader/ieee1275/multiboot2.c [__i386__]: Include
4970 grub/cpu/multiboot.h.
4971
a0c62e4e 4972 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
4973 casts to short - they are not portable and cause warnings. Fix
4974 use of uninitialized values in input_buf. Use ARRAY_SIZE.
4975
63963d17 49762009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 Drivemap fixes
4979
4980 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
4981 new function
4982 (grub_get_root_biosnumber_saved): new variable
4983 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
4984 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 4985 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 4986 %dx after the call if necessary
4987 * conf/common.rmk (pkglib_MODULES): remove boot.mod
4988 (boot_mod_SOURCES): remove
4989 (boot_mod_CFLAGS): remove
4990 (boot_mod_LDFLAGS): remove
4991 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
4992 (boot_mod_SOURCES): new variable
4993 (boot_mod_CFLAGS): likewise
4994 (boot_mod_LDFLAGS): likewise
4995 * conf/i386-efi.rmk: likewise
4996 * conf/i386-ieee1275.rmk: likewise
4997 * conf/i386-pc.rmk: likewise
4998 * conf/powerpc-ieee1275.rmk: likewise
4999 * conf/sparc64-ieee1275.rmk: likewise
5000 * conf/x86_64-efi.rmk: likewise
5001 * include/grub/i386/pc/biosnum.h: new file
5002 * lib/i386/pc/biosnum.c: likewise
5003 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
5004 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
5005 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 5006
33abf7ae 50072009-06-10 Pavel Roskin <proski@gnu.org>
5008
5ac35b35 5009 * io/gzio.c (test_header): Don't reuse one buffer for all data.
5010 Use separate variables. Read only the file size at the end, but
5011 not the checksum that we don't use.
5012
5c5215d5 5013 * kern/file.c (grub_file_read): Use void pointer for the buffer.
5014 Adjust all callers.
5015
27d5fef7 5016 * kern/ieee1275/openfw.c: Remove libc includes.
5017 * kern/ieee1275/cmain.c: Likewise.
5018 * include/grub/ieee1275/ieee1275.h: Likewise.
5019
33abf7ae 5020 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
5021 compiler warnings.
5022
19d50c2b 50232009-06-10 Felix Zielcke <fzielcke@z-51.de>
5024
5025 * Makefile.in: Remove all trailing whitespace.
5026 * conf/i386-pc.rmk: Likewise.
5027 * conf/powerpc-ieee1275.rmk: Likewise.
5028 * conf/sparc64-ieee1275.rmk: Likewise.
5029 * docs/grub.texi: Likewise.
5030 * docs/texinfo.tex: Likewise.
5031 * disk/fs_uuid.c: Likewise.
5032 * disk/lvm.c: Likewise.
5033 * disk/scsi.c: Likewise.
5034 * disk/ata.c: Likewise.
5035 * disk/ieee1275/ofdisk.c: Likewise.
5036 * disk/i386/pc/biosdisk.c: Likewise.
5037 * disk/host.c: Likewise.
5038 * disk/raid.c: Likewise.
5039 * disk/efi/efidisk.c: Likewise.
5040 * disk/usbms.c: Likewise.
5041 * disk/memdisk.c: Likewise.
5042 * disk/loopback.c: Likewise.
5043 * kern/powerpc/dl.c: Likewise.
5044 * kern/device.c: Likewise.
5045 * kern/dl.c: Likewise.
5046 * kern/sparc64/dl.c: Likewise.
5047 * kern/ieee1275/ieee1275.c: Likewise.
5048 * kern/term.c: Likewise.
5049 * kern/fs.c: Likewise.
5050 * kern/i386/dl.c: Likewise.
5051 * kern/i386/pc/startup.S: Likewise.
5052 * kern/i386/pc/init.c: Likewise.
5053 * kern/i386/pc/mmap.c: Likewise.
5054 * kern/i386/pc/lzo1x.S: Likewise.
5055 * kern/i386/ieee1275/init.c: Likewise.
5056 * kern/i386/realmode.S: Likewise.
5057 * kern/i386/tsc.c: Likewise.
5058 * kern/partition.c: Likewise.
5059 * kern/corecmd.c: Likewise.
5060 * kern/file.c: Likewise.
5061 * kern/efi/efi.c: Likewise.
5062 * kern/efi/init.c: Likewise.
5063 * kern/efi/mm.c: Likewise.
5064 * kern/main.c: Likewise.
5065 * kern/err.c: Likewise.
5066 * kern/env.c: Likewise.
5067 * kern/disk.c: Likewise.
5068 * kern/generic/millisleep.c: Likewise.
5069 * kern/generic/rtc_get_time_ms.c: Likewise.
5070 * kern/misc.c: Likewise.
5071 * kern/parser.c: Likewise.
5072 * genmk.rb: Likewise.
5073 * configure.ac: Likewise.
5074 * boot/i386/pc/diskboot.S: Likewise.
5075 * boot/i386/pc/pxeboot.S: Likewise.
5076 * boot/i386/pc/boot.S: Likewise.
5077 * boot/i386/pc/lnxboot.S: Likewise.
5078 * boot/i386/pc/cdboot.S: Likewise.
5079 * parttool/pcpart.c: Likewise.
5080 * video/readers/tga.c: Likewise.
5081 * video/video.c: Likewise.
5082 * video/bitmap.c: Likewise.
5083 * lib/envblk.c: Likewise.
5084 * lib/i386/setjmp.S: Likewise.
5085 * fs/xfs.c: Likewise.
5086 * fs/afs.c: Likewise.
5087 * fs/fat.c: Likewise.
5088 * fs/ntfs.c: Likewise.
5089 * fs/udf.c: Likewise.
5090 * fs/affs.c: Likewise.
5091 * fs/iso9660.c: Likewise.
5092 * fs/hfs.c: Likewise.
5093 * fs/fshelp.c: Likewise.
5094 * fs/ext2.c: Likewise.
5095 * fs/jfs.c: Likewise.
5096 * fs/reiserfs.c: Likewise.
5097 * fs/hfsplus.c: Likewise.
5098 * fs/minix.c: Likewise.
5099 * fs/cpio.c: Likewise.
5100 * fs/sfs.c: Likewise.
5101 * fs/ufs.c: Likewise.
5102 * efiemu/prepare.c: Likewise.
5103 * efiemu/loadcore_common.c: Likewise.
5104 * efiemu/runtime/efiemu.sh: Likewise.
5105 * efiemu/runtime/efiemu.S: Likewise.
5106 * efiemu/runtime/efiemu.c: Likewise.
5107 * efiemu/pnvram.c: Likewise.
5108 * efiemu/main.c: Likewise.
5109 * efiemu/i386/pc/cfgtables.c: Likewise.
5110 * efiemu/i386/loadcore64.c: Likewise.
5111 * efiemu/i386/loadcore32.c: Likewise.
5112 * efiemu/loadcore.c: Likewise.
5113 * efiemu/symbols.c: Likewise.
5114 * efiemu/mm.c: Likewise.
5115 * include/grub/autoefi.h: Likewise.
5116 * include/grub/datetime.h: Likewise.
5117 * include/grub/term.h: Likewise.
5118 * include/grub/hfs.h: Likewise.
5119 * include/grub/lvm.h: Likewise.
5120 * include/grub/i386/tsc.h: Likewise.
5121 * include/grub/i386/linux.h: Likewise.
5122 * include/grub/i386/xnu.h: Likewise.
5123 * include/grub/i386/efiemu.h: Likewise.
5124 * include/grub/i386/pc/biosdisk.h: Likewise.
5125 * include/grub/i386/pc/memory.h: Likewise.
5126 * include/grub/i386/pc/vbe.h: Likewise.
5127 * include/grub/parttool.h: Likewise.
5128 * include/grub/video.h: Likewise.
5129 * include/grub/memory.h: Likewise.
5130 * include/grub/fs.h: Likewise.
5131 * include/grub/partition.h: Likewise.
5132 * include/grub/xnu.h: Likewise.
5133 * include/grub/efi/api.h: Likewise.
5134 * include/grub/efi/pe32.h: Likewise.
5135 * include/grub/efi/memory.h: Likewise.
5136 * include/grub/multiboot.h: Likewise.
5137 * include/grub/usbdesc.h: Likewise.
5138 * include/grub/multiboot2.h: Likewise.
5139 * include/grub/acpi.h: Likewise.
5140 * include/grub/efiemu/efiemu.h: Likewise.
5141 * include/grub/disk.h: Likewise.
5142 * include/grub/ieee1275/ieee1275.h: Likewise.
5143 * include/grub/net.h: Likewise.
5144 * include/grub/machoload.h: Likewise.
5145 * include/grub/macho.h: Likewise.
5146 * include/multiboot.h: Likewise.
5147 * genmoddep.awk: Likewise.
5148 * normal/main.c: Likewise.
5149 * normal/menu_entry.c: Likewise.
5150 * normal/menu_viewer.c: Likewise.
5151 * normal/completion.c: Likewise.
5152 * normal/cmdline.c: Likewise.
5153 * normal/misc.c: Likewise.
5154 * normal/datetime.c: Likewise.
5155 * bus/usb/usbtrans.c: Likewise.
5156 * bus/usb/ohci.c: Likewise.
5157 * bus/usb/uhci.c: Likewise.
5158 * bus/usb/usb.c: Likewise.
5159 * mmap/efi/mmap.c: Likewise.
5160 * mmap/i386/pc/mmap_helper.S: Likewise.
5161 * mmap/i386/pc/mmap.c: Likewise.
5162 * mmap/i386/mmap.c: Likewise.
5163 * mmap/i386/uppermem.c: Likewise.
5164 * mmap/mmap.c: Likewise.
5165 * commands/acpi.c: Likewise.
5166 * commands/echo.c: Likewise.
5167 * commands/blocklist.c: Likewise.
5168 * commands/loadenv.c: Likewise.
5169 * commands/usbtest.c: Likewise.
5170 * commands/boot.c: Likewise.
5171 * commands/parttool.c: Likewise.
5172 * commands/search.c: Likewise.
5173 * commands/cat.c: Likewise.
5174 * commands/i386/pc/play.c: Likewise.
5175 * commands/i386/pc/drivemap.c: Likewise.
5176 * commands/i386/pc/vbeinfo.c: Likewise.
5177 * commands/i386/pc/acpi.c: Likewise.
5178 * commands/i386/pc/vbetest.c: Likewise.
5179 * commands/ls.c: Likewise.
5180 * commands/cmp.c: Likewise.
5181 * commands/test.c: Likewise.
5182 * commands/efi/acpi.c: Likewise.
5183 * commands/gptsync.c: Likewise.
5184 * commands/help.c: Likewise.
5185 * partmap/amiga.c: Likewise.
5186 * partmap/apple.c: Likewise.
5187 * partmap/acorn.c: Likewise.
5188 * partmap/pc.c: Likewise.
5189 * partmap/sun.c: Likewise.
5190 * partmap/gpt.c: Likewise.
5191 * script/sh/lexer.c: Likewise.
5192 * script/sh/function.c: Likewise.
5193 * font/font.c: Likewise.
5194 * font/font_cmd.c: Likewise.
5195 * loader/powerpc/ieee1275/linux.c: Likewise.
5196 * loader/efi/chainloader.c: Likewise.
5197 * loader/multiboot_loader.c: Likewise.
5198 * loader/macho.c: Likewise.
5199 * loader/i386/multiboot.c: Likewise.
5200 * loader/i386/linux.c: Likewise.
5201 * loader/i386/pc/linux.c: Likewise.
5202 * loader/i386/pc/multiboot2.c: Likewise.
5203 * loader/i386/pc/chainloader.c: Likewise.
5204 * loader/i386/pc/xnu.c: Likewise.
5205 * loader/i386/bsd_trampoline.S: Likewise.
5206 * loader/i386/efi/linux.c: Likewise.
5207 * loader/i386/multiboot_elfxx.c: Likewise.
5208 * loader/i386/bsd_helper.S: Likewise.
5209 * loader/i386/bsd.c: Likewise.
5210 * loader/i386/linux_trampoline.S: Likewise.
5211 * loader/i386/xnu_helper.S: Likewise.
5212 * loader/i386/xnu.c: Likewise.
5213 * loader/i386/bsd_pagetable.c: Likewise.
5214 * loader/i386/multiboot_helper.S: Likewise.
5215 * loader/xnu.c: Likewise.
5216 * loader/xnu_resume.c: Likewise.
5217 * io/gzio.c: Likewise.
5218 * term/efi/console.c: Likewise.
5219 * term/terminfo.c: Likewise.
5220 * term/ieee1275/ofconsole.c: Likewise.
5221 * term/i386/pc/serial.c: Likewise.
5222 * term/i386/pc/vesafb.c: Likewise.
5223 * term/i386/pc/vga.c: Likewise.
5224 * term/usb_keyboard.c: Likewise.
5225 * term/gfxterm.c: Likewise.
5226 * aclocal.m4: Likewise.
5227 * util/lvm.c: Likewise.
5228 * util/grub.d/30_os-prober.in: Likewise.
5229 * util/grub.d/10_hurd.in: Likewise.
5230 * util/console.c: Likewise.
5231 * util/grub-macho2img.c: Likewise.
5232 * util/grub-probe.c: Likewise.
5233 * util/hostfs.c: Likewise.
5234 * util/i386/pc/grub-mkimage.c: Likewise.
5235 * util/i386/pc/grub-setup.c: Likewise.
5236 * util/i386/efi/grub-mkimage.c: Likewise.
5237 * util/grub-mkconfig.in: Likewise.
5238 * util/raid.c: Likewise.
5239 * util/resolve.c: Likewise.
5240 * util/grub-mkdevicemap.c: Likewise.
5241 * util/grub-emu.c: Likewise.
5242 * util/getroot.c: Likewise.
5243 * util/hostdisk.c: Likewise.
5244 * util/usb.c: Likewise.
5245 * util/grub-editenv.c: Likewise.
5246 * util/misc.c: Likewise.
5247
d2d49665 52482009-06-10 Felix Zielcke <fzielcke@z-51.de>
5249
5250 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
5251 `genparttoollist.sh'.
5252 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
5253 Add `*.sh' to the list find searches for and change `mdate.sh'
5254 to `mdate-sh'.
5255
fe052e37 52562009-06-10 Pavel Roskin <proski@gnu.org>
5257
2763ac18 5258 * include/grub/multiboot2.h: Provide compatibility defines for
5259 multiboot2.h.
5260 * include/multiboot2.h: Include stdint.h only if needed, using
5261 angle brackets.
5262 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
5263 grub/multiboot2.h.
5264 * loader/ieee1275/multiboot2.c: Likewise.
5265 * loader/multiboot2.c: Likewise.
5266 * loader/multiboot_loader.c: Likewise.
5267
437e6adc 5268 * configure.ac: Use -nostdlib when probing for the target. It
5269 should not be required to have libc for the target.
5270
06a6836c 5271 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
5272 they fail without libc headers for the target.
5273 * include/grub/powerpc/libgcc.h: Use weak attribute for all
5274 exports.
5275 * include/grub/sparc64/libgcc.h: Likewise. Don't use
5276 preprocessor conditionals.
5277
fe052e37 5278 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
5279 build system doesn't need to be aware of the tar.c internals.
5280
afd22553 52812009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 5282
afd22553 5283 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 5284
6b787c4f 52852009-06-09 Robert Millan <rmh.grub@aybabtu.com>
5286
5287 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
5288 disk limit to 26 for IDE, Virtio, Xen and SCSI.
5289
52902009-06-09 Felix Zielcke <fzielcke@z-51.de>
5291
5292 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 5293 aren't available if ata.mod gets used.
6b787c4f 5294
473d1e45 52952009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 5296
473d1e45 5297 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 5298 initialising controller.
473d1e45 5299 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 5300
255a27d4 53012009-06-08 Felix Zielcke <fzielcke@z-51.de>
5302
5303 * util/i386/pc/grub-install.in: Add a parameter --disk-module
5304 to choose between ata and biosdisk module on i386-pc.
5305
473d1e45 53062009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 5307
d55842d8 5308 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
5309 Subclass and Programming Interface fields in terms of the 3 byte
5310 Class Code register.
5311 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5312
fa5db0b1 5313 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
5314 interface is OHCI. Add grub_dprintf for symmetry with
5315 bus/usb/uhci.c.
5316 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
5317 interface is UHCI. Add interf variable for programming
5318 interface. Print interface with class/subclass.
5319
c0947beb 5320 * bus/usb/ohci.c: Set interf with correct field.
5321
69da8877 5322 * bus/usb/uhci.c: Remove unneeded doubled lines.
5323 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
5324 Remove whitespace inside comment.
5325
9e172e30 53262009-06-08 Robert Millan <rmh.grub@aybabtu.com>
5327
5328 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
5329 as fallback an equivalent option without depth.
5330
de65ee2b 53312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 Not fail if unable to retrieve C/H/S on LBA disks
5334
473d1e45 5335 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 5336 if unable to retrieve C/H/S on LBA disks
5337
b57ea2c9 53382009-06-08 Pavel Roskin <proski@gnu.org>
5339
5340 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
5341 about aliasing.
5342
af361263 53432009-06-08 Felix Zielcke <fzielcke@z-51.de>
5344
5345 * Makefile.in (uninstall): Remove all $lib_DATA files.
5346
4c9ec6b3 53472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Bugfix: install on partitionless device
5350
5351 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
5352 is a whole disk
5353
e76fc924 53542009-06-08 Felix Zielcke <fzielcke@z-51.de>
5355
5356 * Makefile.in (uninstall): Remove all $include_DATA files.
5357
ba5a0d05 53582009-06-08 Felix Zielcke <fzielcke@z-51.de>
5359
5360 * commands/true.c: New file. Implement the true and false commands.
5361 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
5362 (true_mod_SOURCES): New variable.
5363 (true_mod_CFLAGS): Likewise.
5364 (true_mod_LDFLAGS): Likewise.
5365
c8048e32 53662009-06-05 Colin D Bennett <colin@gibibit.com>
5367
5368 Optimized font character lookup using binary search instead of linear
5369 search. Fonts now are required to have the character index ordered by
5370 code point.
5371
5372 * font/font.c (load_font_index): Verify that fonts have ordered
5373 character indices.
5374 (find_glyph): Use binary search instead of linear search to find a
5375 character in a font.
5376
408305be 53772009-06-05 Michael Scherer <misc@mandriva.org>
5378
5379 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
5380 uses case sensitive btree.
5381 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
5382 only for case insensitive filesystems.
5383
8ee1e0d9 53842009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
5387 * conf/common.rmk (search_mod_CFLAGS): likewise
5388
a9966eb1 53892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5390
473d1e45 5391 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 5392 compensate a compiler bug
5393
9e7100fb 53942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5395
473d1e45 5396 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 5397 instead of '\b'
473d1e45 5398
ede21d71 53992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 Definitions for creating asm symbols with Apple's CC
5402
5403 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
5404 [APPLE_CC] (VARIABLE): likewise
5405
9dbf7653 54062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Disable lnxboot.img when compiled
5409 with Apple's CC
5410
5411 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
5412 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
5413 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
5414 [! APPLE_CC] (CODE_LENG): skip
5415 [! APPLE_CC] (setup_sects): likewise
5416 [! APPLE_CC]: skip filling
473d1e45 5417
e93cdc3d 54182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Address in trampolines based on 32-bit registers when compiled
5421 with Apple's CC
5422
473d1e45 5423 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 5424 for addresses
5425 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
5426
6c688477 54272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 Avoid aliases when compiling with Apple's CC for PCBIOS machine
5430
5431 * kern/misc.c [APPLE_CC] (memcpy): new function
5432 [APPLE_CC] (memmove): likewise
5433 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 5434 (memcpy): define alias conditionally on !APPLE_CC
6c688477 5435 (memset): likewise
5436 (abort): likewise
5437 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
5438 APPLE_CC are defined
5439 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
5440 (grub_assert_fail): make prototype conditional
5441
e37ffc5c 54422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
5445
473d1e45 5446 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
5447 grub-macho2img
e37ffc5c 5448 (CLEANFILES): add grub-macho2img
5449 (grub_macho2img_SOURCES): new variable
5450 * kern/i386/pc/startup.S (bss_start): new variable
5451 (bss_end): likewise
5452 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
5453 * util/grub-macho2img.c: new file
5454
cf00df31 54552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Use objconv when compiling with Apple's CC
5458
5459 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
5460 (efiemu64.o): likewise
5461 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
5462 when compiling with Apple's CC
5463 (efiemu64_s.o): likewise
5464 * configure.ac: check for objconv when compiling with Apple's CC
5465 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 5466
d119a20c 54672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Define segment as well as section when compiling with
5470 Apple's CC
5471
5472 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
5473 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
5474 (efiemu_convert_pointer): likewise
5475 (efiemu_set_virtual_address_map): likewise
5476 (efiemu_convert_pointer): likewise
5477 (efiemu_getcrc32): likewise
5478 (init_crc32_table): likewise
5479 (reflect): likewise
5480 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
5481 (GRUB_MOD_DEP): likewise
473d1e45 5482
c8600122 54832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 Allow a compilation without -mcmodel=large
5486
5487 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
5488 when compiled without -mcmodel=large
473d1e45 5489 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 5490 without -mcmodel=large
473d1e45 5491 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 5492 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 5493
e8df1d4e 54942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 Remove nested functions in efiemu core
5497
5498 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 5499
cc6c3ac1 55002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
5503
5504 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
5505 temporary storage
473d1e45 5506 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
5507 using Apple's CC
cc6c3ac1 5508 (grub_cpu_is_tsc_supported): likewise
5509 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 5510
3e325901 55112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 Absolute addressing through constant with Apple's cc
5514
5515 * kern/i386/pc/startup.S: Define necessary constants
5516 and address through it when using ABS with Apple's CC
5517 * boot/i386/pc/diskboot.S: likewise
5518 * boot/i386/pc/boot.S: likewise
5519 * boot/i386/pc/lnxboot.S: likewise
5520 * boot/i386/pc/cdboot.S: likewise
5521 * mmap/i386/pc/mmap_helper.S: likewise
5522 * commands/i386/pc/drivemap_int13h.S: likewise
5523
2b167a72 55242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 Check if compiler is apple cc
5527
5528 * Makefile.in (ASFLAGS): new variable
5529 (TARGET_ASFLAGS): likewise
5530 (TARGET_MODULE_FORMAT): likewise
5531 (TARGET_APPLE_CC): likewise
5532 (OBJCONV): likewise
5533 (TARGET_IMG_CFLAGS): likewise
5534 (TARGET_CPPFLAGS): add includedir
5535 * configure.ac: call grub_apple_cc and grub_apple_target_cc
5536 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
5537 Check for linker script only if compiler isn't Apple's CC
5538 (TARGET_MODULE_FORMAT): set
5539 (TARGET_APPLE_CC): likewise
5540 (TARGET_ASFLAGS): likewise
5541 (ASFLAGS): likewise
5542 Check for objcopy only if compiler isn't Apple's CC
5543 Check for BSS symbol only if compiler isn't Apple's CC
5544 * genmk.rb: adapt nm options if we use Apple's utils
5545 * aclocal.m4 (grub_apple_cc): new test
5546 (grub_apple_target_cc): likewise
473d1e45 5547
fb14123e 55482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 Simplify sed expressions and improve awk
5551
5552 * Makefile.in (install-local): simplify sed expression
5553 * gencmdlist.sh: likewise
5554 * genmoddep.awk: avoid adding module as a dependency of itself
5555
5b889789 55562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Add missing start symbols
5559
5560 * boot/i386/pc/boot.S: add start
fb14123e 5561 * boot/i386/pc/pxeboot.S: likewise
473d1e45 5562
fd2bf2e3 55632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 5566
5567 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 5568 (relocate_addresses): consider both r_addend and value at offset
5569 (make_mods_section): zerofill modinfo and header
5570 (convert_elf): write prefix here
473d1e45 5571
5389763d 55722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Use .asciz instead of .string
5575
5576 * i386/pc/diskboot.S: use .asciz instead of .string
5577 * i386/pc/boot.S: likewise
5578 * include/grub/dl.h (GRUB_MOD_DEP): likewise
5579 (GRUB_MOD_NAME): likewise
473d1e45 5580
3eb5ed4e 55812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 gfxpayload support
5584
5585 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
5586 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
5587 (grub_video_setup): remove
5588 (grub_video_set_mode): new prototype
5589 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
5590 (vid_mode): remove
5591 (linux_vesafb_res): compile only on PCBIOS
5592 (grub_linux_boot): support gfxpayload
5593 * loader/i386/pc/xnu.c (video_hook): new function
5594 (grub_xnu_set_video): support gfxpayload
5595 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
5596 (DEFAULT_VIDEO_HEIGHT): likewise
5597 (DEFAULT_VIDEO_FLAGS): likewise
5598 (DEFAULT_VIDEO_MODE): new definition
5599 (video_hook): new function
5600 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 5601 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 5602 loading xnu
5603 * video/video.c (grub_video_setup): removed
473d1e45 5604 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 5605 grub_video_setup
5606
4b0e1143 56072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 Avoid calling biosdisk in drivemap
5610
5611 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
5612 (revparse_biosdisk): likewise
5613 (list_mappings): derive name from id directly
5614 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 5615
fda6cb98 56162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Script fixes
5619
5620 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
5621 (grub_lexer_param): add tokenonhold
5622 (grub_script_create_cmdline): remove cmdline. All callers updated
5623 (grub_script_function_create): make functionname
5624 grub_script_arg. All callers updated
5625 (grub_script_execute_argument_to_string): new prototype
5626 * kern/parser.c (state_transitions): reorder
5627 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 5628 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 5629 make global
5630 (grub_script_execute_cmdline): use new format
5631 * script/sh/function.c (grub_script_function_create): make functionname
5632 grub_script_arg. All callers updated
473d1e45 5633 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 5634 (grub_script_yylex): remove
5635 (grub_script_yylex2): renamed to ...
5636 (grub_script_yylex): ...renamed
5637 parse the expressions like a${b}c
5638 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
5639 (GRUB_PARSER_TOKEN_VAR): remove
5640 (GRUB_PARSER_TOKEN_NAME): likewise
5641 ("if"): declare as typeless
5642 ("while"): likewise
5643 ("function"): likewise
5644 ("else"): likewise
5645 ("then"): likewise
5646 ("fi"): likewise
5647 (text): remove
5648 (argument): likewise
5649 (script): accept empty scripts and make exit on error
5650 (arguments): use GRUB_PARSER_TOKEN_ARG
5651 (function): likewise
5652 (command): move error handling to script
5653 (menuentry): move grub_script_lexer_ref before
473d1e45 5654 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 5655 argument. All callers updated
5656
f4448a07 56572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5658
5659 Prevent GRUB from probing floppies during boot.
5660
5661 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
5662 * commands/search.c (options): Add --no-floppy.
5663 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
5664 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
5665 --no-floppy when searching for UUIDs.
5666
2bf5885a 56672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 Simplify the code duplication in commands/search.c.
5670
5671 * commands/search.c (search_label, search_fs_uuid): Merge into ...
5672 (search_fs): ... this. Update all users.
5673
f6fd460a 56742009-06-03 Felix Zielcke <fzielcke@z-51.de>
5675
5676 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
5677
cbb3c83e 56782009-05-28 Pavel Roskin <proski@gnu.org>
5679
57788cfd 5680 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
5681 Remove the original symlink explicitly.
5682
cbb3c83e 5683 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
5684 just one slash. That's how grub_fshelp_find_file() does it.
5685
cd0d5e30 56862009-05-26 Pavel Roskin <proski@gnu.org>
5687
f0f8bbe2 5688 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
5689 to `str'.
5690
cd0d5e30 5691 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
5692 possibly unused.
5693
8c2cab51 56942009-05-25 Christian Franke <franke@computer.org>
5695
5696 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
5697 register.
5698 (grub_atapi_identify): Add wait after drive select.
5699 (grub_ata_identify): Do more strict status register check before
5700 calling grub_atapi_identify (). Suppress error message if status
5701 register is 0x00 after command failure. Add status register
5702 check after PIO read to avoid bogus identify due to stuck DRQ.
5703 Thanks to Pavel Roskin for testing.
5704 (grub_device_initialize): Remove unsafe status register check.
5705 Thanks to 'phcoder' for problem report and patch.
5706 Prevent sign extension in debug message.
5707
230c0ad6 57082009-05-23 Colin D Bennett <colin@gibibit.com>
5709
5710 Cleaned up `include/grub/normal.h'. Grouped prototypes by
5711 definition file, and functions defined in `normal/menu.c' have had
5712 their prototypes moved to `include/grub/menu.h' for consistency.
5713
5714 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
5715 from normal.h.
5716 (grub_menu_get_entry): Likewise.
5717 (grub_menu_get_timeout): Likewise.
5718 (grub_menu_set_timeout): Likewise.
5719 (grub_menu_execute_entry): Likewise.
5720 (grub_menu_execute_with_fallback): Likewise.
5721 (grub_menu_entry_run): Likewise.
5722
5723 * include/grub/normal.h: Re-ordered and grouped function
5724 prototypes by file that the function is defined in.
5725 (grub_menu_execute_callback): Removed; moved to menu.h.
5726 (grub_menu_get_entry): Likewise.
5727 (grub_menu_get_timeout): Likewise.
5728 (grub_menu_set_timeout): Likewise.
5729 (grub_menu_execute_entry): Likewise.
5730 (grub_menu_execute_with_fallback): Likewise.
5731 (grub_menu_entry_run): Likewise.
5732 (grub_menu_addentry): Renamed from this ...
5733 (grub_normal_add_menu_entry): ... to this.
5734
5735 * normal/main.c (grub_menu_addentry): Renamed from this ...
5736 (grub_normal_add_menu_entry): ... to this.
5737
5738 * script/sh/execute.c (grub_script_execute_menuentry): Update
5739 reference to renamed grub_menu_addentry function.
5740
861f03a5 57412009-05-23 Felix Zielcke <fzielcke@z-51.de>
5742
5743 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
5744
96b1619a 57452009-05-22 Pavel Roskin <proski@gnu.org>
5746
bf6a5fb2 5747 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
5748 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
5749 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
5750 compiling for the i386 targets, but not for the utilities.
5751
96b1619a 5752 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
5753 to grub_uint8_t.
5754 (grub_root_drive): Likewise.
5755 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
5756 remove alignment.
5757 (grub_root_drive): Change size to byte.
5758 (grub_start_addr): Remove.
5759 (grub_end_addr): Likewise.
5760 (grub_apm_bios_info): Likewise.
5761
b729776b 57622009-05-21 Felix Zielcke <fzielcke@z-51.de>
5763
5764 * normal/i386: Remove.
5765 * normal/powerpc: Likewise.
5766 * normal/sparc64: Likewise.
5767 * normal/x86_64: Likewise.
5768
0a15ce80 57692009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 5772 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 5773 * loader/i386/xnu_helper.S: Likewise
d6da58e6 5774
33db9015 57752009-05-18 Colin D Bennett <colin@gibibit.com>
5776
d6da58e6 5777 Display error messages when parsing a Lua statement fails.
5778 Previously, executing a syntactically invalid statement like
5779 ")foo" or "bar;" would silently fail.
33db9015 5780
5781 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 5782 (grub_lua_parse_line): Improved reporting of Lua parser and
5783 execution errors.
33db9015 5784
46422c89 57852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 Remove -Werror which causes build to fail on some systems
5788
5789 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
5790 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
5791 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 5792
22f53a96 57932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 trampoline for linux on 64-bit platform
5796
18f547ad 5797 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
5798 loader/i386/efi/linux_trampoline.S
5799 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 5800 declaration
d6da58e6 5801 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
5802 here
22f53a96 5803 * loader/i386/linux_trampoline.S: moved here
d6da58e6 5804 * loader/i386/efi/linux.c (allocate_pages): reserve space for
5805 trampoline
22f53a96 5806 (jumpvector): removed
5807 (grub_linux_trampoline_start): new declaration
5808 (grub_linux_trampoline_end): likewise
5809 (grub_linux_boot): use trampoline when on 64-bit platform
5810 * loader/i386/linux.c: likewise
5811
cb5a0f40 58122009-05-16 Pavel Roskin <proski@gnu.org>
5813
5814 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
5815 const to avoid a warning.
5816 (grub_lua_setenv): Likewise.
5817 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
5818 lmsg to fix a warning.
5819
334f2c28 58202009-05-16 Felix Zielcke <fzielcke@z-51.de>
5821
5822 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 5823 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5824 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
5825 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5826 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5827 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
5828 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
5829 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 5830
59e5d3ec 58312009-05-16 Felix Zielcke <fzielcke@z-51.de>
5832
5833 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
5834
9d87a1ba 58352009-05-16 Bean <bean123ch@gmail.com>
5836
5837 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
5838 (lua_mod_SOURCES): New variable.
5839 (lua_mod_CFLAGS): Likewise.
5840 (lua_mod_LDFLAGS): Likewise.
5841
5842 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
5843 (setjmp_mod_SOURCES): New variable.
5844 (setjmp_mod_CFLAGS): Likewise.
5845 (setjmp_LDFLAGS): Likewise.
5846
5847 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
5848 (setjmp_mod_SOURCES): New variable.
5849 (setjmp_mod_CFLAGS): Likewise.
5850 (setjmp_LDFLAGS): Likewise.
5851
5852 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
5853 (setjmp_mod_SOURCES): New variable.
5854 (setjmp_mod_CFLAGS): Likewise.
5855 (setjmp_LDFLAGS): Likewise.
5856
5857 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
5858 (setjmp_mod_SOURCES): New variable.
5859 (setjmp_mod_CFLAGS): Likewise.
5860 (setjmp_LDFLAGS): Likewise.
5861
5862 * normal/i386/setjmp.S: Moved from here ...
5863 * lib/i386/setjmp.S: ... Moved here
5864 * normal/x86_64/setjmp.S: Moved from here ...
5865 * lib/x86_64/setjmp.S: ... Moved here
5866 * normal/powerpc/setjmp.S: Moved from here ...
5867 * lib/powerpc/setjmp.S: ... Moved here
5868 * normal/sparc64/setjmp.S: Moved from here ...
5869 * lib/sparc64/setjmp.S: ... Moved here
5870
5871 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
5872 returns_twice in mingw.
5873
5874 * script/lua/grub_lib.c: New file.
5875 * script/lua/grub_lib.h: Likewise.
5876 * script/lua/grub_lua.h: Likewise.
5877 * script/lua/grub_main.c: Likewise.
5878 * script/lua/lapi.c: Likewise.
5879 * script/lua/lapi.h: Likewise.
5880 * script/lua/lauxlib.c: Likewise.
5881 * script/lua/lauxlib.h: Likewise.
5882 * script/lua/lbaselib.c: Likewise.
5883 * script/lua/lcode.c: Likewise.
5884 * script/lua/lcode.h: Likewise.
5885 * script/lua/ldblib.c: Likewise.
5886 * script/lua/ldebug.c: Likewise.
5887 * script/lua/ldebug.h: Likewise.
5888 * script/lua/ldo.c: Likewise.
5889 * script/lua/ldo.h: Likewise.
5890 * script/lua/ldump.c: Likewise.
5891 * script/lua/lfunc.c: Likewise.
5892 * script/lua/lfunc.h: Likewise.
5893 * script/lua/lgc.c: Likewise.
5894 * script/lua/lgc.h: Likewise.
5895 * script/lua/linit.c: Likewise.
5896 * script/lua/liolib.c: Likewise.
5897 * script/lua/llex.c: Likewise.
5898 * script/lua/llex.h: Likewise.
5899 * script/lua/llimits.h: Likewise.
5900 * script/lua/lmathlib.c: Likewise.
5901 * script/lua/lmem.c: Likewise.
5902 * script/lua/lmem.h: Likewise.
5903 * script/lua/loadlib.c: Likewise.
5904 * script/lua/lobject.c: Likewise.
5905 * script/lua/lobject.h: Likewise.
5906 * script/lua/lopcodes.c: Likewise.
5907 * script/lua/lopcodes.h: Likewise.
5908 * script/lua/loslib.c: Likewise.
5909 * script/lua/lparser.c: Likewise.
5910 * script/lua/lparser.h: Likewise.
5911 * script/lua/lstate.c: Likewise.
5912 * script/lua/lstate.h: Likewise.
5913 * script/lua/lstring.c: Likewise.
5914 * script/lua/lstring.h: Likewise.
5915 * script/lua/lstrlib.c: Likewise.
5916 * script/lua/ltable.c: Likewise.
5917 * script/lua/ltable.h: Likewise.
5918 * script/lua/ltablib.c: Likewise.
5919 * script/lua/ltm.c: Likewise.
5920 * script/lua/ltm.h: Likewise.
5921 * script/lua/lua.h: Likewise.
5922 * script/lua/luaconf.h: Likewise.
5923 * script/lua/lualib.h: Likewise.
5924 * script/lua/lundump.c: Likewise.
5925 * script/lua/lundump.h: Likewise.
5926 * script/lua/lvm.c: Likewise.
5927 * script/lua/lvm.h: Likewise.
5928 * script/lua/lzio.c: Likewise.
5929 * script/lua/lzio.h: Likewise.
5930
5e898c9d 59312009-05-16 Bean <bean123ch@gmail.com>
5932
5933 * include/grub/kernel.h (grub_module_header_types): Add type
5934 OBJ_TYPE_CONFIG.
5935
5936 * kern/main.c (grub_load_config): New function.
5937 (grub_main): Call grub_load_config to read boot config.
5938
5939 * grub-mkimage (generate_image): New parameter config_path.
5940 (options): New option --config.
5941 (main): Parse --config option, and pass it to generate_image.
5942
cf353a47 59432009-05-14 Christian Franke <franke@computer.org>
5944
5945 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
5946 This fixes build on Cygwin.
5947
3834887f 59482009-05-14 Pavel Roskin <proski@gnu.org>
5949
5950 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
5951 jump. This saves two bytes, so the typical case of 2 swapped
5952 drives would fit 32 bytes.
5953
8090fc01 59542009-05-13 Pavel Roskin <proski@gnu.org>
5955
ac963883 5956 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
5957 grub_uint32_t to avoid a warning.
5958
8090fc01 5959 * loader/i386/linux.c (allocate_pages): When assigning
5960 real_mode_mem, cast through grub_size_t to fix a warning. The
5961 code already makes sure that the value would fit a pointer.
5962 (grub_linux_setup_video): Cast render_target->data to
5963 grub_size_t to fix a warning.
5964
18f547ad 59652009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 5966
5967 * commands/i386/pc/drivemap.c: New file - implement drivemap
5968 command.
5969 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
5970 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
5971
6f6a8b28 59722009-05-13 Pavel Roskin <proski@gnu.org>
5973
5974 * util/i386/pc/grub-setup.c (setup): Remove unused variable
5975 embedding_area_exists.
5976
15fbf4c4 59772009-05-13 Robert Millan <rmh.grub@aybabtu.com>
5978
5979 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
5980 it easier to understand / work with.
59978c8a 5981 Improve warning messages for cases where there's no embedding area,
5982 or when it is too small (or core.img too large).
15fbf4c4 5983
238e871f 59842009-05-13 Pavel Roskin <proski@gnu.org>
5985
0ab3a9a4 5986 * loader/i386/pc/multiboot2.c: Add necessary includes for
5987 grub_multiboot2_real_boot().
5988
a2c8c5f8 5989 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
5990 PX record is always little-endian. We only need the lower 2
5991 bytes of the mode.
5992
faec96af 5993 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
5994 facilitate code reuse.
5995 (grub_cpio_mount): Use "struct head", not a char buffer. This
5996 fixes a warning reported by gcc 4.4.
5997
238e871f 5998 * kernel/disk.c (grub_disk_read): Use void pointer for the
5999 buffer.
6000 (grub_disk_write): Use const void pointer for the buffer.
6001 Adjust all callers. Remove unnecessary casts.
6002
901d2f0c 60032009-05-10 Robert Millan <rmh.grub@aybabtu.com>
6004
6005 * util/i386/pc/grub-install.in: Update copyright year.
6006
18f547ad 60072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 6008
6009 gptsync
6010
6011 * commands/gptsync.c: new file
6012 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
6013 (gptsync_mod_SOURCES): new variable
6014 (gptsync_mod_CFLAGS): likewise
6015 (gptsync_mod_LDFLAGS): likewise
18f547ad 6016 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 6017 new definition
6018 (GRUB_PC_PARTITION_TYPE_HFS): likewise
6019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
6020 * conf/i386-ieee1275.rmk: likewise
6021 * conf/i386-pc.rmk: likewise
6022 * conf/powerpc-ieee1275.rmk: likewise
6023
b4ba690a 60242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 Fixed grub-emu
6027
6028 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
6029 (grub_dl_ref): likewise
6030
317e1a44 60312009-05-08 Robert Millan <rmh.grub@aybabtu.com>
6032
6033 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
6034 split in two functions (one for msdos and one for gpt).
6035
041b8094 60362009-05-08 Pavel Roskin <proski@gnu.org>
6037
752473c2 6038 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
6039 not modified.
6040
041b8094 6041 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
6042 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
6043 Initialize them with -1. Add sanity check for bad1. Eliminate
6044 nerr variable.
6045
172800ce 60462009-05-08 David S. Miller <davem@davemloft.net>
6047
6048 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
6049
29aa5e81 60502009-05-06 Robert Millan <rmh.grub@aybabtu.com>
6051
6052 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 6053 existence.
29aa5e81 6054
96613b62 60552009-05-05 Felix Zielcke <fzielcke@z-51.de>
6056
6057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 6058 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 6059
eef73c8a 60602009-05-05 David S. Miller <davem@davemloft.net>
6061
6062 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
6063
119494b5 60642009-05-05 Pavel Roskin <proski@gnu.org>
6065
6066 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
6067 of grub_dl_ref() and grub_dl_unref().
6068 * commands/parttool.c: Remove preprocessor conditionals around
6069 grub_dl_ref() and grub_dl_unref().
6070 * fs/affs.c: Likewise.
6071 * fs/afs.c: Likewise.
6072 * fs/cpio.c: Likewise.
6073 * fs/ext2.c: Likewise.
6074 * fs/fat.c: Likewise.
6075 * fs/hfs.c: Likewise.
6076 * fs/hfsplus.c: Likewise.
6077 * fs/iso9660.c: Likewise.
6078 * fs/jfs.c: Likewise.
6079 * fs/minix.c: Likewise.
6080 * fs/ntfs.c: Likewise.
6081 * fs/reiserfs.c: Likewise.
6082 * fs/sfs.c: Likewise.
6083 * fs/udf.c: Likewise.
6084 * fs/ufs.c: Likewise.
6085 * fs/xfs.c: Likewise.
6086 * include/grub/dl.h: Likewise.
6087 * loader/xnu.c: Likewise.
6088
de5fd76e 60892009-05-04 Pavel Roskin <proski@gnu.org>
6090
6091 * commands/acpi.c: Remove unused variable my_mod.
6092 * partmap/amiga.c: Likewise.
6093 * partmap/apple.c: Likewise.
6094 * partmap/gpt.c: Likewise.
6095 * partmap/pc.c: Likewise.
6096 * partmap/sun.c: Likewise.
6097 * term/gfxterm.c: Likewise.
6098 * term/i386/pc/vesafb.c: Likewise.
6099 * term/i386/pc/vga.c: Likewise.
6100
983598ad 61012009-05-04 David S. Miller <davem@davemloft.net>
6102
6103 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
6104 pointer args to grub_ieee1275_get_property().
6105
8aadec43 6106 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
6107
9554b15e 6108 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
6109 devices, and do not traverse down under controller nodes.
6110
67e23c90 6111 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
6112 (grub_ofdisk_open): Use it to un-escape "," characters.
6113 * kern/disk.c (find_part_sep): New.
6114 (grub_disk_open): Use it to find the first non-escaped ','
6115 character in the disk name.
6116 * util/ieee1275/devicemap.c (escape_of_path): New.
6117 (grub_util_emit_devicemap_entry): Use it.
6118 * util/sparc64/ieee1275/grub-install.in: Update script to
6119 strip partition specifiers properly by not triggering on
6120 '\' escaped ',' characters.
6121
74bfdd2f 61222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6123
6124 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
6125 to 0x300.
6126 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
6127 resolutions.
6128 (linux_vesafb_modes): Add a lot of additional modes to the list (based
6129 on documentation from Wikipedia).
6130
4241d2b1 61312009-05-04 Pavel Roskin <proski@gnu.org>
6132
6133 * disk/ata.c: Spelling fixes.
6134 * disk/raid.c: Likewise.
6135 * disk/usbms.c: Likewise.
6136 * disk/dmraid_nvidia.c: Likewise.
6137 * kern/ieee1275/openfw.c: Likewise.
6138 * kern/ieee1275/init.c: Likewise.
6139 * kern/ieee1275/cmain.c: Likewise.
6140 * boot/i386/pc/cdboot.S: Likewise.
6141 * video/readers/png.c: Likewise.
6142 * video/i386/pc/vbe.c: Likewise.
6143 * fs/udf.c: Likewise.
6144 * fs/hfs.c: Likewise.
6145 * fs/reiserfs.c: Likewise.
6146 * efiemu/runtime/efiemu.c: Likewise.
6147 * efiemu/main.c: Likewise.
6148 * efiemu/mm.c: Likewise.
6149 * include/grub/elf.h: Likewise.
6150 * include/grub/xnu.h: Likewise.
6151 * include/grub/usbdesc.h: Likewise.
6152 * include/grub/usb.h: Likewise.
6153 * include/grub/script_sh.h: Likewise.
6154 * include/grub/lib/LzmaEnc.h: Likewise.
6155 * include/grub/efiemu/efiemu.h: Likewise.
6156 * include/grub/command.h: Likewise.
6157 * normal/menu.c: Likewise.
6158 * normal/main.c: Likewise.
6159 * normal/datetime.c: Likewise.
6160 * bus/usb/uhci.c: Likewise.
6161 * mmap/i386/uppermem.c: Likewise.
6162 * mmap/mmap.c: Likewise.
6163 * commands/acpi.c: Likewise.
6164 * commands/test.c: Likewise.
6165 * partmap/apple.c: Likewise.
6166 * font/font.c: Likewise.
6167 * loader/sparc64/ieee1275/linux.c: Likewise.
6168 * loader/macho.c: Likewise.
6169 * loader/i386/bsd_trampoline.S: Likewise.
6170 * loader/i386/bsd.c: Likewise.
6171 * loader/xnu.c: Likewise.
6172 * term/i386/pc/vesafb.c: Likewise.
6173 * term/usb_keyboard.c: Likewise.
6174 * util/resolve.c: Likewise.
6175 * util/getroot.c: Likewise.
6176
0cfc0083 61772009-05-04 Felix Zielcke <fzielcke@z-51.de>
6178
6179 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
6180
7c1d00cd 61812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6182
6183 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
6184 build error.
6185
b01f0548 61862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6187
6188 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
6189 parameter only available on BIOS.
6190
ecc3eb22 61912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Removed wrong semicolon in declaration
6194
6195 * grub/misc.h (grub_dprintf): remove semicolon
6196
112972a9 61972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6198
6199 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
6200 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
6201 is done by grub_cmd_linux() now).
6202 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
6203 restore video to text mode.
6204 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
6205 indicates lack of "vga=" parameter. "vga=0" is mapped to
6206 `GRUB_LINUX_VID_MODE_NORMAL'.
6207
afd5c115 62082009-05-04 Felix Zielcke <fzielcke@z-51.de>
6209
6210 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
6211 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
6212 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 6213 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 6214 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
6215 `grub_script.tab.c'.
6216
6217 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6218 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6220 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6222
faa517ce 6223 * Makefile.in: Remove duplicated 2008 in Copyright line.
6224
ae0c0bdc 62252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
6226
473d1e45 6227 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 6228 unconditionally.
6229 * include/grub/util/misc.h (grub_util_warn): New declaration.
6230
6231 * util/i386/pc/grub-install.in: Understand --force and pass it down
6232 to grub-setup.
6233
6234 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
6235 down to setup().
6236 (setup): Improve error messages and add warnings when requested to
6237 install in odd layouts. Refuse to install using blocklists unless
6238 --force was set.
6239
18f547ad 62402009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 6241
6242 * disk/raid.c (grub_raid_scan_device): Improve debug message.
6243
6d260daa 62442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Updated copyright year
6247
6248 * fs/hfsplus.c: updated copyright year
18f547ad 6249
69f853f8 62502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 HFS+ UUID
6253
18f547ad 6254 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 6255 in the space previously used by unused3
6256 (grub_hfsplus_uuid): new function
6257 (grub_hfsplus_fs): added uuid field
6258
4c402e73 62592009-05-03 Pavel Roskin <proski@gnu.org>
6260
6261 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
6262 suppress warnings. It's no longer needed.
6263 * disk/host.c: Likewise.
6264 * disk/ata_pthru.c: Likewise.
6265 * disk/loopback.c: Likewise.
6266 * hook/datehook.c: Likewise.
6267 * parttool/pcpart.c: Likewise.
6268 * fs/i386/pc/pxe.c: Likewise.
6269 * fs/ntfscomp.c: Likewise.
6270 * efiemu/main.c: Likewise.
6271 * mmap/mmap.c: Likewise.
6272 * commands/crc.c: Likewise.
6273 * commands/hexdump.c: Likewise.
6274 * commands/hdparm.c: Likewise.
6275 * commands/acpi.c: Likewise.
6276 * commands/echo.c: Likewise.
6277 * commands/minicmd.c: Likewise.
6278 * commands/blocklist.c: Likewise.
6279 * commands/memrw.c: Likewise.
6280 * commands/loadenv.c: Likewise.
6281 * commands/usbtest.c: Likewise.
6282 * commands/lsmmap.c: Likewise.
6283 * commands/boot.c: Likewise.
6284 * commands/parttool.c: Likewise.
6285 * commands/configfile.c: Likewise.
6286 * commands/search.c: Likewise.
6287 * commands/ieee1275/suspend.c: Likewise.
6288 * commands/cat.c: Likewise.
6289 * commands/i386/pc/pxecmd.c: Likewise.
6290 * commands/i386/pc/play.c: Likewise.
6291 * commands/i386/pc/halt.c: Likewise.
6292 * commands/i386/pc/vbeinfo.c: Likewise.
6293 * commands/i386/pc/vbetest.c: Likewise.
6294 * commands/lspci.c: Likewise.
6295 * commands/date.c: Likewise.
6296 * commands/handler.c: Likewise.
6297 * commands/ls.c: Likewise.
6298 * commands/test.c: Likewise.
6299 * commands/cmp.c: Likewise.
6300 * commands/efi/loadbios.c: Likewise.
6301 * commands/efi/fixvideo.c: Likewise.
6302 * commands/halt.c: Likewise.
6303 * commands/help.c: Likewise.
6304 * commands/reboot.c: Likewise.
6305 * hello/hello.c: Likewise.
6306 * script/sh/main.c: Likewise.
6307 * loader/xnu.c: Likewise.
6308 * term/terminfo.c: Likewise.
6309 * term/i386/pc/serial.c: Likewise.
6310 * term/usb_keyboard.c: Likewise.
6311
515b5079 63122009-05-03 David S. Miller <davem@davemloft.net>
6313
6314 * normal/menu.c: Include grub/parser.h
6315
dfc31a22 63162009-05-03 Pavel Roskin <proski@gnu.org>
6317
2fee74f1 6318 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
6319 not char*.
6320 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
6321 Suggested by Javier Martín <lordhabbit@gmail.com>
6322
dfc31a22 6323 * util/i386/pc/grub-mkrescue.in: Allow for the case when
6324 efiemu??.o doesn't exist.
6325 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
6326 copying.
6327
18f547ad 63282009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 6329
6330 FreeBSD 64-bit support
6331
18f547ad 6332 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 6333 and loader/i386/bsd_trampoline.S
6334 (bsd_mod_ASFLAGS): new variable
6335 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
6336 (FREEBSD_MODTYPE_KERNEL64): likewise
6337 (grub_bsd64_trampoline_start): likewise
6338 (grub_bsd64_trampoline_end): likewise
6339 (grub_bsd64_trampoline_selfjump): likewise
6340 (grub_bsd64_trampoline_gdt): likewise
6341 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
6342 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
6343 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
6344 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 6345 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 6346 of "attrib" member
6347 * loader/i386/bsd_pagetable.c: new file
6348 * loader/i386/bsd_trampoline.S: likewise
6349 * loader/i386/bsd.c (ALIGN_QWORD): new macro
6350 (ALIGN_VAR): likewise
6351 (entry_hi): new variable
6352 (kern_end_mdofs): likewise
6353 (is_64bit): likewise
6354 (grub_freebsd_add_meta): use ALIGN_VAR
6355 (grub_e820_mmap): new declaration
6356 (grub_freebsd_add_mmap): new function
6357 (grub_freebsd_add_meta_module): support 64 bit kernels
6358 (grub_freebsd_list_modules): use ALIGN_VAR
6359 (gdt_descriptor): new declaration
6360 (grub_freebsd_boot): support 64 bit kernels
6361 (grub_bsd_elf64_hook): new function
6362 (grub_bsd_load_elf): support elf64
6363
038c5720 63642009-05-03 Bean <bean123ch@gmail.com>
6365
6366 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
6367 after we get the result of if statement.
6368
fc45fb58 63692009-05-03 Bean <bean123ch@gmail.com>
6370
6371 * Makefile.in (enable_efiemu): New variable.
6372
6373 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
6374 set.
6375 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
6376 path.
6377 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
6378 path, add -mno-red-zone option.
6379 (efiemu64_s.o): Likewise.
6380 (efiemu64.o): Use macro $^ for source file.
6381
6382 * configure.ac (--enable-efiemu): New option.
6383
bbee0f2b 63842009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 xnu support
6387
6388 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
6389 (pkglib_MODULES): add xnu.mod
6390 (xnu_mod_SOURCES): new variable
6391 (xnu_mod_CFLAGS): likewise
6392 (xnu_mod_LDFLAGS): likewise
6393 (xnu_mod_ASFLAGS): likewise
6394 * conf/i386-pc.rmk: likewise
6395 * conf/x86_64-efi.rmk: likewise
7dd4a573 6396 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 6397 new declaration
6398 * include/grub/i386/macho.h: new file
6399 * include/grub/i386/xnu.h: likewise
6400 * include/grub/macho.h: likewise
6401 * include/grub/machoload.h: likewise
6402 * include/grub/x86_64/macho.h: likewise
6403 * include/grub/x86_64/xnu.h: likewise
6404 * include/grub/xnu.h: likewise
6405 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
6406 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
6407 * loader/i386/efi/xnu.c: new file
6408 * loader/i386/pc/xnu.c: likewise
6409 * loader/i386/xnu.c: likewise
6410 * loader/i386/xnu_helper.S: likewise
6411 * loader/macho.c: likewise
6412 * loader/xnu.c: likewise
6413 * loader/xnu_resume.c: likewise
6414 * util/grub-dumpdevtree: likewise
6415 * include/grub/i386/pit.h: include grub/err.h
6416 (grub_pit_wait): export
6417 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 6418
5caf964d 64192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 Efiemu
7dd4a573 6422
5caf964d 6423 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 6424 _linux_efi, linux_efi.
6425 new files in grub-emu
5caf964d 6426 new targets efiemu32.o and efiemu64.o
6427 * loader/linux_normal_efiemu.c: likewise
6428 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 6429 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 6430 files to copy
6431 * include/grub/autoefi.h: new file
7dd4a573 6432 * include/grub/i386/efiemu.h: likewise
5caf964d 6433 * include/grub/i386/pc/efiemu.h: likewise
6434 * include/grub/efi/api.h: add LL suffix when necessary
6435 new definitions relating to tables
6436 * include/grub/efiemu/efiemu.h: new file
6437 * include/grub/efiemu/runtime.h: likewise
6438 * efiemu/prepare.c: likewise
6439 * efiemu/loadcore_common.c: likewise
6440 * efiemu/loadcore64.c: likewise
6441 * efiemu/runtime/efiemu.sh: likewise
6442 * efiemu/runtime/efiemu.S: likewise
6443 * efiemu/runtime/efiemu.c: likewise
6444 * efiemu/runtime/config.h: likewise
6445 * efiemu/prepare32.c: likewise
6446 * efiemu/main.c: likewise
6447 * efiemu/modules/pnvram.c: likewise
6448 * efiemu/modules/i386: likewise
6449 * efiemu/modules/i386/pc: likewise
6450 * efiemu/modules/acpi.c: likewise
6451 * efiemu/i386/pc/cfgtables.c: likewise
6452 * efiemu/i386/loadcore64.c: likewise
6453 * efiemu/i386/loadcore32.c: likewise
6454 * efiemu/prepare64.c: likewise
6455 * efiemu/loadcore.c: likewise
6456 * efiemu/symbols.c: likewise
6457 * efiemu/mm.c: likewise
6458 * efiemu/loadcore32.c: likewise
7dd4a573 6459
64602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 6461
6462 ACPI spoofing
6463
6464 * commands/acpi.c: new file
6465 * commands/i386/pc/acpi.c: likewise
6466 * commands/efi/acpi.c: likewise
6467 * include/grub/acpi.h: likewise
6468 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
6469 (acpi_mod_SOURCES): new variable
6470 (acpi_mod_CFLAGS): likewise
6471 (acpi_mod_LDFLAGS): likewise
6472 * conf/i386-efi.rmk: likewise
6473 * conf/x86_64-efi.rmk: likewise
6474
7dd4a573 64752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 6476
6477 Missing part from mmap patch
6478
6479 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
6480 (grub_mmap_unregister)
6481 (grub_mmap_free_and_unregister): use grub_mmap_register
6482
7dd4a573 64832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 6484
6485 Mmap services
6486
6487 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
6488 * loader/i386/linux.c (find_mmap_size): likewise
6489 (allocate_pages): likewise
6490 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
6491 (grub_fill_multiboot_mmap): likewise
6492 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
6493 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
6494 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
6495 (OPENBSD_MMAP_RESERVED): likewise
6496 * include/grub/i386/pc/memory.h: include grub/memory.h
6497 (grub_lower_mem): removed
6498 (grub_upper_mem): likewise
6499 (GRUB_MACHINE_MEMORY_ACPI): new definition
6500 (GRUB_MACHINE_MEMORY_NVS): likewise
6501 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
6502 (GRUB_MACHINE_MEMORY_HOLE): likewise
6503 (grub_machine_mmap_register): likewise
6504 (grub_machine_mmap_unregister): likewise
6505 (grub_machine_get_upper): likewise
6506 (grub_machine_get_lower): likewise
6507 (grub_machine_get_post64): likewise
6508 * include/grub/i386/efi/memory.h: new file
6509 * include/grub/x86_64/efi/memory.h: likewise
6510 * include/grub/efi/memory.h: likewise
6511 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
6512 (mmap_mod_SOURCES): new variable
6513 (mmap_mod_LDFLAGS): likewise
6514 (mmap_mod_ASFLAGS): likewise
6515 * conf/i386-coreboot.rmk: likewise
6516 * conf/i386-ieee1275.rmk: likewise
6517 * conf/i386-efi.rmk: likewise
6518 * conf/x86_64-efi.rmk: likewise
6519 * include/grub/types.h (UINT_TO_PTR): new macro
6520 (PTR_TO_UINT32): likewise
6521 (PTR_TO_UINT64): likewise
6522 * include/grub/memory.h: new file
6523 * mmap/i386/pc/mmap.c: likewise
6524 * mmap/i386/pc/mmap_helper.S: likewise
6525 * mmap/i386/uppermem.c: likewise
6526 * mmap/mmap.c: likewise
6527 * mmap/efi/mmap.c: likewise
7dd4a573 6528 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 6529 grub_upper_mem
6530 * kern/i386/pc/init.c (grub_lower_mem): removed variable
6531 (grub_upper_mem): likewise
6532 (grub_machine_init): don't use grub_upper_mem,
6533 make grub_lower_mem local
6534 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
6535 grub_mmap_iterate and grub_mmap_get_upper
6536 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
6537
d558e6b5 65382009-05-02 Bean <bean123ch@gmail.com>
6539
6540 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
6541 script/sh/parser.y.
6542 (pkglib_MODULES): Add normal.mod and sh.mod.
6543 (normal_SOURCES): New variable.
6544 (normal_mod_CFLAGS): Likewise.
6545 (normal_mod_LDFLAGS): Likewise.
6546 (sh_mod_SOURCES): Likewise.
6547 (sh_mod_CFLAGS): Likewise.
6548 (sh_mod_LDFLAGS): Likewise.
6549
6550 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
6551 script/sh/lexer.c_DEPENDENCIES.
6552 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
6553 kern/rescue_reader.c and kern/rescue_parser.c.
6554 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
6555 (grub_emu_SOURCES): Change source files.
6556 (pkglib_MODULES): Remove normal.mod.
6557 (normal_SOURCES): Removed.
6558 (normal_mod_CFLAGS): Likewise.
6559 (normal_mod_LDFLAGS): Likewise.
6560 * conf/i386-coreboot.rmk: Likewise.
6561 * conf/i386-efi.rmk: Likewise.
6562 * conf/i386-ieee1276.rmk: Likewise.
6563 * conf/powerpc-ieee1275.rmk: Likewise.
6564 * conf/sparc64-ieee1275.rmk: Likewise.
6565 * conf/x86_64-efi.rmk: Likewise.
6566
6567 * include/grub/command.h (grub_command_execute): New inline function.
6568
6569 * include/grub/menu.h (grub_menu_entry): Removed commands field.
6570
6571 * include/grub/normal.h: Remove <grub/setjmp.h>.
6572 (grub_fs_module_list): Moved to normal/autofs.c.
6573 (grub_exit_env): Removed.
6574 (grub_command_execute): Likewise.
6575 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
6576 parameter script.
6577 (read_command_list): New function declaration.
6578 (read_fs_list): Likewise.
6579
6580 * include/parser.h: Include <grub/reader.h>.
6581 (grub_parser_split_cmdline): Change type of getline parameter.
6582 (grub_parser): New structure.
6583 (grub_parser_class): New variable.
6584 (grub_parser_execute): New function declaration.
6585 (grub_register_rescue_parser): Likewise.
6586 (grub_parser_register): New inline function.
6587 (grub_parser_unregister): Likewise.
6588 (grub_parser_get_current): Likewise.
6589 (grub_parser_set_current): Likewise.
6590
6591 * include/grub/reader.h: New file.
6592 * kern/reader.c: Likewise.
6593 * kern/rescue_parser.c: Likewise.
6594 * kern/rescue_reader.c: Likewise.
6595 * normal/autofs.c: Likewise.
6596 * normal/dyncmd.c: Likewise.
6597
6598 * include/grub/rescue.h: Removed.
6599 * normal/command.h: Likewise.
6600
6601 * include/grub/script.h: Moved to ...
6602 * include/grub/script_sh.h: ... Moved here.
6603 * normal/execute.c: Moved to ...
6604 * script/sh/execute.c: ... Moved here.
6605 * normal/function.c: Moved to ...
6606 * script/sh/function.c: ... Moved here.
6607 * normal/lexer.c: Moved to ...
6608 * script/sh/lexer.c: ... Moved here.
6609 * normal/parser.y: Moved to ...
6610 * script/sh/parser.y: ... Moved here.
6611 * normal/script.c: Moved to ...
6612 * script/sh/script.c: ... Moved here.
6613
6614 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
6615 <grub/reader.h>.
6616 (grub_exit_env): Removed.
6617 (fs_module_list): Moved to normal/autofs.c.
6618 (grub_file_getline): Don't handle comment here.
6619 (free_menu): Skip removed field entry->commands.
6620 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
6621 script parameter.
6622 (read_config_file): Removed nested parameter, change getline function.
6623 (grub_enter_normal_mode): Removed.
6624 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
6625 (read_command_list): Likewise.
6626 (autoload_fs_module): Moved to normal/autofs.c.
6627 (read_fs_list): Likewise.
6628 (reader_nested): New variable.
6629 (grub_normal_execute): Run parser.sh to switch to sh parser.
6630 (grub_cmd_rescue): Removed.
6631 (cmd_normal): Removed.
6632 (grub_cmd_normal): Unregister itself at the beginning. Don't register
6633 rescue command.
6634 (grub_cmdline_run): New function.
6635 (grub_normal_reader_init): Likewise.
6636 (grub_normal_read_line): Likewise.
6637 (grub_env_write_pager): Likewise.
6638 (cmdline): New variable.
6639 (grub_normal_reader): Likewise.
6640 (GRUB_MOD_INIT): Register normal reader and set as current, register
6641 pager hook, register normal command with grub_register_command_prio,
6642 so that it won't show up in command.lst.
6643 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
6644 grub_fs_autoload_hook.
6645
6646 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
6647 (grub_menu_execute_entry): Replace grub_script_execute with
6648 grub_parser_execute, change parameter to grub_command_execute.
6649
6650 * normal/menu_text.c: Remove <grub/script.h>.
6651
6652 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
6653 and <grub/parser.h>.
6654 (run): Change editor_getline to use new parser interface. Change
6655 parameter to grub_command_execute.
6656
6657 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
6658 <grub/reader.h> and <grub/parser.h>.
6659 (grub_load_normal_mode): Execute normal command.
6660 (grub_main): Call grub_register_core_commands,
6661 grub_register_rescue_parser and grub_register_rescue_reader, use
6662 grub_reader_loop to enter input loop.
6663
7dd4a573 6664 * kern/parser.c (grub_parser_split_cmdline): Change type of
6665 getline parameter.
d558e6b5 6666 (grub_parser_class): New variable.
6667 (grub_parser_execute): New function.
6668
6669 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
6670 * loader/multiboot2.c: Likewise.
6671 * loader/sparc64/ieee1275/linux.c: Likewise.
6672
6673 * util/grub-emu.c (read_command_list): New dummy function.
6674
18db813d 66752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6676
6677 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
6678 count to 16 for CCISS and IDA.
6679
6c67de15 66802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
6681
6682 * normal/menu_text.c (grub_wait_after_message): Print a newline
6683 after waiting for user input.
6684
6685 * loader/i386/linux.c: Include `<grub/normal.h>'.
6686 (grub_cmd_linux): Improve the error message about `ask' mode, by
6687 waiting for user input so it's not missed (we can do this, since
6688 user requested interaction).
6689
d9dc87b0 66902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 Added missing lst to grub-mkrescue
6693
6694 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
6695 and ${input_dir}/parttool.lst
6696
ac8a2baa 66972009-04-30 David S. Miller <davem@davemloft.net>
6698
ad22a610 6699 * util/hostdisk.c (device_is_wholedisk): New function.
6700 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
6701 zero only if device_is_wholedisk() returns true.
6702
6966215d 6703 * util/hostdisk.c (convert_system_partition_to_system_disk):
6704 Handle virtual disk devices named /dev/vdiskX as found on sparc
6705 and powerpc.
6706
ac8a2baa 6707 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
6708 lettered partition specifier is found, convert to numbered.
6709
979b4fb4 67102009-04-29 David S. Miller <davem@davemloft.net>
6711
e2bf39b2 6712 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
6713 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6714
3c64e104 6715 * normal/command.c: Add missing newline at end of file.
6716
979b4fb4 6717 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
6718 warnings.
6719 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
6720 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
6721 grub_ofdisk_read): Likewise, and deal similarly with the fact that
6722 ihandles have a 32-bit type but need to be stored in a "void *".
6723
136d9f82 67242009-04-28 Pavel Roskin <proski@gnu.org>
6725
9459c306 6726 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
6727 not disk. Adjust all dependencies.
2e08a26a 6728 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 6729 grub_disk_close().
6730
136d9f82 6731 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
6732 parent's partition, don't copy it by reference, as it gets freed
6733 on close.
6734
7dd4a573 67352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 6736
6737 Preboot hooks support
6738
6739 * commands/boot.c (struct grub_preboot_t): new declaration
6740 (preboots_head): new variable
6741 (preboots_tail): likewise
6742 (grub_loader_register_preboot_hook): new function
6743 (grub_loader_unregister_preboot_hook): likewise
6744 (grub_loader_set): launch preboot hooks
6745 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
6746 (grub_loader_register_preboot_hook): new declaration
6747 (grub_loader_unregister_preboot_hook): likewise
6748
5af922b5 67492009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Warning fix
6752
7dd4a573 6753 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 6754 calling grub_dprintf
6755
a5562c30 67562009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 Bug and warning fixes
6759
7dd4a573 6760 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 6761 declaration
6762 * commands/test.c (test_parse): fixed bug with file tests and corrected
6763 declaration of find_file
6764
4006f85c 67652009-04-26 Pavel Roskin <proski@gnu.org>
6766
6767 * Makefile.in: Don't install empty manual pages if help2man is
6768 missing. Use help2man option for output, not shell redirection.
6769
5c77c3de 67702009-04-26 David S. Miller <davem@davemloft.net>
6771
6772 * util/grub-mkdevicemap.c (make_device_map): Add missing
6773 NESTED_FUNC_ATTR to process_device().
6774
033b10a8 67752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 Test command
6778
6779 * commands/test.c: rewritten to use bash-like test
6780
e4343593 67812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 Parttool autoloading and improvements
6784
7dd4a573 6785 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 6786 (parttool.lst): new target
6787 * genmk.rb: generate parttool-*
6788 (CLEANFILES): add #{parttool}
6789 (PARTTOOLFILES): new variable
6790 * genparttoollist.sh: new file
7dd4a573 6791 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 6792 (grub_pcpart_type): likewise
6793 * commands/parttool.c (helpmsg): new variable
6794 (grub_cmd_parttool): output help if not enough arguments are supplied
6795 autoload modules
6796 (GRUB_MOD_INIT(parttool)): use helpmsg
6797
0d312500 67982009-04-24 David S. Miller <davem@davemloft.net>
6799
7dd4a573 6800 Avoiding opening same device multiple times in device iterator.
0d312500 6801
6802 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 6803 and use it to build a list of partitions in iterate_disk() and
0d312500 6804 iterate_partition().
6805
ac20caff 6806 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
6807 on disk->data.
6808
0dcf7495 6809 * disk/ieee1275/nand.c (grub_nand_iterate): Return
6810 grub_devalias_iterate() result instead of unconditional 0.
6811 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
6812 Also, capture hook return value, either directly or via
6813 grub_children_iterate(), and propagate to caller.
6814 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
6815 grub_children_iterate): Return value is now 'int' instead of
6816 'grub_err_t'.
6817 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
6818 like a proper iterator, stopping when hooks return non-zero.
6819 (grub_devalias_iterate): Likewise.
6820
c8c08833 68212009-04-23 David S. Miller <davem@davemloft.net>
6822
6823 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
6824
f01005a8 68252009-04-22 David S. Miller <davem@davemloft.net>
6826
6827 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
6828 is larger than address_cells, use that value for address_cells too.
6829
4e8269da 6830 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
6831 IEEE1275_MAX_PATH_LEN): Define.
6832 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
6833 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
6834 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
6835 'devtype'. Explicitly NULL terminate devalias expansion.
6836
a1447506 6837 * util/sparc64/ieee1275/misc.c: New file.
6838 * util/sparc64/ieee1275/grub-setup.c: New file.
6839 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
6840 * util/sparc64/ieee1275/grub-mkimage.c: New file.
6841 * util/sparc64/ieee1275/grub-install.in: New file.
6842 * util/ieee1275/ofpath.c: New file.
6843 * util/ieee1275/devicemap.c: New file.
6844 * util/devicemap.c: New file.
6845 * util/deviceiter.c: New file.
6846 * kern/sparc64/ieee1275/init.c: New file.
6847 * include/grub/util/ofpath.h: New file.
6848 * include/grub/util/deviceiter.h: New file.
6849 * util/grub-mkdevicemap.c: Include deviceiter.h.
6850 Implement using grub_util_emit_devicemap_entry and
6851 grub_util_iterate_devices.
6852 * conf/i386-corebook.rmk: Build util/deviceiter.c and
6853 util/devicemap.c into grub-mkdevicemap
6854 * conf/i386-efi.rmk: Likewise.
6855 * conf/i386-ieee1275.rmk: Likewise.
6856 * conf/i386-pc.rmk: Likewise.
6857 * conf/powerpc-ieee1275.rmk: Likewise.
6858 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
6859 images and installation utilities. Build kernel as image
6860 instead of as elf binary. Use common rules as much as possible.
6861
7dd4a573 68622009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 6863
6864 Correct GPT definition
6865
7dd4a573 6866 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 6867 of "attrib" member
6868
c6c5219f 68692009-04-19 Felix Zielcke <fzielcke@z-51.de>
6870
6871 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
6872
0552ff9f 68732009-04-19 David S. Miller <davem@davemloft.net>
6874
6875 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
6876 (grub_rescue_cmd_linux): Rename to...
6877 (grub_cmd_linux): and fix prototype.
6878 (grub_rescue_cmd_initrd): Rename to...
6879 (grub_cmd_initrd): and fix prototype.
6880 (cmd_linux, cmd_initrd): New.
6881 (GRUB_MOD_INIT(linux)): Use grub_register_command().
6882 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
6883
d1a282fc 68842009-04-17 Pavel Roskin <proski@gnu.org>
6885
07c5039f 6886 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
6887 format.
6888 (grub_ohci_transfer): Likewise.
6889
b012002d 6890 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
6891
1bc09c35 6892 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
6893 return without a value. Fix inconsistent indentation.
6894
e0ff9126 6895 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
6896 match struct grub_fs.
6897
d1a282fc 6898 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
6899 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
6900 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6901 * commands/lspci.c (grub_lspci_iter): Likewise.
6902
a96df3f2 69032009-04-16 Bean <bean123ch@gmail.com>
6904
6905 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
6906 value.
6907
41bb0fe9 69082009-04-15 Pavel Roskin <proski@gnu.org>
6909
6910 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
6911 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
6912 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
6913 definitions.
6914
596c6970 69152009-04-15 Felix Zielcke <fzielcke@z-51.de>
6916
6917 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 6918 that no multiple data or metadata areas are supported and `Unknown
596c6970 6919 metadata header'.
6920
7dd4a573 69212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 6922
6923 Move loader out of the kernel
6924
6925 * kern/loader.c: moved to ...
6926 * commands/boot.c: ... moved here
6927 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
6928 * commands/boot.c (grub_cmd_boot): moved here. All users updated
6929 * include/grub/kernel.h (grub_machine_fini): export
6930 * include/grub/loader.h (grub_loader_is_loaded): update declaration
6931 (grub_loader_set): likewise
6932 (grub_loader_unset): likewise
6933 (grub_loader_boot): likewise
6934 * conf/common.rmk: new module boot.mod
6935 (pkglib_MODULES): add boot.mod
6936 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
6937 (grub_emu_SOURCES): likewise
6938 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
6939 (grub_emu_SOURCES): likewise
6940 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
6941 (grub_emu_SOURCES): likewise
6942 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
6943 (grub_emu_SOURCES): likewise
6944 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
6945 (grub_emu_SOURCES): likewise
7dd4a573 6946 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
6947 (grub_emu_SOURCES): likewise
0d5d5653 6948 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 6949 (grub_emu_SOURCES): likewise
0d5d5653 6950
7dd4a573 69512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 6952
6953 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 6954
5999d619 6955 * kern/misc.c (grub_itoa): Removed function
6956 (grub_ltoa): likewise
6957 (grub_vsprintf): use grub_lltoa
6958
7dd4a573 69592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 6960
6961 Restore grub-emu
6962
6963 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
6964 * conf/i386-coreboot.rmk: likewise
6965 * conf/i386-ieee1275.rmk: likewise
6966 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6967
20318222 69682009-04-15 Felix Zielcke <fzielcke@z-51.de>
6969
6970 * INSTALL: Add that `./autogen.sh' needs to be run before
6971 `./configure.'.
6972
d05f0df3 69732009-04-14 Bean <bean123ch@gmail.com>
6974
6975 * Makefile.in (pkglib_DATA): Add handler.lst.
6976 (handler.lst): New rule.
6977
6978 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
6979 * conf/i386-coreboot.rmk: Likewise.
6980 * conf/i386-ieee1275.rmk: Likewise.
6981 * conf/i386-efi.rmk: Likewise.
6982 * conf/x86_64-efi.rmk: Likewise.
6983 * conf/powerpc-ieee1275.rmk: Likewise.
6984 * conf/sparc64-ieee1275.rmk: Likewise.
6985
6986 * genhandlerlist.sh: New file.
6987
6988 * genmk.rb: Add rules to generate handler.lst.
6989
6990 * include/grub/normal.h (grub_file_getline): New function definition.
6991 (read_handler_list): Likewise.
6992 (free_handler_list): Likewise.
6993
6994 * include/grub/term.h (grub_term_register_input): Add name parameter
6995 for auto generation of handler.lst.
6996 (grub_term_register_output): Likewise.
6997
6998 * normal/handler.c: New file.
6999
7000 * normal/main.c (get_line): Renamed to grub_file_getline.
7001 (read_config_file): Use the newly renamed grub_file_getline.
7002 (read_command_list): Likewise.
7003 (read_fs_list): Likewise.
7004 (grub_normal_execute): Call read_handler_list to parse handler.lst.
7005 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
7006
7007 * term/efi/console.c (grub_console_init): Add name parameter for auto
7008 generation of handler.lst.
7009 * term/gfxterm.c: Likewise.
7010 * term/i386/pc/at_keyboard.c: Likewise.
7011 * term/i386/pc/console.c: Likewise.
7012 * term/i386/pc/serial.c: Likewise.
7013 * term/i386/pc/vesafb.c: Likewise.
7014 * term/i386/pc/vga.c: Likewise.
7015 * term/i386/pc/vga_text.c: Likewise.
7016 * term/ieee1275/ofconsole.c: Likewise.
7017 * term/usb_keyboard.c: Likewise.
7018
33c846be 70192009-04-14 Bean <bean123ch@gmail.com>
7020
7021 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
7022 properly with null character.
7023
4484e01e 70242009-04-14 Felix Zielcke <fzielcke@z-51.de>
7025
7026 * configure: Remove.
7027 * config.h.in: Likewise.
f93d668e 7028 * stamp-h.in: Likewise.
4484e01e 7029 * DISTLIST: Likewise.
7030 * conf/common.mk: Likewise.
7031 * conf/i386-coreboot.mk: Likewise.
7032 * conf/i386-efi.mk: Likewise.
7033 * conf/i386-ieee1275.mk: Likewise.
7034 * conf/i386.mk: Likewise.
7035 * conf/i386-pc.mk: Likewise.
7036 * conf/powerpc-ieee1275.mk: Likewise.
7037 * conf/sparc64-ieee1275.mk: Likewise.
7038 * conf/x86_64-efi.mk: Likewise.
7039
7040 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
7041 develop on GRUB.
7042
7dd4a573 70432009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 7044 David S. Miller <davem@davemloft.net>
7045
7046 * util/hostdisk.c (make_device_name): Fix buffer length
7047 calculations.
7048
e25b5a8c 70492009-04-14 Felix Zielcke <fzielcke@z-51.de>
7050
7051 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
7052 <sys/param.h> and <sys/sysctl.h>.
7053 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
7054 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
7055 opening the device and reset them afterwards.
7056
1f1f580c 70572009-04-13 Pavel Roskin <proski@gnu.org>
7058
7059 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
7060 Reported by John Stanley <jpsinthemix@verizon.net>
7061
7ebc2d6b 70622009-04-13 Robert Millan <rmh@aybabtu.com>
7063
7064 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 7065 that name for menuentries when appropriate.
7ebc2d6b 7066
d8ba3667 70672009-04-13 Felix Zielcke <fzielcke@z-51.de>
7068
7069 * util/grub.d/10_freebsd.in: Add a missing `fi'.
7070
cba416eb 70712009-04-13 Robert Millan <rmh@aybabtu.com>
7072
7073 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
7074 to Linux, simply abort telling the user it's no longer supported.
7075
a547a745 70762009-04-13 Felix Zielcke <fzielcke@z-51.de>
7077
7078 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 7079 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 7080 `freebsd_loadenv' only when devices.hints exist.
7081
232a769c 70822009-04-13 Pavel Roskin <proski@gnu.org>
7083
7084 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
7085
c3012039 70862009-04-13 Felix Zielcke <fzielcke@z-51.de>
7087
7088 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
7089 partition number.
7090 (grub_drive): Likewise.
7091
234022fe 70922009-04-13 David S. Miller <davem@davemloft.net>
7093
7094 * kern/sparc64/ieee1275/ieee1275.c: New file.
7095 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
7096 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
7097 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
7098 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
7099 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
7100 grub_ieee1275_alloc_physmem): Declare new exported functions.
7101
d8e1836c 7102 * include/grub/sparc64/ieee1275/loader.h: New file.
7103 * include/grub/sparc64/ieee1275/memory.h: Likewise.
7104 * include/grub/sparc64/kernel.h: Likewise.
7105 * loader/sparc64/ieee1275/linux.c: Likewise.
7106
96bd81ec 7107 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
7108 (grub_fstest_SOURCES): Likewise.
7109
6a4737e5 7110 * util/hostdisk.c (make_device_name): Do not make any assumptions
7111 about the length of drive names.
7112
1d7a72fd 7113 * kern/dl.c (grub_dl_load_file): Close file immediately when
7114 we are done using it.
7115
56bc2471 71162009-04-12 David S. Miller <davem@davemloft.net>
7117
7118 * kern/misc.c (grub_ltoa): Fix cast when handling negative
7119 values. Noticed by Pavel Roskin.
7120
df38d0bb 7121 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
7122 target compiler.
7dd4a573 7123
e382e93a 7124 * genmk.rb: Add more flexible image type specification, also
7125 pass --strip-unneeded to objcopy.
7126 * conf/i386-pc.rmk: Use *_FORMAT.
7127 * conf/i386-pc.mk: Rebuilt.
7128
f5dbbca9 7129 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
7130 (OFDISK_HASH_SZ): Define.
7131 (ofdisk_hash): New hash table.
7132 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
7133 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
7134 instead of device phandle which is not unique.
7135
91c88b12 7136 * kern/sparc64/ieee1275/init.c: Delete, replace with...
7137 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
7138 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
7139 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
7140 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
7141 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
7142 GRUB_KERNEL_MACHINE_DATA_END): Define.
7143 (grub_kernel_image_size, grub_total_module_size): Declare.
7144
5b5d4aa5 71452009-04-12 Pavel Roskin <proski@gnu.org>
7146
7dd4a573 7147 * configure.ac: Change the logic when we check for target tools.
7148 Do it when the target is specified and it's different from the
7149 specified value of the host.
5b5d4aa5 7150
c91e1793 71512009-04-11 Felix Zielcke <fzielcke@z-51.de>
7152
7153 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
7154 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
7155 GNU/kFreeBSD. Check if a device is a character device. Use
7156 DIOCGMEDIASIZE to get the size.
7157 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
7158 support for GNU/kFreeBSD.
7159 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
7160 is a character device instead of a block device. Add support for
7161 FreeBSD device names.
7162
7163 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
7164 is a character device instead of a block device.
7165
7166 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
7167 is a character device instead of a block device.
7168
b1ac8644 71692009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
7170
7171 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
7172 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
7173 FreeBSD. Check if a device is a character device. Use
7174 DIOCGMEDIASIZE to get the size.
7175 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
7176 support for FreeBSD.
7177 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
7178 is a character device instead of a block device. Add support for
7179 FreeBSD device names.
7180
7181 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
7182 a character device instead of a block device.
7183 (grub_util_check_char_device): New function.
7184
7185 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
7186 a character device instead of a block device.
7187
7188 * include/grub/util/getroot.h (grub_util_check_char_device): New
7189 prototype.
7190
a3f7515a 71912009-04-11 David S. Miller <davem@davemloft.net>
7192
7193 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
7194 static libgcc.
7195 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
7196 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
7197 function, if present.
7198 (__bswapdi2): Likewise.
7199
0d44993d 7200 * include/grub/sparc64/ieee1275/boot.h: New file.
7201 * boot/sparc64/ieee1275/boot.S: Likewise.
7202 * boot/sparc64/ieee1275/diskboot.S: Likewise.
7203
ed3d2bc2 7204 * kern/misc.c (grub_ltoa): New function.
7205 (grub_vsprintf): Use it to format 'long' integers.
7206
d3bfb59c 72072009-04-10 David S. Miller <davem@davemloft.net>
7208
7209 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
7210 slots are of type grub_ieee1275_cell_t.
7211 (grub_nand_read): Likewise.
7212 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
7213 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
7214 macros are used to compare values in arg/ret block of the call.
7215 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
7216 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
7217 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
7218 grub_ieee1275_instance_to_path, grub_ieee1275_write,
7219 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
7220 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
7221 grub_ieee1275_close, grub_ieee1275_set_property,
7222 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
7223 grub_ieee1275_cell_t.
7224 * kern/ieee1275/openfw.c (grub_map): Likewise.
7225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
7226 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
7227
450e2238 7228 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
7229 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7230 (grub_devalias_iterate): Likewise.
7231
7dd4a573 72322009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 7233
7234 UFS improvements
7235
7236 * fs/ufs.c (INODE_NBLOCKS): new definition
7237 (struct grub_ufs_dirent): added fields for non-BSD dirents
7238 (grub_ufs_get_file_block): fixed double indirect handling
7239 (grub_ufs_lookup_symlink): use more robust way to determine whether
7240 symlink is inline
7241 (grub_ufs_find_file): support for non-BSD dirents
7242 (grub_ufs_dir): support for non-BSD dirents
7243
e7e6862a 72442009-04-10 Bean <bean123ch@gnail.com>
7245
7246 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
7247 attribute, otherwise the size would be wrong for i386 platform.
7248
7249 * include/grub/pci.h (grub_pci_read_word): New inline function.
7250 (grub_pci_read_byte): Likewise.
7251 (grub_pci_write): Likewise.
7252 (grub_pci_write_word): Likewise.
7253 (grub_pci_write_byte): Likewise.
7254
7255 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
7256
7257 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
7258 (find_framebuf): Scan pci to locate the frame buffer address.
7259
7260 * commands/efi/fixvideo.c: New file.
7261
7262 * commands/efi/loadbios.c: Likewise.
7263
7264 * commands/memrw.c: Likewise.
7265
7266 * util/grub-dumpbios.in: Likewise.
7267
7268 * conf/common.rmk (grub-dumpbios): New utility.
7269 (pkglib_MODULES): New module memrw.mod.
7270 (memrw_mod_SOURCE): New macro.
7271 (memrw_mod_CFLAGS): Likewise.
7272 (memrw_mod_LDFLAGS): Likewise.
7273
7dd4a573 7274 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7275 fixvideo.mod.
7276 (loadbios_mod_SOURCE): New macro.
7277 (loadbios_mod_CFLAGS): Likewise.
7278 (loadbios_mod_LDFLAGS): Likewise.
7279 (fixvideo_mod_SOURCE): Likewise.
7280 (fixvideo_mod_CFLAGS): Likewise.
7281 (fixvideo_mod_LDFLAGS): Likewise.
7282
7dd4a573 7283 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 7284 fixvideo.mod.
7285 (loadbios_mod_SOURCE): New macro.
7286 (loadbios_mod_CFLAGS): Likewise.
7287 (loadbios_mod_LDFLAGS): Likewise.
7288 (fixvideo_mod_SOURCE): Likewise.
7289 (fixvideo_mod_CFLAGS): Likewise.
7290 (fixvideo_mod_LDFLAGS): Likewise.
7291
af63ada2 72922009-04-08 Felix Zielcke <fzielcke@z-51.de>
7293
7294 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
7295
c2cdde70 72962009-04-07 David S. Miller <davem@davemloft.net>
7297
7298 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
7299 support for R_SPARC_OLO10 relocations. Fix compile warning for
7300 R_SPARC_WDISP30 case.
ea3f72cf 7301 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 7302
761319cf 73032009-04-06 Pavel Roskin <proski@gnu.org>
7304
1007d1f5 7305 * include/grub/misc.h (ARRAY_SIZE): New macro.
7306 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
7307 New macro.
7308 * loader/i386/linux.c (allocate_pages): Use free_pages().
7309 (grub_linux_unload): Don't use free_pages().
7310 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
7311 wrong index. Treat all other modes as text modes.
7312 (grub_cmd_linux): Initialize vid_mode unconditionally to
7313 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
7314
761319cf 7315 * commands/help.c (print_command_help): Use cmd->prio, not
7316 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
7317
ea761d40 73182009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 7319
ea761d40 7320 Parttool
7321
7322 * parttool/pcpart.c: new file
7323 * commands/parttool.c: likewise
7324 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
7325 (parttool_mod_SOURCES): new variable
7326 (parttool_mod_CFLAGS): likewise
7327 (parttool_mod_LDFLAGS): likewise
7328 (pcpart_mod_SOURCES): likewise
7329 (pcpart_mod_CFLAGS): likewise
7330 (pcpart_mod_LDFLAGS): likewise
7dd4a573 7331 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 7332 and parttool/pcpart.c
7333 * conf/i386-efi.rmk: likewise
7334 * conf/i386-ieee1275.rmk: likewise
7335 * conf/i386-pc.rmk: likewise
7336 * conf/powerpc-ieee1275.rmk: likewise
7337 * conf/sparc64-ieee1275.rmk: likewise
7338 * conf/x86_64-ieee1275.rmk: likewise
7339
05aaebfb 73402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Support for mtime and further expandability of dir command
7343
7344 * include/grub/lib/datetime.h: moved to ...
7dd4a573 7345 * include/grub/datetime.h: ... moved here and added
05aaebfb 7346 declaration of grub_unixtime2datetime. All users updated
7dd4a573 7347 * include/grub/fs.h: new syntax for dir and mtime functions in
7348 struct grub_fs
05aaebfb 7349 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
7350 and GRUB_FSHELP_FLAGS_MASK
7351 * commands/ls.c (grub_ls_list_files): Write mtime in long format
7352 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
7353 (grub_ext2_mtime): new function
7354 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
7355 (grub_hfsplus_mtime): new function
7356 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
7357 (GRUB_UFS_ATTR_FILE): likewise
7358 (GRUB_UFS_ATTR_LNK): likewise
7359 (struct grub_ufs_sblock): new fields mtime
7360 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
7361 all users updated
7362 (grub_ufs_dir): mtime support
7363 (grub_ufs_mtime): new function
7364 * fs/affs.c (grub_affs_dir): use new dir syntax
7365 * fs/afs.c (grub_afs_dir): likewise
7366 * fs/cpio.c (grub_cpio_dir): likewise
7367 * fs/fat.c (grub_fat_find_dir): likewise
7368 * fs/hfs.c (grub_hfs_dir): likewise
7369 * fs/iso9660.c (grub_iso9660_dir): likewise
7370 * fs/jfs.c (grub_jfs_dir): likewise
7371 * fs/minix.c (grub_minix_dir): likewise
7372 * fs/ntfs.c (grub_ntfs_dir): likewise
7373 * fs/reiserfs.c (grub_reiserfs_dir): likewise
7374 * fs/sfs.c (grub_sfs_dir): likewise
7375 * fs/xfs.c (grub_xfs_dir): likewise
7376 * util/hostfs.c (grub_hostfs_dir): likewise
7377 * lib/datetime.c: moved to ...
7378 * normal/datetime.c: ... moved here
7379 (grub_unixtime2datetime): new function
7380 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 7381 * normal/completion.c (iterate_dir): use new dir syntax
7382 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 7383 last modification time of a volume
7dd4a573 7384 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 7385 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 7386 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 7387 (normal_mod_SOURCES): likewise
7388 (datetime_mod_SOURCES): Removed lib/datetime.c
7389 * conf/i386-efi.rmk: likewise
7dd4a573 7390 * conf/i386-ieee1275.rmk: likewise
05aaebfb 7391 * conf/i386-pc.rmk: likewise
7392 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 7393 * conf/sparc64-ieee1275.rmk: likewise
7394 * conf/x86_64-efi.rmk: likewise
05aaebfb 7395
8a7e1a14 73962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 7399
7400 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 7401 on grub_fat_find_dir
7402 (grub_fat_find_dir): use grub_fat_iterate_dir
7403 (grub_fat_label): likewise
7404
04186a9c 74052009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7406
7dd4a573 7407 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 7408 and command.h
7409 remove extraneous kernel_elf_HEADERS
7410
da4c0bb6 74112009-04-04 Bean <bean123ch@gnail.com>
7412
7413 * include/grub/util/misc.h: Add dummy function fsync for mingw.
7414
7415 * util/misc.c: Likewise.
7416
54ad9555 74172009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
7418
7419 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
7420 instead of grub_printf.
7421
7a6bf9f2 74222009-04-03 Robert Millan <rmh@aybabtu.com>
7423
7424 * loader/i386/linux.c (grub_linux_setup_video): Fill
7425 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
7426 values from `mode info' structure instead of hardcoded
7427 values.
7428
3fcc2083 74292009-04-01 Pavel Roskin <proski@gnu.org>
7430
7431 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
7432 unused now.
7433 * genmk.rb: Likewise.
7434 * configure.ac: Likewise.
7435
5ec9740b 74362009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
7437
7438 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
7439 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
7440
5270cec8 74412009-04-01 David S. Miller <davem@davemloft.net>
7442
7443 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 7444 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 7445 (grub_setjmp): Mark with 'returns_twice' attribute.
7446 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
7447 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
7448 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
7449
9c3dd854 74502009-04-01 Robert Millan <rmh@aybabtu.com>
7451
7452 Reapply fix from 2008-07-28 which was accidentally reverted; also
7453 perform the same fix to a similar check in same function.
7454
7455 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
7456 with the same number are found, just use issue a warning with
7457 grub_dprintf(), as this error has been reported to be non-fatal.
7458
0d818b7e 74592009-03-31 Pavel Roskin <proski@gnu.org>
7460
7461 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
7462 for cross-compilation.
7463
95646d92 74642009-03-30 Robert Millan <rmh@aybabtu.com>
7465
7466 Fix i386-ieee1275 build.
7467
7468 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
7469 Remove declaration.
7470
6a003ed1 74712009-03-30 Pavel Roskin <proski@gnu.org>
7472
7473 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
7474 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
7475 zero-terminated, rely only on the strlen value. Fix comparison
7476 of strings differing in length.
7477
92f33540 74782009-03-30 Robert Millan <rmh@aybabtu.com>
7479
7480 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
7481 checking for abi version. Improve error messages on BIOS to notify
7482 user about `linux16' command.
7483
a8c48fd5 74842009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7485
f968172e 7486 Leak fixes
a8c48fd5 7487
f968172e 7488 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
7489 in case of collision
7490 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 7491
9c323f09 74922009-03-29 Robert Millan <rmh@aybabtu.com>
7493
7494 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
7495 set `vid_mode' accordingly.
7496 (grub_linux_boot): Process `vid_mode' and set video mode.
7497
ae68f423 74982009-03-29 Robert Millan <rmh@aybabtu.com>
7499
7500 * util/grub.d/10_linux.in (linux_entry): New function.
7501 Factorize generation of Linux boot entries.
7502
5709cfc4 75032009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
7504
7505 Make the format of Environment Block plain text. The boot loader
7506 part is not tested well yet.
7dd4a573 7507
5709cfc4 7508 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
7509 (buffer): Removed.
7510 (envblk): Likewise.
7511 (usage): Remove "info" and "clear". Add "unset". Update the
7512 description of "set", as this does not delete variables any
7513 longer.
7514 (create_envblk_file): Complete rewrite.
7515 (open_envblk_file): Likewise.
7516 (cmd_info): Removed.
7517 (cmd_list): Likewise.
7518 (cmd_set): Likewise.
7519 (cmd_clear): Likewise.
7520 (list_variables): New function.
7521 (write_envblk): Likewise.
7522 (set_variables): Likewise.
7523 (unset_variables): Likewise.
7524 (main): Complete rewrite.
7525
7526 * commands/loadenv.c (buffer): Removed.
7527 (envblk): Likewise.
7528 (open_envblk_file): New function.
7529 (read_envblk_file): Complete rewrite.
7530 (grub_cmd_load_env): Likewise.
7531 (grub_cmd_list_env): Likewise.
7532 (struct blocklist): New struct.
7533 (free_blocklists): New function.
7534 (check_blocklists): Likewise.
7535 (write_blocklists): Likewise.
7536 (grub_cmd_save_env): Complete rewrite.
7537
7538 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
7539 a plain text signature.
7540 (GRUB_ENVBLK_MAXLEN): Removed.
7541 (struct grub_envblk): Complete rewrite.
7542 (grub_envblk_find): Removed.
7543 (grub_envblk_insert): Likewise.
7544 (grub_envblk_open): New prototype.
7545 (grub_envblk_set): Likewise.
7546 (grub_envblk_delete): Put const to VALUE.
7547 (grub_envblk_iterate): Put const to NAME and VALUE.
7548 (grub_envblk_close): New prototype.
7549 (grub_envblk_buffer): New inline function.
7550 (grub_envblk_size): Likewise.
7551
7552 * lib/envblk.c: Include grub/mm.h.
7553 (grub_env_find): Removed.
7554 (grub_envblk_open): New function.
7555 (grub_envblk_close): Likewise.
7556 (escaped_value_len): Likewise.
7557 (find_next_line): Likewise.
7558 (grub_envblk_insert): Removed.
7559 (grub_envblk_set): New function.
7560 (grub_envblk_delete): Complete rewrite.
7561 (grub_envblk_iterate): Likewise.
7562
a9368fd3 75632009-03-28 Robert Millan <rmh@aybabtu.com>
7564
7565 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
7566 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
7567 variables. Use 16-bit loader.
7568 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
7569 loader.
7570 * kern/i386/loader.S (grub_linux_boot): Rename to ...
7571 (grub_linux16_boot): ... this. Update all users.
7572 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
7573 (grub_linux_boot): ... this. Update all users.
7574
7575 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
7576 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
7577 commands to `linux16' and `initrd16'.
7578 (GRUB_MOD_FINI(linux)): Rename to ...
7579 (GRUB_MOD_FINI(linux16)): ... this.
7580
e4dd5a7e 75812009-03-24 Pavel Roskin <proski@gnu.org>
7582
7583 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
7584 not just for compilation.
7585
c04d6e05 75862009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 Move multiboot helper out of kernel
7589
7590 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
7591 `loader/i386/multiboot_helper.S'.
7592 * conf/i386-coreboot.rmk: Likewise
7593 * conf/i386-ieee1275.rmk: Likewise
7594
7595 * kern/i386/loader.S: Move multiboot helpers from here...
7596 * loader/i386/multiboot_helper.S: ...moved here
7597 * include/grub/i386/loader.h: Move declarations of multiboot
7598 helpers from here...
7599 * include/grub/i386/multiboot.h: ...moved here
7600 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
7601
42a5b3fc 76022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7603
7604 * kern/env.c (grub_env_context_open): Added an argument to specify
7605 whether a new context inherits exported variables from current
7606 one. This is useful when making a sandbox to interpret a config
7607 file.
7608 All callers updated.
7609
7610 * include/grub/env.h (grub_env_context_open): Updated the prototype.
7611
b28bbc4e 76122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7613
7614 * kern/env.c (grub_env_context_close): Fix memory leaks.
7615
f04f02e4 76162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
7617
7618 * normal/main.c (grub_normal_execute): Added an argument
7619 BATCH to specify if an interactive interface should be provided
7620 after reading a config file.
7621 All callers updated.
7622 (read_command_list): Prevent being executed twice.
7623 (read_fs_list): Likewise.
7624
42a5b3fc 7625 * include/grub/normal.h (grub_normal_execute): Updated the
7626 prototype.
f04f02e4 7627
41473ac2 76282009-03-22 Pavel Roskin <proski@gno.org>
7629
fbc00b0c 7630 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
7631 _start.
7632 * kern/i386/pc/startup.S: Likewise.
7633 * kern/i386/efi/startup.S: Likewise.
7634 * kern/i386/ieee1275/startup.S: Likewise.
7635 * kern/i386/coreboot/startup.S: Likewise.
7636 * kern/x86_64/efi/startup.S: Likewise.
7637
41473ac2 7638 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
7639 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
7640 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
7641
2274cc8f 76422009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 Bugfixes in multiboot for bugs uncovered by solaris kernel.
7645
7646 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
7647 limit detection.
7648 Use vaddr of correct segment for entry_point.
7649
b1b797cb 76502009-03-21 Bean <bean123ch@gmail.com>
7651
7652 * commands/blocklist.c: Add include file <grub/command.h>, remove
7653 <grub/normal.h> and <grub/arg.h>.
7654 (grub_cmd_blocklist): Use the new command interface.
7655 (GRUB_MOD_INIT): Likewise.
7656 (GRUB_MOD_FINI): Likewise.
7657 * commands/boot.c: Likewise.
7658 * commands/cat.c: Likewise.
7659 * commands/cmp.c: Likewise.
7660 * commands/configfile.c: Likewise.
7661 * commands/crc.c: Likewise.
7662 * commands/echo.c: Likewise.
7663 * commands/halt.c: Likewise.
7664 * commands/handler.c: Likewise.
7665 * commands/hdparm.c: Likewise.
7666 * commands/help.c: Likewise.
7667 * commands/hexdump.c: Likewise.
7668 * commands/loadenv.c: Likewise.
7669 * commands/ls.c: Likewise.
7670 * commands/lsmmap.c: Likewise.
7671 * commands/lspci.c: Likewise.
7672 * commands/loadenv.c: Likewise.
7673 * commands/read.c: Likewise.
7674 * commands/reboot.c: Likewise.
7675 * commands/search.c: Likewise.
7676 * commands/sleep.c: Likewise.
7677 * commands/test.c: Likewise.
7678 * commands/usbtest.c: Likewise.
7679 * commands/videotest.c: Likewise.
7680 * commands/i386/cpuid.c: Likewise.
7681 * commands/i386/pc/halt.c: Likewise.
7682 * commands/i386/pc/play.c: Likewise.
7683 * commands/i386/pc/pxecmd.c: Likewise.
7684 * commands/i386/pc/vbeinfo.c: Likewise.
7685 * commands/i386/pc/vbetest.c: Likewise.
7686 * commands/ieee1275/suspend.c: Likewise.
7687 * disk/loopback.c: Likewise.
7688 * font/font_cmd.c: Likewise.
7689 * hello/hello.c: Likewise.
7690 * loader/efi/appleloader.c: Likewise.
7691 * loader/efi/chainloader.c: Likewise.
7692 * loader/i386/bsd.c: Likewise.
7693 * loader/i386/efi/linux.c: Likewise.
7694 * loader/i386/ieee1275/linux.c: Likewise.
7695 * loader/i386/linux.c: Likewise.
7696 * loader/i386/pc/chainloader.c: Likewise.
7697 * loader/i386/pc/linux.c: Likewise.
7698 * loader/powerpc/ieee1275/linux.c: Likewise.
7699 * loader/multiboot_loader.c: Likewise.
7700 * term/gfxterm.c: Likewise.
7701 * term/i386/pc/serial.c: Likewise.
7702 * term/terminfo.c: Likewise.
7703
7704 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
7705 * term/i386/pc/vga.c: Likewise.
7706 * video/readers/jpeg.c: Likewise.
7707 * video/readers/png.c: Likewise.
7708 * video/readers/tga.c: Likewise.
7709
7710 * util/grub-fstest (cmd_loopback): Removed.
7711 (cmd_blocklist): Likewise.
7712 (cmd_ls): Likewise.
7713 (grub_register_command): Likewise.
7714 (grub_unregister_command): Likewise.
7715 (execute_command): Use grub_command_find to locate command and execute
7716 it.
7717
7718 * include/grub/efi/chainloader.h: Removed.
7719 * loader/efi/chainloader_normal.c: Likewise.
7720 * loader/i386/bsd_normal.c: Likewise.
7721 * loader/i386/pc/chainloader_normal.c: Likewise.
7722 * loader/i386/pc/multiboot_normal.c: Likewise.
7723 * loader/linux_normal.c: Likewise.
7724 * loader/multiboot_loader_normal.c: Likewise.
7725 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
7726
7727 * gencmdlist.sh: Scan new registration command grub_register_extcmd
7728 and grub_register_command_p1.
7729
7730 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
7731 kern/command.c, lib/arg.c and commands/extcmd.c.
7732 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
7733 (minicmd_mod_SOURCES): New variable.
7734 (minicmd_mod_CFLAGS): Likewise.
7735 (minicmd_mod_LDFLAGS): Likewise.
7736 (extcmd_mod_SOURCES): Likewise.
7737 (extcmd_mod_CFLAGS): Likewise.
7738 (extcmd_mod_LDFLAGS): Likewise.
7739 (boot_mod_SOURCES): Removed.
7740 (boot_mod_CFLAGS): Likewise.
7741 (boot_mod_LDFLAGS): Likewise.
7742
7743 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
7744 kern/corecmd.c.
7745 (kernel_img_HEADERS): Add command.h.
7746 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
7747 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
7748 and lib/arg.c.
7749 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
7750 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
7751 remove the corresponding normal mode command.
7752 (normal_mod_SOURCES): Remove normal/arg.c.
7753 * conf/i386-coreboot.rmk: Likewise.
7754 * conf/i386-efi.rmk: Likewise.
7755 * conf/i386-ieee1275.rmk: Likewise.
7756 * conf/powerpc-ieee1275.rmk: Likewise.
7757 * conf/x86_64-efi.rmk: Likewise.
7758
7759 * include/grub/arg.h: Move from here ...
7760 * include/grub/lib/arg.h: ... to here.
7761
7762 * normal/arg.c: Move from here ...
7763 * lib/arg.c: ... to here.
7764
7765 * commands/extcmd.c: New file.
7766 * commands/minicmd.c: Likewise.
7767 * include/grub/command.h: Likewise.
7768 * include/grub/extcmd.h: Likewise.
7769 * kern/command.c: Likewise.
7770 * kern/corecmd.c: Likewise.
7771
7772 * kern/list.c (grub_list_iterate): Return int instead of void.
7773 (grub_list_insert): New function.
7774 (grub_prio_list_insert): Likewise.
7775
7776 * kern/rescue.c (grub_rescue_command): Removed.
7777 (grub_rescue_command_list): Likewise.
7778 (grub_rescue_register_command): Likewise.
7779 (grub_rescue_unregister_command): Likewise.
7780 (grub_rescue_cmd_boot): Move to minicmd.c
7781 (grub_rescue_cmd_help): Likewise.
7782 (grub_rescue_cmd_info): Likewise.
7783 (grub_rescue_cmd_boot): Likewise.
7784 (grub_rescue_cmd_testload): Likewise.
7785 (grub_rescue_cmd_dump): Likewise.
7786 (grub_rescue_cmd_rmmod): Likewise.
7787 (grub_rescue_cmd_lsmod): Likewise.
7788 (grub_rescue_cmd_exit): Likewise.
7789 (grub_rescue_print_devices): Moved to corecmd.c.
7790 (grub_rescue_print_files): Likewise.
7791 (grub_rescue_cmd_ls): Likewise.
7792 (grub_rescue_cmd_insmod): Likewise.
7793 (grub_rescue_cmd_set): Likewise.
7794 (grub_rescue_cmd_unset): Likewise.
7d074e3c 7795 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 7796 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 7797 commands, remove grub_rescue_register_command calls.
b1b797cb 7798
7d074e3c 7799 * normal/command.c (grub_register_command): Removed.
b1b797cb 7800 (grub_unregister_command): Likewise.
7801 (grub_command_find): Likewise.
7802 (grub_iterate_commands): Likewise.
7803 (rescue_command): Likewise.
7804 (export_command): Moved to corecmd.c.
7805 (set_command): Removed.
7806 (unset_command): Likewise.
7807 (insmod_command): Likewise.
7808 (rmmod_command): Likewise.
7809 (lsmod_command): Likewise.
7810 (grub_command_init): Likewise.
7811
7812 * normal/completion.c (iterate_command): Use cmd->prio to check for
7813 active command.
7814 (complete_arguments): Use grub_extcmd_t structure to find options.
7815 (grub_normal_do_completion): Change function grub_iterate_commands to
7816 grub_command_iterate.
7817
7818 * normal/execute.c (grub_script_execute_cmd): No need to parse
7819 argument here.
7820
7821 * normal/main.c (grub_dyncmd_dispatcher): New function.
7822 (read_command_list): Register unload commands as dyncmd.
7823 (grub_cmd_normal): Use new command interface, register rescue,
7824 unregister normal at entry, register normal, unregister rescue at exit.
7825
7826 * include/grub/list.h (grub_list_test_t): New type.
7827 (grub_list_iterate): Return int instead of void.
7828 (grub_list_insert): New function.
7829 (GRUB_AS_NAMED_LIST_P): New macro.
7830 (GRUB_AS_PRIO_LIST): Likewise.
7831 (GRUB_AS_PRIO_LIST_P): Likewise.
7832 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
7833 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
7834 (grub_prio_list): New structure.
7835 (grub_prio_list_insert): New function.
7836 (grub_prio_list_remove): New inline function.
7837
7838 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
7839 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
7840 (GRUB_COMMAND_FLAG_MENU): Likewise.
7841 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7842 (GRUB_COMMAND_FLAG_TITLE): Likewise.
7843 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7844 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
7845 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
7846 (grub_command): Likewise.
7847 (grub_register_command): Likewise.
7848 (grub_command_find): Likewise.
7849 (grub_iterate_commands): Likewise.
7850 (grub_command_init): Likewise.
7851 (grub_arg_parse): Likewise.
7852 (grub_arg_show_help): Likewise.
7853
7854 * include/grub/rescue.h (grub_rescue_register_command): Removed.
7855 (grub_rescue_unregister_command): Likewise.
7856
7857 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
7858 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
7859 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
7860
7861 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
7862 grub_rescue_cmd_initrd.
7863 * include/grub/i386/loader.h: Likewise.
7864 * include/grub/x86_64/loader.h: Likewise.
7865
7866 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
7867
1f4147aa 78682009-03-21 Bean <bean123ch@gmail.com>
7869
7870 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
7871 instead of stat in mingw environment.
7872
7873 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
7874
7875 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
7876
7877 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
7878 AC_CONFIG_LINKS.
7879
2156d5ba 78802009-03-21 Bean <bean123ch@gmail.com>
7881
7882 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
7883 out of range error.
7884
177b82ca 78852009-03-18 Michel Dänzer <michel@daenzer.net>
7886
7887 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
7888 checking inode flags for EXT4_EXTENTS_FLAG.
7889
14aad807 78902009-03-18 Robert Millan <rmh@aybabtu.com>
7891
7892 * loader/i386/linux.c: Include `<grub/video.h>' and
7893 `<grub/i386/pc/vbe.h>'..
7894 (grub_linux_setup_video): New function. Loosely based on the EFI one.
7895 (grub_linux32_boot): Attempt to configure video settings with
7896 grub_linux_setup_video().
7897 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
7898 to avoid grub_console_fini() which would step out of graphical mode
7899 unconditionally.
7900
8cf83a27 79012009-03-14 Robert Millan <rmh@aybabtu.com>
7902
7903 Fix build on powerpc.
7904 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
7905
40164e75 79062009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
7909 background image command.
7910
c58bc32a 79112009-03-12 Colin D Bennett <colin@gibibit.com>
7912
7913 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
7914 (grub_gfxterm_putchar): Extract pairs of identical calls to
7915 draw_cursor out of conditional blocks.
7916
5415144a 79172009-03-11 Pavel Roskin <proski@gnu.org>
7918
7919 * fs/hfs.c (grub_hfs_strncasecmp): New function.
7920 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
7921
6394042e 79222009-03-11 Robert Millan <rmh@aybabtu.com>
7923
7924 * loader/i386/multiboot_elfxx.c
7925 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
7926
b7b50e5f 79272009-03-11 Felix Zielcke <fzielcke@z-51.de>
7928
7929 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
7930 `kern/handler.c'.
7931
1ca7fc96 79322009-03-11 Robert Millan <rmh@aybabtu.com>
7933
7934 * loader/i386/multiboot.c (code_size): New variable.
7935 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 7936 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 7937 4-byte alignment to MBI and others by increasing
7d074e3c 7938 `boot_loader_name_length' appropriately.
1ca7fc96 7939
7940 * loader/i386/multiboot_elfxx.c
7941 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
7942
a83ea1d2 79432009-03-09 Felix Zielcke <fzielcke@z-51.de>
7944
7945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
7946 `fs/ext2.c'.
7947
aa9f3bff 79482009-03-08 Robert Millan <rmh@aybabtu.com>
7949
7950 Make loader/i386/linux.c usable on i386-pc again.
7951
7952 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
7953 memory to heap.
7954 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
7955 `#error' stanza.
7956
d8b3b60e 79572009-03-07 Bean <bean123ch@gmail.com>
7958
7959 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
7960 allocation.
7961
b362c9e9 79622009-03-06 Robert Millan <rmh@aybabtu.com>
7963
7964 Fix display issue on terminals with screen size other than 80x25
7965 (e.g. gfxterm with resolution higher than 640x480).
7966
7967 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 7968 position relative to the center of the terminal instead of relying
b362c9e9 7969 on a hardcoded offset.
7970
9304eef1 79712009-03-04 Robert Millan <rmh@aybabtu.com>
7972
7973 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
7974 installed.
7975
7976 * Makefile.in (host_kernel): New variable.
7977 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
7978 scripts instead of just the windows one.
7979 * configure.ac: Initialize and AC_SUBST `host_kernel'.
7980
eabc95fb 79812009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 7982
7983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
7984 `kern/handler.c'.
7985 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7986 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7987 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7989 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7990 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7991
ceb1223c 79922009-03-04 Felix Zielcke <fzielcke@z-51.de>
7993
7994 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
7995 or if there's no space for the disk label and print the partition number on a
7996 invalid magic.
7997
4910684a 79982009-03-04 Felix Zielcke <fzielcke@z-51.de>
7999
8000 * util/misc.c: Include <time.h>.
8001 (grub_millisleep): New function.
8002
7e9ca17a 80032009-03-04 Bean <bean123ch@gmail.com>
8004
8005 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
8006 another option -mno-red-zone.
8007
8008 * commands/handler.c: Change module description.
8009
8010 * kern/handler.c: Add missing space at the end of description line.
8011
8012 * kern/list.c: Likewise.
8013
f501677c 80142009-03-03 Robert Millan <rmh@aybabtu.com>
8015
8016 Move more components to the relocation area, and fix mbi pointer
8017 handling to use the destination rather than the origin (thanks to
8018 Vladimir Serbinenko for spotting).
8019
8020 * loader/i386/multiboot.c (mbi_dest): New variable.
8021 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
8022 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
8023 relocation area.
8024
9902d047 80252009-03-01 Bean <bean123ch@gmail.com>
8026
50fb7002 8027 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 8028 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
8029 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
8030 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
8031
8032 * loader/i386/efi/linux.c (acpi_guid): New variable.
8033 (acpi_guid): Likewise.
8034 (EBDA_SEG_ADDR): New constant.
8035 (LOW_MEM_ADDR): Likewise.
8036 (FAKE_EBDA_SEG): Likewise.
8037 (fake_bios_data): New function.
8038 (grub_linux_boot): Call fake_bios_data.
8039
71b9f361 80402009-03-01 Bean <bean123ch@gmail.com>
8041
8042 * commands/terminal.c: Removed.
8043
8044 * commands/handler.c: New file.
8045
8046 * include/grub/list.h: Likewise.
8047
8048 * include/grub/handler.h: Likewise.
8049
8050 * kern/list.c: Likewise.
8051
8052 * kern/handler.c: Likewise.
8053
8054 * kern/term.h: Include header file <grub/handler.h>.
8055 (grub_term_input): Move next field to the beginning.
8056 (grub_term_output): Likewise.
8057 (grub_term_input_class): New variable.
8058 (grub_term_output_class): Likewise.
8059 (grub_term_register_input): Changed to inline function.
8060 (grub_term_register_output): Likewise.
8061 (grub_term_unregister_input): Likewise.
8062 (grub_term_unregister_output): Likewise.
8063 (grub_term_set_current_input): Likewise.
8064 (grub_term_set_current_output): Likewise.
8065 (grub_term_get_current_input): Likewise.
8066 (grub_term_get_current_output): Likewise.
8067 (grub_term_iterate_input): Removed.
8068 (grub_term_iterate_output): Likewise.
8069
8070 * kern/term.c (grub_term_list_input): Removed.
8071 (grub_term_list_output): Likewise.
8072 (grub_term_input_class): New variable.
8073 (grub_term_output_class): Likewise.
50fb7002 8074 (grub_cur_term_input): Change variable as macro.
71b9f361 8075 (grub_cur_term_output): Likewise.
8076 (grub_term_register_input): Removed.
8077 (grub_term_register_output): Likewise.
8078 (grub_term_unregister_input): Likewise.
8079 (grub_term_unregister_output): Likewise.
8080 (grub_term_set_current_input): Likewise.
8081 (grub_term_set_current_output): Likewise.
8082 (grub_term_iterate_input): Likewise.
8083 (grub_term_iterate_output): Likewise.
8084 (grub_term_get_current_input): Likewise.
8085 (grub_term_get_current_output): Likewise.
8086
8087 * util/grub-editenv.c: Include header file <grub/handler.h>.
8088 (grub_term_get_current_input): Removed.
8089 (grub_term_get_current_output): Likewise.
8090 (grub_term_input_class): New variable.
50fb7002 8091 (grub_term_output_class): Likewise.
71b9f361 8092
8093 * util/grub-fstest.c (grub_term_get_current_input): Removed.
8094 (grub_term_get_current_output): Likewise.
8095 (grub_term_input_class): New variable.
50fb7002 8096 (grub_term_output_class): Likewise.
71b9f361 8097
8098 * util/grub-probe.c (grub_term_get_current_input): Removed.
8099 (grub_term_get_current_output): Likewise.
8100 (grub_term_input_class): New variable.
50fb7002 8101 (grub_term_output_class): Likewise.
71b9f361 8102
8103 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
8104 (grub_term_get_current_output): Likewise.
8105 (grub_term_input_class): New variable.
50fb7002 8106 (grub_term_output_class): Likewise.
71b9f361 8107
8108 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
8109 (terminal_mod_SOURCES): Likewise.
8110 (terminal_mod_CFLAGS): Likewise.
8111 (terminal_mod_LDFLAGS): Likewise.
8112
8113 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
8114 handler.c.
8115 (kernel_img_SOURCES): Add list.c and handler.c.
8116 (kernel_img_HEADERS): Add list.h and handler.h.
8117
8118 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8119 handler.c.
8120 (kernel_mod_SOURCES): Add list.c and handler.c.
8121 (kernel_mod_HEADERS): Add list.h and handler.h.
8122
8123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
8124 handler.c.
8125 (kernel_elf_SOURCES): Add list.c and handler.c.
8126 (kernel_elf_HEADERS): Add list.h and handler.h.
8127
8128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8129 handler.c.
8130 (kernel_elf_SOURCES): Add list.c and handler.c.
8131 (kernel_elf_HEADERS): Add list.h and handler.h.
8132
8133 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
8134 handler.c.
8135 (kernel_mod_SOURCES): Add list.c and handler.c.
8136 (kernel_mod_HEADERS): Add list.h and handler.h.
8137
8138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
8139 handler.c.
8140 (kernel_elf_SOURCES): Add list.c and handler.c.
8141 (kernel_elf_HEADERS): Add list.h and handler.h.
8142
8a31787f 81432009-02-27 Robert Millan <rmh@aybabtu.com>
8144
8145 Factorize elf32 / elf64 code in Multiboot loader. This will
8146 prevent it from getting out of sync again.
8147
8148 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
8149 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
8150 grub_multiboot_load_elf64): Move from here ...
8151 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
8152 grub_multiboot_load_elf): ... to here (new file).
8153
51cd3dfc 81542009-02-27 Robert Millan <rmh@aybabtu.com>
8155
8156 * util/grub.d/10_linux.in: Rename "single-user mode" to
8157 "recovery mode".
8158
6e8c9c3a 81592009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 Don't leak in SCSI code.
8162 * disk/scsi.c (grub_scsi_close): free `scsi'.
8163
4b6bf4f9 81642009-02-27 Robert Millan <rmh@aybabtu.com>
8165
8166 * loader/i386/pc/multiboot.c: Move from here ...
8167 * loader/i386/multiboot.c: ... to here. Update all users.
8168
b9413424 81692009-02-27 Robert Millan <rmh@aybabtu.com>
8170
8171 Patch from Alexandre Bique <bique.alexandre@gmail.com>
8172 * util/i386/pc/grub-setup.c (setup): Fix directory path.
8173
50fb7002 81742009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 8175
8176 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
8177 b-tree.
8178
8cc50345 81792009-02-27 Robert Millan <rmh@aybabtu.com>
8180
8181 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
8182 `0x' qualifier as 0 when base is specified as parameter).
8183
6e09b8b7 81842009-02-24 Bean <bean123ch@gmail.com>
8185
8186 * configure.ac: Check for -mcmodel=large in x86_64 target.
8187
8188 * include/grub/efi/api.h (efi_call_10): New macro.
8189 (efi_wrap_10): New function.
8190
8191 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
8192 (GRUB_PE32_REL_BASED_HIGH): Likewise.
8193 (GRUB_PE32_REL_BASED_LOW): Likewise.
8194 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
8195 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
8196 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
8197 (GRUB_PE32_REL_BASED_SECTION): Likewise.
8198 (GRUB_PE32_REL_BASED_REL): Likewise.
8199 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
8200 (GRUB_PE32_REL_BASED_DIR64): Likewise.
8201 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
8202
8203 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
8204 issue.
8205
8206 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
8207 (efi_wrap_10): New function.
8208
8209 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
8210
8211 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
8212 MB/MBP model (NV chipset).
8213 (devdata_devs): Add devpath_5 to the list.
8214
8215 * load/i386/efi/linux.c (video_base): Remove variable.
8216 (RGB_MASK): New macro.
8217 (RGB_MAGIC): Likewise.
8218 (LINE_MIN): Likewise.
8219 (LINE_MAX): Likewise.
8220 (FBTEST_STEP): Likewise.
8221 (FBTEST_COUNT): Likewise.
8222 (fb_list): New variable.
8223 (grub_find_video_card): Remove function.
8224 (find_framebuf): New function.
8225 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
8226 line length.
8227
8228 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
8229 problem for x86_64.
8230
74b21bee 82312009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
8232
8233 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
8234
8235 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
8236 coding tool name.
8237
a455f472 82382009-02-22 Robert Millan <rmh@aybabtu.com>
8239
8240 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
8241 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
8242 in our relocation, instead of using it directly from heap. Also
8243 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
8244
6374daf3 82452009-02-21 Robert Millan <rmh@aybabtu.com>
8246
8247 Implement USB keyboard support (based on patch by Marco Gerards)
8248
8249 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
8250 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
8251 (usb_keyboard_mod_LDFLAGS): New variables.
8252
8253 * term/usb_keyboard.c: New file.
8254
8fa4ea70 82552009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 Corrected wrong declaration
8258
8259 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
8260
353976ac 82612009-02-14 Christian Franke <franke@computer.org>
8262
8263 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
8264 (grub_lspci_iter): Print class code and programming interface byte.
8265
6aa1169b 82662009-02-14 Christian Franke <franke@computer.org>
8267
8268 * gendistlist.sh: Ignore `.svn' directories.
8269
265372ca 82702009-02-14 Felix Zielcke <fzielcke@z-51.de>
8271
8272 * fs/fat.c: Add 2009 to Copyright line.
8273
9ff516f3 82742009-02-14 Christian Franke <franke@computer.org>
8275
8276 * commands/hdparm.c: New file. Provides `hdparm' command
8277 which sends ATA commands via grub_disk_ata_pass_through ().
8278
8279 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
8280
8281 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
8282 and <grub/cpu/io.h> to include/grub/ata.h.
8283 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
8284 (GRUB_CDROM_SECTOR_SIZE): Remove.
8285 (GRUB_ATA_*): Move to include/grub/ata.h.
8286 (GRUB_ATAPI_*): Likewise.
8287 (enum grub_ata_commands): Likewise.
8288 (enum grub_ata_timeout_milliseconds): Likewise.
8289 (struct grub_ata_device): Likewise.
8290 (grub_ata_regset): Likewise.
8291 (grub_ata_regget): Likewise.
8292 (grub_ata_regset2): Likewise.
8293 (grub_ata_regget2): Likewise.
8294 (grub_ata_check_ready): Likewise.
8295 (grub_ata_wait_not_busy): Remove static, exported in
8296 include/grub/ata.h.
8297 (grub_ata_wait_drq): Likewise.
8298 (grub_ata_pio_read): Likewise.
8299
8300 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
8301 function for hdparm.mod.
8302
8303 * include/grub/ata.h: New file, contains declarations from
8304 disk/ata.c.
8305 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
8306
8307 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
8308 (grub_disk_ata_pass_through): New exported variable.
8309
8310 * kern/disk.c (grub_disk_ata_pass_through): New variable.
8311
772e23da 83122009-02-13 Colin D Bennett <colin@gibibit.com>
8313
8314 Support multiple fallback entries, and provide an API to support
8315 executing default+fallback menu entries. Renamed the `terminal' menu
8316 viewer to `text'.
8317
8318 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
8319 variable declaration.
8320 (grub_menu_execute_callback): New structure declaration.
8321 (grub_menu_execute_callback_t): New typedef.
8322 (grub_menu_execute_with_fallback): New function declaration.
8323 (grub_menu_get_entry): Likewise.
8324 (grub_menu_get_timeout): Likewise.
8325 (grub_menu_set_timeout): Likewise.
8326
8327 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
8328
8329 * normal/menu.c (grub_wait_after_message): Moved to
8330 `normal/menu_text.c'.
8331 (draw_border): Likewise.
8332 (print_message): Likewise.
8333 (print_entry): Likewise.
8334 (print_entries): Likewise.
8335 (grub_menu_init_page): Likewise.
8336 (get_entry_number): Likewise.
8337 (print_timeout): Likewise.
8338 (run_menu): Likewise.
8339 (grub_menu_execute_entry): Likewise.
8340 (show_text_menu): Likewise.
8341 (get_and_remove_first_entry_number): New function.
8342 (grub_menu_execute_with_fallback): Likewise.
8343 (get_entry): Renamed to ...
8344 (grub_menu_get_entry): .. this and made it global.
8345 (get_timeout): Renamed to ...
8346 (grub_menu_get_timeout): ... this and made it global.
8347 (set_timeout): Renamed to ...
8348 (grub_menu_set_timeout): ... this and made it global.
8349 (grub_normal_terminal_menu_viewer): Renamed to ...
8350 (grub_normal_text_menu_viewer): ... this.
8351
8352 * normal/menu_text.c: New file. Extracted text-menu-specific code
8353 from normal/menu.c.
8354
8355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
8356 (normal_mod_SOURCES): Likewise.
8357
8358 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8359 (normal_mod_SOURCES): Likewise.
8360
8361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8362 (normal_mod_SOURCES): Likewise.
8363
8364 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
8365 (normal_mod_SOURCES): Likewise.
8366
8367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8368 (normal_mod_SOURCES): Likewise.
8369
8370 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8371 (normal_mod_SOURCES): Likewise.
8372
8373 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8374 (normal_mod_SOURCES): Likewise.
8375
16ac430e 83762009-02-11 Robert Millan <rmh@aybabtu.com>
8377
8378 * util/grub.d/00_header.in: Update old reference to `font' command.
8379
06ff20fc 83802009-02-10 Felix Zielcke <fzielcke@z-51.de>
8381
8382 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
8383
8384 Based on patch from Javier Martín.
8385
96da9407 83862009-02-09 Felix Zielcke <fzielcke@z-51.de>
8387
8388 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 8389 to avoid false positives with FAT.
96da9407 8390 (grub_fstest_SOURCES): Likewise.
8391 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8392 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8394 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8395 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8397
6dca6fe4 83982009-02-09 Felix Zielcke <fzielcke@z-51.de>
8399
06ff20fc 8400 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 8401 bpb.version_specific.fat12_or_fat16.fstype and
8402 bpb.version_specific.fat32.fstype.
8403
2550c62f 84042009-02-08 Robert Millan <rmh@aybabtu.com>
8405
be110b30 8406 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 8407
56978920 84082009-02-08 Robert Millan <rmh@aybabtu.com>
8409
8410 * Makefile.in (host_os, host_cpu): New variables.
8411 (target_os): Remove. Update all users.
8412
d64399b5 84132009-02-08 Marco Gerards <marco@gnu.org>
8414
8415 * Makefile.in (enable_grub_emu_usb): New variable.
8416 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
8417 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
8418 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
8419 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
8420 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
8421 `usbtest.mod' and `usbms.mod'.
8422 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
8423 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
8424 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
8425 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
8426 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
8427 variables.
8428
8429 * disk/usbms.c: New file.
8430
8431 * include/grub/usb.h: Likewise.
8432
8433 * include/grub/usbtrans.h: Likewise.
8434
8435 * include/grub/usbdesc.h: Likewise.
8436
8437 * bus/usb/usbtrans.c: Likewise.
8438
8439 * bus/usb/ohci.c: Likewise.
8440
8441 * bus/usb/uhci.c: Likewise.
8442
8443 * bus/usb/usbhub.c: Likewise.
8444
8445 * bus/usb/usb.c: Likewise.
8446
8447 * commands/usbtest.c: Likewise.
8448
8449 * util/usb.c: Likewise.
50fb7002 8450
d64399b5 8451 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
8452
8453 * configure.ac: Test for libusb presence.
50fb7002 8454
d64399b5 8455 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
8456
2b40d6bb 84572009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
8458
8459 * kern/mm.c: Add more comments.
8460
73a4ce81 84612009-02-08 Robert Millan <rmh@aybabtu.com>
8462
8463 Patch from Javier Martín.
8464 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
8465 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
8466
f821ce59 84672009-02-08 Robert Millan <rmh@aybabtu.com>
8468
8469 * fs/cpio.c: Split tar functionality to ...
8470 * fs/tar.c: ... here (new file). Update all users.
8471
aebfc4b0 84722009-02-07 Robert Millan <rmh@aybabtu.com>
8473
8474 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
8475 backward-incompatible features.
8476
8477 Based on patch from Javier Martín, with some adjustments.
8478
50fb7002 84792009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 8480
8481 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
8482
0bb5115e 84832009-02-07 Robert Millan <rmh@aybabtu.com>
8484
8485 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
8486 position of `disk/lvm.c' to ensure grub_init_all() always picks it
8487 after the RAID stuff.
8488
38a0f8e7 84892009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
8490
50fb7002 8491 Fixes problem when running vbetest command as reported by
38a0f8e7 8492 Vladimir Serbinenko <phcoder@gmail.com>.
8493
8494 * (grub_vbe_set_video_mode): Fixed problem with text modes.
8495
3143cc1c 84962009-02-04 Felix Zielcke <fzielcke@z-51.de>
8497
8498 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
8499 /dev/md/NpN style mdraid devices.
8500
9cba6fce 85012009-02-03 Felix Zielcke <fzielcke@z-51.de>
8502
8503 * util/unifont2pff.rb: Remove.
8504
e507a2c1 85052009-02-03 Felix Zielcke <fzielcke@z-51.de>
8506
8507 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
8508 `#'.
8509
d2c2b4cd 85102009-02-03 Felix Zielcke <fzielcke@z-51.de>
8511
8512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
8513 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8514 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8517 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8518 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8519
b4315fb0 85202009-02-02 Christian Franke <franke@computer.org>
8521
8522 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
8523
de3aa260 85242009-02-01 Felix Zielcke <fzielcke@z-51.de>
8525
7c3ff286 8526 * INSTALL: Note that we now require at least autoconf 2.59 and
8527 that LZO is optional.
de3aa260 8528
825a182b 85292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8530
8531 Base on patch on bug #24154 created by Tomas Tintera
8532 <trosos@seznam.cz>.
8533
8534 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
8535
a69ef770 85362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
8537
7c3ff286 8538 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 8539 <bero@arklinux.org>.
8540
8541 * normal/parser.y (script_init): Add missing semicolon.
8542
6fa42fa6 85432009-01-31 Colin D Bennett <colin@gibibit.com>
8544
7c3ff286 8545 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 8546 (free_menu_entry_classes): Added.
8547 (grub_normal_menu_addentry): Added class property handling.
8548 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
8549 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
8550
8551 * normal/menu_viewer.c: New file.
8552
8553 * normal/menu.c (run_menu_entry): Renamed to ...
8554 (grub_menu_execute_entry): ... this and made it as global.
8555 (grub_menu_run): Renamed to ...
8556 (show_text_menu): ... this and made it local.
8557 (show_text_menu): Adapt to new function names.
8558 (grub_normal_terminal_menu_viewer): New global variable.
8559
8560 * include/grub/menu.h: New file.
8561
8562 * include/grub/menu_viewer.h: New file.
8563
8564 * include/grub/normal.h: Added include to grub/menu.h.
8565 (grub_menu_entry): Moved to include/grub/menu.h.
8566 (grub_menu_entry_t): Likewise.
8567 (grub_menu): Likewise.
8568 (grub_menu_t): Likewise.
8569 (grub_normal_terminal_menu_viewer): Added.
8570 (grub_menu_execute_entry): Likewise.
8571 (grub_menu_run): Removed.
8572
8573 * DISTLIST: Added include/grub/menu.h.
8574 Added include/grub/menu_viewer.h.
8575 Added normal/menu_viewer.c.
8576
85772009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
8578
8579 * normal/execute.c (grub_script_execute_menuentry): Changed to use
8580 arglist for menutitle arguments.
8581
8582 * normal/main.c (grub_normal_menu_addentry): Likewise.
8583
8584 * normal/parser.y (menuentry): Likewise.
8585
8586 * normal/script.c (grub_script_create_cmdmenu): Likewise.
8587
8588 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
8589 (grub_script_create_cmdmenu): Likewise.
8590
8591 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
8592
8593 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
8594 changes.
8595
8596 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
8597
8598 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
8599
8600 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
8601
8602 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8603
8604 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8605
8606 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
8607
56192c23 86082009-01-30 Christian Franke <franke@computer.org>
8609
8610 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
8611 in option help text.
8612
d72521b3 86132009-01-27 Pavel Roskin <proski@gnu.org>
8614
8615 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
8616
994b5e84 86172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8618
8619 * commands/lsmmap.c: Add include to grub/machine/memory.h.
8620
8621 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
8622
8623 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
8624 unregister function.
8625
6a7eab2c 86262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
8627
8628 * disk/scsi.c (grub_scsi_read): Fix sign problem.
8629
8630 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
8631
8632 * util/grub-mkfont.c (usage): Fix typo.
8633
8634 * util/elf/grub-mkimage.c (load_modules): Fix warning.
8635
1806b56e 86362009-01-26 Daniel Mierswa <impulze@impulze.org>
8637
3fb18f09 8638 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
8639
336e1fb9 8640 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
8641
1806b56e 8642 * kern/misc.c (grub_strcasecmp): New function.
8643 (grub_strcasecmp): Use grub_size_t instead of int for length.
8644 Fix return value.
8645 * include/grub/misc.h: Update function prototypes.
8646
580b2a0f 86472009-01-26 Robert Millan <rmh@aybabtu.com>
8648
8649 * configure.ac: Fix cross-compilation check.
ef257b36 8650
d31c24f1 86512009-01-22 Christian Franke <franke@computer.org>
8652
8653 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
8654 (precision) digit string. Allow `.format2' without `format1' (width).
8655 Limit input chars for `%s' output to `format2' if specified. This is
8656 compatible with standard printf ().
8657
3138b44c 86582009-01-22 Christian Franke <franke@computer.org>
8659
8660 * disk/ata.c (grub_ata_wait_status): Replace by ...
8661 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
8662 other status bits may be invalid while BSY is asserted.
8663 (grub_ata_check_ready): New function.
8664 (grub_ata_cmd): Removed.
8665 (grub_ata_wait_drq): New function.
8666 (grub_ata_strncpy): Remove inline.
8667 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
8668 and error check now done by grub_ata_wait_drq ().
8669 (grub_ata_pio_write): Likewise.
8670 (grub_atapi_identify): Set DEV before check for !BSY. Use
8671 grub_ata_wait_drq () to wait for data.
8672 (grub_ata_device_initialize): Add status register check to
8673 detect missing SATA slave devices. Add debug messages.
8674 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
8675 (grub_atapi_packet): Set DEV before check for !BSY. Replace
8676 transfer loop by grub_ata_pio_write ().
8677 (grub_ata_identify): Set DEV before check for !BSY. Use
8678 grub_ata_wait_drq () to wait for data.
ef257b36 8679 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 8680 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
8681 read/write in one loop. Fix invalid command on write. Fix incomplete
8682 command on (size % batch) == 0. Add missing error check after write of
8683 last block. Add debug messages.
8684 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
8685
59a64ef6 86862009-01-19 Christian Franke <franke@computer.org>
8687
8688 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
8689 (GRUB_ATAPI_IREASON_*): Likewise.
8690 (grub_ata_pio_write): Fix timeout error return.
8691 (grub_atapi_identify): Add grub_ata_wait () after cmd.
8692 (grub_atapi_wait_drq): New function.
8693 (grub_atapi_packet): New parameter `size'.
8694 Use grub_atapi_wait_drq () and direct write instead of
8695 grub_ata_pio_write ().
8696 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
8697 reads the number of bytes requested by the device for each DRQ
8698 assertion.
8699 (grub_atapi_write): Remove old implementation, return not
8700 implemented instead.
8701
1cfe20b3 87022009-01-19 Christian Franke <franke@computer.org>
8703
8704 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
8705 of 512 to calculate data size.
8706 (grub_scsi_read12): Likewise.
8707 (grub_scsi_write10): Likewise.
8708 (grub_scsi_write12): Likewise.
8709 (grub_scsi_read): Adjust size according to blocksize.
8710 Add checks for invalid blocksize and unaligned transfer.
8711
bee5fe5d 87122009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
8713
8714 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
8715
ef257b36 8716 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 8717 width glyphs.
8718
3e643f8c 87192009-01-19 Robert Millan <rmh@aybabtu.com>
8720
8721 * config.guess: Update to latest version from config git.
8722 * config.sub: Likewise.
8723
4fa80998 87242009-01-17 Felix Zielcke <fzielcke@z-51.de>
8725
8726 * Makefile.in: Change font compilation to use new grub-mkfont instead
8727 of java version.
8728
8729 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
8730 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
8731 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8732 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
8733 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
8734 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
8735 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
8736 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
8737 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
8738
7086085b 87392009-01-16 Christian Franke <franke@computer.org>
8740
8741 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
8742 (enum grub_ata_timeout_milliseconds): New enum.
8743 (grub_ata_wait_status): Add parameter milliseconds.
8744 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
8745 recovery from timed-out commands.
8746 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
8747 return grub_errno instead of REG_ERROR.
8748 (grub_ata_pio_write): Add parameter milliseconds.
8749 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
8750 Pass milliseconds to grub_ata_wait_status () and
8751 grub_ata_pio_read ().
8752 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
8753 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
8754 grub_ata_wait_status (). Fix IDENTIFY timeout check.
8755 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
8756 It is not suitable for device detection, because DEV bit is ignored,
8757 the command may run too long, and not all devices set the signature
8758 properly.
8759 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
8760 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
8761 Fix device selection, DEV bit must be set first to address the registers
8762 of the correct device.
8763 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
8764 grub_ata_pio_read/write ().
8765 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
8766 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
8767
4a412913 87682009-01-13 Carles Pina i Estany <carles@pina.cat>
8769
8770 * util/grub-editenv.c (main): Use fseeko(), not fseek().
8771
7795c55e 87722009-01-13 Bean <bean123ch@gmail.com>
d913988c 8773
8774 * util/grub-mkfont.c (write_font): forget to remove some debug code.
8775
7795c55e 87762009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 8777
8778 * Makefile.in: (enable_grub_mkfont): New variable.
8779 (freetype_cflags): Likewise.
8780 (freetype_libs): Likewise.
8781
8782 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
8783 (grub_mkfont_SOURCES): New variable.
8784 (grub_mkfont_CFLAGS): Likewise.
8785 (grub_mkfont_LDFLAGS): Likewise.
8786
8787 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
8788 library if `--enable-grub-mkfont' is requested.
8789 (enable_grub_mkfont): New variable.
8790 (freetype_cflags): Likewise.
8791 (freetype_libs): Likewise.
8792
8793 * util/grub-mkfont.c: New file.
8794
093af1fe 87952009-01-12 Christian Franke <franke@computer.org>
8796
8797 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
8798 mode check. Fix setting of compat_use[].
8799
f36cc108 88002009-01-10 Robert Millan <rmh@aybabtu.com>
8801
8802 Update a few copyright years which we forgot to do in 2008 (only for
8803 files whose changes made in 2008 were copyright-significant)
8804
8805 * Makefile.in: Add 2008 to Copyright line.
8806 * disk/ieee1275/ofdisk.c: Likewise.
8807 * disk/efi/efidisk.c: Likewise.
8808 * kern/dl.c: Likewise.
8809 * kern/sparc64/ieee1275/init.c: Likewise.
8810 * kern/mm.c: Likewise.
8811 * kern/efi/mm.c: Likewise.
8812 * boot/i386/pc/boot.S: Likewise.
8813 * genfslist.sh: Likewise.
8814 * fs/iso9660.c: Likewise.
8815 * fs/hfs.c: Likewise.
8816 * fs/jfs.c: Likewise.
8817 * fs/minix.c: Likewise.
8818 * fs/ufs.c: Likewise.
8819 * gensymlist.sh.in: Likewise.
8820 * genkernsyms.sh.in: Likewise.
8821 * include/grub/misc.h: Likewise.
8822 * include/grub/types.h: Likewise.
8823 * include/grub/symbol.h: Likewise.
8824 * include/grub/elf.h: Likewise.
8825 * include/grub/kernel.h: Likewise.
8826 * include/grub/disk.h: Likewise.
8827 * include/grub/dl.h: Likewise.
8828 * include/grub/i386/linux.h: Likewise.
8829 * include/grub/i386/pc/biosdisk.h: Likewise.
8830 * include/grub/efi/api.h: Likewise.
8831 * include/grub/efi/pe32.h: Likewise.
8832 * include/grub/util/misc.h: Likewise.
8833 * normal/execute.c: Likewise.
8834 * normal/arg.c: Likewise.
8835 * normal/completion.c: Likewise.
8836 * normal/lexer.c: Likewise.
8837 * normal/parser.y: Likewise.
8838 * normal/misc.c: Likewise.
8839 * commands/i386/pc/vbeinfo.c: Likewise.
8840 * commands/hexdump.c: Likewise.
8841 * commands/terminal.c: Likewise.
8842 * commands/ls.c: Likewise.
8843 * commands/help.c: Likewise.
8844 * partmap/pc.c: Likewise.
8845 * loader/efi/chainloader.c: Likewise.
8846 * loader/multiboot_loader.c: Likewise.
8847 * loader/i386/pc/multiboot2.c: Likewise.
8848 * term/efi/console.c: Likewise.
8849 * term/i386/pc/serial.c: Likewise.
8850 * util/lvm.c: Likewise.
8851 * util/console.c: Likewise.
8852 * util/i386/efi/grub-mkimage.c: Likewise.
8853 * util/raid.c: Likewise.
8854
7f02114b 88552009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
8856
8857 * commands/videotest.c: Removed include to grub/machine/memory.h.
8858
8859 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
8860 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
8861 (video_mod_SOURCES): Removed.
8862 (video_mod_CFLAGS): Likewise.
8863 (video_mod_LDFLAGS): Likewise.
8864 (gfxterm_mod_SOURCES): Likewise.
8865 (gfxterm_mod_CFLAGS): Likewise.
8866 (gfxterm_mod_LDFLAGS): Likewise.
8867 (videotest_mod_SOURCES): Likewise.
8868 (videotest_mod_CFLAGS): Likewise.
8869 (videotest_mod_LDFLAGS): Likewise.
8870 (bitmap_mod_SOURCES): Likewise.
8871 (bitmap_mod_CFLAGS): Likewise.
8872 (bitmap_mod_LDFLAGS): Likewise.
8873 (tga_mod_SOURCES): Likewise.
8874 (tga_mod_CFLAGS): Likewise.
8875 (tga_mod_LDFLAGS): Likewise.
8876 (jpeg_mod_SOURCES): Likewise.
8877 (jpeg_mod_CFLAGS): Likewise.
8878 (jpeg_mod_LDFLAGS): Likewise.
8879 (png_mod_SOURCES): Likewise.
8880 (png_mod_CFLAGS): Likewise.
8881 (png_mod_LDFLAGS): Likewise.
8882
8883 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
8884 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
8885 (video_mod_SOURCES): Added.
8886 (video_mod_CFLAGS): Likewise.
8887 (video_mod_LDFLAGS): Likewise.
8888 (videotest_mod_SOURCES): Likewise.
8889 (videotest_mod_CFLAGS): Likewise.
8890 (videotest_mod_LDFLAGS): Likewise.
8891 (bitmap_mod_SOURCES): Likewise.
8892 (bitmap_mod_CFLAGS): Likewise.
8893 (bitmap_mod_LDFLAGS): Likewise.
8894 (tga_mod_SOURCES): Likewise.
8895 (tga_mod_CFLAGS): Likewise.
8896 (tga_mod_LDFLAGS): Likewise.
8897 (jpeg_mod_SOURCES): Likewise.
8898 (jpeg_mod_CFLAGS): Likewise.
8899 (jpeg_mod_LDFLAGS): Likewise.
8900 (png_mod_SOURCES): Likewise.
8901 (png_mod_CFLAGS): Likewise.
8902 (png_mod_LDFLAGS): Likewise.
8903 (gfxterm_mod_SOURCES): Likewise.
8904 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 8905 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 8906
8907 * term/gfxterm.c: Removed include to grub/machine/memory.h,
8908 grub/machine/console.h.
8909
644fff97 89102009-01-04 Jerone Young <jerone@gmail.com>
8911
8912 Make on screen instructions clearer
8913
8914 Based on patch created by Jidanni <jidanni@jidanni.org>
8915
8916 * normal/menu.c: print clearer instructions on the screen
8917
1e901a75 89182009-01-02 Colin D Bennett <colin@gibibit.com>
8919
8920 New font engine.
34c44600 8921
1e901a75 8922 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
8923 build system and fixed gfxterm.c to work with different sized fonts.
8924
8925 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 8926
1e901a75 8927 * configure: Re-generated.
34c44600 8928
1e901a75 8929 * DISTLIST: Removed font/manager.c.
8930 Added font/font.c.
8931 Added font/font_cmd.c.
34c44600 8932
1e901a75 8933 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
8934 compilation.
34c44600 8935
1e901a75 8936 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 8937
8938 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 8939
8940 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 8941
1e901a75 8942 * normal/menu.c: Likewise.
34c44600 8943
1e901a75 8944 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
8945 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 8946
1e901a75 8947 * include/grub/font.h: Replaced with new file.
34c44600 8948
1e901a75 8949 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
8950 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
8951 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
8952 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
8953 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 8954 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 8955 fg_red, fg_green, fg_blue, fg_alpha.
8956 (grub_video_adapter): Removed blit_glyph.
34c44600 8957 (grub_video_blit_glyph): Removed.
8958
1e901a75 8959 * font/manager.c: Removed file.
34c44600 8960
8961 * font/font.c: New file.
8962
1e901a75 8963 * font/font_cmd.c: Likewise.
34c44600 8964
1e901a75 8965 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 8966
1e901a75 8967 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
8968 (grub_video_vbe_map_rgba): Likewise.
8969 (grub_video_vbe_unmap_color_int): Likewise.
8970 (grub_video_vbe_blit_glyph): Removed.
8971 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 8972
1e901a75 8973 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
8974 (get_pixel): Likewise.
34c44600 8975 (set_pixel): Likewise.
8976
1e901a75 8977 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 8978
1e901a75 8979 * term/gfxterm.c: Adapted to new font engine.
34c44600 8980
1e901a75 8981 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 8982
1e901a75 8983 * term/i386/pc/vga.c: Likewise.
34c44600 8984
1e901a75 8985 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 8986
1e901a75 8987 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 8988
1e901a75 8989 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8990
1e901a75 8991 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8992
1e901a75 8993 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 8994
1e901a75 8995 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 8996
1e901a75 8997 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 8998
1e901a75 8999 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 9000
1e901a75 9001 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
9002
9003 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 9004
1e901a75 9005 * util/grub-mkconfig_lib.in: Changed font extension.
9006
278922e8 90072008-12-28 Felix Zielcke <fzielcke@z-51.de>
9008
9009 * util/getroot.c (grub_util_get_grub_dev): Add support for
9010 /dev/md/dNNpNN style partitionable mdraid devices.
9011
3ced05cf 90122008-12-12 Alex Smith <alex@alex-smith.me.uk>
9013
9014 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
9015 at a time limit of the PXE TFTP API correctly.
9016 (grub_pxefs_close): Likewise.
9017
7fd0ee30 90182008-11-29 Robert Millan <rmh@aybabtu.com>
9019
34c44600 9020 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 9021 grub_ata_device_initialize() calls.
9022
34c44600 90232008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 9024
9025 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
9026 iteration failed.
9027 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
9028
89313780 90292008-11-28 Robert Millan <rmh@aybabtu.com>
9030
9031 Fix build on powerpc-ieee1275. Based on patch created by
9032 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
9033 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9034 `kern/ieee1275/mmap.c'.
9035 * include/grub/powerpc/ieee1275/memory.h: New file.
9036
15257703 9037 Provide grub-install on coreboot.
9038 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
9039 (grub_install_SOURCES): New variable.
9040 * util/i386/pc/grub-install.in: Add a few condition checks to make it
9041 usable on coreboot.
9042
9fc5388a 90432008-11-25 Felix Zielcke <fzielcke@z-51.de>
9044
9045 * util/grub-fstest.c (grub_term_get_current_input): Change return type
9046 to `grub_term_input_t'.
9047 (grub_term_get_current_output): Change return type to
9048 `grub_term_output_t'.
9049
bc3a2f31 90502008-11-22 Robert Millan <rmh@aybabtu.com>
9051
34c44600 9052 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 9053 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
9054 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
9055 grub_vga_text_cls().
9056
80fc88f2 9057 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 9058 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 9059
cbf36fd3 9060 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
9061 to 0x200000 (avoids trouble with some OFW implementations, and matches
9062 with the one in Yaboot).
9063 Reported by Manoel Abranches
9064
73e8e268 90652008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 9066
9067 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
9068 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
9069
73e8e268 9070 * util/grub-mkconfig_lib.in (grub_warn): New function.
9071 (convert_system_path_to_grub_path): Use grub_warn() when issuing
9072 warnings, to obtain consistent formatting.
9073 * util/grub.d/00_header.in: Likewise.
9074 * util/update-grub_lib.in: Likewise.
9075
e94045a1 9076 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 9077 Move comment text to `#error' stanza.
e94045a1 9078
79d29fd7 9079 Harmonize ieee1275's grub_available_iterate() with the generic
9080 grub_machine_mmap_iterate() interface (fixes a recently-introduced
9081 build problem on i386-ieee1275):
9082 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
9083 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
9084 parameter `type'. Update all users of this function.
9085 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
9086 `kern/ieee1275/mmap.c'.
9087 * kern/ieee1275/init.c
9088 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
9089 with ...
9090 (grub_machine_mmap_iterate): ... this.
9091 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
9092 return type to `grub_err_t'. Update all implementations of this
9093 function prototype.
9094 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
9095 Likewise.
9096
60d6b16e 9097 Add `lsmmap' command (lists firmware-provided memory map):
9098 * commands/lsmmap.c: New file.
9099 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
9100 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
9101 variables.
9102 * conf/powerpc-ieee1275.rmk: Likewise.
9103 * conf/i386-coreboot.rmk: Likewise.
9104 * conf/i386-ieee1275.rmk: Likewise.
9105
ebaaf49b 91062008-11-19 Robert Millan <rmh@aybabtu.com>
9107
9108 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 9109 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
9110 constraints to initrd allocation (based on code from
9111 loader/i386/pc/linux.c). Without them, initrd was allocated too high
9112 for Linux to find it.
ebaaf49b 9113
dfab719f 91142008-11-14 Robert Millan <rmh@aybabtu.com>
9115
9116 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
9117 order to cope with duplicate slashes.
9118
10fc3eb9 91192008-11-14 Robert Millan <rmh@aybabtu.com>
9120
9121 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
9122 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
9123 don't want to mess with lower memory, because it is used in the Linux
9124 loader.
9125
9126 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 9127 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 9128 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
9129 is in our heap (probably as a result of it being corrupted during
2f2a3442 9130 decompression). Add #error instance with comment to explain why this
9131 loader isn't currently usable on PC/BIOS.
10fc3eb9 9132
e2e07847 91332008-11-14 Robert Millan <rmh@aybabtu.com>
9134
9135 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 9136 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 9137
fe8e8d69 91382008-11-12 Robert Millan <rmh@aybabtu.com>
9139
9140 Make loader/i386/linux.c buildable on i386-pc (although disabled).
9141
9142 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
9143 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
9144 from here ...
9145 * include/grub/i386/pc/memory.h: ... to here.
9146
976b07d0 91472008-11-12 Robert Millan <rmh@aybabtu.com>
9148
9149 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
9150 split).
9151
9152 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
9153 (grub_console_cur_color, grub_console_real_putchar)
9154 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9155 (grub_console_setcolorstate, grub_console_setcolor)
9156 (grub_console_getcolor): Move from here ...
9157 * include/grub/i386/vga_common.h: ... to here (new file).
9158
9159 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
9160 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
9161 `<grub/i386/io.h>'.
9162 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
9163 `<grub/i386/vga_common.h>'.
9164
76679cd3 91652008-11-12 Robert Millan <rmh@aybabtu.com>
9166
9167 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
9168 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
9169 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
9170 variables.
9171 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9172 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
9173
9174 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
9175 grub_console_init() with call to grub_vga_text_init().
9176 (grub_machine_fini): Replace call to
9177 grub_console_fini() with call to grub_vga_text_fini() and
9178 grub_at_keyboard_fini().
9179
9180 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
9181 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
9182 (grub_console_setcolorstate, grub_console_setcolor)
9183 (grub_console_getcolor): New function prototypes.
9184
9185 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
9186 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
9187 (grub_vga_text_setcursor): Static-ize.
9188 (grub_vga_text_term): New structure.
9189 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
9190
9191 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
9192 (grub_console_cur_color, grub_console_standard_color)
9193 (grub_console_normal_color, grub_console_highlight_color)
9194 (map_char, grub_console_putchar, grub_console_getcharwidth)
9195 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
9196 (grub_console_getcolor): Move from here ...
9197 * term/i386/vga_common.c: ... to here (same function names).
9198
95b841d3 91992008-11-12 Robert Millan <rmh@aybabtu.com>
9200
9201 Use newly-added Multiboot support in coreboot.
9202
9203 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
9204 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
9205
9206 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
9207 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
9208 (codestart): Store the MBI in `startup_multiboot_info' when we're
9209 being loaded using Multiboot.
9210
9211 * kern/i386/coreboot/init.c (grub_machine_init): Move
9212 grub_at_keyboard_init() call to beginning of function (useful for
9213 debugging). Call grub_machine_mmap_init() before attempting to use
9214 grub_machine_mmap_iterate().
9215 (grub_lower_mem, grub_upper_mem): Move from here ...
9216 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
9217 here (new file).
9218
9219 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
9220 function prototype.
9221
761ca975 92222008-11-12 Robert Millan <rmh@aybabtu.com>
9223
9224 Fix a regression introduced by the at_keyboard.mod split. Because
9225 some terminals are default on some platforms and non-default on
9226 others, the first terminal being registered determines which is
9227 going to be default.
9228
9229 * kern/term.c (grub_term_register_input): If this is the first
9230 terminal being registered, set it as the current one.
9231 (grub_term_register_output): Likewise.
9232
9233 * term/efi/console.c (grub_console_init): Do not call
9234 grub_term_set_current_output() or grub_term_set_current_input().
9235 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
9236 * term/i386/pc/console.c (grub_console_init): Likewise.
9237 (grub_console_fini): Do not call grub_term_set_current_input()
9238 (but leave grub_term_set_current_output() to restore text mode).
9239
6c529df7 92402008-11-10 Robert Millan <rmh@aybabtu.com>
9241
9242 * util/grub.d/00_header.in: Add backward compatibility check for
9243 versions of terminal.mod that don't understand `terminal_input' or
9244 `terminal_output'.
9245
132e4113 92462008-11-09 Robert Millan <rmh@aybabtu.com>
9247
9248 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
9249 `terminal_input' / `terminal_output', not `terminal'.
9250
ac293d50 92512008-11-08 Robert Millan <rmh@aybabtu.com>
9252
9253 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 9254 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 9255
0025933a 92562008-11-08 Robert Millan <rmh@aybabtu.com>
9257
9258 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 9259 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 9260 members. Update all users.
9261 * util/console.c (grub_ncurses_term): Split in ...
9262 (grub_ncurses_term_input): ... this, and ...
9263 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 9264 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 9265
37c86336 92662008-11-08 Robert Millan <rmh@aybabtu.com>
9267
9268 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
9269 (PKGDATA): Add $(pkgdata_SRCDIR).
9270 (pkglib_BUILDDIR): New variable.
9271 (pkgdata_SRCDIR): New variable.
9272 (build_env.mk): New target.
9273 (include_DATA): New variable.
9274 (install-local): Install $(include_DATA) files in $(includedir).
9275
b6c15a2d 92762008-11-07 Pavel Roskin <proski@gnu.org>
9277
d99d46f1 9278 * gendistlist.sh: Use C locale for sorting to ensure consistent
9279 output on all systems.
9280
b6c15a2d 9281 * util/grub.d/00_header.in: Remove incorrect space before
9282 "serial".
9283
c32ee8c9 92842008-11-07 Robert Millan <rmh@aybabtu.com>
9285
9286 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
9287 per specification.
9288 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
9289 * loader/multiboot_loader.c (find_multi_boot2_header): New function
9290 (based on find_multi_boot1_header).
9291 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
9292 using find_multi_boot2_header(), and abort if neither Multiboot or
9293 Multiboot headers were found.
9294
651c29b7 92952008-11-07 Robert Millan <rmh@aybabtu.com>
9296
9297 Modularize at_keyboard.mod:
9298
9299 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
9300 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9301 (at_keyboard_mod_LDFLAGS): New variables.
9302
9303 Actual terminal split:
9304
9305 * include/grub/term.h (struct grub_term): Split in ...
9306 (struct grub_term_input): ... this, and ...
9307 (struct grub_term_output): ... this. Update all users.
9308 (grub_term_set_current): Split in ...
9309 (grub_term_set_current_input): ... this, and ...
9310 (grub_term_set_current_output): ... this.
9311 (grub_term_get_current): Split in ...
9312 (grub_term_get_current_input): ... this, and ...
9313 (grub_term_get_current_output): ... this.
9314 (grub_term_register): Split in ...
9315 (grub_term_register_input): ... this, and ...
9316 (grub_term_register_output): ... this.
9317 (grub_term_unregister): Split in ...
9318 (grub_term_unregister_input): ... this, and ...
9319 (grub_term_unregister_output): ... this.
9320 (grub_term_iterate): Split in ...
9321 (grub_term_iterate_input): ... this, and ...
9322 (grub_term_iterate_output): ... this.
9323
9324 * kern/term.c (grub_term_list): Split in ...
9325 (grub_term_list_input): ... this, and ...
9326 (grub_term_list_output): ... this. Update all users.
9327 (grub_cur_term): Split in ...
9328 (grub_cur_term_input): ... this, and ...
9329 (grub_cur_term_output): ... this. Update all users.
9330 (grub_term_set_current): Split in ...
9331 (grub_term_set_current_input): ... this, and ...
9332 (grub_term_set_current_output): ... this.
9333 (grub_term_get_current): Split in ...
9334 (grub_term_get_current_input): ... this, and ...
9335 (grub_term_get_current_output): ... this.
9336 (grub_term_register): Split in ...
9337 (grub_term_register_input): ... this, and ...
9338 (grub_term_register_output): ... this.
9339 (grub_term_unregister): Split in ...
9340 (grub_term_unregister_input): ... this, and ...
9341 (grub_term_unregister_output): ... this.
9342 (grub_term_iterate): Split in ...
9343 (grub_term_iterate_input): ... this, and ...
9344 (grub_term_iterate_output): ... this.
9345
9346 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
9347 a check for input and one for output (and only attempt to get keys
9348 from user when input works).
9349
9350 * util/grub-probe.c (grub_term_get_current): Split in ...
9351 (grub_term_get_current_input): ... this, and ...
9352 (grub_term_get_current_output): ... this.
9353 * util/grub-fstest.c: Likewise.
9354 * util/i386/pc/grub-setup.c: Likewise.
9355 * util/grub-editenv.c: Likewise.
9356
9357 Portability adjustments:
9358
9359 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
9360 `term/i386/pc/at_keyboard.c'.
9361 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
9362 grub_keyboard_controller_init() (now handled by terminal .init).
9363 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
9364 grub_at_keyboard_init().
9365 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
9366 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
9367 at_keyboard.mod via input terminal interface).
9368 * include/grub/i386/coreboot/console.h: Convert into a stub for
9369 `<grub/i386/pc/console.h>'.
9370
9371 Migrate full terminals to new API:
9372
9373 * term/efi/console.c (grub_console_term): Split into ...
9374 (grub_console_term_input): ... this, and ...
9375 (grub_console_term_output): ... this. Update all users.
9376 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
9377 (grub_ofconsole_init): Split into ...
9378 (grub_ofconsole_init_input): ... this, and ...
9379 (grub_ofconsole_init_output): ... this.
9380 (grub_ofconsole_term): Split into ...
9381 (grub_ofconsole_term_input): ... this, and ...
9382 (grub_ofconsole_term_output): ... this. Update all users.
9383 * term/i386/pc/serial.c (grub_serial_term): Split into ...
9384 (grub_serial_term_input): ... this, and ...
9385 (grub_serial_term_output): ... this. Update all users.
9386 * term/i386/pc/console.c (grub_console_term): Split into ...
9387 (grub_console_term_input): ... this, and ...
9388 (grub_console_term_output): ... this. Update all users.
9389 (grub_console_term_input): Only enable it on PC/BIOS platform.
9390 (grub_console_init): Remove grub_keyboard_controller_init() call.
9391
9392 Migrate input terminals to new API:
9393
9394 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
9395 `i386' and `i386/pc' to enable build on x86_64 (this driver is
9396 i386-specific anyway).
9397 (grub_console_checkkey): Rename to ...
9398 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
9399 users.
9400 (grub_keyboard_controller_orig): New variable.
9401 (grub_console_getkey): Rename to ...
9402 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
9403 users.
9404 (grub_keyboard_controller_init): Static-ize. Save original
9405 controller value so that it can be restored ...
9406 (grub_keyboard_controller_fini): ... here (new function).
9407 (grub_at_keyboard_term): New structure.
9408 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
9409 functions.
9410
9411 Migrate output terminals to new API:
9412
9413 * term/i386/pc/vga.c (grub_vga_term): Change type to
9414 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9415 members. Update all users.
9416 * term/gfxterm.c (grub_video_term): Change type to
9417 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
9418 members. Update all users.
9419 * include/grub/i386/pc/console.h (grub_console_checkkey)
9420 (grub_console_getkey): Do not export (no longer needed by gfxterm,
9421 etc).
9422
9423 Migrate `terminal' command and userland tools to new API:
9424
9425 * commands/terminal.c (grub_cmd_terminal): Split into ...
9426 (grub_cmd_terminal_input): ... this, and ...
9427 (grub_cmd_terminal_output): ... this.
9428 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
9429 `terminal_input' and `terminal_output'.
9430 * util/grub.d/00_header.in: Adjust `terminal' calls to new
9431 `terminal_input' / `terminal_output' API.
9432 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
9433 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
9434 provided ${GRUB_TERMINAL}, convert it).
9435
96e5d876 94362008-11-04 Robert Millan <rmh@aybabtu.com>
9437
9438 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
9439 for FreeBSD.
9440 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
9441
556f3775 94422008-11-03 Bean <bean123ch@gmail.com>
9443
9444 * kern/elf.c (grub_elf32_load): Revert to previous code.
9445 (grub_elf64_load): Likewise.
9446
9447 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
9448
926b9823 94492008-11-01 Robert Millan <rmh@aybabtu.com>
9450
9451 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
9452 (TARGET_CPPFLAGS): Likewise.
9453 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
9454
1432e958 94552008-11-01 Carles Pina i Estany <carles@pina.cat>
9456
9457 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
9458
dba3f844 94592008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 9460
9461 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
9462 addition of objects until the code is not going to be able to fail.
9463
dba3f844 94642008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 9465
9466 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
9467 (add a missing NULL check, and correct them by moving the pointer
9468 operations after the actual check).
9469
7ab28c21 94702008-10-29 Robert Millan <rmh@aybabtu.com>
9471
9472 * util/i386/pc/grub-install.in: Handle empty string as output from
9473 make_system_path_relative_to_its_root().
9474
1b7748eb 94752008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
9476
9477 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
9478 circular metadata worst case scenario. If the metadata is circular
9479 then copy the wrap in place.
9480 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
9481 project lib/format_text/layout.h
9482 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
9483
c9618ab2 94842008-10-03 Felix Zielcke <fzielcke@z-51.de>
9485
7a36edca 9486 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 9487
bf981c62 94882008-10-03 Felix Zielcke <fzielcke@z-51.de>
9489
9490 * util/update-grub_lib.in: Mention filename in warning message.
9491
6d994591 94922008-09-29 Felix Zielcke <fzielcke@z-51.de>
9493
9494 * NEWS: Update for rename of update-grub to grub-mkconfig.
9495
18ade780 94962008-09-29 Felix Zielcke <fzielcke@z-51.de>
9497
9498 * util/update-grub_lib.in: Copy to ...
9499 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 9500 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 9501 * util/update-grub.in: Rename to ...
9502 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
9503 option. Add `--output' option to allow users to specify the generated
9504 configuration file. Default to stdout.
9505 (update_grub_dir): Rename to ...
9506 (grub_mkconfig_dir): ... this.
9507 (grub_cfg): Default to an empty string.
9508 * conf/common.rmk (update-grub): Rename to ...
9509 (grub-mkconfig): ... this.
9510 (update-grub_lib): Copy to ...
9511 (grub-mkconfig_lib): ... this.
9512 (update-grub_SCRIPTS): Copy to ...
9513 (grub-mkconfig_SCRIPTS): ... this. Update all users.
9514 (update-grub_DATA): Rename to ...
9515 (grub-mkconfig_DATA): ... this.
9516
556ce6ac 95172008-09-28 Robert Millan <rmh@aybabtu.com>
9518
9519 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
9520 to `modified'. Add the real `created' field.
9521 (grub_iso9660_uuid): Use `modified' rather than `created' for
9522 constructing the UUID.
9523
95242008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 9525
9526 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
9527 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
9528
92274e85 95292008-09-28 Bean <bean123ch@gmail.com>
9530
9531 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
9532 Thanks to Christian Franke for finding this bug.
9533
add6f17a 95342008-09-25 Robert Millan <rmh@aybabtu.com>
9535
9536 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
9537 instances of grub_util_get_disk_name() (see previous commit).
9538
d2a367b8 95392008-09-25 Robert Millan <rmh@aybabtu.com>
9540
9541 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
9542 `util/i386/get_disk_name.c'.
9543 * conf/i386-efi.rmk: Likewise.
9544 * conf/x86_64-efi.rmk: Likewise.
9545 * conf/i386-coreboot.rmk: Likewise.
9546 * conf/i386-ieee1275.rmk: Likewise.
9547 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
9548 `util/ieee1275/get_disk_name.c'.
9549 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
9550 * util/ieee1275/get_disk_name.c: Remove file.
9551 * util/i386/get_disk_name.c: Remove file.
9552 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
9553 "hd%d" for device.map entries, rather than using
9554 grub_util_get_disk_name().
9555
81a06771 95562008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 9557
9558 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
9559 warning.
9560 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
9561
5a004279 95622008-09-24 Carles Pina i Estany <carles@pina.cat>
9563
9564 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
9565 Changed to 0x5100.
9566 (GRUB_TERM_PPAGE): Changed to 0x4900.
9567
397093d3 95682008-09-24 Robert Millan <rmh@aybabtu.com>
9569
9570 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
9571 macros (they were i386-pc specific).
9572 * include/grub/sparc64/ieee1275/console.h: Likewise.
9573 * include/grub/efi/console.h: Likewise.
9574
a91b6c7c 95752008-09-22 Bean <bean123ch@gmail.com>
9576
9577 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
9578 resident and in attribute list.
9579
9580 * include/grub/ntfs.h (BMP_LEN): Removed.
9581
c40fd116 95822008-09-22 Bean <bean123ch@gmail.com>
9583
81a06771 9584 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 9585 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
9586
9587 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
9588 error occurs, as grub_disk_open will call grub_disk_close, which will
9589 call p->close (scsi).
9590
81a06771 95912008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 9592
9593 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
9594 (AC_PREREQ): Bumped to 2.59.
9595 (AC_TRY_COMPILE): Replace obsolete macro with ...
9596 (AC_COMPILE_IFELSE): ... this.
9597 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
9598 (AC_LINK_IFELSE): ... this.
9599
5dc43410 96002008-09-21 Felix Zielcke <fzielcke@z-51.de>
9601
9602 * autogen.sh: Add a call to `gendistlist.sh'.
9603
9035dce4 96042008-09-19 Christian Franke <franke@computer.org>
9605
9606 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
9607 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
9608 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
9609 Export __enable_execute_stack() to modules.
9610 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
9611 New function.
9612
7fd75377 96132008-09-09 Felix Zielcke <fzielcke@z-51.de>
9614
040030b3 9615 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
9616 Sort the list.
9617
96182008-09-09 Felix Zielcke <fzielcke@z-51.de>
9619
9620 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 9621 #include <grub/util/hostdisk.h>.
9622
89d5ffcf 96232008-09-08 Robert Millan <rmh@aybabtu.com>
9624
9625 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
9626 segments when their filesz is zero (grub_file_read() interprets
81a06771 9627 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 9628 Use `lowest_segment' rather than 0 for calculating the current
9629 segment load address.
9630
40da438f 96312008-09-08 Robert Millan <rmh@aybabtu.com>
9632
9633 * util/hostdisk.c (open_device): Replace a grub_util_info() call
9634 with grub_dprintf("hostdisk", ...), as it was so verbose that it
9635 clobbered useful information.
9636
ddbf5556 96372008-09-08 Robert Millan <rmh@aybabtu.com>
9638
9639 * include/grub/util/biosdisk.h: Move to ...
9640 * include/grub/util/hostdisk.h: ... here. Update all users.
9641 * util/biosdisk.c: Move to ...
9642 * util/hostdisk.c: ... here. Update all users.
9643
783d0f48 96442008-09-07 Robert Millan <rmh@aybabtu.com>
9645
9646 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
9647 variables.
9648 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
9649 and length can be stored directly in the `mbi->mmap_addr' and
9650 `mbi->mmap_length' struct fields.
9651
548e2ea5 96522008-09-07 Robert Millan <rmh@aybabtu.com>
9653
9654 * conf/i386.rmk: New file. Provides declaration for building
9655 `cpuid.mod'.
9656 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
9657 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
9658 variables.
9659 Include `conf/i386.mk'.
9660 * conf/i386-efi.rmk: Likewise.
9661 * conf/x86_64-efi.rmk: Likewise.
9662 * conf/i386-coreboot.rmk: Likewise.
9663 * conf/i386-ieee1275.rmk: Likewise.
9664
0ea85a37 96652008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
9666
9667 Based on patch created by Colin D Bennett <colin@gibibit.com>.
9668 Adds optimization support for BGR based modes.
9669
9670 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
9671 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9672 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9673 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9674 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9675 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9676 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9677 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9678 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9679 (grub_video_i386_vbeblit_index_index): Likewise.
9680 (grub_video_i386_vbeblit_replace_directN): Added.
9681 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9682 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9683 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9684 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9685 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9686 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 9687 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 9688 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9689 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9690 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9691 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9692 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9693 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
9694
9695 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
9696 (grub_video_i386_vbefill_R8G8B8): Likewise.
9697 (grub_video_i386_vbefill_index): Likewise.
9698 (grub_video_i386_vbefill_direct32): Added.
9699 (grub_video_i386_vbefill_direct24): Likewise.
9700 (grub_video_i386_vbefill_direct16): Likewise.
9701 (grub_video_i386_vbefill_direct8): Likewise.
9702
81a06771 9703 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 9704 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
9705 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
9706 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
9707 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
9708 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 9709
0ea85a37 9710 * video/video.c (grub_video_get_blit_format): Updated to use new
9711 blit formats. Added handling for 16 bit color modes.
81a06771 9712
9713 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 9714 fillers.
9715 (common_blitter): Updated to use new blitters.
9716
9717 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
9718 Removed.
9719 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
9720 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
9721 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
9722 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
9723 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
9724 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
9725 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
9726 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
9727 (grub_video_i386_vbeblit_index_index): Likewise.
9728 (grub_video_i386_vbeblit_replace_directN): Added.
9729 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
9730 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
9731 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
9732 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
9733 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
9734 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
9735 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
9736 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
9737 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
9738 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
9739 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
9740 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
9741 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 9742
0ea85a37 9743 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
9744 (grub_video_i386_vbefill_R8G8B8): Likewise.
9745 (grub_video_i386_vbefill_index): Likewise.
9746 (grub_video_i386_vbefill_direct32): Added.
9747 (grub_video_i386_vbefill_direct24): Likewise.
9748 (grub_video_i386_vbefill_direct16): Likewise.
9749 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 9750
0ea85a37 9751 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
9752 types.
81a06771 9753
0ea85a37 9754 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
9755 types.
81a06771 9756
0ea85a37 9757 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
9758 blitter types.
81a06771 9759
0ea85a37 9760 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
9761 types.
9762
e8a83df6 97632008-09-06 Felix Zielcke <fzielcke@z-51.de>
9764
9765 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
9766 RAID level 1.
9767
6bcd8ee5 97682008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 9769
6bcd8ee5 9770 * fs/iso9660.c (grub_iso9660_date): New structure.
9771 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
9772 (grub_iso9660_uuid): New function.
c375ae58 9773
59261157 97742008-09-05 Bean <bean123ch@gmail.com>
9775
9776 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
9777
9778 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
9779 insensitive bit for names in Win32 and Win32 & DOS namespace.
9780
9781 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
9782
9783 * include/grub/types.h (LONG_MAX): Likewise.
9784
58b6645a 97852008-09-04 Felix Zielcke <fzielcke@z-51.de>
9786
4ee55921 9787 * util/getroot.c: Include <config.h>.
9788 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
9789 add support for /dev/md/N devices and handle LVM double dash escaping.
9790
97912008-09-04 Felix Zielcke <fzielcke@z-51.de>
9792
9793 * config.guess: Update to latest version from config git.
9794 * config.sub: Likewise.
58b6645a 9795
9124f65d 97962008-09-03 Robert Millan <rmh@aybabtu.com>
9797
9798 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
9799 `disk->total_sectors'.
9800
81a06771 98012008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 9802
9803 * include/grub/normal.h: Fixed incorrect comment for
9804 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
9805
81a06771 98062008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 9807
9808 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
9809 values with defines.
9810
9811 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
9812 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
9813 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
9814 (GRUB_VBE_MODEATTR_COLOR): Likewise.
9815 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
9816 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
9817 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
9818 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
9819 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
9820 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
9821 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
9822 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
9823 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
9824 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
9825 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
9826 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
9827 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
9828 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
9829 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
9830
93d5cbf8 98312008-08-31 Robert Millan <rmh@aybabtu.com>
9832
9833 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
9834 declaration.
9835 (grub_multiboot): Fix a few warnings.
9836
21751d50 98372008-08-31 Robert Millan <rmh@aybabtu.com>
9838
9839 * loader/i386/pc/multiboot.c: Update comment not to say that
9840 boot_device support is unimplemented.
9841
e27a75c5 98422008-08-31 Robert Millan <rmh@aybabtu.com>
9843
9844 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
9845 or memory map support are unimplemented.
9846
81a06771 98472008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 9848
9849 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
9850
81a06771 98512008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 9852
9853 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
9854 total video memory in 'vbeinfo' output; show color format details for
9855 each video mode.
9856
7c5d8d95 98572008-08-30 Pavel Roskin <proski@gnu.org>
9858
9859 * util/genmoddep.c: Remove for real this time.
9860 * DISTLIST: Remove util/genmoddep.c.
9861
4cebd25a 98622008-08-30 Robert Millan <rmh@aybabtu.com>
9863
9864 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
9865 as required by Multiboot spec (it was already 4-byte aligned, but
9866 only by chance).
9867
b497a269 98682008-08-29 Pavel Roskin <proski@gnu.org>
9869
e3925185 9870 * kern/powerpc/ieee1275/crt0.S: Rename to ...
9871 * kern/powerpc/ieee1275/startup.S: ... this.
9872 * conf/powerpc-ieee1275.rmk: Adjust for the above.
9873 * DISTLIST: Likewise.
9874
b497a269 9875 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
9876 grub/cpu/kernel.h. Add start label for consistency with other
9877 platforms. Add grub_prefix immediately after start. Add jump
9878 to the code after grub_prefix.
9879 * include/grub/powerpc/kernel.h: Provide valid values for
9880 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
9881
6e5a42fe 98822008-08-29 Bean <bean123ch@gmail.com>
9883
9884 * configure.ac: Change host_os to cygwin for mingw.
9885 (asprintf): New check for function.
9886
9887 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
9888 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
9889
9890 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 9891 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 9892 sync, sleep and grub_util_get_disk_size for mingw.
9893
9894 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
9895 to get size in mingw.
9896 (open_device): Use flag O_BINARY if it's defined.
9897 (find_root_device): Add dummy code for mingw.
9898
9899 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
9900 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
9901 (get_scsi_disk_name): Return 0 for mingw.
9902
9903 * util/hostfs.c: #include <grub/util/misc.h>.
9904 (grub_hostfs_open): Use "rb" flag to open file, use
9905 grub_util_get_disk_size to get disk size for mingw.
9906
9907 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
9908 (asprintf): New function if HAVE_ASPRINTF is not set.
9909 (sync): New function for mingw.
9910 (sleep): Likewise.
9911 (grub_util_get_disk_size): Likewise.
9912
ab3f2673 99132008-08-28 Pavel Roskin <proski@gnu.org>
9914
9915 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9916 kern/time.c.
9917
1c282483 99182008-08-28 Robert Millan <rmh@aybabtu.com>
9919
9920 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
9921
678e849c 99222008-08-28 Robert Millan <rmh@aybabtu.com>
9923
9924 Change find_grub_drive() syntax so it doesn't prevent it from
9925 detecting NULL names as errors.
9926
9927 * util/biosdisk.c (find_grub_drive): Move free slot search code
9928 from here ...
9929 (find_free_slot): ... to here.
9930 (read_device_map): Use find_free_slot() to search for free slots.
9931
965c75ca 99322008-08-27 Marco Gerards <marco@gnu.org>
9933
9934 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
9935 (scsi_mod_SOURCES): New variable.
9936 (scsi_mod_CFLAGS): Likewise
9937 (scsi_mod_LDFLAGS): Likewise.
9938
9939 * disk/scsi.c: New file.
9940
9941 * include/grub/scsi.h: Likewise.
9942
9943 * include/grub/scsicmd.h: Likewise.
9944
9945 * disk/ata.c: Include <grub/scsi.h>.
9946 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
9947 instead.
9948 (grub_ata_iterate): Skip ATAPI devices.
9949 (grub_ata_open): Only handle ATAPI devices.
9950 (struct grub_atapi_read): Removed.
9951 (grub_atapi_readsector): Likewise.
9952 (grub_ata_read): No longer handle ATAPI devices.
9953 (grub_ata_write): Likewise.
9954 (grub_atapi_iterate): New function.
9955 (grub_atapi_read): Likewise.
9956 (grub_atapi_write): Likewise.
9957 (grub_atapi_open): Likewise.
9958 (grub_atapi_close): Likewise.
9959 (grub_atapi_dev): New variable.
9960 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
9961 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
9962
9963 * include/grub/disk.h (enum grub_disk_dev_id): Add
9964 `GRUB_DISK_DEVICE_SCSI_ID'.
9965
c07ae501 99662008-08-26 Robert Millan <rmh@aybabtu.com>
9967
9968 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
9969 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
9970 descriptive.
9971
5ed20adc 99722008-08-23 Bean <bean123ch@gmail.com>
9973
9974 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
9975 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9976 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
9977 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
9978 dm_nv.mod.
9979 (raid5rec_mod_SOURCES): New macro.
9980 (raid5rec_mod_CFLAGS): Likewise.
9981 (raid5rec_mod_LDFLAGS): Likewise.
9982 (raid6rec_mod_SOURCES): Likewise.
9983 (raid6rec_mod_CFLAGS): Likewise.
9984 (raid6rec_mod_LDFLAGS): Likewise.
9985 (mdraid_mod_SOURCES): Likewise.
9986 (mdraid_mod_CFLAGS): Likewise.
9987 (mdraid_mod_LDFLAGS): Likewise.
9988 (dm_nv_mod_SOURCES): Likewise.
9989 (dm_nv_mod_CFLAGS): Likewise.
9990 (dm_nv_mod_LDFLAGS): Likewise.
9991
9992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
9993 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9994 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9995
9996 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
9997 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9998
9999 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10000
10001 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10002
10003 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10004
10005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10006
10007 * disk/raid5_recover.c: New file.
10008
10009 * disk/raid6_recover.c: Likewise.
10010
10011 * disk/mdraid_linux.c: Likewise.
10012
10013 * disk/dmraid_nvidia.c: Likewise.
10014
10015 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
10016 ULONG_MAX.
10017
10018 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
10019 calculate the size of raid device.
10020 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
10021 different layout of raid5.
10022 (grub_raid_scan_device): Remove code specific to mdraid.
10023 (grub_raid_list): New variable.
10024 (free_array): New function.
10025 (grub_raid_register): Likewise.
10026 (grub_raid_unregister): Likewise.
10027 (grub_raid_rescan): Likewise.
10028 (GRUB_MOD_INIT): Don't iterate device here.
10029 (GRUB_MOD_FINI): Use free_array to release resource.
10030
10031 * include/grub/raid.h: Remove macro and structure specific to mdraid.
10032 (grub_raid5_recover_func_t): New function variable type.
10033 (grub_raid6_recover_func_t): Likewise.
10034 (grub_raid5_recover_func): New variable.
10035 (grub_raid6_recover_func): Likewise.
10036 (grub_raid_register): New function.
10037 (grub_raid_unregister): Likewise.
10038 (grub_raid_rescan): Likewise.
10039 (grub_raid_block_xor): Likewise.
10040
10041 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
10042 (CMD_CRC): New macro.
10043 (part): Removed.
10044 (read_file): Handle device as well as file.
10045 (cmd_crc): New function.
10046 (fstest): Handle multiple disks.
10047 (options): Remove part, raw and long, add root and diskcount.
10048 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 10049 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 10050 add handling for the new options, support multiple disks.
10051
10052 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
10053
29c18915 100542008-08-23 Bean <bean123ch@gmail.com>
10055
10056 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
10057
10058 * genfslist.sh: Ignore kernel.mod.
10059
10060 * genpartmaplist.sh: Likewise.
10061
8415f261 100622008-08-23 Robert Millan <rmh@aybabtu.com>
10063
10064 * util/getroot.c (find_root_device): Skip anything that starts with
10065 a dot, not just directories. This avoids things like /dev/.tmp.md0.
10066
d5a7dc5b 100672008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 10068
d5a7dc5b 10069 * util/update-grub.in (GRUB_GFXMODE): Export variable.
10070 * util/grub.d/00_header.in: Allow the administrator to change default
10071 gfxmode via ${GRUB_GFXMODE}.
10072
380cfbb4 100732008-08-21 Felix Zielcke <fzielcke@z-51.de>
10074
10075 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
10076
c9baafe7 100772008-08-21 Robert Millan <rmh@aybabtu.com>
10078
10079 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
10080 loader.
10081 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
10082 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
10083
e290bef2 100842008-08-20 Carles Pina i Estany <carles@pina.cat>
10085
10086 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
10087 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
10088
f9dbfc96 100892008-08-19 Robert Millan <rmh@aybabtu.com>
10090
10091 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
10092 (struct grub_virtual_screen): Remove `cursor_color'.
10093 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
10094 initialization.
10095 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
10096
dd6bd6ab 100972008-08-18 Robert Millan <rmh@aybabtu.com>
10098
10099 Unify (identical) linux_normal.c files.
10100 * loader/i386/efi/linux_normal.c: Move from here ...
10101 * loader/linux_normal.c: ... to here. Update all users.
10102 * loader/i386/pc/linux_normal.c: Delete. Update all users.
10103 * loader/i386/ieee1275/linux_normal.c: Likewise.
10104
7f42f83e 101052008-08-18 Robert Millan <rmh@aybabtu.com>
10106
10107 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
10108 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
10109 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
10110 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
10111 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
10112 New macros.
10113 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
10114 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
10115 (GRUB_LINUX_CL_END_OFFSET): ... to here.
10116 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
10117 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
10118 (GRUB_EFI_CL_END_OFFSET): Rename to ...
10119 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
10120 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
10121 Initialize `params->video_cursor_x' and `params->video_cursor_y'
10122 portably using grub_getxy().
10123 Replace `-EFI' with `-bzImage' in boot message.
10124
38487ddb 101252008-08-17 Robert Millan <rmh@aybabtu.com>
10126
10127 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
10128
deceb3ec 101292008-08-17 Robert Millan <rmh@aybabtu.com>
10130
10131 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
10132
10133 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
10134 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
10135 (grub_machine_mmap_iterate): New function declaration.
10136 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
10137 structure.
10138 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
10139 macros.
10140
10141 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
10142 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
10143 Move e820 parsing from here ...
10144 * kern/i386/pc/mmap.c: New file.
10145 (grub_machine_mmap_iterate): ... to here.
10146
10147 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
10148 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
10149 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
10150 (grub_available_iterate): Redeclare to return `void', and redeclare
10151 its hook to use grub_uint64_t as addr and size parameters, and rename
10152 to ...
10153 (grub_machine_mmap_iterate): ... this. Update all users.
10154
10155 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
10156 to make it more readable. Rename to ...
10157 (grub_machine_mmap_iterate): ... this.
10158
10159 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
10160 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
10161 (grub_multiboot): Allocate an extra region after the payload, and fill
10162 it with a Multiboot memory map. Adjust a.out loader to calculate size
10163 with the extra space.
10164 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
10165 with the extra space.
10166
f8aa0f43 101672008-08-17 Carles Pina i Estany <carles@pina.cat>
10168
9807deb9 10169 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 10170
605f5bb6 101712008-08-17 Felix Zielcke <fzielcke@z-51.de>
10172
10173 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
10174 mdate-sh to the list `find' searches for.
10175 * DISTLIST: Regenerated.
10176
210db6c6 101772008-08-16 Felix Zielcke <fzielcke@z-51.de>
10178
10179 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
10180 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 10181 genmoddep.awk, gensymlist.sh.in.
10182 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 10183 * DISTLIST: Regenerated.
48cdbfd4 10184 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 10185
1082b929 101862008-08-16 Robert Millan <rmh@aybabtu.com>
10187
10188 * disk/raid.c (grub_raid_init): Handle/report errors set by
10189 grub_device_iterate().
10190 * disk/lvm.c (grub_lvm_init): Likewise.
10191
42ce5170 101922008-08-15 Bean <bean123ch@gmail.com>
10193
10194 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10195 and datehook.mod.
10196 (datetime_mod_SOURCES): New macro.
10197 (datetime_mod_CFLAGS): Likewise.
10198 (datetime_mod_LDFLAGS): Likewise.
10199 (date_mod_SOURCES): Likewise.
10200 (date_mod_CFLAGS): Likewise.
10201 (date_mod_LDFLAGS): Likewise.
10202 (datehook_mod_SOURCES): Likewise.
10203 (datehook_mod_CFLAGS): Likewise.
10204 (datehook_mod_LDFLAGS): Likewise.
10205
10206 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10207 and datehook.mod.
10208 (datetime_mod_SOURCES): New macro.
10209 (datetime_mod_CFLAGS): Likewise.
10210 (datetime_mod_LDFLAGS): Likewise.
10211 (date_mod_SOURCES): Likewise.
10212 (date_mod_CFLAGS): Likewise.
10213 (date_mod_LDFLAGS): Likewise.
10214 (datehook_mod_SOURCES): Likewise.
10215 (datehook_mod_CFLAGS): Likewise.
10216 (datehook_mod_LDFLAGS): Likewise.
10217
10218 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10219 and datehook.mod.
10220 (datetime_mod_SOURCES): New macro.
10221 (datetime_mod_CFLAGS): Likewise.
10222 (datetime_mod_LDFLAGS): Likewise.
10223 (date_mod_SOURCES): Likewise.
10224 (date_mod_CFLAGS): Likewise.
10225 (date_mod_LDFLAGS): Likewise.
10226 (datehook_mod_SOURCES): Likewise.
10227 (datehook_mod_CFLAGS): Likewise.
10228 (datehook_mod_LDFLAGS): Likewise.
10229
10230 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10231 and datehook.mod.
10232 (datetime_mod_SOURCES): New macro.
10233 (datetime_mod_CFLAGS): Likewise.
10234 (datetime_mod_LDFLAGS): Likewise.
10235 (date_mod_SOURCES): Likewise.
10236 (date_mod_CFLAGS): Likewise.
10237 (date_mod_LDFLAGS): Likewise.
10238 (datehook_mod_SOURCES): Likewise.
10239 (datehook_mod_CFLAGS): Likewise.
10240 (datehook_mod_LDFLAGS): Likewise.
10241
10242 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
10243 and datehook.mod.
10244 (datetime_mod_SOURCES): New macro.
10245 (datetime_mod_CFLAGS): Likewise.
10246 (datetime_mod_LDFLAGS): Likewise.
10247 (date_mod_SOURCES): Likewise.
10248 (date_mod_CFLAGS): Likewise.
10249 (date_mod_LDFLAGS): Likewise.
10250 (datehook_mod_SOURCES): Likewise.
10251 (datehook_mod_CFLAGS): Likewise.
10252 (datehook_mod_LDFLAGS): Likewise.
10253
10254 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
10255
10256 * commands/date.c: New file.
10257
10258 * hook/datehook.c: Likewise.
10259
10260 * include/grub/lib/datetime.h: Likewise.
10261
10262 * include/grub/i386/cmos.h: Likewise.
10263
10264 * lib/datetime.c: Likewise.
10265
10266 * lib/i386/datetime.c: Likewise.
10267
10268 * lib/efi/datetime.c: Likewise.
10269
0e9242da 102702008-08-14 Robert Millan <rmh@aybabtu.com>
10271
10272 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
10273 (grub_mkelfimage_SOURCES): New variable.
10274 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
10275
10276 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
10277 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
10278 * conf/powerpc-ieee1275.rmk: Likewise.
10279 * conf/i386-ieee1275.rmk: Likewise.
10280
10281 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
10282 * kern/i386/coreboot/init.c: Likewise.
10283
10284 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
10285 with `<grub/cpu/kernel.h>'.
10286 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
10287 to ...
10288 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
10289 * kern/i386/coreboot/startup.S: Likewise.
10290
10291 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
10292 (GRUB_MOD_GAP): Remove.
10293 * include/grub/powerpc/kernel.h: New file.
10294 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
10295 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10296 * include/grub/i386/kernel.h: New file.
10297 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
10298 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
10299 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
10300
10301 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
10302 `grub-mkelfimage'.
10303 Use --directory when invoking grub_mkimage.
10304
10305 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
10306 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
10307 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
10308 and GRUB_KERNEL_CPU_PREFIX.
10309
b86408f8 103102008-08-14 Felix Zielcke <fzielcke@z-51.de>
10311
d5e619ca 10312 * include/grub/err.h (grub_err_printf): New function prototype.
10313 * util/misc.c (grub_err_printf): New function.
10314 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
10315 grub_printf.
10316 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 10317
7161f0e0 103182008-08-13 Robert Millan <rmh@aybabtu.com>
10319
10320 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
10321
a1967522 103222008-08-13 Robert Millan <rmh@aybabtu.com>
10323
10324 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
10325 boot entry.
10326
371458b5 103272008-08-12 Robert Millan <rmh@aybabtu.com>
10328
10329 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
10330 of the relocation code from here ...
10331 (grub_multiboot): ... to here.
10332 (forward_relocator, backward_relocator): Move from here ...
10333 * kern/i386/loader.S (grub_multiboot_forward_relocator)
10334 (grub_multiboot_backward_relocator): ... to here.
10335 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
10336 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
10337 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
10338 (grub_multiboot_forward_relocator_end)
10339 (grub_multiboot_backward_relocator)
10340 (grub_multiboot_backward_relocator_end): New variables.
10341
05f9452b 103422008-08-12 Bean <bean123ch@gmail.com>
10343
10344 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
10345
20024ab0 103462008-08-11 Robert Millan <rmh@aybabtu.com>
10347
10348 * kern/i386/linuxbios/startup.S: Move from here ...
10349 * kern/i386/coreboot/startup.S: ... to here.
10350
10351 * kern/i386/linuxbios/init.c: Move from here ...
10352 * kern/i386/coreboot/init.c: ... to here.
10353
10354 * kern/i386/linuxbios/table.c: Move from here ...
10355 * kern/i386/coreboot/mmap.c: ... to here.
10356
10357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
10358
e352e9cd 103592008-08-11 Robert Millan <rmh@aybabtu.com>
10360
10361 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
10362 errors. Leave it to the upper layer to handle them.
10363
2d05bc6a 103642008-08-09 Christian Franke <franke@computer.org>
10365
10366 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
10367 * conf/common.rmk: Install `grub-pe2elf' only if requested.
10368 Install `grub.d/10_windows' only on Cygwin.
10369 * configure.ac: Add subst of `target_os'.
10370 Check `target_os' also before setting TARGET_OBJ2ELF.
10371 Add `--enable-grub-pe2elf'.
10372
042bd419 103732008-08-08 Robert Millan <rmh@aybabtu.com>
10374
10375 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10376 (grub_last_time): Change type to grub_uint64_t.
10377 (grub_disk_open): Migrate code from to using grub_get_time_ms().
10378 (grub_disk_close): Likewise.
10379
10380 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
10381 (run_menu): Migrate code from to using grub_get_time_ms().
10382
10383 * util/misc.c (grub_get_time_ms): New function.
10384
7f280db5 103852008-08-08 Marco Gerards <marco@gnu.org>
10386
10387 * disk/ata.c (grub_ata_regget): Change return type to
10388 `grub_uint8_t'.
10389 (grub_ata_regget2): Likewise.
10390 (grub_ata_wait_status): New function.
10391 (grub_ata_wait_busy): Removed function, updated all users to use
10392 `grub_ata_wait_status'.
10393 (grub_ata_wait_drq): Likewise.
10394 (grub_ata_cmd): New function.
10395 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
10396 error handling.
10397 (grub_ata_pio_write): Add error handling.
10398 (grub_atapi_identify): Likewise.
10399 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
10400 handling.
10401 (grub_ata_identify): Use `grub_ata_cmd' and improve error
10402 handling. Actually use the detected registers. Reorder the
10403 detection logic such that it is easier to read.
10404 (grub_ata_pciinit): Do not assign the same ID to each controller.
10405 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
10406 handling.
10407 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
10408
10409 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
10410
1fbc5e66 104112008-08-08 Marco Gerards <marco@gnu.org>
10412
10413 * NEWS: Update.
10414
819ce6c0 104152008-08-07 Bean <bean123ch@gmail.com>
10416
10417 * include/grub/x86_64/pci.h: New file.
10418
5c41d44d 104192008-08-07 Christian Franke <franke@computer.org>
10420
10421 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
10422 (TIMER2_GATE): Likewise.
10423 (grub_pit_wait): Add enable/disable of the timer2 gate
10424 bit of port 0x61. This fixes a possible infinite loop.
10425
5ebc275d 104262008-08-07 Bean <bean123ch@gmail.com>
10427
10428 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
10429 kern/i386/tsc.c and kern/i386/pit.c.
10430
10431 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
10432 x86_64 platform.
10433
10434 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
10435 <grub/i386/tsc.h>.
10436
10437 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
10438
e383b3d0 104392008-08-07 Bean <bean123ch@gmail.com>
10440
10441 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
10442
10443 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
10444
10445 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
10446 multiple inclusion. Add #include <grub/types.h>.
10447
1cbb58ac 104482008-08-06 Christian Franke <franke@computer.org>
10449
10450 * conf/common.rmk: Build and install `10_windows'.
10451 * util/grub.d/10_windows.in: New script.
10452
337f5a1e 104532008-08-06 Pavel Roskin <proski@gnu.org>
10454
10455 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
10456
057bc4ac 104572008-08-06 Robert Millan <rmh@aybabtu.com>
10458
10459 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
10460 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
10461
2b99f123 104622008-08-06 Bean <bean123ch@gmail.com>
10463
10464 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
10465 (grub_pxefs_fs_int): Remove dummy definition.
10466 (grub_pxefs_open): Use data->block_size to store the current block
10467 size setting.
10468 (grub_pxefs_read): Use block size stored in data->block_size. As the
10469 value of grub_pxe_blksize can be changed after the file is opened.
10470
9f0234cb 104712008-08-06 Bean <bean123ch@gmail.com>
10472
10473 * fs/i386/pc/pxe.c (curr_file): new variable.
10474 (grub_pxefs_open): Simply the handling of pxe file system. Don't
10475 require the dummy internal file system anymore.
10476 (grub_pxefs_read): Removed.
10477 (grub_pxefs_close): Likewise.
10478 (grub_pxefs_fs_int): Likewise.
10479 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
10480 connection when we switch file.
10481 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
10482
a55d42e0 104832008-08-06 Robert Millan <rmh@aybabtu.com>
10484
10485 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
10486 `halt.mod'.
10487 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
10488 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
10489
10490 * kern/i386/halt.c: New file.
10491 * kern/i386/reboot.c: Likewise.
10492 * include/grub/i386/reboot.h: Likewise.
10493 * include/grub/i386/halt.h: Likewise.
10494
10495 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
10496 Include `<grub/cpu/halt.h>'.
10497 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
10498 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
10499
10500 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
10501 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
10502 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
10503 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
10504 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
10505 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
10506 from here ...
10507 * include/grub/i386/at_keyboard.h: ... to here.
10508
24371d26 105092008-08-05 Robert Millan <rmh@aybabtu.com>
10510
10511 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
10512 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
10513 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
10514 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10515 `kern/generic/millisleep.c'.
10516
10517 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
10518 instead of grub_get_rtc().
10519 (grub_tsc_init): Initialize `tsc_boot_time'.
10520
10521 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
10522 (grub_machine_init): Use grub_tsc_init() rather than
10523 installing an RTC-based handler via grub_install_get_time_ms().
10524
10525 * kern/i386/pit.c: New file.
10526 * include/grub/i386/pit.h: Likewise.
10527
9e7007b3 105282008-08-05 Bean <bean123ch@gmail.com>
10529
10530 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
10531
10532 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
10533 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
10534 (pxe_mod_SOURCES): New macro.
10535 (pxe_mod_CFLAGS): Likewise.
10536 (pxe_mod_LDFLAGS): Likewise.
10537 (pxecmd_mod_SOURCES): Likewise.
10538 (pxecmd_mod_CFLAGS): Likewise.
10539 (pxecmd_mod_LDFLAGS): Likewise.
10540
10541 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
10542 (grub_pxe_call): Likewise.
10543
10544 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
10545
10546 * commands/i386/pc/pxecmd.c: New file.
10547
9f0234cb 10548 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 10549
10550 * include/grub/i386/pc/pxe.h: Likewise.
10551
6977d49f 105522008-08-05 Bean <bean123ch@gmail.com>
10553
10554 * util/console.c (grub_console_cur_color): New variable.
10555 (grub_console_standard_color): Likewise.
10556 (grub_console_normal_color): Likewise.
10557 (grub_console_highlight_color): Likewise.
10558 (color_map): Likewise.
10559 (use_color): Likewise.
10560 (NUM_COLORS): New macro.
10561 (grub_ncurses_setcolorstate): Handle color properly.
10562 (grub_ncurses_setcolor): Don't change color here, just remember the
10563 settings, color will be set in grub_ncurses_setcolorstate.
10564 (grub_ncurses_getcolor): New function.
10565 (grub_ncurses_init): Initialize color pairs.
10566 (grub_ncurses_term): New member grub_ncurses_getcolor.
10567
9c2ff3ee 105682008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 10569
9c2ff3ee 10570 High resolution timer support. Implemented for x86 CPUs using TSC.
10571 Extracted generic grub_millisleep() so it's linked in only as needed.
10572 This requires a Pentium compatible CPU; if the RDTSC instruction is
10573 not supported, then it falls back on the generic grub_get_time_ms()
10574 implementation that uses the machine's RTC.
10575
10576 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
10577 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
10578 `kern/generic/millisleep.c'.
10579
10580 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
10581 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
10582
10583 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
10584 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
10585
10586 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10587
10588 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
10589 `kern/generic/millisleep.c'.
10590
10591 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10592
10593 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
10594
10595 * kern/generic/rtc_get_time_ms.c: New file.
10596
10597 * kern/generic/millisleep.c: New file.
337f5a1e 10598
9c2ff3ee 10599 * kern/misc.c: Don't include
10600 <kern/time.h> anymore.
10601 (grub_millisleep_generic): Removed.
10602
10603 * commands/sleep.c (grub_interruptible_millisleep): Uses
10604 grub_get_time_ms() instead of grub_get_rtc().
10605
10606 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
10607 function.
10608 (grub_cpu_is_cpuid_supported): New inline function.
10609 (grub_cpu_is_tsc_supported): New inline function.
10610 (grub_tsc_init): New function prototype.
10611 (grub_tsc_get_time_ms): New function prototype.
10612
10613 * kern/i386/tsc.c (grub_get_time_ms): New file.
10614
10615 * include/grub/time.h: Include <grub/types.h.
10616 (grub_millisleep_generic): Removed.
10617 (grub_get_time_ms): New prototype.
10618 (grub_install_get_time_ms): New prototype.
10619 (grub_rtc_get_time_ms): New prototype.
10620
10621 * kern/time.c (grub_get_time_ms): New function.
10622 (grub_install_get_time_ms): New function.
10623
10624 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
10625 <grub/time.h> anymore.
10626 (grub_millisleep): Removed.
10627 (grub_machine_init): Call grub_tsc_init.
10628
10629 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
10630 get_time_ms() implementation.
10631
10632 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
10633 (ieee1275_get_time_ms): New function.
10634 (grub_machine_init): Install get_time_ms() implementation.
10635
10636 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
10637 (grub_machine_init): Call grub_tsc_init().
10638 (grub_millisleep): Removed.
bf06a93f 10639
9c2ff3ee 10640 * kern/ieee1275/init.c (grub_millisleep): Removed.
10641 (grub_machine_init): Install ieee1275_get_time_ms()
10642 implementation.
10643 (ieee1275_get_time_ms): New function.
10644 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
10645 real work.
10646
9ec92aaf 106472008-08-05 Marco Gerards <marco@gnu.org>
10648
10649 * disk/ata.c: Include <grub/pci.h>.
10650 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
10651 (grub_ata_initialize): Rewritten.
10652 (grub_ata_device_initialize): New function.
10653
8d23f507 106542008-08-04 Pavel Roskin <proski@gnu.org>
10655
10656 * kern/main.c: Include grub/mm.h.
10657
5e15ee3d 106582008-08-04 Robert Millan <rmh@aybabtu.com>
10659
10660 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
10661 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
10662 corruption problem).
10663
a9053f8f 106642008-08-04 Robert Millan <rmh@aybabtu.com>
10665
10666 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
10667 warnings introduced in my last commit.
10668
dd19c7d7 106692008-08-03 Robert Millan <rmh@aybabtu.com>
10670
10671 Make PCI available on all i386 architectures.
10672
10673 * include/grub/i386/pc/pci.h: Move from here ...
10674 * include/grub/i386/pci.h: ... to here.
10675
10676 * include/grub/i386/pc/pci.h: Remove.
10677 * include/grub/i386/efi/pci.h: Remove.
10678 * include/grub/x86_64/efi/pci.h: Remove.
10679
10680 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
10681 `<grub/cpu/pci.h>'.
10682
10683 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
10684 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
10685 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
10686
10687 * conf/i386-ieee1275.rmk: Likewise.
10688
e14a6184 106892008-08-03 Robert Millan <rmh@aybabtu.com>
10690
10691 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
10692 (grub_console_setcursor): Make it possible to set cursor off.
10693
52768e37 106942008-08-03 Robert Millan <rmh@aybabtu.com>
10695
10696 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
10697 of modules instead of assuming which platform provides what.
10698 * util/update-grub.in: Likewise.
10699
2d52f57f 107002008-08-03 Robert Millan <rmh@aybabtu.com>
10701
10702 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
10703 instead of `grub_install_dos_part' to determine whether a drive needs
10704 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 10705 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 10706
2a5cd121 107072008-08-02 Robert Millan <rmh@aybabtu.com>
10708
10709 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
10710
93808428 107112008-08-02 Robert Millan <rmh@aybabtu.com>
10712
10713 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
10714 of informational grub_dprintf() calls.
10715
3bd0a12a 107162008-08-02 Robert Millan <rmh@aybabtu.com>
10717
10718 * disk/memdisk.c (memdisk_size): Don't initialize.
10719 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
10720
10721 * include/grub/i386/pc/kernel.h
10722 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
10723 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
10724 (grub_memdisk_image_size, grub_arch_memdisk_addr)
10725 (grub_arch_memdisk_size): Remove.
10726
10727 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
10728 field (was only used to transfer a constant). Add `type' field to
10729 support multiple module types.
10730 (grub_module_iterate): New function.
10731
10732 * kern/device.c (grub_device_open): Do not hide error messages
10733 when grub_disk_open() fails. Use grub_print_error() instead.
10734
10735 * kern/i386/pc/init.c (grub_arch_modules_addr)
10736 (grub_arch_memdisk_size): Remove functions.
10737 (grub_arch_modules_addr): Return the module address in high memory
10738 (now that it isn't copied anymore).
10739
10740 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
10741 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
10742 decompression routine (grub_total_module_size already includes that
10743 now). Don't copy modules back to low memory.
10744
10745 * kern/main.c: Include `<grub/mm.h>'.
10746 (grub_load_modules): Split out (and use) ...
10747 (grub_module_iterate): ... this function, which iterates through
10748 module objects and runs a hook.
10749 Comment out grub_mm_init_region() call, as it would cause non-ELF
10750 modules to be overwritten.
10751
10752 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
10753 the memdisk image in its own region, make it part of the module list.
10754 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
10755 (main): Parse --memdisk|-m option, and pass user-provided path as
10756 parameter to generate_image().
10757 (add_segments): Pass `memdisk_path' down to load_modules().
10758 (load_modules): Embed memdisk image in module section when requested.
10759 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
10760 `header.type' instead of `header.offset'.
10761
10762 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
10763 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
10764 (memdisk_mod_LDFLAGS): New variables.
10765 * conf/i386-coreboot.rmk: Likewise.
10766 * conf/i386-ieee1275.rmk: Likewise.
10767
a927cc73 107682008-08-02 Robert Millan <rmh@aybabtu.com>
10769
10770 * loader/i386/pc/multiboot.c (playground, forward_relocator)
10771 (backward_relocator): New variables. Used to allocate and relocate
10772 the payload, respectively.
10773 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 10774 address, install the appropriate relocator code in each bound of
a927cc73 10775 the payload, and set the entry point such that
10776 grub_multiboot_real_boot() will jump to one of them.
10777
10778 * kern/i386/loader.S (grub_multiboot_payload_size)
10779 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10780 (grub_multiboot_payload_entry_offset): New variables.
10781 (grub_multiboot_real_boot): Set cpu context to what the relocator
10782 expects, and jump to the relocator instead of the payload.
10783
10784 * include/grub/i386/loader.h (grub_multiboot_payload_size)
10785 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
10786 (grub_multiboot_payload_entry_offset): Export.
10787
b15d8a0c 107882008-08-01 Bean <bean123ch@gmail.com>
10789
10790 * normal/menu_entry.c (editor_getline): Don't return the original
10791 string as result, as it will be released by lexer once it has done
10792 using it.
10793
cdfb3d22 107942008-08-01 Robert Millan <rmh@aybabtu.com>
10795
10796 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
10797 within menuentries, not before them.
10798 util/grub.d/10_hurd.in: Likewise.
10799
9175e93d 108002008-08-01 Bean <bean123ch@gmail.com>
10801
10802 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
10803 (bufio_mod_SOURCES): New macro.
10804 (bufio_mod_CFLAGS): Likewise.
10805 (bufio_mod_LDFLAGS): Likewise.
10806
10807 * include/grub/bufio.h: New file.
10808
10809 * io/bufio.c: Likewise.
10810
10811 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
10812 (grub_video_reader_png): Use grub_buffile_open to open file.
10813
10814 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
10815 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
10816
10817 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
10818 (grub_video_reader_tga): Use grub_buffile_open to open file.
10819
10820 * font/manager.c: Include <grub/bufio.h>.
10821 (add_font): Use grub_buffile_open to open file.
10822
3d8383e7 108232008-07-31 Robert Millan <rmh@aybabtu.com>
10824
10825 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
10826 ELF segments, use a macro for arbitrarily accessing any of them instead
10827 of preparing a pointer that allows access to one at a time.
10828 (grub_multiboot_load_elf64): Likewise.
10829
16e641b6 108302008-07-31 Bean <bean123ch@gmail.com>
10831
10832 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
10833 GRUB_KERNEL_MACHINE_DATA_END.
10834
59198b72 108352008-07-30 Robert Millan <rmh@aybabtu.com>
10836
10837 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
10838 Increase from 0x50 to 0x60.
10839 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
10840 use UUIDs to identify the root drive for them. If that's not
10841 possible, abort.
10842 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
10843 check, for cross-disk installs.
10844
ae88bca3 108452008-07-30 Robert Millan <rmh@aybabtu.com>
10846
10847 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
10848 is non-empty, use it to set the `prefix' environment variable instead
10849 of the usual approach.
10850 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
10851 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
10852 environment variable instead of dummy make_install_device().
10853
10854 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
10855 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 10856 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 10857
10858 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
10859 New variable reference.
10860 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
10861 New macro. Defines offset of `grub_prefix' within startup.S (relative
10862 to `start').
10863 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
10864 section within startup.S (relative to `start').
10865 * include/grub/i386/coreboot/kernel.h: Likewise.
10866
10867 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
10868 Overwrite grub_prefix with its contents, at the beginning of the
10869 first segment.
10870 (main): Understand -p|--prefix.
10871
14f41dd1 108722008-07-30 Robert Millan <rmh@aybabtu.com>
10873
10874 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
10875
4ca049a3 108762008-07-30 Robert Millan <rmh@aybabtu.com>
10877
10878 * term/i386/pc/vga_text.c (grub_console_cls): Use
10879 grub_console_gotoxy() to go back to beginning of the screen.
10880 Found by Patrick Georgi <patrick.georgi@coresystems.de>
10881
2921d337 108822008-07-29 Christian Franke <franke@computer.org>
10883
10884 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10885 Add conversion of emulated mount points on Cygwin.
10886
b609876d 108872008-07-29 Christian Franke <franke@computer.org>
10888
10889 * util/update-grub.in: Add a check for admin
10890 group on Cygwin.
10891 Remove old `grub.cfg.new' before creation.
10892 Add `-f' to `mv' to handle the different filesystem
10893 semantics of Windows.
10894
e93e4679 108952008-07-29 Bean <bean123ch@gmail.com>
10896
10897 * normal/main.c (get_line): Fix buffer overflow bug.
10898
41694fd0 108992008-07-28 Robert Millan <rmh@aybabtu.com>
10900
10901 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
10902 (struct grub_apple_header): New struct. Describes the layout of
10903 the partmap header.
10904 (apple_partition_map_iterate): Check the header magic as well as the
10905 partition magic (which was already being checked).
10906
cfd0b4e6 109072008-07-28 Pavel Roskin <proski@gnu.org>
10908
10909 * genmk.rb: Add a warning to the beginning of the output that
10910 it's a generated file and should not be edited.
10911
93cce016 109122008-07-28 Robert Millan <rmh@aybabtu.com>
10913
10914 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10915 with the same number are found, just use issue a warning with
10916 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 10917
cd1df915 109182008-07-27 Robert Millan <rmh@aybabtu.com>
10919
10920 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
10921 information.
10922
b70a8427 109232008-07-27 Bean <bean123ch@gmail.com>
10924
10925 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
10926 (grub_fat_find_dir): Ignore case when comparing filename.
10927
8f5e379f 109282008-07-27 Bean <bean123ch@gmail.com>
10929
10930 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
10931 smallino, as it's more descriptive, and i8count can be confused with
10932 the other field count.
10933 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
10934 inode type.
10935
a85cd5a0 109362008-07-27 Bean <bean123ch@gmail.com>
10937
10938 * commands/crc.c: New file.
10939
10940 * lib/crc.c: Likewise.
10941
10942 * include/grub/lib/crc.h: Likewise.
10943
10944 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
10945
10946 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
10947 (hexdump): Move this function to ...
10948
10949 * lib/hexdump.c: ... here.
10950
10951 * include/grub/hexdump.h: Renamed to ...
10952
10953 * include/grub/lib/hexdump.h: ... this.
10954
10955 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
10956
10957 * util/grub-editenv.c: Likewise.
10958
10959 * include/envblk.h: Renamed to ...
10960
10961 * include/lib/envblk.h: ... this.
10962
10963 * util/envblk.c: Renamed to ...
10964
10965 * lib/envblk.c: ... this.
10966
10967 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
10968 lib/hexdump.c.
10969 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
10970 (pkglib_MODULES): Add crc.mod.
10971 (hexdump_mod_SOURCES): Add lib/hexdump.c.
10972 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
10973 (crc_mod_SOURCES): New macro.
10974 (crc_mod_CFLAGS): Likewise.
10975 (crc_mod_LDFLAGS): Likewise.
10976
10977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
10978
10979 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10980
10981 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10982
10983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10984
10985 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10986
c298def0 109872008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 10988
10989 * commands/help.c: Include <grub/term.h>.
10990 (TERM_WIDTH): Removed. Updated all users.
10991
cc349fb3 109922008-07-27 Pavel Roskin <proski@gnu.org>
10993
10994 * util/getroot.c (find_root_device): Rephrase a comment to avoid
10995 spurious warnings about a comment within a comment.
10996
9051607e 109972008-07-25 Robert Millan <rmh@aybabtu.com>
10998
10999 * util/getroot.c (find_root_device): Skip devices that match
11000 /dev/dm-[0-9]. This lets the real device be found for any type of
11001 abstraction (LVM, EVMS, RAID..).
11002 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
11003 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
11004 device is found first, find_root_device() will now skip it.
11005
01453bfc 110062008-07-24 Pavel Roskin <proski@gnu.org>
11007
11008 * include/grub/types.h: Use __builtin_bswap32() and
11009 __builtin_bswap64() with gcc 4.3 and newer.
11010
6af9849f 110112008-07-24 Christian Franke <franke@computer.org>
11012
3a0fa256 11013 * util/i386/pc/grub-install.in: If `--debug' is specified,
11014 pass `--verbose' to grub-setup.
11015 Abort script if make_system_path_relative_to_its_root() fails.
11016
7810e747 110172008-07-24 Bean <bean123ch@gmail.com>
11018
11019 * configure.ac: Fixed a bug caused by the previous cygwin patch,
11020 variable `target_platform' should be `platform'.
11021
42290e17 110222008-07-24 Bean <bean123ch@gmail.com>
11023
51cc5193 11024 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 11025 (grub_png_init_fixed_block): New function.
11026 (grub_png_decode_image_data): Handle fixed huffman code compression.
11027
2a8a80e4 110282008-07-24 Bean <bean123ch@gmail.com>
11029
11030 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
11031 (grub_pe2elf_SOURCES): New macro.
11032 (CLEANFILES): Add grub-pe2elf.
11033
11034 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
11035 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
11036 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
11037 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
11038 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
11039 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
11040 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
11041 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
11042 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
11043 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
11044 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
11045 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
11046 (GRUB_PE32_DT_FUNCTION): Likewise.
11047 (GRUB_PE32_REL_I386_DIR32): Likewise.
11048 (GRUB_PE32_REL_I386_REL32): Likewise.
11049 (grub_pe32_symbol): New structure.
11050 (grub_pe32_reloc): Likewise.
11051
11052 * util/grub-pe2elf.c: New file.
11053
11054 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
11055 start symbol in non pc platform.
11056
11057 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
11058
11059 The following patches are from Christian Franke.
11060
11061 * include/grub/dl.h: Remove .previous, gas supports this only
11062 for ELF format.
11063
11064 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
11065 Remove .type, gas supports this only for ELF format.
11066
11067 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
11068 nullbytes in symbol table. This fixes an infinite loop if table is
11069 zero filled.
11070
11071 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
11072 TARGET_IMG_LDFLAGS and EXEEXT.
11073
11074 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
11075 TARGET_IMG_LDFLAGS_AC.
11076 (grub_CHECK_STACK_ARG_PROBE): New function.
11077
11078 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
11079
11080 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
11081
11082 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
11083 to set TARGET_IMG_LD* accordingly.
11084 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
11085 Add call to grub_CHECK_STACK_ARG_PROBE.
11086 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
11087
11088 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
11089
11090 * genmk.rb: Add EXEEXT to CLEANFILES.
11091
12ccdb75 110922008-07-23 Robert Millan <rmh@aybabtu.com>
11093
11094 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
11095 define the codes for arrows and lines used for the menu).
11096 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
11097 as well.
11098
11099 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
11100 fonts, because the latter are too slow.
11101
18eeaf04 111022008-07-21 Bean <bean123ch@gmail.com>
11103
11104 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
11105 a20. Run keyboard test last, as it will cause macbook to halt.
11106
b095e2ad 111072008-07-18 Pavel Roskin <proski@gnu.org>
11108
11109 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
11110 load foreign architecture modules correctly anyway. Keep
11111 support for loading host architecture modules, whether we
11112 compile them or not.
11113
737feb35 111142008-07-17 Pavel Roskin <proski@gnu.org>
11115
3f4ce737 11116 * configure.ac: Use -m32 or -m64 regardless of whether we had to
11117 change target_cpu. The compiler default can mismatch target_cpu
11118 in any case.
11119
4ad2d049 11120 * disk/efi/efidisk.c: Fix format warnings on x86_64.
11121 * kern/efi/efi.c: Likewise.
11122
f6130a12 11123 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
11124 target compiler is functional.
11125 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
11126 are set up.
11127
58393a2d 11128 * configure.ac: Default to efi platform for x86_64-apple. Allow
11129 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
11130 adjustments from the rest, only do them if target is not
11131 explicitly given. Merge other adjustments with the final sanity
11132 check. Remove an extraneous check for supported CPU. Be
11133 specific which CPU and which platform is not supported.
11134
737feb35 11135 * configure.ac: Default to pc platform for x86_64.
11136
546f966a 111372008-07-17 Robert Millan <rmh@aybabtu.com>
11138
11139 Partial LinuxBIOS -> Coreboot rename.
11140
11141 * conf/i386-linuxbios.rmk: Renamed to ...
11142 * conf/i386-coreboot.rmk: ... this.
11143 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
11144 * configure.ac: Accept "coreboot" as input platform (but maintain
11145 compatibility with "linuxbios").
11146 * include/grub/i386/linuxbios: Renamed to ...
11147 * include/grub/i386/coreboot: ... this.
11148
20011694 111492008-07-17 Bean <bean123ch@gmail.com>
11150
11151 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 11152 (appleldr_mod_SOURCE): New variable.
20011694 11153 (appleldr_mod_CFLAGS): Likewise.
11154 (appleldr_mod_LDFLAGS): Likewise.
11155 (pci_mod_SOURCES): Likewise.
11156 (pci_mod_CFLAGS): Likewise.
11157 (pci_mod_LDFLAGS): Likewise.
11158 (lspci_mod_SOURCES): Likewise.
11159 (lspci_mod_CFLAGS): Likewise.
11160 (lspci_mod_LDFLAGS): Likewise.
11161
11162 * conf/x86_64-efi.rmk: New file.
11163
11164 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
11165 macro.
11166 (grub_efidisk_write): Likewise.
11167
11168 * include/efi/api.h (efi_call_0): New macro.
11169 (efi_call_1): Likewise.
11170 (efi_call_2): Likewise.
11171 (efi_call_3): Likewise.
11172 (efi_call_4): Likewise.
11173 (efi_call_5): Likewise.
11174 (efi_call_6): Likewise.
11175
11176 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
11177 grub_rescue_cmd_chainloader.
11178
11179 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
11180 (grub_pe32_optional_header): Change some fields based on i386 or
11181 x86_64 platform.
11182 (GRUB_PE32_PE32_MAGIC): Likewise.
11183
11184 * include/grub/efi/uga_draw.h: New file.
11185
11186 * include/grub/elf.h (STN_ABS): New constant.
11187 (R_X86_64_NONE): Relocation constant for x86_64.
11188 (R_X86_64_64): Likewise.
11189 (R_X86_64_PC32): Likewise.
11190 (R_X86_64_GOT32): Likewise.
11191 (R_X86_64_PLT32): Likewise.
11192 (R_X86_64_COPY): Likewise.
11193 (R_X86_64_GLOB_DAT): Likewise.
11194 (R_X86_64_JUMP_SLOT): Likewise.
11195 (R_X86_64_RELATIVE): Likewise.
11196 (R_X86_64_GOTPCREL): Likewise.
11197 (R_X86_64_32): Likewise.
11198 (R_X86_64_32S): Likewise.
11199 (R_X86_64_16): Likewise.
11200 (R_X86_64_PC16): Likewise.
11201 (R_X86_64_8): Likewise.
11202 (R_X86_64_PC8): Likewise.
11203
11204 * include/grub/i386/efi/pci.h: New file.
11205
11206 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
11207 Change it value based on platform.
11208 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
11209 (GRUB_E820_RAM): Likewise.
11210 (GRUB_E820_RESERVED): Likewise.
11211 (GRUB_E820_ACPI): Likewise.
11212 (GRUB_E820_NVS): Likewise.
11213 (GRUB_E820_EXEC_CODE): Likewise.
11214 (GRUB_E820_MAX_ENTRY): Likewise.
11215 (grub_e820_mmap): New structure.
11216 (linux_kernel_header): Change the efi field according to different
11217 kernel version, also field from linux_kernel_header.
11218
11219 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
11220
11221 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
11222 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
11223 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
11224 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
11225 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
11226 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
11227 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
11228 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
11229 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
11230 (GRUB_PCI_ADDR_IO_MASK): Likewise.
11231
11232 * include/grub/x86_64/efi/kernel.h: New file.
11233
11234 * include/grub/x86_64/efi/loader.h: Likewise.
11235
11236 * include/grub/x86_64/efi/machine.h: Likewise.
11237
11238 * include/grub/x86_64/efi/pci.h: Likewise.
11239
11240 * include/grub/x86_64/efi/time.h: Likewise.
11241
11242 * include/grub/x86_64/linux.h: Likewise.
11243
11244 * include/grub/x86_64/setjmp.h: Likewise.
11245
11246 * include/grub/x86_64/time.h: Likewise.
11247
11248 * include/grub/x86_64/types.h: Likewise.
11249
11250 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
11251 GRUB_TARGET_SIZEOF_VOID_P.
11252
11253 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
11254 (grub_efi_locate_handle): Likewise.
11255 (grub_efi_open_protocol): Likewise.
11256 (grub_efi_set_text_mode): Likewise.
11257 (grub_efi_stall): Likewise.
11258 (grub_exit): Likewise.
11259 (grub_reboot): Likewise.
11260 (grub_halt): Likewise.
11261 (grub_efi_exit_boot_services): Likewise.
11262 (grub_get_rtc): Likewise.
11263
11264 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
11265 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
11266 (grub_efi_allocate_pages): Wrap efi calls.
11267 (grub_efi_free_pages): Wrap efi calls.
11268 (grub_efi_get_memory_map): Wrap efi calls.
11269
11270 * kern/x86_64/dl.c: New file.
11271
11272 * kern/x86_64/efi/callwrap.S: Likewise.
11273
11274 * kern/x86_64/efi/startup.S: Likewise.
11275
11276 * loader/efi/appleloader.c: Likewise.
11277
11278 * loader/efi/chainloader.c (cmdline): New variable.
11279 (grub_chainloader_unload): Wrap efi calls.
11280 (grub_chainloader_boot): Likewise.
11281 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
11282 command line.
11283
11284 * loader/efi/chainloader_normal.c (chainloader_command):
11285 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
11286 command line.
11287
11288 * loader/i386/efi/linux.c (allocate_pages): Change allocation
11289 method.
11290 (grub_e820_add_region): New function.
11291 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
11292 booting.
11293 (grub_find_video_card): New function.
11294 (grub_linux_setup_video): New function.
11295 (grub_rescue_cmd_linux): Probe for video information.
11296
11297 * normal/x86_64/setjmp.S: New file.
11298
11299 * term/efi/console.c (map_char): New function.
11300 (grub_console_putchar): Map unicode char.
11301 (grub_console_checkkey): Wrap efi calls.
11302 (grub_console_getkey): Likewise.
11303 (grub_console_getwh): Likewise.
11304 (grub_console_gotoxy): Likewise.
11305 (grub_console_cls): Likewise.
11306 (grub_console_setcolorstate): Likewise.
11307 (grub_console_setcursor): Likewise.
11308
11309 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
11310
59652a20 113112008-07-16 Pavel Roskin <proski@gnu.org>
11312
ef294055 11313 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
11314 format strings.
11315
59652a20 11316 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
11317 pointer, not an integer. This fixes a warning and prevents
11318 precision loss on 64-bit systems.
11319 (relocate_addresses): Remove unneeded cast.
11320
afc3b5d7 113212008-07-15 Pavel Roskin <proski@gnu.org>
11322
506b2b3e 11323 * kern/i386/ieee1275/init.c: Include grub/cache.h.
11324
62ead89c 11325 * term/ieee1275/ofconsole.c: Disable code unused on i386.
11326
c4cd51d7 11327 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
11328 Fix comparison between signed and unsigned.
11329
0d3d8f28 11330 * include/grub/i386/ieee1275/console.h: Declare
11331 grub_console_init() and grub_console_fini().
11332
8804b286 11333 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
11334 It's empty and unused.
11335
ee01cf35 11336 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
11337 beginning to avoid warnings with some compilers.
11338
afc3b5d7 11339 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
11340 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
11341
e4e8eaa5 113422008-07-14 Pavel Roskin <proski@gnu.org>
11343
407aceb4 11344 * kern/env.c (grub_register_variable_hook): Don't copy empty
11345 string, it leaks memory. Pass "" to grub_env_set(), it should
11346 handle constant strings.
11347
e4e8eaa5 11348 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
11349 * commands/cmp.c (grub_cmd_cmp): Likewise.
11350 * kern/dl.c (grub_dl_flush_cache): Likewise.
11351 (grub_dl_load_core): Likewise.
11352 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
11353 (grub_elf64_load_phdrs): Likewise.
11354
d4e2dad3 113552008-07-13 Pavel Roskin <proski@gnu.org>
11356
11357 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
11358 between signed and unsigned.
11359 (LzmaEnc_Finish): Fix warning about an unused parameter.
11360
aa24b516 113612008-07-13 Bean <bean123ch@gmail.com>
11362
11363 * Makefile.in (enable_lzo): New rule.
11364
11365 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
11366
11367 * configure.ac (ENABLE_LZO): New option --enable-lzo.
11368
11369 * boot/i386/pc/lnxboot.S: #include <config.h>.
11370
11371 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 11372 its value according to the compression algorithm used, lzo or lzma.
aa24b516 11373
11374 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
11375 compression algorithm according to configure macro.
11376
11377 * kern/i386/pc/startup.S (codestart): Likewise.
11378
11379 * kern/i386/pc/lzma_decode.S: New file.
11380
11381 * include/grub/lib/LzFind.h: Likewise.
11382
11383 * include/grub/lib/LzHash.h: Likewise.
11384
11385 * include/grub/lib/LzmaDec.h: Likewise.
11386
11387 * include/grub/lib/LzmaEnc.h: Likewise.
11388
11389 * include/grub/lib/LzmaTypes.h: Likewise.
11390
11391 * lib/LzFind.c: Likewise.
11392
11393 * lib/LzmaDec.c: Likewise.
11394
11395 * lib/LzmaEnc.c: Likewise.
11396
4ae821ac 113972008-07-13 Bean <bean123ch@gmail.com>
11398
11399 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
11400 (grub_ext4_extent_header): New structure.
11401 (grub_ext4_extent): Likewise.
11402 (grub_ext4_extent_idx): Likewise.
11403 (grub_ext4_find_leaf): New function.
11404 (grub_ext2_read_block): Handle extents.
11405
9a745147 114062008-07-12 Robert Millan <rmh@aybabtu.com>
11407
11408 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
11409
d49a4cf6 114102008-07-11 Robert Millan <rmh@aybabtu.com>
11411
11412 * util/grub.d/40_custom.in: New file. Example on how to add custom
11413 entries to /etc/grub.d.
11414 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
11415 40_custom (implicitly, by merging all the grub.d rules).
11416
947414b4 114172008-07-11 Pavel Roskin <proski@gnu.org>
11418
0059cf6f 11419 * commands/read.c (grub_getline): Fix invalid memory access.
11420 Don't add newline to the variable value.
11421
947414b4 11422 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
11423 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
11424 (serial_hw_get_port): Check validity of the port number.
11425 (grub_cmd_serial): Check return value of serial_hw_get_port().
11426
62a02d00 114272008-07-07 Pavel Roskin <proski@gnu.org>
11428
11429 * boot/i386/pc/diskboot.S (notification_string): Replace
11430 "Loading kernel" with just "loading". This is shorter, less
11431 confusing and saves a few bytes for possible future changes.
11432
3e5581b0 114332008-07-05 Pavel Roskin <proski@gnu.org>
11434
ea387a48 11435 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
11436 size for ATAPI devices, they are undefined. Output sector
11437 number in decimal form.
11438
3e5581b0 11439 * disk/ata.c: Use named constants for status bits.
11440
fdecb8fd 114412008-07-04 Pavel Roskin <proski@gnu.org>
11442
bcd35b90 11443 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
11444 grub_addr_t before casting it to the void pointer to fix a
11445 warning. Non-addressable regions are discarded earlier.
11446 (grub_arch_modules_addr): Cast _end to grub_addr_t.
11447 * kern/i386/linuxbios/table.c: Include grub/misc.h.
11448 (check_signature): Don't shadow table_header.
11449 (grub_linuxbios_table_iterate): Cast numeric constants to
11450 grub_linuxbios_table_header_t.
11451 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
11452 grub_stop().
11453
af58ab3d 11454 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
11455 prevent warnings.
11456
1759aa57 11457 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
11458 pointer, which can cause warnings. Support 64-bit addresses.
11459
fdecb8fd 11460 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
11461 of sizeof(long). This fixes PowerPC image generation on x86_64.
11462
8516d2a8 114632008-07-04 Robert Millan <rmh@aybabtu.com>
11464
11465 This fixes a performance issue when pc & gpt partmap iterators
11466 didn't abort iteration even after our hook found what it was
fe987087 11467 looking for (often causing expensive probes of non-existent drives).
8516d2a8 11468
11469 Some callers relied on previous buggy behaviour, since they would
34c44600 11470 raise an error when their own hooks caused early abortion of its
8516d2a8 11471 iteration.
11472
11473 * kern/device.c (grub_device_open): Improve error message.
11474 * disk/lvm.c (grub_lvm_open): Likewise.
11475 * disk/raid.c (grub_raid_open): Likewise.
11476
11477 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
11478 when hook requests it, independently of grub_errno.
11479 (pc_partition_map_probe): Do not fail when find_func() caused
11480 early abortion of pc_partition_map_iterate().
11481
11482 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
11483 when hook requests it, independently of grub_errno.
11484 (gpt_partition_map_probe): Do not fail when find_func() caused
11485 early abortion of gpt_partition_map_iterate().
11486
11487 * kern/partition.c (grub_partition_iterate): Abort parent iteration
11488 when hook requests it, independently of grub_errno. Do not fail when
11489 part_map_iterate_hook() caused early abortion of p->iterate().
11490
11491 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
11492 when grub_partition_iterate() returned with non-zero.
11493
277d0de9 114942008-07-03 Pavel Roskin <proski@gnu.org>
11495
11496 * disk/ata.c (grub_ata_pio_write): Check status before writing,
11497 like we do in grub_ata_pio_read().
11498 (grub_ata_readwrite): Always write individual sectors. Fix the
11499 sector count for the remainder.
11500 (grub_ata_write): Enable writing to ATA devices. Correctly
11501 report error for ATAPI devices.
11502
d4c9b428 115032008-07-02 Pavel Roskin <proski@gnu.org>
11504
e43fc690 11505 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
11506 warning.
11507
f707af42 11508 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
11509 for every read sector, we already increment it for the whole
11510 batch. This fixes reading more than 256 sectors at once.
11511
11e16b15 11512 * util/grub-editenv.c (cmd_info): Cast argument to long
11513 explicitly. ptrdiff_t reduces to int on i386.
11514
cbabfdd4 11515 * util/grub-editenv.c (main): Be specific which parameter is
11516 missing.
11517
b8fbce0a 11518 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
11519 (memdisk): Make memdisk_orig_addr a pointer.
11520
c9c8e606 11521 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
11522 for file offsets, use grub_off_t instead. Fix printf format
11523 warnings.
11524
ca62e598 11525 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
11526 there. Real unexpected warnings should not drown in the noise
11527 about known problems.
11528
ce8d1766 11529 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
11530 grub_disk_addr_t for memory addresses.
11531
00c7a56a 11532 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
11533 explicitly to fix a warning.
11534
08d3ef09 11535 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
11536
cb71ba20 11537 * Makefile.in (MODULE_LDFLAGS): New variable.
11538 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
11539 the linker accepts --build-id=none.
11540 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
11541 MODULE_LDFLAGS.
11542 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
11543
d4c9b428 11544 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
11545 those in Linux XFS code. Provide a way to access 64-bit parent
11546 inode.
11547 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
11548 the end of struct grub_xfs_dir_header.
11549
d4156eee 115502008-07-02 Bean <bean123ch@gmail.com>
11551
11552 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
11553 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11554 and GRUB_IEEE1275_FLAG_NO_ANSI.
11555
11556 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
11557 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
11558 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
11559
11560 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
11561 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
11562
11563 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
11564 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
11565
11566 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
11567 esc sequence on non ANSI terminal.
11568 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
11569
11570 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
11571 beginning of file.
11572
2270f77b 115732008-07-02 Bean <bean123ch@gmail.com>
11574
11575 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
11576 (grub_editenv_SOURCES): New variable.
11577 (pkglib_MODULES): Add loadenv.mod.
11578 (loadenv_mod_SOURCES): New variable.
11579 (loadenv_mod_CFLAGS): Likewise.
11580 (loadenv_mod_LDFLAGS): Likewise.
11581
11582 * include/grub/envblk.h: New file.
11583
11584 * util/envblk.c: New file.
11585
11586 * util/grub-editenv.c: New file.
11587
11588 * commands/loadenv.c: New file.
11589
0e9e51ec 115902008-07-01 Pavel Roskin <proski@gnu.org>
11591
d89b7634 11592 * include/multiboot2.h (struct multiboot_tag_module): Use char,
11593 not unsigned char. This fixes warnings and is consistent with
11594 other tags.
11595
bf1835b1 11596 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
11597
8222a04b 11598 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
11599
6a42d99d 11600 * term/tparm.c (analyze): Always set *popcount.
11601
10b159d1 11602 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
11603 cast to fix a warning.
11604
b8789f6c 11605 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
11606 cast to suppress a warning.
11607
29d7e38a 11608 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
11609 grub_fshelp_read_file() expects.
11610
f341f669 11611 * fs/fat.c: Fix UUID calculation on big-endian systems. We
11612 write uuid as a 32-bit value in CPU byte order, so declare and
11613 use it as such.
11614
0e9e51ec 11615 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
11616 long if the format specifier expects it.
11617 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
11618 * partmap/pc.c (pc_partition_map_iterate): Likewise.
11619 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
11620 long to fix a warning.
11621 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
11622 grub_dprintf() arguments to fix warnings.
11623
3aefa857 116242008-06-30 Pavel Roskin <proski@gnu.org>
11625
56c7668b 11626 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
11627 install_bsd_part immediately before core.img is embedded or
11628 modified on disk. This fixes core.img verification if core.img
11629 cannot be embedded.
11630
3aefa857 11631 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
11632 core_path to calculate the blocklist.
11633 Patch from Javier Martín <lordhabbit@gmail.com>
11634
5444088d 116352008-06-29 Robert Millan <rmh@aybabtu.com>
11636
11637 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
11638 block to disk block.
11639 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
11640 Patch from Niels Böhm <bitbucket@arcor.de>
11641
674835c8 116422008-06-29 Robert Millan <rmh@aybabtu.com>
11643
11644 * util/update-grub_lib.in (font_path): Search for fonts in
11645 /boot/grub first, which is more likely to be readable (we aren't
11646 deciding where fonts live, just looking for them).
11647
f527dbc8 116482008-06-26 Pavel Roskin <proski@gnu.org>
11649
6c2d8df6 11650 * util/biosdisk.c (read_device_map): Don't leave dead map
11651 entries for devices failing stat() check.
11652
f527dbc8 11653 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
11654 core_path_dev for the core.img path on the target device.
11655
aebe3d13 116562008-06-26 Robert Millan <rmh@aybabtu.com>
11657
11658 * disk/fs_uuid.c: New file.
11659 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
11660 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
11661 (fs_uuid_mod_LDFLAGS): New variables.
11662 * include/grub/disk.h (grub_disk_dev_id): Add
11663 `GRUB_DISK_DEVICE_UUID_ID'.
11664 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
11665 implement iterate().
11666
37aaf354 116672008-06-26 Robert Millan <rmh@aybabtu.com>
11668
11669 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
11670 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
11671 Linux image includes no initrd.
11672
25ff262a 116732008-06-21 Javier Martín <lordhabbit@gmail.com>
11674
11675 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
11676 call to resolve the core image location that effectively appended the
11677 name twice.
11678
76a2bd44 116792008-06-21 Robert Millan <rmh@aybabtu.com>
11680
11681 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
11682 call from here ...
11683
11684 * util/grub.d/10_hurd.in: ... to here ...
11685 * util/grub.d/10_linux.in: ... and here.
11686
650e1c79 116872008-06-19 Robert Millan <rmh@aybabtu.com>
11688
fe987087 11689 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 11690 after it has been set by grub_machine_set_prefix().
11691
6ce63911 116922008-06-19 Robert Millan <rmh@aybabtu.com>
11693
11694 * commands/search.c (search_label, search_fs_uuid, search_file): Print
11695 search result when not saving to variable, not the other way around.
11696 When saving to variable, abort iteration as soon as a match is found.
11697
73940cec 116982008-06-19 Robert Millan <rmh@aybabtu.com>
11699
11700 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
11701 check for partition that provides /boot/grub. Its logic is flawed,
11702 as it prevents prepare_grub_to_access_device() from being called
11703 multiple times.
11704
3c62a39d 117052008-06-19 Robert Millan <rmh@aybabtu.com>
11706
11707 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
11708 "insmod" command directly when abstraction modules are needed,
fe987087 11709 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 11710 since it had already been processed).
11711
47395a42 117122008-06-19 Pavel Roskin <proski@gnu.org>
11713
11714 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
11715 changed. This is needed in case GRUB_LIBDIR changes.
11716 * conf/i386-ieee1275.rmk: Likewise.
11717 * conf/i386-linuxbios.rmk: Likewise.
11718 * conf/i386-pc.rmk: Likewise.
11719 * conf/powerpc-ieee1275.rmk: Likewise.
11720
a145ac2d 117212008-06-18 Pavel Roskin <proski@gnu.org>
11722
11723 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
11724 kernel_elf_symlist.c to symlist.c for consistency with other
11725 architectures. Update all users.
11726 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
11727
7847c51e 117282008-06-18 Robert Millan <rmh@aybabtu.com>
11729
11730 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
11731 it in prefix.
11732
11733 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
11734 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
11735 a RAID device, run setup() for all members independently on whether
11736 LVM abstraction is being used.
11737 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
11738 If grub-mkimage has set `*install_dos_part == -2', don't override this
11739 value.
11740 Perform *install_dos_part adjustments independently on whether
11741 we're embedding or not.
11742 Clarify error message when image is too big for embedding.
11743 Remove duplicate *install_dos_part stanza.
11744
b23e5644 117452008-06-17 Robert Millan <rmh@aybabtu.com>
11746
11747 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
11748 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
11749 variables.
11750 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
11751 values in grub_ofconsole_normal_color and
11752 grub_ofconsole_highlight_color (they're not directly related to
11753 background and foreground).
11754 (grub_ofconsole_setcolorstate): Extract background and foreground
11755 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
11756
0aac2f79 117572008-06-17 Robert Millan <rmh@aybabtu.com>
11758
11759 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
11760 /boot/grub for the check in last commit, not /boot (they could be
11761 different partitions).
11762
3cca7ef3 117632008-06-16 Robert Millan <rmh@aybabtu.com>
11764
11765 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
11766 asked to setup access for the same partition that provides /boot,
11767 don't bother using UUIDs since our root already has the value we
11768 want.
11769
347396d8 117702008-06-16 Robert Millan <rmh@aybabtu.com>
11771
11772 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
11773 I2O devices.
11774 Patch from Sven Mueller <sven@debian.org>.
11775
991477f8 117762008-06-16 Robert Millan <rmh@aybabtu.com>
11777
11778 * util/update-grub.in: Check for $EUID instead of $UID.
11779 Reported by Vincent Zweije.
11780
d31a32a1 117812008-06-16 Bean <bean123ch@gmail.com>
11782
fe987087 11783 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 11784 (grub_ext2_read_block): Likewise.
11785 (grub_ext2_read_inode): Likewise.
11786 (grub_ext2_mount): Likewise.
11787 (grub_ext2_close): Likewise.
11788 (grub_ext3_get_journal): Removed.
11789
fe987087 11790 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 11791 (grub_reiserfs_read_symlink): Likewise.
11792 (grub_reiserfs_mount): Likewise.
11793 (grub_reiserfs_open): Likewise.
11794 (grub_reiserfs_read): Likewise.
11795 (grub_reiserfs_close): Likewise.
11796 (grub_reiserfs_get_journal): Removed.
11797
11798 * fs/fshelp.c (grub_fshelp_read): Removed.
11799 (grub_fshelp_map_block): Likewise.
11800
11801 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
11802 (grub_fshelp_journal): Likewise.
11803 (grub_fshelp_read): Likewise.
11804 (grub_fshelp_map_block): Likewise.
11805
3540a760 118062008-06-16 Pavel Roskin <proski@gnu.org>
11807
11808 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
11809 floating point anymore.
11810 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
11811
95614c84 118122008-06-15 Pavel Roskin <proski@gnu.org>
11813
11814 * commands/ls.c (grub_ls_list_files): Use integer calculations
11815 for human readable format, avoid floating point use.
11816 * kern/misc.c (grub_ftoa): Remove.
11817 (grub_vsprintf): Remove floating point support.
11818
50465dd6 118192008-06-15 Robert Millan <rmh@aybabtu.com>
11820
fe6b695a 11821 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 11822 devices.
11823 Reported by Max Vozeler.
11824
a9207284 118252008-06-15 Robert Millan <rmh@aybabtu.com>
11826
11827 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
11828 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
11829 skipped later.
11830 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
11831 the beginning of the prefix.
11832
11833 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
11834 It is assumed that if we have a memdisk, grub-mkimage has set
11835 grub_prefix to include the "(memdisk)" drive in it.
11836
a7cbd45a 118372008-06-15 Robert Millan <rmh@aybabtu.com>
11838
11839 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
11840 Initialize keyboard controller after registering the terminal, so that
11841 grub_printf() can be called from grub_keyboard_controller_init().
11842
21cf716a 118432008-06-15 Robert Millan <rmh@aybabtu.com>
11844
11845 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
11846 extent-btree which is written as big endian on disk.
11847 Reported by Alain Greppin <al@chilibi.org>.
11848
23a64d8e 118492008-06-14 Robert Millan <rmh@aybabtu.com>
11850
11851 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
11852 * util/i386/pc/grub-install.in (modules): Likewise.
11853
d687651c 118542008-06-13 Pavel Roskin <proski@gnu.org>
11855
11856 * commands/ls.c (grub_ls_list_files): Fix format warnings.
11857
dfe9ddd4 118582008-06-13 Bean <bean123ch@gmail.com>
11859
11860 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
11861
11862 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
11863
11864 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
11865 to indicate sparse block.
11866
16ae7781 118672008-06-12 Pavel Roskin <proski@gnu.org>
11868
e6d1a308 11869 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
11870 number, grub_fshelp_read() does it for us.
11871
16ae7781 11872 * fs/fshelp.c (grub_fshelp_read): New function. Implement
11873 linear disk read with journal translation.
11874 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
11875 * include/grub/fshelp.h: Declare grub_fshelp_read().
11876
40fd3a2b 118772008-06-09 Pavel Roskin <proski@gnu.org>
11878
11879 * fs/minix.c (grub_minix_mount): Handle error reading
11880 superblock.
11881
f5679726 118822008-06-08 Robert Millan <rmh@aybabtu.com>
11883
11884 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
11885 don't append the RAID prefix afterwards.
11886 Reported by Clint Adams.
11887
ce525529 118882008-06-08 Robert Millan <rmh@aybabtu.com>
11889
11890 Based on description from Pavel:
11891 * kern/disk.c (grub_disk_check_range): Rename to ...
11892 (grub_disk_adjust_range): ... this. Add a comment explaining the
11893 tasks performed by this function.
11894
ad4936a0 118952008-06-08 Robert Millan <rmh@aybabtu.com>
11896
11897 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
11898 `num_serial' (for consistency with other variables).
11899 (struct grub_ntfs_data): Add `uuid' member.
11900 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
11901 (grub_ntfs_uuid): New function.
11902 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
11903
dc20b0f9 119042008-06-07 Pavel Roskin <proski@gnu.org>
11905
11906 * util/biosdisk.c (open_device): Revert last change to the
11907 function, it broke installation. The sector needs to be
11908 different dependent on which device is opened.
11909
c5e3cfba 119102008-06-06 Robert Millan <rmh@aybabtu.com>
11911
11912 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
11913 rest of GRUB, and breakage doesn't happen if its value were modified.
11914
11915 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
11916 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
11917 a constant (same value).
11918 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
11919 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
11920
26a1f8c4 119212008-06-06 Robert Millan <rmh@aybabtu.com>
11922
11923 * util/biosdisk.c (open_device): Do not modify sector offset when
11924 accessing a partition. kern/disk.c already handles this for us.
11925
25d6b327 119262008-06-06 Robert Millan <rmh@aybabtu.com>
11927
11928 * util/grub-emu.c (grub_machine_init): Move code in this function from
11929 here ...
11930 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
11931 segfault in case grub_printf() is called).
11932
11933 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
11934 grub_probe. Update all users not to explicitly add it again.
11935 (grub_device): New variable; contains corresponding device for grubdir.
11936 (fs_module, partmap_module, devabstraction_module): Pass
11937 `--device ${grub_device}' to grub_probe to avoid traversing /dev
11938 every time.
11939
9ece62fb 119402008-06-05 Robert Millan <rmh@aybabtu.com>
11941
11942 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
11943 is found, print it (same layout as with labels).
11944
1ad36d37 119452008-06-04 Robert Millan <rmh@aybabtu.com>
11946
11947 * util/biosdisk.c (get_drive): Rename to ...
11948 (find_grub_drive): ... this. Update all users.
11949
11950 (get_os_disk): Rename to ...
11951 (convert_system_partition_to_system_disk): ... this. Update all users.
11952
11953 (find_drive): Rename to ...
11954 (find_system_device): ... this. Update all users.
11955
e6a30859 119562008-06-04 Robert Millan <rmh@aybabtu.com>
11957
11958 * util/biosdisk.c (get_os_disk): Handle IDA devices.
11959 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11960 (make_device_map): Likewise.
11961
00c108a4 119622008-06-01 Robert Millan <rmh@aybabtu.com>
11963
11964 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
11965 before dereferencing it.
11966
11967 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
11968 union with fat12/fat16-specific ones. Add some new fields, including
11969 `num_serial' for both versions.
11970 (struct grub_fat_data): Add `uuid' member.
11971 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
11972 names. Initialize `data->uuid' using `num_serial'.
11973 (grub_fat_uuid): New function.
11974 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
11975
11976 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
11977 (grub_reiserfs_uuid): New function.
11978 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
11979 member.
11980
11981 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
11982 (grub_xfs_uuid): New function.
11983 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
11984
1385c5bb 119852008-06-01 Robert Millan <rmh@aybabtu.com>
11986
11987 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
11988 code that is backward compatible with pre-uuid search command.
11989
c682dfd7 119902008-05-31 Robert Millan <rmh@aybabtu.com>
11991
11992 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
11993 floppies after everything else, to ensure floppy drive isn't accessed
11994 unnecessarily (patch from Bean).
11995
b7db5d47 119962008-05-31 Robert Millan <rmh@aybabtu.com>
11997
11998 * commands/search.c (search_label, search_fs_uuid, search_file): Do
11999 not print device names when we were asked to set a variable.
12000
6e037aa9 120012008-05-31 Robert Millan <rmh@aybabtu.com>
12002
12003 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
12004 using "cursor-on" and "cursor-off" commands (understood at least by
12005 the Open Firmware flavour on OLPC).
12006
41305bc8 120072008-05-31 Michael Gorven <michael@gorven.za.net>
12008
12009 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
12010 on and off sequences.
12011
69ba137e 120122008-05-31 Robert Millan <rmh@aybabtu.com>
12013
12014 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
12015 * util/update-grub.in: Likewise.
12016
520ae21b 120172008-05-30 Pavel Roskin <proski@gnu.org>
12018
12019 * util/biosdisk.c (linux_find_partition): Simplify logic and
12020 make the code more universal. Keep special processing for
12021 devfs, but use a simple rule for all other devices. If the
12022 device ends with a number, append 'p' and the partition number.
12023 Otherwise, append only the partition number.
12024
5786569b 120252008-05-30 Robert Millan <rmh@aybabtu.com>
12026
12027 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
12028 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
12029 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
12030 the `root' parameter to Linux.
12031
51500452 120322008-05-30 Robert Millan <rmh@aybabtu.com>
12033
12034 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
12035 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
12036 --fs_uuid with --fs-uuid.
12037 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
12038 all filesystems support them).
12039
811d3878 120402008-05-30 Robert Millan <rmh@aybabtu.com>
12041
12042 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 12043 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 12044
cab63c95 120452008-05-30 Robert Millan <rmh@aybabtu.com>
12046
12047 * util/grub.d/00_header.in: Remove obsolete comment referencing
12048 convert_system_path_to_grub_path().
12049 * util/update-grub.in: Likewise.
12050 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
12051 (convert_system_path_to_grub_path): Add a warning message explaining
12052 that this function is deprecated. Rely on is_path_readable_by_grub()
12053 for the readability checks.
12054 (font_path): Use is_path_readable_by_grub() for the readability
12055 check rather than convert_system_path_to_grub_path().
12056
972e2f7a 120572008-05-30 Robert Millan <rmh@aybabtu.com>
12058
12059 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
12060 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
12061 converting it first.
12062 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
12063 grub.cfg for access to font file, and afterwards call it again to set
12064 the root device.
12065
62191274 120662008-05-30 Robert Millan <rmh@aybabtu.com>
12067
12068 * commands/search.c (options): Add --fs_uuid option.
12069 (search_fs_uuid): New function.
12070 (grub_cmd_search): Fix --set argument passing.
12071 Use search_fs_uuid() when requested via --fs_uuid.
12072 (grub_search_init): Update help message.
12073 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
12074 and redeclare it as an array of 16-bit words.
12075 (grub_ext2_uuid): New function.
12076 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
12077 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
12078 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
12079 (GRUB_DEVICE_BOOT_UUID): New variables.
12080 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
12081 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
12082 whenever possible.
12083 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
12084 just assume `root' variable has the right value.
12085 * util/grub.d/10_linux.in: Likewise.
12086 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
12087 via PRINT_FS_UUID.
12088 (main): Recognise `-t fs_uuid' argument.
12089
01b73ec8 120902008-05-30 Robert Millan <rmh@aybabtu.com>
12091
12092 * util/biosdisk.c (map): Redefine structure to hold information
12093 about GRUB drive name.
fe6b695a 12094 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 12095 drive names.
12096 (call_hook): Remove.
12097 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
12098 member. Assume drive has partitions.
12099 (grub_util_biosdisk_open): Access device names via `.device' struct
12100 member.
12101 (open_device): Likewise.
12102 (find_drive): Likewise.
12103 (read_device_map): Adjust map[] usage to match the new struct
12104 definition. Don't check for duplicates (still possible, but not cheap
12105 anymore).
12106 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
12107 (make_device_name): Remove assumption of BIOS-like drive names.
12108
22f16596 121092008-05-30 Pavel Roskin <proski@gnu.org>
12110
12111 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
12112 compiling execute.c doesn't need grub_script.tab.h anymore.
12113 (normal/command.c_DEPENDENCIES): Likewise.
12114 (normal/function.c_DEPENDENCIES): Likewise.
12115 * conf/i386-ieee1275.rmk: Likewise.
12116 * conf/i386-linuxbios.rmk: Likewise.
12117 * conf/i386-pc.rmk: Likewise.
12118 * conf/powerpc-ieee1275.rmk: Likewise.
12119 * conf/sparc64-ieee1275.rmk: Likewise.
12120
528ad8f2 121212008-05-29 Pavel Roskin <proski@gnu.org>
12122
d1dff95d 12123 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
12124 when scanning metadata for volume group name.
12125
528ad8f2 12126 * include/grub/script.h: Don't include grub_script.tab.h. It's
12127 a generated file, which may only be included from the files with
12128 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
12129 use union YYSTYPE, as the later allows forward declaration.
12130 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
12131
47248e08 121322008-05-29 Robert Millan <rmh@aybabtu.com>
12133
12134 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
12135 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
12136 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
12137 (grub_console_checkkey): Add grub_dprintf() call to report unknown
12138 scan codes.
12139
ee632529 121402008-05-29 Robert Millan <rmh@aybabtu.com>
12141
12142 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
12143 control key combinations.
12144
eee96e08 121452008-05-29 Robert Millan <rmh@aybabtu.com>
12146
12147 * util/powerpc/ieee1275/grub-install.in: Move from here ...
12148 * util/ieee1275/grub-install.in: ... to here.
12149 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
12150 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
12151 (grub_install_SOURCES): Likewise.
12152
da9a6a94 121532008-05-29 Robert Millan <rmh@aybabtu.com>
12154
12155 * fs/affs.c: Update copyright year.
12156 * fs/ext2.c: Likewise.
12157 * fs/fshelp.c: Likewise.
12158 * fs/hfsplus.c: Likewise.
12159 * fs/ntfs.c: Likewise.
12160 * fs/xfs.c: Likewise.
12161 * include/grub/fshelp.h: Likewise.
12162 * util/grub-mkdevicemap.c: Likewise.
12163
12e65f3a 121642008-05-28 Robert Millan <rmh@aybabtu.com>
12165
12166 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
12167 might need to be fatfs to support some firmware implementations
12168 (e.g. OFW or EFI).
12169
23023641 121702008-05-28 Robert Millan <rmh@aybabtu.com>
12171
12172 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
12173 devices.
12174 * util/grub-mkdevicemap.c (get_mmc_disk_name)
12175 (make_device_map): Likewise.
12176
887d2619 121772008-05-20 Bean <bean123ch@gmail.com>
12178
12179 * fs/fshelp.c (grub_fshelp_map_block): New function.
12180 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
12181 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
12182
12183 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
12184 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
12185 (grub_fshelp_journal): New structure.
12186 (grub_fshelp_map_block): New function prototype.
12187 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
12188 (grub_fshelp_map_block): Likewise.
12189
12190 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
12191 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
12192 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
12193 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
12194 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
12195 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
12196 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
12197 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
12198 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
12199 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
12200 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
12201 (grub_ext2_sblock): New members for journal support.
12202 (grub_ext3_journal_header): New structure.
12203 (grub_ext3_journal_revoke_header): Likewise.
12204 (grub_ext3_journal_block_tag): Likewise.
12205 (grub_ext3_journal_sblock): Likewise.
12206 (grub_fshelp_node): New members logfile and journal.
12207 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
12208 grub_fshelp_map_block to get real block number.
12209 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
12210 number.
12211 (grub_ext2_read_inode): Likewise.
12212 (grub_ext3_get_journal): New function.
12213 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
12214 (grub_ext2_close): Release memory used by journal.
12215
12216 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
12217 (REISERFS_MAGIC_DESC_BLOCK): New macro.
12218 (grub_reiserfs_transaction_header): Renamed to
12219 grub_reiserfs_description_block, replace field data with real_blocks.
12220 (grub_reiserfs_commit_block): New structure.
12221 (grub_reiserfs_data): New member journal.
12222 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
12223 number.
12224 (grub_reiserfs_read_symlink): Likewise.
12225 (grub_reiserfs_iterate_dir): Likewise.
12226 (grub_reiserfs_open): Likewise.
12227 (grub_reiserfs_read): Likewise.
12228 (grub_reiserfs_get_journal): New function.
12229 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
12230 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
12231 using grub_reiserfs_get_journal.
12232 (grub_reiserfs_close): Release memory used by journal.
12233
12234 * fs/affs.c (grub_affs_read_block): Change block type to
12235 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
12236
12237 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
12238
12239 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
12240
12241 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
12242
12243 * fs/udf.c (grub_udf_read_block): Change block type to
12244 grub_disk_addr_t. Use type cast to avoid warning.
12245
12246 * fs/xfs.c (grub_xfs_read_block): Likewise.
12247
b7c6bed5 122482008-05-16 Christian Franke <franke@computer.org>
12249
12250 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
12251 to ensure that break with ESC will always work.
12252 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
12253 Remove ESC from keyboard queue.
12254
eedf167f 122552008-05-16 Christian Franke <franke@computer.org>
12256
12257 * util/biosdisk.c: [__CYGWIN__] Add includes.
12258 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
12259 (get_os_disk): Move variable declarations to OS specific
12260 parts to avoid warning.
12261 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
12262 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
12263 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
12264 Cygwin.
12265 * util/getroot.c: [__CYGWIN__] Add includes.
12266 (strip_extra_slashes): Fix "/" case.
12267 [__CYGWIN__] (get_win32_path): New function.
12268 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
12269 [__CYGWIN__] (find_root_device): Disable.
12270 [__CYGWIN__] (get_bootsec_serial): New function.
12271 [__CYGWIN__] (find_cygwin_root_device): Likewise.
12272 [__linux__] (grub_guess_root_device): Add early returns to simplify
12273 structure.
12274 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
12275 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
12276 check for Linux only.
12277
a079699e 122782008-05-15 Bean <bean123ch@gmail.com>
12279
12280 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
12281 keyboard hang problem in apple's intel mac.
12282
1cf4059a 122832008-05-09 Robert Millan <rmh@aybabtu.com>
12284
12285 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
12286 devices.
12287 * util/grub-mkdevicemap.c (get_virtio_disk_name)
12288 (make_device_map): Likewise.
12289 Reported by Aurelien Jarno <aurel32@debian.org>
12290
ed759390 122912008-05-07 Ian Campbell <ijc@hellion.org.uk>
12292
12293 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
12294 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
12295 (make_device_map): Output entries for xvd type disks.
12296
b56c4eaa 122972008-05-07 Robert Millan <rmh@aybabtu.com>
12298
12299 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
12300 devices.
12301 * util/grub-mkdevicemap.c (get_cciss_disk_name)
12302 (make_device_map): Likewise.
12303 Reported by Roland Dreier <rdreier@cisco.com>
12304
7f8866ed 123052008-05-07 Robert Millan <rmh@aybabtu.com>
12306
12307 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
12308 grub_strstr() call. Correct a few mistakes in failure path handling.
12309
b0346e0f 123102008-05-06 Robert Millan <rmh@aybabtu.com>
12311
12312 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
12313 Do not print a trailing slash (therefore, the root directory is an
12314 empty string).
12315 (convert_system_path_to_grub_path): Do not remove trailing slash
12316 from make_system_path_relative_to_its_root() output.
12317
12318 * util/i386/pc/grub-install.in: Add trailing slash to output from
12319 make_system_path_relative_to_its_root().
12320
6cf12cbd 123212008-05-06 Robert Millan <rmh@aybabtu.com>
12322
12323 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
12324 ensures that output lines aren't intermangled with those sent to
12325 stderr (via grub_util_info()).
12326 * util/grub-probe.c (grub_refresh): Likewise.
12327 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
12328
0fbb3117 123292008-05-05 Christian Franke <franke@computer.org>
12330
12331 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
12332 Add Cygwin device names.
12333 (get_ide_disk_name) [__CYGWIN__]: Likewise.
12334 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
12335 (check_device): Return error instead of success on empty name.
12336 (make_device_map): Move label inside linux specific code to
12337 prevent compiler warning.
12338
8124cdb7 123392008-04-30 Robert Millan <rmh@aybabtu.com>
12340
12341 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
12342 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
12343 first boot option.
12344 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
12345
094c01d0 123462008-04-29 Robert Millan <rmh@aybabtu.com>
12347
12348 * docs/grub.cfg: New file (example GRUB configuration).
12349
f4b1fc02 123502008-04-26 Robert Millan <rmh@aybabtu.com>
12351
329ce2a5 12352 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
12353 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
12354 and `disk/ieee1275/nand.c'.
f4b1fc02 12355
25f16ec1 123562008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 12357
25f16ec1 12358 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
12359 i386-linuxbios.
12360
12361 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
12362 change the buffer size to 4096 for cdrom device.
12363
12364 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
12365 and nand.mod.
12366 (_linux_mod_SOURCES): New variable.
12367 (_linux_mod_CFLAGS): Likewise.
12368 (_linux_mod_LDFLAGS): Likewise.
12369 (linux_mod_SOURCES): Likewise.
12370 (linux_mod_CFLAGS): Likewise.
12371 (linux_mod_LDFLAGS): Likewise.
12372 (nand_mod_SOURCES): Likewise.
12373 (nand_mod_CFLAGS): Likewise.
12374 (nand_mod_LDFLAGS): Likewise.
12375
12376 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
12377 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
12378 type property. (nand device in olpc don't have this property)
12379
12380 * include/grub/disk.h (grub_disk_dev_id): New macro
12381 GRUB_DISK_DEVICE_NAND_ID.
12382
12383 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
12384 function prototype.
12385 (grub_rescue_cmd_initrd): Likewise.
12386
12387 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
12388 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
12389 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 12390
25f16ec1 12391 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
12392 GRUB_MACHINE_IEEE1275 is defined.
12393
12394 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
12395 Use NESTED_FUNC_ATTR attribute on the hook parameter.
12396
12397 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
12398 on nested function heap_init.
12399 (grub_upper_mem): New variable for i386-ieee1275.
12400 (grub_get_extended_memory): New function for i386-ieee1275.
12401 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
12402
12403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
12404 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
12405 property.
f19dbdb7 12406
25f16ec1 12407 * loader/i386/ieee1275/linux.c: New file.
12408
12409 * loader/i386/ieee1275/linux_normal.c: New file.
12410
12411 * disk/ieee1275/nand.c: New file.
12412
e89d61e9 124132008-04-18 Thomas Schwinge <tschwinge@gnu.org>
12414
12415 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
12416 value.
12417 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
12418
602566f6 124192008-04-18 Robert Millan <rmh@aybabtu.com>
12420
12421 Restructures early code path on ieee1275 to unify grub_main() as
12422 the first C function that is executed in every platform.
12423
12424 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
12425 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
12426 cmain().
12427 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
12428 * kern/ieee1275/cmain.c (cmain): Rename to ...
12429 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
12430 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
12431 at the beginning.
12432
57490c2b 124332008-04-18 Robert Millan <rmh@aybabtu.com>
12434
12435 * util/update-grub.in: Fix syntax error when setting
12436 `GRUB_PRELOAD_MODULES'.
12437 Reported by Stephane Chazelas <stephane@artesyncp.com>
12438
1977517d 124392008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
12440
12441 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
12442 section into account, newer toolchains generate unique build ids
12443 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 12444 we want build ids to be preserved
1977517d 12445 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
12446 far from other sections don't cause the raw binary images grow
12447 size
12448
bfb1f1a2 124492008-04-15 Robert Millan <rmh@aybabtu.com>
12450
12451 * disk/lvm.c: Update copyright year.
12452 * kern/misc.c: Likewise.
12453
01979850 124542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12455
12456 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 12457 there is no memory left for physical volume name.
01979850 12458
0a1150e2 124592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
12460
12461 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
12462 volume name mapping to support bigger than 9 character names properly.
12463
82ead3fe 124642008-04-13 Robert Millan <rmh@aybabtu.com>
12465
12466 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
12467 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
12468
e54a72f5 124692008-04-13 Christian Franke <franke@computer.org>
12470
12471 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
12472 to create a floppy emulation boot CD when non emulation mode
12473 does not work.
12474 Enable Joliet CD filesystem extension.
12475
9fe86034 124762008-04-13 Robert Millan <rmh@aybabtu.com>
12477
12478 * kern/misc.c (grub_strncat): Fix off-by-one error.
12479 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
12480
12481 * kern/env.c (grub_env_context_close): Clear current context, not
12482 previous one.
12483 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
12484
12485 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
12486
7ceeee39 124872008-04-13 Robert Millan <rmh@aybabtu.com>
12488
12489 Improve robustness when handling LVM.
12490
12491 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 12492 (and leave `*p' unmodified).
7ceeee39 12493 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
12494 through it.
12495 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
12496 iterating through it.
12497 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
12498 through it.
fe6b695a 12499 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 12500 when due) on each grub_lvm_getvalue() or grub_strstr() call.
12501 Don't assume `vg->pvs != NULL' when iterating through it.
12502
58cd3d85 125032008-04-13 Robert Millan <rmh@aybabtu.com>
12504
12505 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
12506 * genmk.rb (partmap): New variable.
12507 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
12508 (#{partmap}): New target rule.
12509 * genpartmaplist.sh: New file.
12510 * Makefile.in (pkglib_DATA): Add partmap.lst.
12511 (partmap.lst): New target rule.
12512 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
12513 modules (including all partition maps), instead of preloading them.
12514
78b51059 125152007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
12516
12517 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
12518 `linux-boot-prober' (if installed) to detect other operating
12519 systems which are installed on the computer and add them to
12520 the boot menu.
12521 * conf/common.rmk: Build and install 30_os-prober.
12522
a91627b4 125232008-04-12 Robert Millan <rmh@aybabtu.com>
12524
12525 * kern/powerpc/ieee1275/init.c: Move from here ...
12526 * kern/ieee1275/init.c: ... to here. Update all users.
12527
12528 * kern/powerpc/ieee1275/cmain.c: Move from here ...
12529 * kern/ieee1275/cmain.c: ... to here. Update all users.
12530
12531 * kern/powerpc/ieee1275/openfw.c: Move from here ...
12532 * kern/ieee1275/openfw.c: ... to here. Update all users.
12533
12534 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
12535 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
12536
322562ea 125372008-04-10 Pavel Roskin <proski@gnu.org>
12538
12539 * configure.ac: Always use "_cv_" in cache variables for
12540 compatibility with Autoconf 2.62.
12541
a02a73c5 125422008-04-07 Robert Millan <rmh@aybabtu.com>
12543
12544 Revert grub/machine/init.h addition by Pavel (since it breaks on
12545 i386-ieee1275 and others):
12546 * util/i386/pc/misc.c: Remove grub/machine/init.h.
12547 * util/powerpc/ieee1275/misc.c: Likewise.
12548
25c024b1 125492008-04-07 Robert Millan <rmh@aybabtu.com>
12550
12551 * util/grub-probe.c (probe): Improve error message.
12552
3cbd2f98 125532008-04-07 Robert Millan <rmh@aybabtu.com>
12554
12555 * util/biosdisk.c (read_device_map): Skip devices that don't exist
12556 (this prevents the presence of a bogus entry from ruining the whole
12557 thing).
12558
87a297bf 125592008-04-06 Pavel Roskin <proski@gnu.org>
12560
36747a62 12561 * util/biosdisk.c: Include grub/util/biosdisk.h.
12562 * util/grub-fstest.c (execute_command): Make static.
12563 * util/grub-mkdevicemap.c (check_device): Likewise.
12564 * util/i386/pc/misc.c: Include grub/machine/init.h.
12565 * util/powerpc/ieee1275/misc.c: Likewise.
12566 * util/lvm.c: Include grub/util/lvm.h.
12567 * util/misc.c: Include grub/kernel.h, grub/misc.h and
12568 grub/cache.h.
12569 * util/raid.c: Include grub/util/raid.h.
12570 (grub_util_getdiskname): Make static.
12571
87a297bf 12572 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
12573 grub_hostfs_fini(), as they are called from grub_init_all() and
12574 grub_fini_all() respectively. This fixes an infinite loop in
12575 grub-fstest due to double registration of hostfs.
12576 Reported by Christian Franke <Christian.Franke@t-online.de>
12577
f6ce7629 125782008-04-05 Pavel Roskin <proski@gnu.org>
12579
12580 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
12581 all 8 functions. Otherwise, probe function 0 only.
12582
070e49e4 125832008-04-04 Pavel Roskin <proski@gnu.org>
12584
8b088a4c 12585 * commands/lspci.c (grub_lspci_iter): Print the bus number
12586 correctly.
12587
4f657021 12588 * commands/lspci.c (grub_pci_classes): Fix typos.
12589 (grub_lspci_iter): Don't print func twice. Print vendor ID
12590 before device ID, as it's normally done.
12591
070e49e4 12592 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
12593 Fix signedness warnings.
12594 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
12595 Likewise.
12596 * util/ieee1275/get_disk_name.c: Include config.h so that
12597 _GNU_SOURCE is defined and getline() is declared. Mark an
12598 unused argument as such. Fix a signedness warning.
12599
ba7328dc 126002008-04-02 Pavel Roskin <proski@gnu.org>
12601
26887f22 12602 * genkernsyms.sh.in: Use more robust assignments for CC and
12603 srcdir. Quote srcdir.
12604 * gensymlist.sh.in: Likewise. Assert at the compile time that
12605 the symbol table is not empty.
12606
ba7328dc 12607 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
12608 * fs/cpio.c (grub_cpio_read): Likewise.
12609
0f582c6b 126102008-04-01 Pavel Roskin <proski@gnu.org>
12611
4b6e1995 12612 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
12613 * disk/host.c (grub_host_open): Likewise.
12614 * disk/loopback.c (grub_loopback_open): Likewise.
12615 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
12616 disk->id as in disk/host.c, not a multi-character constant.
12617
828a2768 12618 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
12619 later is obsolete, potentially dangerous and sets a bad example.
12620 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
12621 * util/misc.c (grub_util_get_image_size): Likewise.
12622
2bb4fb47 12623 * disk/loopback.c (options): Improve help for "--partitions".
12624
0f582c6b 12625 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
12626 options to align them with the short options, e.g. "echo -e".
12627
a33224e0 126282008-03-31 Bean <bean123ch@gmail.com>
12629
12630 * video/reader/png.c (grub_png_data): New member is_16bit and
12631 image_data.
12632 (grub_png_decode_image_header): Detect 16 bit png image.
12633 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
12634 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
12635 (grub_video_reader_png): Release memory occupied by image_data.
12636
12637 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
12638 4096 bytes.
12639 (grub_nfs_mount): Skip the test for sector per cluster.
12640
12641 * include/grub/ntfs.h (MAX_SPC): Removed.
12642
86cb4f54 126432008-03-31 Bean <bean123ch@gmail.com>
12644
12645 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
12646 (grub_probe_SOURCES): Add fs/afs.c.
12647 (grub_fstest_SOURCES): Likewise.
12648 (afs_mod_SOURCES): New variable.
12649 (afs_mod_CFLAGS): Likewise.
12650 (afs_mod_LDFLAGS): Likewise.
12651
12652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
12653 (grub_emu_SOURCES): Likewise.
12654
12655 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12656
12657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12658
12659 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12660
12661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12662
12663 * fs/afs.c: New file.
12664
17c74c21 126652008-03-30 Pavel Roskin <proski@gnu.org>
12666
4cb68e89 12667 * disk/host.c: Include grub/misc.h to fix a warning.
12668 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
12669 warnings about implicit declarations.
12670
8790bb04 12671 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
12672 variable.
12673 * include/grub/i386/loader.h: Change declaration of
12674 grub_linux_boot() to match what grub_loader_set() expects.
12675 * util/getroot.c (grub_guess_root_device): Return const char* to
12676 fix a warning.
12677 * util/grub-probe.c (probe): Fix a warning about uninitialized
12678 abstraction_name variable.
12679 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
12680 second argument as unused to fix a warning.
12681
9a3f3296 12682 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
12683 missing grub_error() call.
12684
0ecef90d 12685 * util/update-grub_lib.in: Define datarootdir, since Autoconf
12686 2.60 and newer uses it to define datadir.
12687
0bf6d401 12688 * commands/sleep.c: Fix warning about implicit declaration.
12689 * disk/memdisk.c: Likewise.
12690 * loader/aout.c: Likewise.
12691 * loader/i386/bsd_normal.c: Likewise.
12692 * util/grub-probe.c: Likewise.
12693
7cdacf97 12694 * commands/i386/cpuid.c (has_longmode): Make static.
12695 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
12696 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
12697
17c74c21 12698 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
12699 GDT. This is more robust, as %ds can change.
12700 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
12701 calling real_to_prot().
12702 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
12703
80a3e68b 127042008-03-28 Pavel Roskin <proski@gnu.org>
12705
12706 * kern/i386/pc/startup.S: Assert that uncompressed functions
12707 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
12708 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
12709 code, as they push parts of the code (error handlers) beyond
12710 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
12711 code as correctness and size.
12712
77bcd272 127132008-03-28 Pavel Roskin <proski@gnu.org>
12714
12715 * kern/i386/pc/startup.S
12716 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
12717 data block address to the real mode, keep offset minimal. This
12718 works around a bug in AWARD BIOS on old Athlon systems, which
12719 makes CD detection hang.
12720
c5dfd43b 127212008-03-26 Pavel Roskin <proski@gnu.org>
12722
12723 * normal/color.c (grub_parse_color_name_pair): Make `name' a
12724 const.
12725 * include/grub/normal.h: Add grub_parse_color_name_pair()
12726 declaration.
12727
bf962df2 127282008-03-24 Bean <bean123ch@gmail.com>
12729
12730 * disk/i386/pc/biosdisk.c (cd_start): Removed.
12731 (cd_count): Removed.
12732 (cd_drive): New variable.
12733 (grub_biosdisk_get_drive): Don't check for (cdN) device.
12734 (grub_biosdisk_call_hook): Likewise.
12735 (grub_biosdisk_iterate): Change cdrom detection method.
12736 (grub_biosdisk_open): Replace cd_start with cd_drive.
12737 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
12738 detect cdrom device.
12739
12740 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
12741 Removed.
12742 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
12743 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
12744 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
12745 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
12746 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
12747 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
12748 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
12749 (grub_biosdisk_cdrp): New structure.
12750 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
12751
12752 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
12753
12754 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
12755 device.
12756
12757 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
12758 New function.
12759
68e7fc7a 127602008-03-20 Robert Millan <rmh@aybabtu.com>
12761
12762 Remove 2 TiB limit in ata.mod.
12763 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
12764 (grub_ata_dumpinfo): Print sector count with 0x%llx.
12765 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
12766 grub_uint64_t instead of grub_uint32_t.
12767
38ad2cf5 127682008-03-05 Bean <bean123ch@gmail.com>
12769
12770 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
12771 (grub_multiboot): Set boot device.
12772
12773 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
12774
2b89344e 127752008-03-02 Bean <bean123ch@gmail.com>
12776
12777 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
12778 symlink_buffer.
12779
87a95d1f 127802008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
12781
12782 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
12783 texinfo.tex.
12784
12785 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
12786 modified.
12787
12788 * docs/fdl.texi: New file.
f19dbdb7 12789
87a95d1f 12790 * docs/mdate-sh: New file. Copied from gnulib.
12791 * docs/texinfo.tex: Likewise.
12792
12793 * config.guess: Updated from gnulib.
12794 * install-sh: Likewise.
12795
7dc15d8e 127962008-02-28 Robert Millan <rmh@aybabtu.com>
12797
12798 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
12799 (aout_mod_SOURCES): New variable.
12800 (aout_mod_CFLAGS): Likewise.
12801 (aout_mod_LDFLAGS): Likewise.
12802
12803 * conf/i386-ieee1275.rmk: Likewise.
12804
b00ab696 128052008-02-28 Robert Millan <rmh@aybabtu.com>
12806
12807 * util/update-grub.in: Reorganise terminal validity check. Accept
12808 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
12809 Based on suggestion by Franklin PIAT.
12810
79ca2d78 128112008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
12812
12813 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
12814 function.
12815 * util/getroot.c (grub_util_check_block_device): New function that
12816 returns the given argument if it is a block device and returns NULL else.
12817 * util/grub-probe.c (argument_is_device): New variable.
12818 (probe): Promote device_name from a variable to an argument. Receive
12819 device_name from grub_util_check_block_device() if path is NULL and from
12820 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 12821 (options): Introduce new parameter '-d, --device'.
79ca2d78 12822 (main): Add description of the new parameter to the help screen.
12823 Rename path variable to argument. Set argument_is_device if the '-d'
12824 option is given. Pass argument to probe() depending on
12825 argument_is_device.
12826
0d16e571 128272008-02-24 Bean <bean123ch@gmail.com>
12828
12829 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
12830 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
12831 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
12832 (GRUB_ISO9660_VOLDESC_PART): Likewise.
12833 (GRUB_ISO9660_VOLDESC_END): Likewise.
12834 (grub_iso9660_primary_voldesc): New member escape.
12835 (grub_iso9660_data): New member joliet.
12836 (grub_iso9660_convert_string): New function.
12837 (grub_iso9660_mount): Detect joliet extension.
12838 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
12839 (grub_iso9660_iso9660_label): Likewise.
12840
12841 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
12842 (grub_setup_SOURCES): Add fs/udf.c.
12843 (grub_fstest_SOURCES): Likewise.
12844 (udf_mod_SOURCES): New variable.
12845 (udf_mod_CFLAGS): Likewise.
12846 (udf_mod_LDFLAGS): Likewise.
12847
12848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
12849 (grub_emu_SOURCES): Likewise.
12850
12851 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12852
12853 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12854
12855 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12856
12857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12858
12859 * fs/udf.c: New file.
12860
8a594a17 128612008-02-24 Robert Millan <rmh@aybabtu.com>
12862
12863 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
12864 (normal/lexer.c_DEPENDENCIES): New variables.
12865 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12866 (normal/lexer.c_DEPENDENCIES): Likewise.
12867 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
12868 (normal/lexer.c_DEPENDENCIES): Likewise.
12869 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
12870 (normal/lexer.c_DEPENDENCIES): Likewise.
12871 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12872 (normal/lexer.c_DEPENDENCIES): Likewise.
12873 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
12874 (normal/lexer.c_DEPENDENCIES): Likewise.
12875
2dc33c03 128762008-02-23 Robert Millan <rmh@aybabtu.com>
12877
12878 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
12879 since they were intended to be in hex. This didn't break previously
12880 because of a bug in gpt_partition_map_iterate() (see below).
12881
12882 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
12883 when checking the validity of GPT header.
12884 Remove `partno', since it always provides the same information as `i'.
12885
f6f4cfb0 128862008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
12887
12888 * include/grub/efi/time.h: Fix a wrong comment.
12889
79ff665f 128902008-02-19 Pavel Roskin <proski@gnu.org>
12891
12892 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
12893 message.
12894
d38e24c2 128952008-02-19 Bean <bean123ch@gmail.com>
12896
12897 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
12898 (aout_mod_SOURCES): New variable.
12899 (aout_mod_CFLAGS): Likewise.
12900 (aout_mod_LDFLAGS): Likewise.
12901 (_bsd_mod_SOURCES): New variable.
12902 (_bsd_mod_CFLAGS): Likewise.
12903 (_bsd_mod_LDFLAGS): Likewise.
12904 (bsd_mod_SOURCES): New variable.
12905 (bsd_mod_CFLAGS): Likewise.
12906 (bsd_mod_LDFLAGS): Likewise.
12907
12908 * include/grub/aout.h: New file.
12909
12910 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
12911
12912 * include/grub/i386/bsd.h: New file.
12913
12914 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
12915 to make it public.
12916
12917 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
12918 function is called, so that it's possible to change it inside the hook.
12919 (grub_elf64_load): Likewise.
12920 (grub_elf_file): Don't close the file if elf header is not found.
12921 (grub_elf_close): Close the file if grub_elf_file fails (The new
12922 grub_elf_file won't close it).
12923 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
12924 (grub_elf64_size): Likewise.
12925
12926 * kern/i386/loader.S (grub_unix_real_boot): New function.
12927
12928 * loader/aout.c: New file.
12929
12930 * loader/i386/bsd.c: New file.
12931
12932 * loader/i386/bsd_normal.c: New file.
12933
12934 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
12935
12936 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 12937 can test other formats.
d38e24c2 12938
b93bdb0f 129392008-02-19 Robert Millan <rmh@aybabtu.com>
12940
12941 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
12942 (grub_gpt_partition_type_empty): Redefine with macro from
12943 `<grub/gpt_partition.h>'.
12944 (gpt_partition_map_iterate): Adjust partition type comparison.
12945
12946 Export `entry' as partmap-specific `part.data' struct.
12947 (grub_gpt_header, grub_gpt_partentry): Move from here ...
12948
12949 * include/grub/gpt_partition.h (grub_gpt_header)
12950 (grub_gpt_partentry): ... to here (new file).
12951
12952 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
12953
12954 (grub_gpt_partition_type_bios_boot): New const variable, defined
12955 with macro from `<grub/gpt_partition.h>'.
12956
12957 (setup): Replace `first_start' with `embed_region', which keeps
12958 track of the embed region (and is partmap-agnostic).
12959
12960 Replace find_first_partition_start() with find_usable_region(),
12961 which finds a usable region for embedding using partmap-specific
12962 knowledge (supports PC/MSDOS and GPT).
12963
12964 Fix all assumptions that the embed region start at sector 1, using
12965 `embed_region.start' from now on. Similarly, use `embed_region.end'
12966 rather than `first_start' to calculate available size.
12967
12968 In grub_util_info() message, replace "into after the MBR" with an
12969 indication of the specific sector our embed region starts at.
12970
66cb40f6 129712008-02-19 Robert Millan <rmh@aybabtu.com>
12972
12973 * DISTLIST: Replace `commands/ieee1275/halt.c' and
12974 `commands/ieee1275/reboot.c' with `commands/halt.c' and
12975 `commands/reboot.c'.
12976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12977 (halt_mod_SOURCES): Likewise.
12978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12979 (halt_mod_SOURCES): Likewise.
12980
b7202015 129812008-02-17 Christian Franke <franke@computer.org>
12982
12983 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
12984
32b0fc49 129852008-02-17 Robert Millan <rmh@aybabtu.com>
12986
12987 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12988 set `first_start' to 0 for non-PC/MSDOS partition maps.
12989
aca63502 129902008-02-16 Robert Millan <rmh@aybabtu.com>
12991
12992 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12993 do not assume partition map is PC/MSDOS before performing checks that
12994 are specific to that layout.
12995
0de8be86 129962008-02-13 Robert Millan <rmh@aybabtu.com>
12997
12998 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
12999 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
13000 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
13001
c3db8364 130022008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
13003
13004 * configure.ac: Only a cosmetic change on the handling of
13005 -fno-stack-protector.
13006
f714229e 130072008-02-12 Alexandre Boeglin <alex@boeglin.org>
13008
c3db8364 13009 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
13010 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
13011 reboot.c.
f714229e 13012 (grub_install_SOURCES): Add halt.mod and reboot.mod.
13013 (halt_mod_SOURCES): New variable.
13014 (halt_mod_CFLAGS): Likewise.
13015 (halt_mod_LDFLAGS): Likewise.
13016 (reboot_mod_SOURCES): Likewise.
13017 (reboot_mod_CFLAGS): Likewise.
13018 (reboot_mod_LDFLAGS): Likewise.
13019
c3db8364 13020 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
13021 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
13022 reboot.c.
f714229e 13023 (halt_mod_SOURCES): Likewise.
13024 (reboot_mod_SOURCES): Likewise.
13025
c3db8364 13026 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
13027 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 13028 (reboot_mod_SOURCES): Likewise.
13029
13030 * commands/i386/pc/reboot.c: merge this file ...
13031
13032 * commands/ieee1275/reboot.c: ... and this file ...
13033
13034 * commands/reboot.c: ... to this file.
c3db8364 13035 Add some precompiler directive to include the correct header for
13036 each machine.
f714229e 13037
13038 * commands/ieee1275/halt.c: move this file ...
13039
13040 * commands/halt.c: ... to here.
c3db8364 13041 Add some precompiler directive to include the correct header for
13042 each machine.
f714229e 13043
13044 * include/grub/efi/efi.h (grub_reboot): New function declaration.
13045 (grub_halt): Likewise.
13046
13047 * kern/efi/efi.c (grub_reboot): New function.
13048 (grub_halt): Likewise.
13049
c74493e0 130502008-02-12 Robert Millan <rmh@aybabtu.com>
13051
13052 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
13053 /dev (like it is done for /dev/mapper). This doesn't provide support
13054 for EVMS, but at least it is now easy to identify the problem when it
13055 arises.
13056
d0db4b04 130572008-02-11 Robert Millan <rmh@aybabtu.com>
13058
13059 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
13060 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
13061 comparing it with -1, not 0.
13062
bf748642 130632008-02-10 Robert Millan <rmh@aybabtu.com>
13064
13065 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
13066 `disk/lvm.c'.
13067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13068 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13069
13070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
13071 `disk/lvm.c' to the end of the list.
13072 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13073 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13074
b5db202a 130752008-02-10 Robert Millan <rmh@aybabtu.com>
13076
13077 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
13078 grub_print_error() instead. This will let user know why we're entering
13079 rescue mode.
13080 Based on suggestions from Sam Morris.
13081
83abee31 130822008-02-10 Alexandre Boeglin <alex@boeglin.org>
13083
13084 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
13085 on remaining N args, instead of "--" arg N times.
13086
78d5a08b 130872008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
13088
13089 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
13090 (fill_with_default_glyph): Changed to use unknown_glyph for fill
13091 pattern for unknown glyphs.
13092
68807e5f 130932008-02-09 Robert Millan <rmh@aybabtu.com>
13094
13095 * configure.ac: Probe for `help2man'.
13096 * Makefile.in (builddir): New variable.
13097 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
13098 or otherwise add a few flags/options to it.
13099 (install-local): For every executable utility or script that is
13100 installed, invoke $(HELP2MAN) to install a manpage based on --help
13101 output.
13102
13103 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
13104 that it doesn't prevent --help from working in build tree.
13105
13106 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
13107 with `bug-grub@gnu.org'.
13108 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
13109 * util/update-grub.in (usage): New function.
13110 Implement proper argument check, with support for --help and --version
13111 (as well as existing -y).
13112
131132008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 13114
13115 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
13116 avoid overwriting previous output.
13117 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
13118
c1962162 131192008-02-09 Robert Millan <rmh@aybabtu.com>
13120
13121 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
13122 drawing the menu.
13123
3dac2e3f 131242008-02-09 Robert Millan <rmh@aybabtu.com>
13125
13126 * commands/sleep.c: New file.
13127 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
13128 (sleep_mod_SOURCES): New variable.
13129 (sleep_mod_CFLAGS): Likewise.
13130 (sleep_mod_LDFLAGS): Likewise.
13131
7a634e08 131322008-02-09 Robert Millan <rmh@aybabtu.com>
13133
13134 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
13135 situations in which we can deduce the RAID size and the superblock
13136 doesn't match it.
13137
b92f0c18 131382008-02-09 Robert Millan <rmh@aybabtu.com>
13139
13140 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
13141 and return a grub_diskmemberlist_t composed of LVM physical volumes.
13142 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
13143
13144 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
13145 and return a grub_diskmemberlist_t composed of physical array members.
13146 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
13147
13148 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
13149 prototype.
13150 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
13151 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
13152 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
13153
13154 * util/grub-probe.c (probe): Move partmap probing code from here ...
13155 (probe_partmap): ... to here.
13156 (probe): Use probe_partmap() once for the disk we're probing, and
13157 additionally, when such disk contains a memberlist() struct member,
13158 once for each disk that is contained in the structure returned by
13159 memberlist().
13160
91a4bf68 131612008-02-09 Robert Millan <rmh@aybabtu.com>
13162
13163 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
13164 environment variable to 'all' in order to obtain debug output from
13165 non-util/ code.
13166 * util/i386/pc/grub-setup.c (main): Likewise.
13167
a96f9caa 131682008-02-08 Robert Millan <rmh@aybabtu.com>
13169
13170 * disk/raid.c (grub_raid_scan_device): Check for
13171 `array->device[sb.this_disk.number]' rather than for
13172 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 13173 guaranteed to be accessible.
a96f9caa 13174
b37a9222 131752008-02-08 Robert Millan <rmh@aybabtu.com>
13176
13177 * disk/raid.c: Update copyright.
13178 * fs/cpio.c: Likewise.
13179 * include/grub/raid.h: Likewise.
13180 * loader/i386/pc/multiboot.c: Likewise.
13181 * util/hostfs.c: Likewise.
13182
5626aee1 131832008-02-08 Robert Millan <rmh@aybabtu.com>
13184
13185 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
13186 to a grub_disk_t array.
13187 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
13188 `device[x]'.
13189 (grub_raid_scan_device): Replace `device[x].name' accesses with
13190 `device[x]->name'. Simplify initialization of `array->device[x]'.
13191
554f0187 131922008-02-08 Robert Millan <rmh@aybabtu.com>
13193
13194 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
13195 grub_dprintf() calls.
13196 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
13197 error message.
13198
1ec8425d 131992008-02-07 Christian Franke <franke@computer.org>
13200
13201 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
13202 instead of fseek and ftell to support large files.
13203 (grub_hostfs_read): Likewise.
13204
f2156fda 132052008-02-07 Robert Millan <rmh@aybabtu.com>
13206
13207 Patch from Jeroen Dekkers.
13208 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 13209 failure, since successfully reading all array members might not be
f2156fda 13210 required.
13211
9216e0e7 132122008-02-06 Robert Millan <rmh@aybabtu.com>
13213
13214 * util/grub-probe.c (probe): Simplify partmap probing (with the
13215 assumption that the first word up to the underscore equals to
13216 the module name).
13217
b0dfd29a 132182008-02-06 Christian Franke <franke@computer.org>
13219
13220 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
13221 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
13222 last block of a cpio or tar stream.
13223 Check for "TRAILER!!!" instead of any empty data
13224 block to detect last block of a cpio stream.
13225 (grub_cpio_dir): Fix constness of variable np.
13226 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
13227 cpio or tar trailer is detected. This fixes a crash
13228 on open of a non existing file.
13229
c32865bf 132302008-02-05 Bean <bean123ch@gmail.com>
13231
13232 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
13233 address of entry.
13234 (grub_multiboot_load_elf64): Likewise.
13235 (grub_multiboot): Initialize mbi structure.
13236
13237 * util/grub-fstest.c: Don't include unused header file script.h.
13238
fe6b695a 13239 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 13240 of file.
13241 (grub_fstest_SOURCES): Likewise.
13242
409480b7 132432008-02-05 Robert Millan <rmh@aybabtu.com>
13244
13245 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
13246 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
13247 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
13248 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
13249
13250 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
13251 (translation_table): Replace hardcoded values with macros
13252 provided by `<grub/term.h>'.
13253
13254 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
13255 (keyboard_map): Correct/add a few values, with macros provided
13256 by `<grub/term.h>'.
13257 (keyboard_map_shift): Zero values that don't differ from their
13258 `keyboard_map' equivalents.
13259 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
13260 Discard the second scan code that is always sent by Caps lock.
13261 Only use `keyboard_map_shift' when it provides a non-zero value,
13262 otherwise fallback to `keyboard_map'.
13263
99fadbaa 132642008-02-04 Bean <bean123ch@gmail.com>
13265
13266 * Makefile.in (enable_grub_fstest): New variable.
13267
13268 * conf/common.rmk (grub_fstest_init.lst): New rule.
13269 (grub_fstest_init.h): Likewise.
13270 (grub_fstest_init.c): Likewise.
13271 (util/grub-fstest.c_DEPENDENCIES): New variable.
13272 (grub_fstest_SOURCES): Likewise.
13273
13274 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
13275
13276 * util/grub-fstest.c: New file.
13277
bf567c50 132782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13279
13280 Make grub-setup handle a separate root device.
f19dbdb7 13281
bf567c50 13282 * util/i386/pc/grub-setup.c (setup): Always open the root device,
13283 so that the root device can be compared with the destination
13284 device.
13285 When embedding the core image, if the root and destination devices
13286 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
13287 0xFF.
13288 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 13289
9be6b98b 132902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13291
13292 Add support for having a grub directory in a different drive. This
13293 is still only the data handling part.
f19dbdb7 13294
9be6b98b 13295 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
13296 (codestart): Save %dh in GRUB_ROOT_DRIVE.
13297 (grub_root_drive): New variable.
13298
13299 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
13300 instead of GRUB_BOOT_DRIVE to construct a device name. Set
13301 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
13302 as it was.
13303
13304 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
13305
13306 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
13307 macro.
13308 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
13309
13310 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
13311 is bogus, because PXE booting does not specify any drive
13312 correctly.
13313
13314 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
13315 am not sure if this is really correct.
13316
13317 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
13318 is always identical to the boot drive when booting from a CD.
13319
13320 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
13321 longer.
13322 (root_drive): New variable.
13323 (real_start): Unconditionally set %dh to ROOT_DRIVE.
13324 (setup_sectors): Push %dx right after popping it, because %dh will
13325 be modified later.
13326 (copy_buffer): Restore %dx.
13327
e0ca0677 133282008-02-03 Robert Millan <rmh@aybabtu.com>
13329
13330 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
13331 use `cdboot.img' for cdrom images.
13332
3b3f6629 133332008-02-03 Robert Millan <rmh@aybabtu.com>
13334
13335 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
13336 only setup gfxterm when `font' command has succeeded.
13337
d42b3672 133382008-02-03 Robert Millan <rmh@aybabtu.com>
13339
13340 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
13341 (grub_rescue_cmd_multiboot_loader)
13342 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
13343
fa370ea6 133442008-02-03 Pavel Roskin <proski@gnu.org>
13345
e0c5dacb 13346 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 13347 %edx and %esi from stack only after grub_gate_a20() is called.
13348 grub_gate_a20() clobbers %edx.
13349
f2a76e1d 133502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
13351
13352 * configure.ac (AC_INIT): Bumped to 1.96.
13353
13354 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
13355 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
13356 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
13357 video/readers/png.c.
13358
90fd32d1 133592008-02-03 Bean <bean123ch@gmail.com>
9be665dd 13360
13361 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
13362 (cdboot_img_SOURCES): New variable.
13363 (cdboot_img_ASFLAGS): New variable.
13364 (cdboot_img_LDFLAGS): New variable.
13365
13366 * boot/i386/pc/cdboot.S: New file.
13367
13368 * disk/i386/pc/biosdisk.c (cd_start): New variable.
13369 (cd_count): Likewise.
13370 (grub_biosdisk_get_drive): Add support for cd device.
13371 (grub_biosdisk_call_hook): Likewise.
13372 (grub_biosdisk_iterate): Likewise.
13373 (grub_biosdisk_open): Likewise.
13374 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
13375 (grub_biosdisk_rw): Support reading from cd device.
13376 (GRUB_MOD_INIT): Iterate cd devices.
13377
13378 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
13379 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
13380 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
13381
13382 * kern/i386/pc/init.c (make_install_device): Check for cd device.
13383
4020aa53 133842008-02-02 Robert Millan <rmh@aybabtu.com>
13385
13386 * commands/read.c: New file.
13387 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
13388 (read_mod_SOURCES): New variable.
13389 (read_mod_CFLAGS): Likewise.
13390 (read_mod_LDFLAGS): Likewise.
13391
e03a1132 133922008-02-02 Robert Millan <rmh@aybabtu.com>
13393
13394 * normal/main.c (grub_normal_execute): Check for `menu->size' when
13395 determining whether menu has to be displayed.
13396
58c69220 133972008-02-02 Marco Gerards <marco@gnu.org>
13398
13399 * bus/pci.c: New file.
13400
13401 * include/grub/pci.h: Likewise.
13402
13403 * include/grub/i386/pc/pci.h: Likewise.
13404
13405 * commands/lspci.c: Likewise.
13406
13407 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
13408 `lspci.mod'.
13409 (pci_mod_SOURCES): New variable.
13410 (pci_mod_CFLAGS): Likewise.
13411 (pci_mod_LDFLAGS): Likewise.
13412 (lspci_mod_SOURCES): Likewise.
13413 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 13414 (lspci_mod_LDFLAGS): Likewise.
58c69220 13415
c004e1b4 134162008-02-02 Bean <bean123ch@gmail.com>
13417
13418 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
13419 (grub_ufs_get_file_block): Fix indirect block calculation problem.
13420
13421 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
13422 (grub_xfs_btree_node): New structure.
13423 (grub_xfs_btree_root): New structure.
13424 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
13425 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
13426 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13427 (GRUB_XFS_EXTENT_SIZE): Likewise.
13428 (grub_xfs_read_block): Support btree format type.
13429 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
13430 Use directory block as basic unit.
13431
13432 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
13433
13434 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
13435 __attribute__ ((__regparm__ (1))).
13436
f95562bf 134372008-02-01 Robert Millan <rmh@aybabtu.com>
13438
13439 Correct a mistake in previous commit.
13440
13441 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
13442 top.
13443 (normal/command.c_DEPENDENCIES): New variable.
13444
7d31f41f 134452008-02-01 Robert Millan <rmh@aybabtu.com>
13446
13447 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
13448 top.
13449 (normal/command.c_DEPENDENCIES): New variable.
13450 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
13451 * conf/i386-ieee1275.rmk: Likewise.
13452 * conf/i386-linuxbios.rmk: Likewise.
13453 * conf/i386-pc.rmk: Likewise.
13454 * conf/sparc64-ieee1275.rmk: Likewise.
13455 * conf/powerpc-ieee1275.rmk: Likewise.
13456 (grub_emu_SOURCES): Add `fs/fshelp.c'.
13457
13458 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
13459
60b6be74 134602008-02-01 Robert Millan <rmh@aybabtu.com>
13461
13462 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
13463 call at beginning of function.
13464
078522ab 134652008-01-31 Pavel Roskin <proski@gnu.org>
13466
13467 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 13468 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
13469 (grub_mkrescue_SOURCES): Likewise.
078522ab 13470 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
13471
ccaa8a5f 134722008-01-30 Robert Millan <rmh@aybabtu.com>
13473
13474 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
13475 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
13476 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
13477 (grub_probe_SOURCES): ... to here.
13478
13479 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
13480 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
13481 * conf/i386-ieee1275.rmk: Likewise.
13482 * conf/i386-linuxbios.rmk: Likewise.
13483 * conf/powerpc-ieee1275.rmk: Likewise.
13484
ae5a9cd7 134852008-01-30 Tristan Gingold <gingold@free.fr>
13486
13487 * kern/rescue.c: Silently accept empty lines.
13488
70bc2ef2 134892008-01-29 Bean <bean123ch@gmail.com>
13490
13491 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
13492 (real_code_2): Code cleanup and change comment style.
13493 (move_memory): Avoid using 32-bit address mode.
13494
6a4d50ea 134952008-01-29 Bean <bean123ch@gmail.com>
13496
13497 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
13498 (png_mod_SOURCES): New variable.
13499 (png_mod_CFLAGS): Likewise.
13500 (png_mod_LDFLAGS): Likewise.
13501
13502 * video/readers/png.c: New file.
13503
11cc30ac 135042008-01-28 Robert Millan <rmh@aybabtu.com>
13505
13506 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
13507 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
13508 `ifndef GRUB_MOD_GAP' hack.
13509 * util/elf/grub-mkimage.c (add_segments): Likewise.
13510
3abc589f 135112008-01-27 Robert Millan <rmh@aybabtu.com>
13512
13513 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
13514 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 13515 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 13516
e1907778 135172008-01-27 Robert Millan <rmh@aybabtu.com>
13518
13519 Get grub-emu to build again (including parallel builds).
13520
13521 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
13522 Split into ...
13523 (util/grub-emu.c_DEPENDENCIES): ... this, ...
13524 (normal/execute.c_DEPENDENCIES): ... this, ...
13525 (grub-emu_DEPENDENCIES): ... and this.
13526
13527 * conf/i386-efi.rmk: Likewise.
13528 * conf/i386-linuxbios.rmk: Likewise.
13529 * conf/i386-ieee1275.rmk: Likewise.
13530 * conf/powerpc-ieee1275.rmk: Likewise.
13531 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
13532
2216b101 135332008-01-27 Robert Millan <rmh@aybabtu.com>
13534
13535 * NEWS: Add a few items.
13536
f75172d9 135372008-01-27 Robert Millan <rmh@aybabtu.com>
13538
13539 Fix parallel builds with grub-emu. Based on earlier commit for
13540 grub-probe and grub-setup.
13541
13542 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13543 (util/grub-emu.c_DEPENDENCIES): ... this.
13544 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13545 (util/grub-emu.c_DEPENDENCIES): ... this.
13546 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13547 (util/grub-emu.c_DEPENDENCIES): ... this.
13548 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13549 (util/grub-emu.c_DEPENDENCIES): ... this.
13550 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
13551 (util/grub-emu.c_DEPENDENCIES): ... this.
13552
3f51de77 135532008-01-27 Pavel Roskin <proski@gnu.org>
13554
13555 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
13556 to create a gap between _end and the modules added to the image
13557 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
13558 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
13559 * util/elf/grub-mkimage.c (add_segments): Likewise.
13560
2033f53e 135612008-01-26 Pavel Roskin <proski@gnu.org>
13562
13563 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
13564 just return an error.
13565
22da1f6f 135662008-01-26 Bean <bean123ch@gmail.com>
13567
13568 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
13569 (grub_reiserfs_get_item): Save offset of the next item.
13570 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
13571
2a9525e6 135722008-01-25 Robert Millan <rmh@aybabtu.com>
13573
13574 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
13575 make all filesystem sources appear together (possibly fixing omissions
13576 while at it).
13577 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13579 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13581
13582 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
13583 add `kern/file.c'.
13584 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
13585 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13586 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
13587 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
13588
13589 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
13590 (probe): Add a sanity check to make sure of our ability to read
13591 requested files when probing for filesystem type.
13592
13593 * genmk.rb: Update copyright year (2007).
13594
13595 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
13596 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
13597 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
13598 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
13599 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
13600 : Remove function prototypes.
13601
b95f71b5 136022008-01-25 Robert Millan <rmh@aybabtu.com>
13603
13604 Revert my previous commits (based on wrong assumption of how grub_errno
13605 works).
13606
fe6b695a 13607 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 13608 * kern/file.c (grub_file_open): Likewise.
13609
d08bbb49 136102008-01-24 Pavel Roskin <proski@gnu.org>
13611
13612 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
13613 that hang if GRUB tries to setup colors.
13614 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
13615 colors for firmwares that don't support it.
13616 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
13617 Recognize Open Hack'Ware, set flags to work around its
13618 limitations.
13619
605e36ed 136202008-01-24 Robert Millan <rmh@aybabtu.com>
13621
13622 * kern/file.c (grub_file_open): Do not account previous failures of
13623 unrelated functions when grub_errno is checked for.
13624 Reported by Oleg Strikov.
13625
bac332a1 136262008-01-24 Bean <bean123ch@gmail.com>
13627
13628 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
13629 (grub_ufs_sblock): New member volume name.
13630 (grub_ufs_find_file): Fix string copy bug.
13631 (grub_ufs_label): Implement this function properly.
13632
13633 * fs/hfs.c (grub_hfs_cnid_type): New enum.
13634 (grub_hfs_iterate_records): Use the correct file number for extents
13635 and catalog file. Fix problem in next index calculation.
13636 (grub_hfs_find_node): Replace recursive function call with loop.
13637 (grub_hfs_iterate_dir): Replace recursive function call with loop.
13638
15c80c09 136392008-01-23 Robert Millan <rmh@aybabtu.com>
13640
13641 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
13642 `<grub/symbol.h>' and `<grub/multiboot.h>'.
13643 (grub_multiboot2_real_boot): New function prototype.
13644
13645 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
13646 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
13647
13648 * kern/i386/ieee1275/init.c (grub_os_area_addr)
13649 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
13650
305338fd 136512008-01-23 Robert Millan <rmh@aybabtu.com>
13652
13653 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
13654 #ifdef'ed out grub_printf().
13655
3ea52685 136562008-01-23 Robert Millan <rmh@aybabtu.com>
13657
13658 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
13659 grub_dprintf calls, since they make "debug=all" mode unusable.
13660 (grub_console_checkkey): Likewise.
13661
5882ae4b 136622008-01-23 Robert Millan <rmh@aybabtu.com>
13663
13664 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
13665 `term/i386/pc/at_keyboard.c'.
13666 (pkglib_MODULES): Add `serial.mod'.
13667 (serial_mod_SOURCES): New variable.
13668 (serial_mod_CFLAGS): Likewise.
13669 (serial_mod_LDFLAGS): Likewise.
13670
13671 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
13672 `<grub/powerpc/ieee1275/console.h>'.
13673 (grub_keyboard_controller_init): New function prototype.
13674 (grub_console_checkkey): Likewise.
13675 (grub_console_getkey): Likewise.
13676
13677 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
13678 keyboard on i386.
13679
13680 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
13681 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
13682
06ab5303 136832008-01-23 Robert Millan <rmh@aybabtu.com>
13684
13685 * kern/i386/pc/init.c (make_install_device): When memdisk image is
13686 present, "(memdisk)/boot/grub" becomes the default prefix.
13687
13688 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
13689 a memdisk tarball with all the modules. Add --overlay=DIR option that
13690 allows users to overlay additional files into the image.
13691
dbb475a4 136922008-01-23 Robert Millan <rmh@aybabtu.com>
13693
13694 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
13695 and `machine/memory.h'.
13696 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
13697 (_multiboot_mod_SOURCES): New variable.
13698 (_multiboot_mod_CFLAGS): Likewise.
13699 (_multiboot_mod_LDFLAGS): Likewise.
13700 (multiboot_mod_SOURCES): Likewise.
13701 (multiboot_mod_CFLAGS): Likewise.
13702 (multiboot_mod_LDFLAGS): Likewise.
13703
13704 * include/grub/i386/ieee1275/loader.h: New file.
13705
13706 * include/grub/i386/ieee1275/machine.h: Likewise.
13707
13708 * include/grub/i386/ieee1275/memory.h: Likewise.
13709
13710 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
13711 variable declaration.
13712 (grub_os_area_size): Likewise.
13713
13714 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
13715 (grub_lower_mem, grub_upper_mem): New variables.
13716 (grub_stop_floppy): New function (just to make
13717 grub_multiboot2_real_boot() happy).
13718
13719 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
13720 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
13721 (grub_stop): New function.
13722 Include `"../realmode.S"' and `"../loader.S"'.
13723
13724 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
13725 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
13726
13727 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
13728 rely on grub_multiboot2_real_boot() for final boot.
13729
25638629 137302008-01-22 Robert Millan <rmh@aybabtu.com>
13731
13732 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
13733 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
13734 device that doesn't look like an SD card.
13735 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13736 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
13737 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
13738 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
13739 found.
13740
9dad816d 137412008-01-22 Robert Millan <rmh@aybabtu.com>
13742
13743 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
13744 avoid claiming over our own code.
13745
34842f2d 137462008-01-22 Bean <bean123ch@gmail.com>
13747
13748 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
13749 (jpeg_mod_SOURCES): New variable.
13750 (jpeg_mod_CFLAGS): Likewise.
13751 (jpeg_mod_LDFLAGS): Likewise.
13752
13753 * video/readers/jpeg.c : New file.
13754
44023a28 137552008-01-22 Bean <bean123ch@gmail.com>
13756
13757 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
13758 there are no more items.
13759
bc2d8ac6 137602008-01-21 Robert Millan <rmh@aybabtu.com>
13761
13762 * kern/mm.c (grub_mm_init_region): Improve debug message.
13763
261bd4bc 137642008-01-21 Robert Millan <rmh@aybabtu.com>
13765
13766 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
13767 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
13768 address.
13769 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
13770 a C macro.
13771 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
13772 Indicates start of upper memory.
13773 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
13774 (generate_image): Abort when image size is big enough to corrupt
13775 upper memory.
13776
13777 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
13778 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
13779 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13780 instead of hardcoding 0xA0000.
13781 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
13782 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
13783 instead of hardcoding 0xA0000.
13784
f970b55e 137852008-01-21 Robert Millan <rmh@aybabtu.com>
13786
13787 * disk/memdisk.c (memdisk_size): New variable.
13788 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
13789 `memdisk_size'.
13790 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
13791 image to dynamic memory.
13792 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
13793 `memdisk_size'. Free memdisk block.
13794
1a8b0526 137952008-01-21 Robert Millan <rmh@aybabtu.com>
13796
13797 Fix detection of very small filesystems (like tar).
13798
13799 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
13800 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
13801 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
13802 a problem with this disk).
13803
6e9b4aab 138042008-01-21 Robert Millan <rmh@aybabtu.com>
13805
13806 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
13807 on grub_biosdisk_rw_standard() error.
13808
0d8837b2 138092008-01-21 Robert Millan <rmh@aybabtu.com>
13810
13811 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
13812 recent changes.
13813 * kern/elf.c: Likewise.
13814 * kern/ieee1275/ieee1275.c: Likewise.
13815 * kern/powerpc/ieee1275/openfw.c: Likewise.
13816 * term/ieee1275/ofconsole.c: Likewise.
13817
ffd36e34 138182008-01-21 Robert Millan <rmh@aybabtu.com>
13819
13820 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
13821
3f0093d0 13822 * include/grub/kernel.h (grub_arch_memdisk_addr)
13823 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 13824
3f0093d0 13825 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
13826 (grub_arch_memdisk_size): ... to here.
ffd36e34 13827
6c391b21 138282008-01-21 Robert Millan <rmh@aybabtu.com>
13829
13830 Mostly based on bugfix from Bean.
13831
13832 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
13833 attribute with hook() parameter.
13834 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
13835 declaration.
13836 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
13837 attribute with hook() parameter.
13838 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
13839 declaration.
13840
55a581dc 138412008-01-21 Robert Millan <rmh@aybabtu.com>
13842
13843 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
13844 (pkglib_MODULES): Add `memdisk.mod'.
13845 (memdisk_mod_SOURCES): New variable.
13846 (memdisk_mod_CFLAGS): Likewise.
13847 (memdisk_mod_LDFLAGS): Likewise.
13848
13849 * disk/memdisk.c: New file.
13850
13851 * include/grub/disk.h (grub_disk_dev_id): Add
13852 `GRUB_DISK_DEVICE_MEMDISK_ID'.
13853
13854 * include/grub/i386/pc/kernel.h
13855 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
13856 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
13857 (grub_kernel_image_size): New variable declaration.
13858 (grub_total_module_size): Likewise.
13859 (grub_memdisk_image_size): Likewise.
13860
13861 * include/grub/i386/pc/memory.h
13862 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
13863
13864 * include/grub/kernel.h: Include `<grub/symbol.h>'.
13865 (grub_arch_memdisk_addr): New variable declaration.
13866 (grub_arch_memdisk_size): Likewise.
13867
13868 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
13869 (grub_arch_memdisk_size): Likewise.
13870
13871 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
13872 (codestart): Replace hardcoded `0x100000' with
13873 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
13874
13875 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
13876 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
13877 not NULL, append the contents of the file it refers to, at the end of
13878 the compressed kernel image. Initialize `grub_memdisk_image_size'
13879 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
13880 (options): Add "memdisk"|'m' option.
13881 (main): Parse --memdisk|-m option, and pass user-provided path as
13882 parameter to generate_image().
13883
3d7f54c9 138842008-01-20 Robert Millan <rmh@aybabtu.com>
13885
13886 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
13887 grub_dprintf() calls from here ...
13888 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
13889
0bf74728 138902008-01-20 Robert Millan <rmh@aybabtu.com>
13891
13892 Fix detection of "real mode" when /options/real-mode? doesn't exist.
13893
13894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
13895 declaration.
13896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
13897 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
13898 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 13899 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 13900 property).
13901 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
13902 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
13903
33bf70a7 139042008-01-19 Robert Millan <rmh@aybabtu.com>
13905
fe6b695a 13906 Get rid of confusing function (superseded by
33bf70a7 13907 `grub_ieee1275_get_integer_property')
13908 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
13909 prototype.
13910 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
13911 function.
13912 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
13913 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 13914 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 13915
e2da7d26 139162008-01-19 Robert Millan <rmh@aybabtu.com>
13917
13918 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
13919 command after "shut-down", since implementations differ on which
13920 the command for halt is.
13921
59f1fd8d 139222008-01-19 Robert Millan <rmh@aybabtu.com>
13923
13924 * include/grub/i386/linuxbios/console.h: Add header protection.
13925 (grub_keyboard_controller_init): New function prototype.
13926 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
13927 (KEYBOARD_COMMAND_READ): Likewise.
13928 (KEYBOARD_COMMAND_WRITE): Likewise.
13929 (KEYBOARD_SCANCODE_SET1): Likewise.
13930 (grub_keyboard_controller_write): New function.
13931 (grub_keyboard_controller_read): Likewise.
13932 (grub_keyboard_controller_init): Likewise.
13933
13934 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
13935 (grub_console_init): On coreboot/LinuxBIOS, call
13936 grub_keyboard_controller_init().
13937
5f5a7c15 139382008-01-19 Robert Millan <rmh@aybabtu.com>
13939
13940 PowerPC changes provided by Pavel Roskin.
13941
13942 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
13943 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
13944 don't rely on cmain() doing it.
13945 * kern/i386/ieee1275/startup.S (_start): Store %eax in
13946 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
13947
1210e168 139482008-01-16 Robert Millan <rmh@aybabtu.com>
13949
13950 * include/grub/i386/linuxbios/memory.h
13951 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
13952 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
13953 receive `table_header' as argument. Instead, probe for it in the
13954 known memory ranges where it can be present.
13955 (grub_available_iterate): Do not pass a fixed `table_header' address
13956 to grub_linuxbios_table_iterate().
13957
3d04eab8 139582008-01-15 Robert Millan <rmh@aybabtu.com>
13959
13960 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
13961 * conf/i386-ieee1275.rmk: New file.
13962 * include/grub/i386/ieee1275/console.h: Likewise.
13963 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
13964 * include/grub/i386/ieee1275/kernel.h: Likewise.
13965 * include/grub/i386/ieee1275/time.h: Likewise.
13966 * kern/i386/ieee1275/init.c: Likewise.
13967 * kern/i386/ieee1275/startup.S: Likewise.
13968
d1bc1b73 139692008-01-15 Robert Millan <rmh@aybabtu.com>
13970
13971 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
13972 when pointers are 32-bit (but still do set it to one when they are
13973 64-bit).
13974
66a65807 139752008-01-15 Robert Millan <rmh@aybabtu.com>
13976
13977 * include/grub/ieee1275/ieee1275.h
13978 (grub_ieee1275_get_integer_property): New function prototype.
13979
13980 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
13981 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 13982 grub_ieee1275_get_property() to handle endianness.
66a65807 13983
13984 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
13985 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 13986 where appropriate.
66a65807 13987 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
13988 (grub_map): Likewise.
13989 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
13990
a83ccafd 139912008-01-15 Bean <bean123ch@gmail.com>
13992
13993 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
13994 (grub_script_execute_cmdline): Reset grub_errno.
13995
13996 * normal/main.c (read_config_file): Reset grub_errno.
13997
13998 * normal/parse.y (script_init): New.
13999 (script): Move function and menuentry here.
14000 (delimiter): New.
14001 (command): Add delimiter at the end of command.
14002 (commands): Adjust to match the new command.
14003 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 14004 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 14005 (if): Use the new commands.
14006
14007 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
14008
df6ecfc6 140092008-01-15 Robert Millan <rmh@aybabtu.com>
14010
14011 * normal/menu.c (run_menu): Move timeout message from here ...
14012 (print_timeout): ... to here.
14013 (run_menu): Use print_timeout() once during initial draw to print
14014 the whole message, and again in every clock tick to update only
14015 the number of seconds.
14016
87ae25eb 140172008-01-15 Robert Millan <rmh@aybabtu.com>
14018
14019 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
14020 actual size of `available' from grub_ieee1275_get_property(), and
14021 restrict parsing to that bound.
14022
47bf09a4 140232008-01-15 Christian Franke <franke@computer.org>
14024
14025 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
14026 (argp_program_version): Remove variable.
14027 (argp_program_bug_address): Likewise.
14028 (options): Convert from struct argp_option to struct option.
14029 (struct arguments): Remove.
14030 (parse_opt): Remove.
14031 (usage): New function.
14032 (main): Replace struct args members by simple variables.
14033 Replace argp_parse() by getopt_long().
14034 Add switch to evaluate options.
14035 Add missing "(...)" around root_dev in prefix string.
14036
c86f1469 140372008-01-14 Robert Millan <rmh@aybabtu.com>
14038
14039 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
14040 for grub_ieee1275_exit(), in order to improve portability.
14041
e622c559 140422008-01-14 Robert Millan <rmh@aybabtu.com>
14043
14044 * util/grub.d/10_linux.in (prefix): Define.
14045 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
14046
44cb1ec8 140472008-01-13 Pavel Roskin <proski@gnu.org>
14048
14049 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
14050 grub_errno if no errors have been detected.
14051
1eb8c802 140522008-01-12 Robert Millan <rmh@aybabtu.com>
14053
14054 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
14055 (grub_util_get_dev_abstraction): New function prototype.
14056
14057 * util/getroot.c: Include `<grub/util/getroot.h>'
14058 (grub_util_get_grub_dev): Move detection of abstraction type to ...
14059 (grub_util_get_dev_abstraction): ... here (new function).
14060
14061 * util/grub-probe.c: Convert PRINT_* to an enum. Add
14062 `PRINT_ABSTRACTION'.
14063 (probe): Probe for abstraction type when requested.
14064 (main): Understand `--target=abstraction'.
14065
14066 * util/i386/efi/grub-install.in: Add abstraction module to core
14067 image when it is found to be necessary.
14068 * util/i386/pc/grub-install.in: Likewise.
14069 * util/powerpc/ieee1275/grub-install.in: Likewise.
14070
14071 * util/update-grub_lib.in (font_path): Return system path without
14072 converting to GRUB path.
14073 * util/update-grub.in: Convert system path returned by font_path()
14074 to a GRUB path. Use `grub-probe -t abstraction' to determine what
14075 abstraction module is needed for loading fonts (if any). Export
14076 that as `GRUB_PRELOAD_MODULES'.
14077 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
14078 insmod commands).
14079
52bd3de9 140802008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
14081
14082 Remove some unused code from reiserfs.
f19dbdb7 14083
52bd3de9 14084 * fs/reiserfs.c (struct grub_reiserfs_key)
14085 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
14086 (struct grub_reiserfs_node_body): Removed.
14087 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14088 Likewise.
14089 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14090 Likewise.
14091 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14092 Likewise.
14093 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
14094 Likewise.
14095 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
14096 Likewise.
14097 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
14098 Likewise.
14099 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14100 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14101 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
14102
2f80039d 141032008-01-10 Robert Millan <rmh@aybabtu.com>
14104
14105 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
14106 Determines if a file is garbage left by packaging systems, etc.
14107 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
14108 for processing /etc/grub.d scripts.
14109 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
14110 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
14111 as a condition for processing Linux images.
14112
87888032 141132008-01-10 Pavel Roskin <proski@gnu.org>
14114
14115 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
14116 to compile reiserfs.c on PowerPC.
14117
7e54fced 141182008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 14119
14120 * kern/device.c (grub_device_iterate): Do not abort device iteration
14121 when one of the devices cannot be opened.
14122 * kern/disk.c (grub_disk_open): Do not account previous failures of
14123 unrelated functions when grub_errno is checked for.
14124
5aa541e6 141252008-01-08 Robert Millan <rmh@aybabtu.com>
14126
14127 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
14128 `! grub_linux_is_bzimage', change order of address comparison to make
14129 it more intuitive, and improve "too big zImage" error message.
14130
7076340d 141312008-01-08 Robert Millan <rmh@aybabtu.com>
14132
14133 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
14134 `$(update-grub_DATA)'.
14135 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
14136 targets.
14137
9ca70333 141382008-01-07 Robert Millan <rmh@aybabtu.com>
14139
14140 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
14141 which instruction is modified by grub-setup during installation
14142 (since it wasn't obvious by only looking at this file).
14143
38ccf575 141442008-01-07 Robert Millan <rmh@aybabtu.com>
14145
14146 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
14147 listing actual TODO items.
14148
f5db4291 141492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14150
868967cf 14151 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
14152 correctly.
14153 (grub_reiserfs_get_key_offset): Likewise.
14154 (grub_reiserfs_set_key_offset): Likewise.
14155 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 14156 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 14157
14158 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
14159 better to remove the bitfield version completely.
f19dbdb7 14160
868967cf 141612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14162
f5db4291 14163 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
14164 allocated from the heap, due to the fshelp implementation.
14165 (grub_reiserfs_dir): Free NODE, due to the same reason.
14166
492e6d9d 141672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
14168
14169 Mostly from Vincent Pelletier:
f19dbdb7 14170
492e6d9d 14171 * fs/reiserfs.c: New file.
f19dbdb7 14172
492e6d9d 14173 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
14174 (reiserfs_mod_SOURCES): New variable.
14175 (reiserfs_mod_CFLAGS): Likewise.
14176 (reiserfs_mod_LDFLAGS): Likewise.
14177
14178 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
14179 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
14180 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
14181 normal/color.c.
14182
9ce3e7c1 141832008-01-06 Robert Millan <rmh@aybabtu.com>
14184
14185 * normal/color.c: Remove `<grub/env.h>'.
14186
f3b58148 141872008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
14188
14189 * include/grub/normal.h: Include <grub/env.h>.
14190
7ac3bcfa 141912008-01-05 Robert Millan <rmh@aybabtu.com>
14192
14193 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
14194 usage example with `(hd0,1)'.
fb358190 14195 Reported by Samuel Thibault.
7ac3bcfa 14196
c8ee99d7 141972008-01-05 Robert Millan <rmh@aybabtu.com>
14198
14199 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
14200 (grub_linux_boot_zimage): Rename to ...
14201 (grub_linux_boot): ... this.
14202 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
14203 (grub_linux_boot_zimage): Conditionalize zImage copy.
14204
14205 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
14206 (grub_linux_boot_bzimage): Remove prototype.
14207 (grub_linux_boot_zimage): Rename to ...
14208 (grub_linux_boot): ... this.
14209
14210 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
14211 (grub_linux_boot): Remove function.
14212
0ece25b1 142132008-01-05 Robert Millan <rmh@aybabtu.com>
14214
14215 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
14216 (grub_env_write_color_highlight): Likewise.
14217 (grub_wait_after_message): Likewise.
14218
14219 * normal/color.c: New file.
14220
14221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14222 (normal_mod_DEPENDENCIES): Likewise.
14223
14224 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14225 (normal_mod_DEPENDENCIES): Likewise.
14226
14227 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14228 (normal_mod_DEPENDENCIES): Likewise.
14229
14230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
14231 (normal_mod_DEPENDENCIES): Likewise.
14232
14233 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
14234 for waiting after a message is printed.
14235 * normal/main.c (read_config_file): Likewise.
14236 (grub_normal_init): Register grub_env_write_color_normal() and
14237 grub_env_write_color_highlight() hooks. Mark `color_normal' and
14238 `color_highlight' variables as global.
14239
14240 * normal/menu.c (grub_wait_after_message): New function.
14241 (grub_color_menu_normal): New variable. Replaces ...
14242 (GRUB_COLOR_MENU_NORMAL): ... this macro.
14243 (grub_color_menu_highlight): New variable. Replaces ...
14244 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
14245 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
14246 `GRUB_TERM_COLOR_STANDARD'.
14247 (print_message): Use `grub_setcolorstate' to reload colors. Rename
14248 `normal_code' and `highlight_code' to `old_color_normal' and
14249 `old_color_highlight', respectively.
14250 (grub_menu_init_page): Update colors when drawing the menu, based on
14251 `menu_color_normal' and `menu_color_highlight' variables.
14252 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
14253 a message is printed.
14254
182dd4e5 142552008-01-05 Robert Millan <rmh@aybabtu.com>
14256
14257 * kern/env.c (grub_env_context_open): Propagate hooks for global
14258 variables to new context.
14259
14260 * kern/main.c (grub_set_root_dev): Export `root' variable.
14261
ddf8f6ad 142622008-01-05 Robert Millan <rmh@aybabtu.com>
14263
14264 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 14265 discs unconditionally, since udev and others have options to provide
ddf8f6ad 14266 them.
14267
d8b43d9b 142682008-01-05 Robert Millan <rmh@aybabtu.com>
14269
14270 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
14271
2bff2de3 142722008-01-04 Christian Franke <franke@computer.org>
14273
14274 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
14275 of eisa_mmap.
14276
97eab917 142772008-01-03 Pavel Roskin <proski@gnu.org>
14278
14279 * kern/i386/linuxbios/init.c: Put "void" to all function
14280 declarations with no arguments.
14281 * kern/powerpc/ieee1275/init.c: Likewise.
14282 * term/i386/pc/at_keyboard.c: Likewise.
14283 * term/i386/pc/vga_text.c: Likewise.
14284 * util/grub-mkdevicemap.c: Likewise.
14285
b9416d00 142862008-01-02 Robert Millan <rmh@aybabtu.com>
14287
14288 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
14289 message when loaded image is out of bounds.
14290 (grub_multiboot_load_elf64): Likewise.
14291
92695df9 142922008-01-02 Pavel Roskin <proski@gnu.org>
14293
14294 * util/grub.d/10_linux.in: Try version without ".old" when
14295 looking for initrd. It's better to use initrd from the newer
14296 kernel of the same version than no initrd at all.
14297
d98d9cad 142982008-01-01 Robert Millan <rmh@aybabtu.com>
14299
14300 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
14301
dbfdce36 143022008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
14303
f19dbdb7 14304 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 14305 grub_video_get_active_render_target.
14306 (grub_video_adapter): Added unmap_color and get_active_render_target.
14307
f19dbdb7 14308 * video/video.c: Added grub_video_unmap_color and
dbfdce36 14309 grub_video_get_active_render_target.
14310 (grub_video_get_info): Changed method to accept NULL pointer as an
14311 argument to allow detection of active video adapter.
14312
14313 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
14314 grub_video_vbe_unmap_color_int.
14315 Added grub_video_vbe_unmap_color and
14316 grub_video_vbe_get_active_render_target.
14317 (grub_video_vbe_adapter): Added unmap_color and
14318 get_active_render_target.
14319
f19dbdb7 14320 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 14321 with grub_video_vbe_unmap_color_int.
14322
14323 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
14324 (DEFAULT_NORMAL_COLOR): Likewise.
14325 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
14326 (DEFAULT_FG_COLOR): Removed.
14327 (DEFAULT_BG_COLOR): Likewise.
14328 (DEFAULT_CURSOR_COLOR): Changed value.
14329 (grub_virtual_screen): Added standard_color_setting,
14330 normal_color_setting, highlight_color_setting and term_color.
14331 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
14332 (bitmap_width): Added.
14333 (bitmap_height): Likewise.
14334 (bitmap): Likewise.
14335 (set_term_color): Likewise.
14336 (grub_virtual_screen_setup): Changed to use new terminal coloring
14337 settings.
14338 (grub_gfxterm_init): Added init for bitmap.
14339 (grub_gfxterm_fini): Added destroy for bitmap.
14340 (redraw_screen_rect): Updated to use background bitmap and new
14341 terminal coloring.
14342 (scroll_up): Added optimization for case when there is no bitmap.
14343 (grub_gfxterm_cls): Fixed to use correct background color.
14344 (grub_virtual_screen_setcolorstate): Changed to use new terminal
14345 coloring.
14346 (grub_virtual_screen_setcolor): Likewise.
14347 (grub_virtual_screen_getcolor): Added.
14348 (grub_gfxterm_background_image_cmd): Likewise.
14349 (grub_video_term): Added setcolor and getcolor.
14350 (MOD_INIT): Added registration of background_image command.
14351 (MOD_TERM): Added unregistration for background_image command.
14352
c3c20931 143532007-12-30 Pavel Roskin <proski@gnu.org>
14354
14355 * loader/multiboot_loader.c: Fix multiboot command
14356 unregistration. Fix all typos in the word "multiboot".
14357
df266716 143582007-12-29 Pavel Roskin <proski@gnu.org>
94239199 14359
14360 * util/grub.d/10_linux.in: Refactor search for initrd. Add
14361 support for initrd names used in Fedora.
14362
fc6e896c 143632007-12-26 Bean <bean123ch@gmail.com>
14364
14365 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
14366 (cpio_mod_SOURCES): New variable.
14367 (cpio_mod_CFLAGS): Likewise.
14368 (cpio_mod_LDFLAGS): Likewise.
14369
14370 * fs/cpio.c: New file.
14371
14372 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
14373
14374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14375
14376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
14377
14378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14379
533110ad 143802007-12-25 Robert Millan <rmh@aybabtu.com>
14381
14382 * include/grub/term.h (struct grub_term): Add `getcolor' function.
14383 (grub_getcolor): New function.
14384
14385 * kern/term.c (grub_getcolor): New function.
14386 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
14387 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
14388 (print_entry): Set normal and highlight colors to
14389 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
14390 respectively, before printing and restore them to old
14391 values afterwards.
14392 (grub_menu_init_page): Likewise. Fill an additional colored space
14393 that would otherwise be left blank.
14394
14395 * term/efi/console.c (grub_console_getcolor): New function.
14396 (struct grub_console_term.getcolor): New variable.
14397 * term/i386/pc/console.c (grub_console_getcolor): New function.
14398 (struct grub_console_term.getcolor): New variable.
14399 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
14400 (struct grub_console_term.getcolor): New variable.
14401
14402 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
14403 (struct grub_console_term.setcolor): Remove variable.
14404 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
14405 (struct grub_console_term.setcolor): Remove variable.
14406 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
14407 (struct grub_console_term.setcolor): Remove variable.
14408 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
14409 (struct grub_console_term.setcolor): Remove variable.
14410
4931827f 144112007-12-25 Robert Millan <rmh@aybabtu.com>
14412
14413 * configure.ac: Search for possible unifont.hex locations, and
14414 define UNIFONT_HEX if found.
14415
14416 * Makefile.in (UNIFONT_HEX): Define variable.
14417 (DATA): Rename to ...
14418 (PKGLIB): ... this. Update all users.
14419 (PKGDATA): New variable.
14420 (pkgdata_IMAGES): Rename to ...
14421 (pkglib_IMAGES): ... this. Update all users.
14422 (pkgdata_MODULES): Rename to ...
14423 (pkglib_MODULES): ... this. Update all users.
14424 (pkgdata_PROGRAMS): Rename to ...
14425 (pkglib_PROGRAMS): ... this. Update all users.
14426 (pkgdata_DATA): Rename to ...
14427 (pkglib_DATA): ... this. Update all users.
14428 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
14429 (unicode.pff, ascii.pff): New rules.
14430 (all-local): Add `$(PKGDATA)' dependency.
14431 (install-local): Process `$(PKGDATA)'.
14432
14433 * util/update-grub_lib.in (font_path): Search for *.pff files in
14434 a few more locations, including `${pkgdata}'.
14435
57e57e31 144362007-12-23 Robert Millan <rmh@aybabtu.com>
14437
14438 Patch from Bean <bean123ch@gmail.com>:
14439 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
14440 `size'.
14441
4bc72aa9 144422007-12-21 Bean <bean123ch@gmail.com>
14443
14444 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
14445 (ntfscomp_mod_SOURCES): New variable.
14446 (ntfscomp_mod_CFLAGS): Likewise.
14447 (ntfscomp_mod_LDFLAGS): Likewise.
14448
14449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
14450 (grub_probe_SOURCES): Likewise.
14451 (grub_emu_SOURCES): Likewise.
14452
14453 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14454 (grub_emu_SOURCES): Likewise.
14455
14456 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14457 (grub_emu_SOURCES): Likewise.
14458
14459 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
14460 (grub_emu_SOURCES): Likewise.
14461
14462 * fs/ntfs.c (grub_ntfscomp_func): New variable.
14463 (read_run_list): Renamed to grub_ntfs_read_run_list.
14464 (decomp_nextvcn): Moved to ntfscomp.c.
14465 (decomp_getch): Likewise.
14466 (decomp_get16): Likewise.
14467 (decomp_block): Likewise.
14468 (read_block): Likewise.
14469 (read_data): Partially moved to ntfscomp.c.
14470 (fixup): Change unsigned to grub_uint16_t.
14471 (read_mft): Change unsigned long to grub_uint32_t.
14472 (read_attr): Likewise.
14473 (read_data): Likewise.
14474 (read_run_data): Likewise.
14475 (read_run_list): Likewise.
14476 (read_mft): Likewise.
14477
14478 * fs/ntfscomp.c: New file.
14479
14480 * include/grub/ntfs.h: New file.
14481
af680a87 144822007-12-16 Robert Millan <rmh@aybabtu.com>
14483
14484 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
14485 IDE disk check, since Linux is known to support 20 IDE disks.
14486 Reported by Colin Watson.
14487
84be7599 144882007-12-15 Bean <bean123ch@gmail.com>
14489
14490 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
14491 (lnxboot_img_SOURCES): New variable.
14492 (lnxboot_img_ASFLAGS): Likewise.
14493 (lnxboot_img_LDFLAGS): Likewise.
14494
14495 * boot/i386/pc/lnxboot.S: New file.
14496
6af9db01 144972007-11-24 Pavel Roskin <proski@gnu.org>
14498
14499 * configure.ac: Test if '--build-id=none' is supported by the
14500 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
14501 objcopy to generate incorrect binary files (binutils
14502 2.17.50.0.18-1 as shipped by Fedora 8).
14503 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
14504 linking, so that build ID doesn't break the test.
14505
7361cfe6 145062007-11-24 Pavel Roskin <proski@gnu.org>
14507
14508 * include/grub/i386/time.h: use "void" in the argument list
14509 of grub_cpu_idle().
14510 * include/grub/powerpc/time.h: Likewise.
14511 * include/grub/sparc64/time.h: Likewise.
14512
1593e10c 145132007-11-18 Christian Franke <franke@computer.org>
14514
14515 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
14516 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
14517 This fixes the problem that function keys did not work in grub-emu.
14518
3b8db1a8 145192007-11-18 Christian Franke <franke@computer.org>
14520
14521 * disk/host.c (grub_host_open): Remove attribute unused from
14522 name parameter. Add check for "host". This fixes the problem
14523 that grub-emu does not find partitions.
14524
2e29408d 145252007-11-18 Christian Franke <franke@computer.org>
14526
14527 * util/hostfs.c (is_dir): New function.
14528 (grub_hostfs_dir): Handle missing dirent.d_type case.
14529 (grub_hostfs_read): Add missing fseek().
14530 (grub_hostfs_label): Clear label pointer. This fixes a crash
14531 of grub-emu on "ls (host)".
14532
398cd047 145332007-11-18 Christian Franke <franke@computer.org>
14534
14535 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
14536 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
14537 to 64 bit boundary by default.
14538
c405c391 145392007-11-18 Bean <bean123ch@gmail.com>
14540
14541 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
14542 (hexdump_mod_SOURCES): New variable.
14543 (hexdump_mod_CFLAGS): Likewise.
14544 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 14545
c405c391 14546 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14547
14548 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14549
14550 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14551
14552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
14553
14554 * include/grub/hexdump.h: New file.
14555
14556 * commands/hexdump.c: New file.
14557
5cced7fd 145582007-11-10 Robert Millan <rmh@aybabtu.com>
14559
14560 * commands/i386/pc/play.c (beep_off): Switch order of arguments
14561 in grub_outb() calls.
14562 (beep_on): Likewise.
14563
8b714eb0 145642007-11-10 Christian Franke <franke@computer.org>
14565
14566 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
14567 (grub_menu_run): Likewise.
14568
ce0f1839 145692007-11-10 Robert Millan <rmh@aybabtu.com>
14570
14571 * include/grub/i386/efi/machine.h: New file.
14572 * include/grub/i386/linuxbios/machine.h: Likewise.
14573 * include/grub/i386/pc/machine.h: Likewise.
14574 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14575 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14576
14577 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
14578 (serial_hw_io_addr): New variable.
14579 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
14580 instead of `(unsigned short *) 0x400'.
14581
270c237d 145822007-11-10 Bean <bean123ch@gmail.com>
14583
14584 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
14585
a87783bf 145862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14587
14588 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
14589 (vga_mod_SOURCES): Added.
14590 (vga_mod_CFLAGS): Likewise.
14591 (vga_mod_LDFLAGS): Likewise.
14592
14593 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
14594 grub_outb() calls.
14595 (set_map_mask): Likewise.
14596 (set_read_map): Likewise.
14597 (set_read_address): Likewise.
14598 (vga_font): Removed variable.
14599 (get_vga_glyph): Removed function.
14600 (invalidate_char): Likewise.
14601 (write_char): Changed to use grub_font_get_glyph() for font
14602 information.
14603 (grub_vga_putchar): Likewise.
14604 (grub_vga_getcharwidth): Likewise.
14605
6433b448 146062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
14607
14608 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
14609 flags.
14610 (pxeboot_img_LDFLAGS): Likewise.
14611 (diskboot_img_LDFLAGS): Likewise.
14612 (kernel_img_LDFLAGS): Likewise.
14613
49178511 146142007-11-06 Robert Millan <rmh@aybabtu.com>
14615
14616 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
14617 in grub_outb() calls.
14618 (serial_hw_init): Likewise.
14619
53b052de 146202007-11-05 Robert Millan <rmh@aybabtu.com>
14621
14622 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
14623 spaces. Skip non-regular files.
14624
5ab33bba 146252007-11-05 Robert Millan <rmh@aybabtu.com>
14626
14627 * kern/disk.c (grub_disk_firmware_fini)
14628 (grub_disk_firmware_is_tainted): New variables.
14629
14630 * include/grub/disk.h (grub_disk_firmware_fini)
14631 (grub_disk_firmware_is_tainted): Likewise.
14632
14633 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
14634 (grub_disk_biosdisk_fini): ... to here.
14635 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
14636 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
14637 is set. Register grub_disk_biosdisk_fini() in
14638 `grub_disk_firmware_fini'.
14639
14640 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
14641 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
14642 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
14643 to finish existing firmware disk interface.
14644
14645 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
14646 (ata_mod_SOURCES): New variable.
14647 (ata_mod_CFLAGS): Likewise.
14648 (ata_mod_LDFLAGS): Likewise.
14649
0149ab7c 146502007-11-05 Robert Millan <rmh@aybabtu.com>
14651
14652 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
14653 (grub_ata_wait): Reimplement using grub_millisleep().
14654
14655 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
14656 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
14657
be7ac41e 146582007-11-03 Marco Gerards <marco@gnu.org>
14659
14660 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
14661 (CRTC_ADDR_PORT): New macro.
14662 (CRTC_DATA_PORT): Likewise.
14663 (CRTC_CURSOR): Likewise.
14664 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14665 (CRTC_CURSOR_ADDR_LOW): Likewise.
14666 (update_cursor): New function.
14667 (grub_console_real_putchar): Call `update_cursor'.
14668 (grub_console_gotoxy): Likewise.
14669 (grub_console_cls): Set the default color when clearing the
14670 screen.
14671 (grub_console_setcursor): Implemented.
14672
bb06ab2e 146732007-11-03 Marco Gerards <marco@gnu.org>
14674
14675 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
14676 become activate.
14677 (grub_ata_pio_write): Likewise.
14678
14679 (grub_atapi_identify): Wait after issuing an ATA command.
14680 (grub_atapi_packet): Likewise.
14681 (grub_ata_identify): Likewise.
14682 (grub_ata_readwrite): Likewise.
14683
cf8f780b 146842007-11-03 Marco Gerards <marco@gnu.org>
14685
14686 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
14687 (grub_ata_pio_write): Likewise.
14688 (grub_ata_readwrite): Use `grub_error', instead of
14689 returning `grub_errno'.
14690
ed649e54 146912007-11-03 Marco Gerards <marco@gnu.org>
14692
14693 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
14694 grub_ata_pio_write once for every single sector, instead of for
14695 multiple sectors.
14696
ca25d8f0 146972007-10-31 Robert Millan <rmh@aybabtu.com>
14698
14699 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
14700
14701 * conf/i386-linuxbios.rmk: New file.
14702
14703 * kern/i386/pc/hardware.c: Likewise.
14704 * term/i386/pc/at_keyboard.c: Likewise.
14705 * term/i386/pc/vga_text.c: Likewise.
14706
14707 * include/grub/i386/linuxbios/boot.h: Likewise.
14708 * include/grub/i386/linuxbios/console.h: Likewise.
14709 * include/grub/i386/linuxbios/init.h: Likewise.
14710 * include/grub/i386/linuxbios/kernel.h: Likewise.
14711 * include/grub/i386/linuxbios/loader.h: Likewise.
14712 * include/grub/i386/linuxbios/memory.h: Likewise.
14713 * include/grub/i386/linuxbios/serial.h: Likewise.
14714 * include/grub/i386/linuxbios/time.h: Likewise.
14715
14716 * kern/i386/linuxbios/init.c: Likewise.
14717 * kern/i386/linuxbios/startup.S: Likewise.
14718 * kern/i386/linuxbios/table.c: Likewise.
14719
e911ecc1 147202007-10-31 Marco Gerards <marco@gnu.org>
14721
14722 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
14723 (ata_mod_SOURCES): New variable.
14724 (ata_mod_CFLAGS): Likewise.
14725 (ata_mod_LDFLAGS): Likewise.
14726
14727 * disk/ata.c: New file.
14728
14729 * include/grub/disk.h (grub_disk_dev_id): Add
14730 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 14731
7f66d0e0 147322007-10-31 Robert Millan <rmh@aybabtu.com>
14733
14734 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
14735 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
14736
14737 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
14738 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
14739
14740 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
14741 `<grub/types.h>'.
14742
14743 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
14744
5cd7dd46 147452007-10-27 Robert Millan <rmh@aybabtu.com>
14746
3236ca65 14747 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 14748
2ebfc90f 147492007-10-22 Robert Millan <rmh@aybabtu.com>
14750
14751 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
14752 `"../realmode.S"'.
14753 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
14754
73fcb0f3 147552007-10-22 Robert Millan <rmh@aybabtu.com>
14756
14757 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
14758 (pkgdata_MODULES): Add `biosdisk.mod'.
14759 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
14760 variables.
14761
14762 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
14763 (grub_biosdisk_init): Replace with ...
14764 (GRUB_MOD_INIT(biosdisk)): ... this.
14765 (grub_biosdisk_fini): Replace with ...
14766 (GRUB_MOD_FINI(biosdisk)): ... this.
14767
14768 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
14769 (grub_machine_init): Remove call to grub_biosdisk_init().
14770 (grub_machine_fini): Remove call to grub_machine_fini().
14771
14772 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
14773
3381d274 147742007-10-22 Robert Millan <rmh@aybabtu.com>
14775
14776 * include/grub/time.h: New file.
14777 * include/grub/i386/time.h: Likewise.
14778 * include/grub/powerpc/time.h: Likewise.
14779 * include/grub/sparc64/time.h: Likewise.
14780
14781 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
14782 instances to ...
14783 (KERNEL_MACHINE_TIME_HEADER): ... this.
14784 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14785 instances to ...
14786 (KERNEL_MACHINE_TIME_HEADER): ... this.
14787 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
14788 instances to ...
14789 (KERNEL_MACHINE_TIME_HEADER): ... this.
14790
14791 * kern/i386/efi/init.c: Include `<grub/time.h>'.
14792 (grub_millisleep): New function.
14793 * kern/i386/pc/init.c: Include `<grub/time.h>'.
14794 (grub_millisleep): New function.
14795 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
14796 Remove `grub/machine/time.h' include.
14797 (grub_millisleep): New function.
14798 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
14799 Remove `grub/machine/time.h' include.
14800 (grub_millisleep): New function.
14801
14802 * include/grub/misc.h (grub_div_roundup): New function.
14803
14804 * kern/misc.c: Include `<grub/time.h>'.
14805 (grub_millisleep_generic): New function.
14806
14807 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
14808 Add `time.h'.
14809 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
14810 Add `time.h'.
14811 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
14812 `machine/time.h'. Add `time.h'.
14813 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14814
a39a0312 148152007-10-21 Robert Millan <rmh@aybabtu.com>
14816
14817 * include/grub/misc.h (grub_max): New function.
14818
2aad70e2 148192007-10-21 Robert Millan <rmh@aybabtu.com>
14820
14821 * util/misc.c (grub_util_info): Call fflush() before returning.
14822
54b71c4b 148232007-10-20 Robert Millan <rmh@aybabtu.com>
14824
14825 * genmk.rb (Image): Copy `extra_flags' from here ...
14826 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
14827
14828 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
14829 to `argc' and `args' arguments.
14830
a979f513 148312007-10-17 Robert Millan <rmh@aybabtu.com>
14832
14833 * kern/i386/loader.S: New file.
14834
14835 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
14836 * kern/i386/loader.S (grub_linux_prot_size)... to here.
14837 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
14838 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
14839 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
14840 * kern/i386/loader.S (grub_linux_real_addr)... to here.
14841 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
14842 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
14843 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
14844 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
14845 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
14846 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
14847 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
14848 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
14849
14850 * kern/i386/realmode.S: New file.
14851
14852 * kern/i386/pc/startup.S (protstack): Moved from here ...
14853 * kern/i386/realmode.S (protstack)... to here.
14854 * kern/i386/pc/startup.S (gdt): Moved from here ...
14855 * kern/i386/realmode.S (gdt)... to here.
14856 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
14857 * kern/i386/realmode.S (prot_to_real)... to here.
14858
14859 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
14860 `kern/i386/realmode.S'.
14861
825fc8fd 148622007-10-17 Robert Millan <rmh@aybabtu.com>
14863
14864 * include/grub/i386/loader.h: New file.
14865
14866 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
14867 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
14868 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
14869 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
14870 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
14871 * include/grub/i386/loader.h (grub_linux_prot_size)
14872 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
14873 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
14874 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
14875 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
14876
14877 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
14878
e179b2f4 148792007-10-15 Robert Millan <rmh@aybabtu.com>
14880
14881 * normal/misc.c (grub_normal_print_device_info): Do not probe for
14882 filesystem when dev->disk is unset.
14883 Do probe for filesystem even when dev->disk->has_partitions is set.
14884 In case a filesystem is found, always report it.
14885 In case it isn't, if dev->disk->has_partitions is set, report that
14886 a partition table was found instead of reporting that no filesystem
14887 could be identified.
14888
5db82af6 148892007-10-12 Robert Millan <rmh@aybabtu.com>
14890
14891 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
14892 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
14893
68f6ac74 14894 * include/grub/types.h (grub_host_to_target16): New macro.
14895 (grub_host_to_target32): Likewise.
14896 (grub_host_to_target64): Likewise.
14897 (grub_target_to_host16): Likewise.
14898 (grub_target_to_host32): Likewise.
14899 (grub_target_to_host64): Likewise.
5db82af6 14900
14901 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14902 Renamed from to ...
14903 (GRUB_MOD_ALIGN): ...this. Update all users.
14904
68f6ac74 14905 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
14906 grub_host_to_target32.
14907 Replace grub_be_to_cpu32 with grub_target_to_host32.
14908 (load_modules): Likewise.
14909 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
14910 Replace grub_be_to_cpu32 with grub_target_to_host32.
14911 Replace grub_cpu_to_be16 with grub_host_to_target16.
14912 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 14913
3cf497cc 149142007-10-12 Robert Millan <rmh@aybabtu.com>
14915
14916 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
14917 * util/elf/grub-mkimage.c: ... here.
14918
14919 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
14920 `util/powerpc/ieee1275/grub-mkimage.c'.
14921
c8cc3692 149222007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 14923
c8cc3692 14924 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
14925 and make it easier to figure out.
14926 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
14927 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
14928 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
14929 leave us with less than HEAP_MIN_SIZE total heap.
14930 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 14931
5c58b791 149322007-10-03 Robert Millan <rmh@aybabtu.com>
14933
14934 * include/grub/i386/io.h: New file.
14935 * commands/i386/pc/play.c (inb): Removed.
14936 (outb): Removed.
14937 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14938 with grub_outb().
afcd2ef8 14939 * term/i386/pc/serial.c (inb): Removed.
14940 (outb): Removed.
14941 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14942 with grub_outb().
14943 * term/i386/pc/vga.c (inb): Removed.
14944 (outb): Removed.
14945 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14946 with grub_outb().
5c58b791 14947
1a477ed6 149482007-10-02 Robert Millan <rmh@aybabtu.com>
14949
14950 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
14951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14952 Reported by Marcin Kurek.
14953
6b5d80fa 149542007-09-07 Robert Millan <rmh@aybabtu.com>
14955
14956 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
14957 SmartFirmware version updates (as released by Sven Luther), and avoid
14958 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
14959 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
14960 known broken.
14961
5618afbf 149622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14963
14964 From Hitoshi Ozeki:
14965 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
14966 when merging two regions.
14967
6139dcd9 149682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14969
508e39ee 14970 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
14971 * normal/completion.c (grub_normal_do_completion): Likewise.
14972 Reported by Hitoshi Ozeki.
14973
149742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14975
6139dcd9 14976 Do not use devices at boot in chainloading.
f19dbdb7 14977
6139dcd9 14978 * loader/i386/pc/chainloader.c (boot_drive): New variable.
14979 (boot_part_addr): Likewise.
14980 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
14981 with BOOT_DRIVE and BOOT_PART_ADDR.
14982 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
14983 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
14984
38da6516 149852007-08-29 Robert Millan <rmh@aybabtu.com>
14986
14987 Patch from Simon Peter <dn.tlp@gmx.net>:
14988 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
14989 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
14990 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
14991 util/i386/pc/grub-setup.c_DEPENDENCIES.
14992 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
14993 util/grub-probe.c_DEPENDENCIES.
14994 * conf/powerpc-ieee1275.rmk: Likewise.
14995
29d0928c 149962007-08-28 Robert Millan <rmh@aybabtu.com>
14997
14998 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
14999 to tell grub-mkdevicemap how to name devices.
15000 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
15001 feature).
15002
15003 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
15004 util/i386/get_disk_name.c.
15005 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
15006 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
15007 util/ieee1275/get_disk_name.c.
15008
15009 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
15010
15011 * DISTLIST: Add util/i386/get_disk_name.c and
15012 util/ieee1275/get_disk_name.c.
15013
15014 * util/grub-mkdevicemap.c: Replace device naming logic with
15015 grub_util_get_disk_name() calls.
15016
5a0d3cca 150172007-08-20 Robert Millan <rmh@aybabtu.com>
15018
15019 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
15020 (so that it works for both plural and singular quantities).
15021
8b72db2f 150222007-08-05 Robert Millan <rmh@aybabtu.com>
15023
15024 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
15025 so that [xz] isn't taken into account when determining order.
15026
352466bf 150272007-08-02 Marco Gerards <marco@gnu.org>
15028
15029 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
15030 `include/multiboot2.h', `include/grub/elfload.h',
15031 `include/multiboot.h', `include/grub/multiboot.h',
15032 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
15033 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
15034 `kern/elf.c', `loader/multiboot_loader.c',
15035 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
15036 `loader/i386/pc/multiboot2.c',
15037 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
15038 `util/i386/pc/grub-mkrescue.in'. Remove
15039 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
15040 `include/grub/i386/pc/util/biosdisk.h' and
15041 `include/grub/powerpc/ieee1275/multiboot.h'.
15042
8f096014 150432007-08-02 Bean <bean123ch@gmail.com>
15044
15045 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
15046 (ntfs_mod_SOURCES): New variable.
15047 (ntfs_mod_CFLAGS): Likewise.
15048 (ntfs_mod_LDFLAGS): Likewise.
15049
15050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
15051 (grub_probe_SOURCES): Likewise.
15052 (grub_emu_SOURCES): Likewise.
15053
15054 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15055 (grub_emu_SOURCES): Likewise.
15056
15057 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
15058 (grub_emu_SOURCES): Likewise.
f19dbdb7 15059
8f096014 15060 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
15061
15062 * fs/ntfs.c: New file.
15063
9959f7db 150642007-08-02 Bean <bean123ch@gmail.com>
15065
15066 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
15067
15068 * file.h (grub_file): Likewise.
15069
15070 * fshelp.h (grub_fshelp_read_file): Likewise.
15071
15072 * util/i386/pc/grub-setup.c (setup): Likewise.
15073 (save_first_sector): Likewise.
15074 (save_blocklists): Likewise.
f19dbdb7 15075
9959f7db 15076 * fs/affs.c (grub_affs_read_file): Likewise.
15077
15078 * fs/ext2.c (grub_ext2_read_file): Likewise.
15079
15080 * fs/fat.c (grub_fat_read_data): Likewise.
15081
15082 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
15083
15084 * fs/hfs.c (grub_hfs_read_file): Likewise.
15085
15086 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15087
15088 * fs/jfs.c (grub_jfs_read_file): Likewise.
15089
15090 * fs/minix.c (grub_minix_read_file): Likewise.
15091
15092 * fs/sfs.c (grub_sfs_read_file): Likewise.
15093
15094 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 15095
9959f7db 15096 * fs/xfs.c (grub_xfs_read_file): Likewise.
15097
15098 * command/blocklist.c (read_blocklist): Likewise.
15099 (print_blocklist): Likewise.
15100
0a203f83 151012007-08-02 Marco Gerards <marco@gnu.org>
15102
15103 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
15104 `util/hostfs.c'.
15105
15106 * disk/host.c: New file.
15107
15108 * util/hostfs.c: Likewise.
15109
15110 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
15111 return `GRUB_ERR_BAD_FS'.
15112 * fs/sfs.c (grub_sfs_mount): Likewise.
15113 * fs/xfs.c (grub_xfs_mount): Likewise.
15114
15115 * include/grub/disk.h (enum grub_disk_dev_id): Add
15116 `GRUB_DISK_DEVICE_HOST_ID'.
15117
15118 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
15119
e5dfe777 151202007-07-24 Jerone Young <jerone@gmail.com>
15121
f19dbdb7 15122 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 15123 modules for compilation.
15124 * conf/powerpc-ieee1275.rmk: Likewise.
15125
15126 * include/multiboot.h: Move multiboot definitions to one file. Rename
15127 many definitions to not get grub specific.
15128 * include/multiboot2.h: Create header with multiboot 2 definitions.
15129 * include/grub/multiboot.h: Header for grub specific function
15130 prototypes and definitions.
15131 * include/grub/multiboot2.h: Likewise.
15132 * include/grub/multiboot_loader.h: Likewise.
15133 * include/grub/i386/pc/multiboot.h: Removed.
15134 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
15135
15136 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
15137 and 2 to allow for one multiboot and module commands.
15138 * loader/multiboot2.c: Add multiboot2 functionality.
15139 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
15140 and definition names.
15141 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
15142 2 functions.
15143 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
15144 ieee1275 specific multiboot2 code.
15145
15146 * kern/i386/pc/startup.S: Change headers and definition names for
15147 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
15148
daf0f0ba 151492007-07-22 Robert Millan <rmh@aybabtu.com>
15150
15151 * geninitheader.sh: Process file specified in first parameter rather
15152 than hardcoding grub_modules_init.lst.
fe6b695a 15153 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 15154 than hardcoding grub_modules_init.h.
15155
15156 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
15157 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
15158 grub_probe_init.[ch] and grub_setup_init.[ch].
15159
15160 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
15161 grub_modules_init.h with grub_emu_init.h.
15162 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
15163 grub_probe_init.[ch] files.
15164 * conf/i386-efi.rmk: Likewise.
15165 * conf/i386-pc.rmk: Likewise.
15166 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
15167 grub_setup_init.[ch] files.
15168
15169 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
15170 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
15171 to initialize modules rather than a list of hardcoded functions.
15172 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
15173 grub_init_all() to initialize modules rather than a list of hardcoded
15174 functions.
15175
54cdc1cc 151762007-07-22 Robert Millan <rmh@aybabtu.com>
15177
15178 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15179 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
15180
ad0686cc 151812007-07-22 Robert Millan <rmh@aybabtu.com>
15182
15183 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
15184 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
15185 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
15186 flag when running on SmartFirmware.
15187 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
15188 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
15189 was set.
15190
15191 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15192 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
15193 rather than decreasing it.
15194
15195 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
15196 there's not enough space to do it, fail in the same way as when it
15197 can't be done because there are no partitions.
15198
15199 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
15200 when nvsetenv failed.
15201
969c02ec 152022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15203
15204 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
15205 because this rule is automatically generated.
15206 (grub-mkrescue): Removed for the same reason as above.
15207
5a79f472 152082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
15209
15210 Migrate to GNU General Public License Version 3.
f19dbdb7 15211
5a79f472 15212 * COPYING: Replaced with the plain text version of GPLv3.
15213
15214 * config.guess: Updated from gnulib.
15215 * config.sub: Likewise.
15216
15217 * geninit.sh: Output a GPLv3 copyright notice.
15218 * geninitheader.sh: Likewise.
15219 * genmodsrc.sh: Likewise.
15220 * gensymlist.sh.in: Likewise.
15221
15222 * boot/i386/pc/boot.S: Upgraded to GPLv3.
15223 * boot/i386/pc/diskboot.S: Likewise.
15224 * boot/i386/pc/pxeboot.S: Likewise.
15225 * commands/blocklist.c: Likewise.
15226 * commands/boot.c: Likewise.
15227 * commands/cat.c: Likewise.
15228 * commands/cmp.c: Likewise.
15229 * commands/configfile.c: Likewise.
15230 * commands/echo.c: Likewise.
15231 * commands/help.c: Likewise.
15232 * commands/ls.c: Likewise.
15233 * commands/search.c: Likewise.
15234 * commands/terminal.c: Likewise.
15235 * commands/test.c: Likewise.
15236 * commands/videotest.c: Likewise.
15237 * commands/i386/cpuid.c: Likewise.
15238 * commands/i386/pc/halt.c: Likewise.
15239 * commands/i386/pc/play.c: Likewise.
15240 * commands/i386/pc/reboot.c: Likewise.
15241 * commands/i386/pc/vbeinfo.c: Likewise.
15242 * commands/i386/pc/vbetest.c: Likewise.
15243 * commands/ieee1275/halt.c: Likewise.
15244 * commands/ieee1275/reboot.c: Likewise.
15245 * commands/ieee1275/suspend.c: Likewise.
15246 * disk/loopback.c: Likewise.
15247 * disk/lvm.c: Likewise.
15248 * disk/raid.c: Likewise.
15249 * disk/efi/efidisk.c: Likewise.
15250 * disk/i386/pc/biosdisk.c: Likewise.
15251 * disk/ieee1275/ofdisk.c: Likewise.
15252 * font/manager.c: Likewise.
15253 * fs/affs.c: Likewise.
15254 * fs/ext2.c: Likewise.
15255 * fs/fat.c: Likewise.
15256 * fs/fshelp.c: Likewise.
15257 * fs/hfs.c: Likewise.
15258 * fs/hfsplus.c: Likewise.
15259 * fs/iso9660.c: Likewise.
15260 * fs/jfs.c: Likewise.
15261 * fs/minix.c: Likewise.
15262 * fs/sfs.c: Likewise.
15263 * fs/ufs.c: Likewise.
15264 * fs/xfs.c: Likewise.
15265 * hello/hello.c: Likewise.
15266 * include/grub/acorn_filecore.h: Likewise.
15267 * include/grub/arg.h: Likewise.
15268 * include/grub/bitmap.h: Likewise.
15269 * include/grub/boot.h: Likewise.
15270 * include/grub/cache.h: Likewise.
15271 * include/grub/device.h: Likewise.
15272 * include/grub/disk.h: Likewise.
15273 * include/grub/dl.h: Likewise.
15274 * include/grub/elfload.h: Likewise.
15275 * include/grub/env.h: Likewise.
15276 * include/grub/err.h: Likewise.
15277 * include/grub/file.h: Likewise.
15278 * include/grub/font.h: Likewise.
15279 * include/grub/fs.h: Likewise.
15280 * include/grub/fshelp.h: Likewise.
15281 * include/grub/gzio.h: Likewise.
15282 * include/grub/hfs.h: Likewise.
15283 * include/grub/kernel.h: Likewise.
15284 * include/grub/loader.h: Likewise.
15285 * include/grub/lvm.h: Likewise.
15286 * include/grub/misc.h: Likewise.
15287 * include/grub/mm.h: Likewise.
15288 * include/grub/net.h: Likewise.
15289 * include/grub/normal.h: Likewise.
15290 * include/grub/parser.h: Likewise.
15291 * include/grub/partition.h: Likewise.
15292 * include/grub/pc_partition.h: Likewise.
15293 * include/grub/raid.h: Likewise.
15294 * include/grub/rescue.h: Likewise.
15295 * include/grub/script.h: Likewise.
15296 * include/grub/setjmp.h: Likewise.
15297 * include/grub/symbol.h: Likewise.
15298 * include/grub/term.h: Likewise.
15299 * include/grub/terminfo.h: Likewise.
15300 * include/grub/tparm.h: Likewise.
15301 * include/grub/types.h: Likewise.
15302 * include/grub/video.h: Likewise.
15303 * include/grub/efi/api.h: Likewise.
15304 * include/grub/efi/chainloader.h: Likewise.
15305 * include/grub/efi/console.h: Likewise.
15306 * include/grub/efi/console_control.h: Likewise.
15307 * include/grub/efi/disk.h: Likewise.
15308 * include/grub/efi/efi.h: Likewise.
15309 * include/grub/efi/pe32.h: Likewise.
15310 * include/grub/efi/time.h: Likewise.
15311 * include/grub/i386/linux.h: Likewise.
15312 * include/grub/i386/setjmp.h: Likewise.
15313 * include/grub/i386/types.h: Likewise.
15314 * include/grub/i386/efi/kernel.h: Likewise.
15315 * include/grub/i386/efi/loader.h: Likewise.
15316 * include/grub/i386/efi/time.h: Likewise.
15317 * include/grub/i386/pc/biosdisk.h: Likewise.
15318 * include/grub/i386/pc/boot.h: Likewise.
15319 * include/grub/i386/pc/chainloader.h: Likewise.
15320 * include/grub/i386/pc/console.h: Likewise.
15321 * include/grub/i386/pc/init.h: Likewise.
15322 * include/grub/i386/pc/kernel.h: Likewise.
15323 * include/grub/i386/pc/loader.h: Likewise.
15324 * include/grub/i386/pc/memory.h: Likewise.
15325 * include/grub/i386/pc/multiboot.h: Likewise.
15326 * include/grub/i386/pc/serial.h: Likewise.
15327 * include/grub/i386/pc/time.h: Likewise.
15328 * include/grub/i386/pc/vbe.h: Likewise.
15329 * include/grub/i386/pc/vbeblit.h: Likewise.
15330 * include/grub/i386/pc/vbefill.h: Likewise.
15331 * include/grub/i386/pc/vbeutil.h: Likewise.
15332 * include/grub/i386/pc/vga.h: Likewise.
15333 * include/grub/ieee1275/ieee1275.h: Likewise.
15334 * include/grub/ieee1275/ofdisk.h: Likewise.
15335 * include/grub/powerpc/libgcc.h: Likewise.
15336 * include/grub/powerpc/setjmp.h: Likewise.
15337 * include/grub/powerpc/types.h: Likewise.
15338 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
15339 * include/grub/powerpc/ieee1275/console.h: Likewise.
15340 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
15341 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15342 * include/grub/powerpc/ieee1275/loader.h: Likewise.
15343 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
15344 * include/grub/powerpc/ieee1275/time.h: Likewise.
15345 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
15346 * include/grub/sparc64/libgcc.h: Likewise.
15347 * include/grub/sparc64/setjmp.h: Likewise.
15348 * include/grub/sparc64/types.h: Likewise.
15349 * include/grub/sparc64/ieee1275/console.h: Likewise.
15350 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15351 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15352 * include/grub/sparc64/ieee1275/time.h: Likewise.
15353 * include/grub/util/biosdisk.h: Likewise.
15354 * include/grub/util/getroot.h: Likewise.
15355 * include/grub/util/lvm.h: Likewise.
15356 * include/grub/util/misc.h: Likewise.
15357 * include/grub/util/raid.h: Likewise.
15358 * include/grub/util/resolve.h: Likewise.
15359 * io/gzio.c: Likewise.
15360 * kern/device.c: Likewise.
15361 * kern/disk.c: Likewise.
15362 * kern/dl.c: Likewise.
15363 * kern/elf.c: Likewise.
15364 * kern/env.c: Likewise.
15365 * kern/err.c: Likewise.
15366 * kern/file.c: Likewise.
15367 * kern/fs.c: Likewise.
15368 * kern/loader.c: Likewise.
15369 * kern/main.c: Likewise.
15370 * kern/misc.c: Likewise.
15371 * kern/mm.c: Likewise.
15372 * kern/parser.c: Likewise.
15373 * kern/partition.c: Likewise.
15374 * kern/rescue.c: Likewise.
15375 * kern/term.c: Likewise.
15376 * kern/efi/efi.c: Likewise.
15377 * kern/efi/init.c: Likewise.
15378 * kern/efi/mm.c: Likewise.
15379 * kern/i386/dl.c: Likewise.
15380 * kern/i386/efi/init.c: Likewise.
15381 * kern/i386/efi/startup.S: Likewise.
15382 * kern/i386/pc/init.c: Likewise.
15383 * kern/i386/pc/lzo1x.S: Likewise.
15384 * kern/i386/pc/startup.S: Likewise.
15385 * kern/ieee1275/ieee1275.c: Likewise.
15386 * kern/powerpc/cache.S: Likewise.
15387 * kern/powerpc/dl.c: Likewise.
15388 * kern/powerpc/ieee1275/cmain.c: Likewise.
15389 * kern/powerpc/ieee1275/crt0.S: Likewise.
15390 * kern/powerpc/ieee1275/init.c: Likewise.
15391 * kern/powerpc/ieee1275/openfw.c: Likewise.
15392 * kern/sparc64/cache.S: Likewise.
15393 * kern/sparc64/dl.c: Likewise.
15394 * kern/sparc64/ieee1275/init.c: Likewise.
15395 * kern/sparc64/ieee1275/openfw.c: Likewise.
15396 * loader/efi/chainloader.c: Likewise.
15397 * loader/efi/chainloader_normal.c: Likewise.
15398 * loader/i386/efi/linux.c: Likewise.
15399 * loader/i386/efi/linux_normal.c: Likewise.
15400 * loader/i386/pc/chainloader.c: Likewise.
15401 * loader/i386/pc/chainloader_normal.c: Likewise.
15402 * loader/i386/pc/linux.c: Likewise.
15403 * loader/i386/pc/linux_normal.c: Likewise.
15404 * loader/i386/pc/multiboot.c: Likewise.
15405 * loader/i386/pc/multiboot_normal.c: Likewise.
15406 * loader/powerpc/ieee1275/linux.c: Likewise.
15407 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
15408 * normal/arg.c: Likewise.
15409 * normal/cmdline.c: Likewise.
15410 * normal/command.c: Likewise.
15411 * normal/completion.c: Likewise.
15412 * normal/execute.c: Likewise.
15413 * normal/function.c: Likewise.
15414 * normal/lexer.c: Likewise.
15415 * normal/main.c: Likewise.
15416 * normal/menu.c: Likewise.
15417 * normal/menu_entry.c: Likewise.
15418 * normal/misc.c: Likewise.
15419 * normal/parser.y: Likewise.
15420 * normal/script.c: Likewise.
15421 * normal/i386/setjmp.S: Likewise.
15422 * normal/powerpc/setjmp.S: Likewise.
15423 * normal/sparc64/setjmp.S: Likewise.
15424 * partmap/acorn.c: Likewise.
15425 * partmap/amiga.c: Likewise.
15426 * partmap/apple.c: Likewise.
15427 * partmap/gpt.c: Likewise.
15428 * partmap/pc.c: Likewise.
15429 * partmap/sun.c: Likewise.
15430 * term/gfxterm.c: Likewise.
15431 * term/terminfo.c: Likewise.
15432 * term/efi/console.c: Likewise.
15433 * term/i386/pc/console.c: Likewise.
15434 * term/i386/pc/serial.c: Likewise.
15435 * term/i386/pc/vesafb.c: Likewise.
15436 * term/i386/pc/vga.c: Likewise.
15437 * term/ieee1275/ofconsole.c: Likewise.
15438 * util/biosdisk.c: Likewise.
15439 * util/console.c: Likewise.
15440 * util/genmoddep.c: Likewise.
15441 * util/getroot.c: Likewise.
15442 * util/grub-emu.c: Likewise.
15443 * util/grub-mkdevicemap.c: Likewise.
15444 * util/grub-probe.c: Likewise.
15445 * util/lvm.c: Likewise.
15446 * util/misc.c: Likewise.
15447 * util/raid.c: Likewise.
15448 * util/resolve.c: Likewise.
15449 * util/update-grub.in: Likewise.
15450 * util/update-grub_lib.in: Likewise.
15451 * util/grub.d/00_header.in: Likewise.
15452 * util/grub.d/10_hurd.in: Likewise.
15453 * util/grub.d/10_linux.in: Likewise.
15454 * util/i386/efi/grub-install.in: Likewise.
15455 * util/i386/efi/grub-mkimage.c: Likewise.
15456 * util/i386/pc/grub-install.in: Likewise.
15457 * util/i386/pc/grub-mkimage.c: Likewise.
15458 * util/i386/pc/grub-mkrescue.in: Likewise.
15459 * util/i386/pc/grub-setup.c: Likewise.
15460 * util/i386/pc/misc.c: Likewise.
15461 * util/powerpc/ieee1275/grub-install.in: Likewise.
15462 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
15463 * util/powerpc/ieee1275/misc.c: Likewise.
15464 * video/bitmap.c: Likewise.
15465 * video/video.c: Likewise.
15466 * video/i386/pc/vbe.c: Likewise.
15467 * video/i386/pc/vbeblit.c: Likewise.
15468 * video/i386/pc/vbefill.c: Likewise.
15469 * video/i386/pc/vbeutil.c: Likewise.
15470 * video/readers/tga.c: Likewise.
15471
3572d015 154722007-07-02 Robert Millan <rmh@aybabtu.com>
15473
15474 * conf/i386-efi.rmk: Replace obsolete reference to
15475 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
15476 with util/getroot.c.
15477 * conf/powerpc-ieee1275.rmk: Likewise.
15478 * conf/sparc64-ieee1275.rmk: Likewise.
15479
15480 * util/grub-emu.c (main): Fix unchecked pointer handling.
15481
2c2a681b 154822007-07-02 Robert Millan <rmh@aybabtu.com>
15483
15484 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
15485 invocation to fail, in order to support partition-less media.
15486
15487 * util/i386/pc/grub-install.in: Likewise.
15488
15489 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
15490 which fs or partmap modules are needed (akin to its sister scripts).
15491
15492 Also use grub-probe to get rid of unportable /proc/mounts check.
15493
15494 Print the same informational message that the other scripts do, before
fe6b695a 15495 exiting.
2c2a681b 15496
6193defe 154972007-06-23 Robert Millan <rmh@aybabtu.com>
15498
fe6b695a 15499 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 15500 a font file can be found and, if so, echo the GRUB path to it.
15501
15502 * util/update-grub.in: Handle multiple terminals depending on user
15503 input, platform availability and font file presence. Propagate
15504 variables of our findings to /etc/grub.d/ children.
15505
15506 * util/grub.d/00_header.in: Handle multiple terminals, based on
15507 environment setup by update-grub.
15508
eface1dc 155092007-06-23 Robert Millan <rmh@aybabtu.com>
15510
ba50d28f 15511 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 15512
bf697e28 155132007-06-21 Robert Millan <rmh@aybabtu.com>
15514
15515 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
15516 indicate end of data section in kernel image.
15517 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
15518 GRUB_KERNEL_MACHINE_DATA_END.
15519
15520 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
15521 space for it.
15522 * kern/i386/efi/startup.S: Likewise.
15523
15524 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
15525 during image generation. Implement --prefix option to override this
15526 patch.
15527 * util/i386/efi/grub-mkimage.c: Likewise.
15528
15529 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
15530 code to make path relative to its root into a separate function.
15531
15532 * util/i386/pc/grub-install.in: Use newly provided
15533 make_system_path_relative_to_its_root() to convert ${grubdir}, then
15534 pass the result to grub-install --prefix.
15535
baa574b4 155362007-06-13 Robert Millan <rmh@aybabtu.com>
15537
15538 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
15539 DEFAULT_DEVICE_MAP.
15540 * util/grub-emu.c: Use above definitions from misc.h instead of
15541 defining them.
15542 * util/grub-mkdevicemap.c: Likewise.
15543 * util/i386/pc/grub-setup.c: Likewise.
15544 * util/grub-probe.c: Likewise.
15545 (probe): Abort with grub_util_error() when either
15546 grub_guess_root_device or grub_util_get_grub_dev fails.
15547
0215dcbf 155482007-06-12 Robert Millan <rmh@aybabtu.com>
15549
15550 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
15551 "pager" assignment.
15552 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
15553 "pcdata".
15554 * util/grub-probe.c (probe): Likewise for "drive_name".
15555
8af2ab7b 155562007-06-11 Robert Millan <rmh@aybabtu.com>
15557
15558 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
15559 not just the cdrom one.
15560
59d31694 155612007-06-11 Robert Millan <rmh@aybabtu.com>
15562
15563 * util/i386/pc/grub-mkrescue.in: Add "set -e".
15564 Add --pkglibdir=DIR option to override pkglibdir.
15565 Mention --image-type=TYPE in help output.
15566 Fix --grub-mkimage (it was a no-op).
fe6b695a 15567 Abort gracefully when no parameter is given.
59d31694 15568
7ee367e4 155692007-06-11 Robert Millan <rmh@aybabtu.com>
15570
15571 * util/i386/pc/grub-mkrescue.in: New file.
15572 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
15573 * Makefile.in: Handle bin_SCRIPTS.
15574
29b0ed46 155752007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
15576
15577 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
15578 list of video modes.
15579
c0f90770 155802007-06-06 Robert Millan <rmh@aybabtu.com>
15581
15582 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
15583 file doesn't exist, or if it is in a filesystem grub can't read.
15584
15585 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
15586 not abort if GRUB_DRIVE could not be defined. Rearrange generated
15587 header comment to fit in 80 columns when the variables are resolved.
15588
15589 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
15590 could be identified by update-grub. Remove redundant check for
fe6b695a 15591 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 15592 handles that).
15593
fb36dc26 155942007-06-04 Robert Millan <rmh@aybabtu.com>
15595
15596 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
15597
15598 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
15599
15600 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
15601
0c68c93e 156022007-06-04 Robert Millan <rmh@aybabtu.com>
15603
15604 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
15605
15606 * include/grub/partition.h: Declare grub_apple_partition_map_init and
15607 grub_apple_partition_map_fini.
15608
15609 * util/biosdisk.c
15610 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
15611 to access >2 TiB disks).
15612
15613 Print disk->total_sectors with %llu instead of %lu, since this
15614 variable is always 64-bit (prevents wrong disk size from being displayed
15615 on either >2 TiB disk or big-endian CPU).
15616
15617 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
15618 into a generic case that supports all (sane) partition maps.
15619
15620 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
15621 breaks big-endian.
15622
15623 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
15624 and grub_apple_partition_map_fini() after that.
15625
0f23eb74 156262007-06-01 Robert Millan <rmh@aybabtu.com>
15627
15628 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
15629
15630 * util/grub.d/00_header.in: Only enable gfxterm when
15631 convert_system_path_to_grub_path() succeeds.
15632
42c71976 156332007-05-20 Robert Millan <rmh@aybabtu.com>
15634
15635 * util/update-grub_lib.in: New file.
15636 * DISTLIST: Add update-grub_lib.in.
15637 * conf/common.rmk: Generate update-grub_lib and install it in
15638 $(lib_DATA).
15639 * Makefile.in: Add install routine for $(lib_DATA).
15640
15641 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
15642 function provided by update-grub_lib to support arbitrary paths of
15643 unifont.pff.
15644 * util/update-grub.in: Use convert_system_path_to_grub_path() to
15645 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
15646
5beb2291 156472007-05-19 Robert Millan <rmh@aybabtu.com>
15648
15649 * commands/i386/cpuid.c: New module.
15650 * DISTLIST: Add it.
15651 * conf/i386-efi.rmk: Enable cpuid.mod.
15652 * conf/i386-pc.rmk: Likewise.
15653
7262eca1 156542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15655
15656 * kern/disk.c (grub_disk_read): Check return value of
15657 grub_realloc().
15658
260ba823 156592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
15660
15661 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
15662 arrays.
15663 * disk/raid.c (grub_raid_open): Likewise.
15664
1ecb6cf2 156652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15666
15667 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
15668 stack instead of on the heap.
15669
15670 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
15671 before doing a read on it.
15672
15673 * configure.ac: Only use -fno-stack-protector for the target
15674 environment.
f19dbdb7 15675
21c8cbb1 156762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
15677
15678 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
15679 __attribute_ ((unused)) to mode_type argument.
15680
15681 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 15682
21c8cbb1 15683 * kern/misc.c (memcmp): Fix prototype.
15684
15685 * include/grub/partition.h [GRUB_UTIL]
15686 (grub_gpt_partition_map_init): Add prototype.
15687 (grub_gpt_partition_map_fini): Likewise.
15688
15689 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
15690 at the right place.
15691
15692 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
15693 (grub_fat_read_data): Likewise.
15694 (grub_fat_find_dir): Likewise.
15695
15696 * font/manager.c (find_glyph): Make table a const.
15697 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 15698
849d55d3 156992007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
15700
15701 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
15702 code, first search for device in /dev/mapper, then in /dev.
15703 (grub_util_get_grub_dev): New function.
15704 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
15705 prototype.
15706 * util/grub-probe.c (probe): Remove check for RAID, call
15707 grub_util_get_grub_dev() instead of
15708 grub_util_biosdisk_get_grub_dev().
15709 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
15710 grub_util_biosdisk_get_grub_dev().
15711 * util/i386/pc/grub-setup.c (main): Likewise.
15712
8fff7c2f 157132007-05-16 Robert Millan <rmh@aybabtu.com>
15714
15715 * DISTLIST: Update for the latest changes.
15716 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
15717 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
15718 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
15719 grub/util/biosdisk.h.
15720 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
15721 grub/util/biosdisk.h.
15722
48e12b52 157232007-05-16 Robert Millan <rmh@aybabtu.com>
15724
15725 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
15726
46b9d128 157272007-05-16 Robert Millan <rmh@aybabtu.com>
15728
15729 * util/i386/efi/grub-install.in: New.
15730 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
15731 newly added grub-install.
15732 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
15733 include.
15734 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
15735 grub/util/biosdisk.h.
15736 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
15737 grub/util/biosdisk.h.
15738
2d1a40a9 157392007-05-16 Robert Millan <rmh@aybabtu.com>
15740
15741 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
15742 * include/grub/util/biosdisk.h: ... here.
15743 * util/i386/pc/biosdisk.c: Moved to ...
15744 * util/biosdisk.c: ... here.
15745 * util/i386/pc/getroot.c: Moved to ...
15746 * util/getroot.c: ... here.
15747 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
15748 * util/grub-mkdevicemap.c: ... here.
15749 * util/i386/pc/grub-probe.c: Moved to ...
15750 * util/grub-probe.c: ... here.
15751
9e26e3bc 157522007-05-15 Robert Millan <rmh@aybabtu.com>
15753
15754 * util/update-grub.in: Remove duplicated line in grub.cfg header
15755 message.
15756
57f96397 157572007-05-13 Robert Millan <rmh@aybabtu.com>
15758
15759 * util/update-grub.in: Fix a few assumptions about the devices holding
15760 /, /boot and /boot/grub being the same.
15761 * util/grub.d/00_header.in: Likewise.
15762 * util/grub.d/10_hurd.in: Likewise.
15763 * util/grub.d/10_linux.in: Likewise.
15764
15765 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
15766 patterns. Use that to define the `.old' suffix as older than `'.
15767
15768 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
15769
15770 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
15771 the grub.cfg header message.
15772
2e610d62 157732007-05-11 Robert Millan <rmh@aybabtu.com>
15774
15775 * util/update-grub.in: Create device.map if it doesn't already exist,
15776 before attempting to run grub-probe.
15777 Check for grub-probe and grub-mkdevicemap with the same code
15778 grub-install is using.
15779 Remove test mode.
15780
3f6a10ef 157812007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
15782
15783 * Makefile.in: Add the datarootdir autoconf variable.
15784
02e7b75e 157852007-05-09 Robert Millan <rmh@aybabtu.com>
15786
15787 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 15788 fail gracefully if dev->disk->partition == NULL.
02e7b75e 15789
75f396cc 157902007-05-07 Robert Millan <rmh@aybabtu.com>
15791
15792 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
15793 determine partition map module.
15794 * util/i386/pc/grub-install.in: Use this feature to decide which
15795 partition module to load, instead of hardcoding pc and gpt.
15796
da65cb36 157972007-05-07 Robert Millan <rmh@aybabtu.com>
15798
15799 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
15800 source directory differs from build directory.
15801
b57d6a91 158022007-05-05 Robert Millan <rmh@aybabtu.com>
15803
15804 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
15805 initialisation.
15806
509d00f1 158072007-05-05 Robert Millan <rmh@aybabtu.com>
15808
15809 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
15810
c48f23ef 158112007-05-05 Robert Millan <rmh@aybabtu.com>
15812
15813 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
15814 command-line arguments via ${GRUB_CMDLINE_LINUX}.
15815
20b97658 158162007-05-05 Robert Millan <rmh@aybabtu.com>
15817
15818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
15819 (grub_probe_SOURCES): Likewise.
15820 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
15821 GPT and initialize dos_part and bsd_part accordingly.
15822 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
15823 install_bsd_part.
15824 (main): Activate gpt module for use during partition identification,
15825 and deactivate it afterwards.
15826 * util/i386/pc/grub-install.in: Add gpt module to core.img.
15827 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
15828 partition identification, and deactivate it afterwards.
15829
99123174 158302007-05-05 Robert Millan <rmh@aybabtu.com>
15831
15832 * term/i386/pc/console.c (grub_console_fini): Call
15833 grub_term_set_current() before grub_term_unregister().
15834
ebd97f6e 158352007-05-04 Robert Millan <rmh@aybabtu.com>
15836
15837 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
15838 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
15839 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
15840 and update-grub_DATA.
15841 * conf/common.rmk: Build and install update-grub components.
15842 * conf/common.mk: Regenerate.
15843 * util/update-grub.in: New. Core of update-grub.
15844 * util/grub.d/00_header.in: New. Generates grub.cfg header.
15845 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
15846 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
15847 * util/grub.d/README: New. Document grub.d directory layout.
15848
b06a264d 158492007-05-01 Robert Millan <rmh@aybabtu.com>
15850
15851 * util/grub-emu.c: Move initialization functions
15852 grub_util_biosdisk_init() and grub_init_all() before
15853 grub_util_biosdisk_get_grub_dev(), which relies on them.
15854
41f0050e 158552007-04-19 Robert Millan <rmh@aybabtu.com>
15856
15857 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
15858 it is used later.
15859
04582bb3 158602007-04-18 Jerone Young <jerone@gmail.com>
15861
f19dbdb7 15862 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 15863 stanza.
15864
08db4632 158652007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 15866
08db4632 15867 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
15868 continue on and look for device node with real device name.
15869
801b76be 158702007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 15871
fe6b695a 15872 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 15873 ability.
15874 * Makefile.in: Add autoconf package transformation code.
15875 * util/i386/pc/grub-install.in: Likewise.
15876 * util/powerpc/ieee1275/grub-install.in: Likewise.
15877
6795c4e1 158782007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
15879
15880 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
15881 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
15882 (EXT2_REVISION): Likewise.
15883 (EXT2_INODE_SIZE): Likewise.
15884 (struct grub_ext2_block_group): Added a missing member
15885 "used_dirs".
15886 (grub_ext2_read_inode): Divide by the inode size in a superblock
15887 instead of 128 to obtain INODES_PER_BLOCK.
15888 Use the macro EXT2_INODE_SIZE instead of directly using
15889 SBLOCK->INODE_SIZE.
15890
d70af616 158912007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
15892
15893 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
15894 superblock instead of the structure size to compute an
15895 offset. This fixes the problem that GRUB could not read a
15896 filesystem when inode size is different from 128-byte.
15897
3b801603 158982007-03-05 Marco Gerards <marco@gnu.org>
15899
15900 * normal/main.c (read_config_file): When "menu" is not set, create
15901 an initial context.
15902
4785bfe4 159032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15904
15905 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
15906 (HEAP_LIMIT): New macro.
15907 (grub_claim_heap): Claim memory up to `heaplimit'.
15908
a0cbb023 159092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15910
15911 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
15912 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
15913 (_start): Likewise.
15914 (grub_arch_modules_addr): Return address after `_end'.
15915 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
15916 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
15917 (add_segments): Calculate `_end' from phdr size and location.
15918 (ALIGN_UP): Moved to ...
15919 * include/grub/misc.h: here.
15920 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15921 New macro.
15922 (GRUB_IEEE1275_MODULE_BASE): Removed.
15923
fd7d8eba 159242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15925
15926 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
15927 loop boundary.
15928
9b09e6fc 159292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15930
15931 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
15932 All users updated.
15933 (grub_elf64_load_hook_t): Likewise.
15934 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
15935 debug output.
15936
3ce27299 159372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15938
15939 * kern/mm.c: Update copyright.
15940 (grub_mm_debug): Correct syntax error.
15941 (grub_mm_dump_free): New function.
15942 (grub_debug_free): Call `grub_free'.
15943 * include/grub/mm.h: Update copyright.
15944 (grub_mm_dump_free): Add declaration.
15945
077d5fee 159462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15947
15948 * include/grub/ieee1275/ieee1275.h: Update copyright.
15949 * kern/powerpc/ieee1275/init.c: Likewise.
15950 * kern/powerpc/ieee1275/openfw.c: Likewise.
15951
15952 * loader/powerpc/ieee1275/linux.c: Likewise.
15953 * include/grub/elfload.h: Likewise.
15954 * kern/elf.c: Likewise.
15955 (grub_elf32_load): Pass `base' and `size' parameters. Update all
15956 callers.
15957 (grub_elf64_load): Likewise.
15958 (grub_elf32_load_segment): Move to a nested function.
15959 (grub_elf64_load_segment): Likewise.
15960
dc946850 159612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15962
15963 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
15964 prototype.
15965 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
15966 (grub_heap_len): Likewise.
15967 (HEAP_SIZE): New macro.
15968 (grub_claim_heap): New function.
15969 (grub_machine_init): Don't claim heap directly. Call
15970 `grub_claim_heap'.
15971 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
15972 (grub_available_iterate): New function.
15973
baa2a121 159742007-02-03 Thomas Schwinge <tschwinge@gnu.org>
15975
15976 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
15977 * configure.ac: Use it for testing the HOST and TARGET compilers.
15978
4fe9862e 159792006-12-13 Thomas Schwinge <tschwinge@gnu.org>
15980
15981 * Makefile.in (enable_grub_emu): New variable.
15982 * configure.ac (--enable-grub-emu): New option.
15983 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
15984 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
15985 * conf/i386-pc.rmk: Likewise.
15986 * conf/powerpc-ieee1275.rmk: Likewise.
15987 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
15988
a8aa5762 159892006-12-12 Marco Gerards <marco@gnu.org>
15990
15991 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
15992
15993 * kern/env.c (grub_env_unset): Don't free the member `value' when
15994 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
15995 pointer.
15996
15997 * normal/main.c (current_menu): Removed.
15998 (free_menu): Unset the `menu' environment variable.
15999 (grub_normal_menu_addentry): Make use of the environment variable
16000 `menu', instead of using the global `current_menu'. Allocate
16001 memory for the sourcecode of this entry.
16002 (read_config_file): New argument `nested', changed all callers.
16003 Only in the case of a new context, initialize a new menu. Set the
16004 `menu' environment variable.
16005 (grub_normal_execute): Don't set and unset the environment
16006 variable `menu' here anymore. Only free the menu when leaving the
16007 context.
16008
16009 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
16010 leak.
16011
957b3a3e 160122006-12-11 Marco Gerards <marco@gnu.org>
16013
16014 * normal/menu_entry.c (run): Fix off by one bug so the last line
16015 is executed. Move the loader check to outside the loop.
16016
ef875714 160172006-12-08 Hollis Blanchard <hollis@penguinppc.org>
16018
16019 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
16020
4e739985 160212006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
16022
16023 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
16024 the number of sectors. Reported by Andrey Shuvikov
16025 <mr_hyro@yahoo.com>.
f19dbdb7 16026
790707f2 160272006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
16028
16029 * kern/disk.c (grub_disk_read): When there is a read error, always
16030 try to read only the necessary data.
f19dbdb7 16031
790707f2 16032 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
16033 disk/raid.c.
16034 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
16035 prototype.
16036 [GRUB_UTIL] (grub_raid_fini): Likewise.
16037 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 16038 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 16039 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
16040 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
16041 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
16042 and grub_raid_fini().
f19dbdb7 16043
03e58196 160442006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
16045
16046 * include/grub/types.h (__unused): Rename to UNUSED.
16047 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
16048 (grub_elf64_size): Likewise.
f19dbdb7 16049
ae4f23bf 160502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16051
16052 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
16053 grub_error_push and grub_error_pop in the error-handling path.
16054 (grub_elf32_load_segment): Only call grub_file_read with non-zero
16055 length.
16056
2166cc83 160572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
16058
16059 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
16060 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16062 (kernel_elf_SOURCES): Likewise.
16063 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
16064 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
16065 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16066 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
16067 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
16068 (elf_mod_SOURCES): New variable.
16069 (elf_mod_CFLAGS): Likewise.
16070 (elf_mod_LDFLAGS): Likewise.
16071 * include/grub/types.h (__unused): New macro.
16072 * include/grub/elfload.h: New file.
16073 * kern/elf.c: Likewise.
16074 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
16075 (ELF32_LOADMASK): New macro.
16076 (ELF64_LOADMASK): Likewise.
16077 (vmlinux): Removed.
16078 (grub_linux_load32): New function.
16079 (grub_linux_load64): Likewise.
16080 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
16081 Use grub_elf_t instead of grub_file_t.
16082
a09d5aa5 160832006-11-02 Hollis Blanchard <hollis@penguinppc.org>
16084
16085 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
16086 `catch_result' to struct set_color_args.
16087
d976fc51 160882006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16089
16090 * normal/menu.c: Include grub/script.h.
16091 * normal/menu_entry.c: Likewise.
16092 * include/grub/normal.h: Do not include grub/script.h.
16093
67507549 160942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16095
16096 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
16097
69203a99 160982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16099
16100 * kern/disk.c (grub_disk_open): Print debug messages when opening a
16101 disk.
16102 (grub_disk_close): Print debug messages when closing a disk.
16103 (grub_disk_read): Print debug messages when disk read fails.
16104 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
16105 filesystem type.
16106 * kern/partition.c: Include misc.h.
16107 (grub_partition_iterate): Print debug messages when detecting
16108 partition type.
16109
e2b8278c 161102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
16111
16112 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
16113 is negative.
16114 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
16115
97b2f2ff 161162006-10-26 Hollis Blanchard <hollis@penguinppc.org>
16117
16118 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16119 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
16120
6555d655 161212006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
16122
16123 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
16124 instead of sizeof(lv). Patch by Michael Guntsche.
16125
4d42b77f 161262006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
16127
16128 * disk/lvm.c: Rename VGS to VG_LIST.
16129 (grub_lvm_iterate): Change VGS->LV to VG-LV.
16130 (grub_lvm_open): Likewise.
16131 Thanks to Michael Guntsche for finding this bug.
16132
5d74d927 161332006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16134
16135 * configure.ac (AC_INIT): Bumped to 1.95.
16136
a1bb27e4 161372006-10-14 Robert Millan <rmh@aybabtu.com>
16138
16139 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
16140 with "/dev/.static/dev/md".
16141
e0994b8b 161422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16143
16144 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
16145 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
16146 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
16147 DRIVE_NAME are always freed.
16148
16149 * util/i386/pc/biosdisk.c (make_device_name): Add one into
16150 DOS_PART, as a DOS partition is counted from one instead of zero
16151 now. Reported by Robert Millan.
16152
ddd5cee9 161532006-10-14 Robert Millan <rmh@aybabtu.com>
16154
16155 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
16156 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
16157 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
16158 string returned by grub_guess_root_device.
16159 * util/i386/pc/grub-setup.c: Likewise.
16160 * util/i386/pc/grub-probefs.c: Likewise.
16161
16162 * util/i386/pc/grub-probefs.c: Rename to ...
16163 * util/i386/pc/grub-probe.c: ... this.
16164 * DISTLIST: Remove grub-probefs, add grub-probe.
16165 * conf/i386-efi.rmk: Likewise.
16166 * conf/i386-pc.rmk: Likewise.
16167 * util/i386/pc/grub-install.in: Likewise.
16168
16169 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
16170 choose which information we want to print.
16171
2b002173 161722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
16173
16174 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
16175 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
16176 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
16177 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
16178 video/readers/tga.c and video/i386/pc/vbeutil.c.
16179
161802006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
16181
16182 Added support for RAID and LVM.
f19dbdb7 16183
2b002173 16184 * disk/lvm.c: New file.
16185 * disk/raid.c: Likewise.
16186 * include/grub/lvm.h: Likewise.
f19dbdb7 16187 * include/grub/raid.h: Likewise.
2b002173 16188 * include/grub/util/lvm.h: Likewise.
16189 * include/grub/util/raid.h: Likewise.
16190 * util/lvm.c: Likewise.
16191 * util/raid.c: Likewise.
16192
16193 * include/grub/disk.h (grub_disk_dev_id): Add
16194 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
16195 (grub_disk_get_size): New prototype.
16196 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
16197 returns a partition.
16198 (grub_disk_get_size): New function.
f19dbdb7 16199
2b002173 16200 * kern/i386/pc/init.c (make_install_device): Copy the prefix
16201 verbatim if grub_install_dos_part is -2.
16202
16203 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
16204 and LVM devices.
16205
16206 * util/i386/pc/grub-setup.c (setup): New argument
16207 MUST_EMBED. Force embedding of GRUB when the argument is
16208 true. Close FILE before returning.
16209 (main): Add support for RAID and LVM.
f19dbdb7 16210
2b002173 16211 * conf/common.rmk: Add RAID and LVM modules.
16212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
16213 util/lvm.c.
16214 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
16215
16216 * kern/misc.c (grub_strstr): New function.
16217 * include/grub/misc.h (grub_strstr): New prototype.
16218
050548d0 162192006-10-10 Tristan Gingold <tristan.gingold@bull.net>
16220
16221 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
16222
da849d2d 162232006-10-05 Tristan Gingold <tristan.gingold@bull.net>
16224
16225 * kern/misc.c (grub_strtoull): Guess the base only if not
16226 specified.
16227
97b2f2ff 162282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 16229
16230 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
16231 PowerMac support.
16232
97b2f2ff 162332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 16234
16235 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
16236
16237 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
16238 Remove `flags' argument. All callers changed.
16239 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
16240 (IEEE1275_IHANDLE_INVALID): New variable.
16241 (IEEE1275_CELL_INVALID): New variable.
16242 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
16243 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
16244 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
16245 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
16246 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
16247 codes from Open Firmware. All callers updated.
16248 (grub_ieee1275_next_property): Directly return Open Firmware return
16249 code.
16250 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16251 Standardize error checking from `grub_ieee1275_get_property'.
16252 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
16253 `devalias' to `aliases'. Correct comments. Consolidate error paths.
16254
97b2f2ff 162552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 16256
16257 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
16258 `instance_to_package_args' to `instance_to_path_args'.
16259
16260 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
16261 `grub_ieee1275_chosen'.
16262
16263 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
16264 `grub_ieee1275_interpret'.
16265
97b2f2ff 162662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 16267
16268 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
16269
97b2f2ff 162702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 16271
16272 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
16273 (__cmpdi): Likewise.
16274
16275 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
16276 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
16277 `grub_ssize_t'.
16278
02bb8acc 16279 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 16280
16281 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
16282 to type `grub_ssize_t'.
16283 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
16284
7f9a8531 162852006-09-22 Marco Gerards <marco@gnu.org>
16286
16287 * normal/script.c (grub_script_create_cmdmenu): Skip leading
16288 newlines.
16289
b5ef1102 162902006-09-22 Marco Gerards <marco@gnu.org>
16291
16292 * commands/echo.c: New file.
16293
16294 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
16295
16296 * conf/common.rmk (echo_mod_SOURCES): New variable.
16297 (echo_mod_CFLAGS): Likewise.
16298 (echo_mod_LDFLAGS): Likewise.
16299
2cff3677 163002006-09-22 Marco Gerards <marco@gnu.org>
16301
16302 * normal/main.c (get_line): Malloc memory instead of using
16303 preallocated memory. Removed the arguments `cmdline' and
16304 `max_len'. Updated all callers.
16305
6ba4688b 163062006-09-22 Marco Gerards <marco@gnu.org>
16307
16308 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
16309 (normal_mod_DEPENDENCIES): Likewise.
16310
16311 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
16312 (normal_mod_DEPENDENCIES): Likewise.
16313
16314 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
16315
e02ac02c 163162006-09-22 Johan Rydberg <jrydberg@gnu.org>
16317
16318 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
16319 programs.
16320 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
16321 (normal_mod_DEPENDENCIES): Likewise.
16322 * conf/i386-pc.mk: Regenerate.
16323 * conf/i386-efi.mk: Likewise
16324 * conf/common.mk: Likewise.
16325 * conf/powerpc-ieee1275.mk: Likewise.
16326 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16327
8d252e44 163282006-09-22 Robert Millan <rmh@aybabtu.com>
16329
16330 Sync with i386 version.
16331 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
16332 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
16333
209bf7ac 163342006-09-21 Robert Millan <rmh@aybabtu.com>
16335
16336 Import from GRUB Legacy (lib/device.c):
16337 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
16338 (init_device_map) [__linux__]: Add support for I2O devices.
16339
6b146090 163402006-09-14 Marco Gerards <marco@gnu.org>
16341
16342 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
16343 `-melf_i386'.
16344
e38600a8 163452006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 16346
16347 * util/i386/pc/grub-install.in: Skip menu.lst when removing
16348 /boot/grub/*.lst.
78fa1790 16349
2952da5d 16350 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 16351
2952da5d 16352 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
16353 before adding it to device.map.
16354
01b82a64 163552006-08-15 Johan Rydberg <jrydberg@gnu.org>
16356
fe6b695a 16357 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 16358 compiles a file; using the -MD option.
16359 * conf/common.mk: Regenerate.
16360 * conf/i386-pc.mk: Likewise.
16361 * conf/i386-efi.mk: Likewise.
16362 * conf/powerpc-ieee1275.mk: Likewise.
16363 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 16364
1064790d 163652006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
16366
16367 Move the prototypes of grub_setjmp and grub_longjmp to
16368 cpu/setjmp.h, so that each architecture may specify different
16369 attributes.
f19dbdb7 16370
1064790d 16371 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
16372 (grub_longjmp): Likewise.
16373 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
16374 (grub_longjmp): Likewise.
16375 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
16376 (grub_longjmp): Likewise.
16377
16378 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
16379 [!GRUB_UTIL] (grub_longjmp): Removed.
16380
29dda3ed 163812006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
16382
16383 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
16384 "color!" method does not return any value.
16385
ad2a06ed 163862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16387
16388 * include/grub/bitmap.h: New file.
16389
16390 * include/grub/i386/pc/vbeutil.h: Likewise.
16391
16392 * video/bitmap.c: Likewise.
16393
16394 * video/readers/tga.c: Likewise.
16395
16396 * video/i386/pc/vbeutil.c: Likewise.
16397
16398 * commands/videotest.c: Code cleanup and updated to reflect to new
16399 video API.
16400
16401 * term/gfxterm.c: Likewise.
16402
16403 * video/video.c: Likewise.
16404
16405 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
16406 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
16407 (bitmap_mod_SOURCES): New entry.
16408 (bitmap_mod_CFLAGS): Likewise.
16409 (bitmap_mod_LDFLAGS): Likewise.
16410 (tga_mod_SOURCES): Likewise.
16411 (tga_mod_CFLAGS): Likewise.
16412 (tga_mod_LDFLAGS): Likewise.
16413
16414 * include/grub/video.h (grub_video_blit_operators): New enum type.
16415 (grub_video_render_target): Changed as forward declaration and moved
16416 actual definition to be video driver specific.
16417 (grub_video_adapter.blit_bitmap): Added blitting operator.
16418 (grub_video_adapter.blit_render_target): Likewise.
16419 (grub_video_blit_bitmap): Likewise.
16420 (grub_video_blit_render_target): Likewise.
16421
16422 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
16423 driver specific render target definition.
16424 (grub_video_vbe_map_rgba): Added driver internal helper.
16425 (grub_video_vbe_unmap_color): Updated to use
16426 grub_video_i386_vbeblit_info.
16427 (grub_video_vbe_get_video_ptr): Likewise.
16428
16429 * include/grub/i386/pc/vbeblit.h
16430 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
16431 grub_video_i386_vbeblit_info.
16432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16433 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16434 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16436 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16437 (grub_video_i386_vbeblit_index_index): Likewise.
16438 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
16439 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16440 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16441 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
16442 operator.
16443 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
16444 operator.
16445
16446 * video/i386/pc/vbeblit.c: Updated to reflect changes on
16447 include/grub/i386/pc/vbeblit.h.
16448
16449 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
16450 Updated to use grub_video_i386_vbeblit_info.
16451 (grub_video_i386_vbefill_R8G8B8): Likewise.
16452 (grub_video_i386_vbefill_index): Likewise.
16453 (grub_video_i386_vbefill): Added generic filler.
16454
16455 * video/i386/pc/vbefill.c: Updated to reflect changes on
16456 include/grub/i386/pc/vbefill.h.
16457
16458 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
16459 grub_video_i386_vbeblit_info.
16460 (grub_video_vbe_unmap_color): Likewise.
16461 (grub_video_vbe_blit_glyph): Likewise.
16462 (grub_video_vbe_scroll): Likewise.
16463 (grub_video_vbe_draw_pixel): Removed function.
16464 (grub_video_vbe_get_pixel): Likewise.
16465 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
16466 updated code to use it.
16467 (common_blitter): Added common blitter for render target and bitmap.
16468 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
16469 (grub_video_vbe_blit_render_target): Likewise.
16470
bc8c036d 164712006-07-30 Johan Rydberg <jrydberg@gnu.org>
16472
16473 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
16474 is in text mode if there is no console control protocol instance
16475 available.
16476
684a8eff 164772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16478
16479 * include/grub/video.h: Code cleanup.
16480
16481 * include/grub/i386/pc/vbe.h: Likewise.
16482
16483 * video/i386/pc/vbe.c: Likewise.
16484
16485 * video/i386/pc/vbeblit.c: Likewise.
16486
16487 * video/i386/pc/vbefill.c: Likewise.
16488
16489 * video/video.c: Likewise. Also added more comments.
16490
5915059b 164912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
16492
16493 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
16494 (struct grub_biosdisk_dap): Likewise.
16495
16496 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
16497 linkage settings for all functions.
16498
90ce5d56 164992006-07-12 Marco Gerards <marco@gnu.org>
16500
16501 * configure.ac (--enable-mm-debug): Fix typo.
16502
16503 * genkernsyms.sh.in: Use proper quoting for `CC'.
16504
43e7f879 165052006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
16506
16507 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
16508 (normal_mod_ASFLAGS): Remove "-m32".
16509
4889bdec 165102006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
16511
16512 * util/misc.c: Include config.h.
16513 [!HAVE_MEMALIGN]: Do not include malloc.h.
16514 (grub_memalign): Use posix_memalign, if present. Then, use
16515 memalign, if present. Otherwise, emit an error.
16516
16517 * util/grub-emu.c: Do not include malloc.h.
16518
16519 * include/grub/util/misc.h: Include unistd.h. This is required for
16520 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
16521 D. Eades III <hde@foobar-qux.org>.
16522
16523 * configure.ac (AC_GNU_SOURCE): Added.
16524 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
16525 type.
16526
fd39d4da 165272006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
16528
16529 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
16530 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
16531
b786f3b5 165322006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
16533
16534 * include/grub/types.h (grub_host_addr_t): Rename to
16535 grub_target_addr_t.
16536 (grub_host_off_t): Rename to grub_target_off_t.
16537 (grub_host_size_t): Rename to grub_target_size_t.
16538 (grub_host_ssize_t): Rename to grub_target_ssize_t.
16539 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
16540
16541 * include/grub/kernel.h (struct grub_module_header): Change type
16542 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
16543 (grub_module_info): Likewise.
f19dbdb7 16544
051988bb 165452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16546
16547 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
16548 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
16549 Velazquez <jesus.velazquez@gmail.com>.
16550
deae281b 165512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
16552
16553 Count partitions from 1 instead of 0 in the string representation
16554 of partitions. Still use 0-based internally.
f19dbdb7 16555
deae281b 16556 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
16557 (sun_partition_map_iterate): Use grub_partition_t instead of
16558 struct grub_partition *. Cast DESC->START_CYLINDER to
16559 grub_uint64_t after converting the endian.
16560 (sun_partition_map_probe): Subtract 1 for PARTNUM.
16561 (sun_partition_map_get_name): Add 1 to P->INDEX.
16562
16563 * partmap/pc.c (grub_partition_parse): Subtract 1 for
16564 PCDATA->DOS_PART.
16565 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
16566
16567 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
16568 zero instead of one.
16569 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
16570 (gpt_partition_map_get_name): Add 1 into P->INDEX.
16571
16572 * partmap/apple.c (apple_partition_map_iterate): Change the type
16573 of POS to unsigned.
16574 (apple_partition_map_probe): Subtract 1 for PARTNUM.
16575 (apple_partition_map_get_name): Add 1 into P->INDEX.
16576
16577 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
16578 of POS to unsigned.
16579 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
16580 calculate the offset of a partition.
16581 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
16582 (amiga_partition_map_get_name): Add 1 into P->INDEX.
16583
16584 * partmap/acorn.c (acorn_partition_map_find): Change the type of
16585 SECTOR to grub_disk_addr_t.
16586 (acorn_partition_map_iterate): Likewise.
16587 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
16588 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
16589 top.
16590 (acorn_partition_map_get_name): Add 1 into P->INDEX.
16591
16592 * kern/i386/pc/init.c (make_install_device): Add 1 into
16593 GRUB_INSTALL_DOS_PART.
16594
16595 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
16596 conditional.
16597
524a1e6a 165982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16599
16600 Clean up the code to support 64-bit addressing in disks and
16601 files. This change is not enough for filesystems yet.
f19dbdb7 16602
524a1e6a 16603 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
16604 type of "start" to grub_uint64_t.
16605 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
16606 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
16607 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
16608 convert addresses.
16609
16610 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
16611 to grub_disk_addr_t.
16612
16613 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
16614 string.
16615
16616 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16617
16618 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
16619 to char *.
16620
16621 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
16622
16623 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
16624
16625 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
16626
16627 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
16628 to grub_off_t, to detect an error from grub_file_seek.
16629 (grub_multiboot_load_elf32): Likewise.
16630
16631 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
16632 maximum unsigned long value when an overflow is detected.
16633 (grub_strtoull): New function.
16634 (grub_divmod64): Likewise.
16635 (grub_lltoa): use grub_divmod64.
16636
16637 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
16638 grub_disk_addr_t.
16639 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
16640 the pointer to next character. Use grub_strtoull instead of
16641 grub_strtoul.
16642 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
16643 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
16644 respectively.
16645
fe6b695a 16646 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 16647 return value is signed.
16648 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
16649 test if OFFSET is less than zero, as OFFSET is unsigned now.
16650
16651 * kern/disk.c (struct grub_disk_cache): Change the type of
16652 "sector" to grub_disk_addr_t.
16653 (grub_disk_cache_get_index): Change the type of SECTOR to
16654 grub_disk_addr_t. Calculate the hash with SECTOR casted to
16655 unsigned after shifting.
16656 (grub_disk_cache_invalidate): Change the type of SECTOR to
16657 grub_disk_addr_t.
16658 (grub_disk_cache_unlock): Likewise.
16659 (grub_disk_cache_store): Likewise.
16660 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
16661 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
16662 grub_disk_addr_t and grub_uint64_t, respectively.
16663 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
16664 body, as the value of OFFSET is tweaked by
16665 grub_disk_check_range. Change the types of START_SECTOR, LEN and
16666 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
16667 respectively.
16668 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
16669 body, as the value of OFFSET is tweaked by
16670 grub_disk_check_range. Change the types of LEN and N to
16671 grub_size_t.
16672
16673 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
16674 and "saved_offset" to grub_off_t.
16675 (test_header): Cast BUF to char *.
16676 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
16677 to char *.
16678 (grub_gzio_read): Change the types of OFFSET and SIZE to
16679 grub_off_t and grub_size_t, respectively.
16680
16681 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
16682 Removed.
16683 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
16684 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
16685 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
16686 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
16687 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
16688
16689 * include/grub/types.h (grub_off_t): Unconditionally set to
16690 grub_uint64_t.
16691 (grub_disk_addr_t): Changed to grub_uint64_t.
16692
16693 * include/grub/partition.h (struct grub_partition): Change the
16694 types of "start", "len" and "offset" to grub_disk_addr_t,
16695 grub_uint64_t and grub_disk_addr_t, respectively.
16696 (grub_partition_get_start): Return grub_disk_addr_t.
16697 (grub_partition_get_len): Return grub_uint64_t.
16698
16699 * include/grub/misc.h (grub_strtoull): New prototype.
16700 (grub_divmod64): Likewise.
16701
16702 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
16703 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
16704 grub_off_t, respectively.
16705 All callers and references changed.
16706
16707 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
16708 grub_size_t in "read".
16709 All callers and references changed.
16710
16711 * include/grub/file.h (struct grub_file): Change the types of
16712 "offset" and "size" to grub_off_t and grub_off_t,
16713 respectively. Change the type of SECTOR to grub_disk_addr_t in
16714 "read_hook".
16715 (grub_file_read): Change the type of LEN to grub_size_t.
16716 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
16717 grub_off_t.
16718 (grub_file_size): Return grub_off_t.
16719 (grub_file_tell): Likewise.
16720 All callers and references changed.
16721
16722 * include/grub/disk.h (struct grub_disk_dev): Change the types of
16723 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
16724 "write".
16725 (struct grub_disk): Change the type of "total_sectors" to
16726 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 16727 "read_hook".
524a1e6a 16728 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
16729 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
16730 (grub_disk_write): Likewise.
16731 All callers and references changed.
16732
16733 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
16734 char * for grub_strncmp to silence gcc.
16735 (grub_iso9660_mount): Likewise.
16736 (grub_iso9660_mount): Likewise.
16737 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
16738 return statement.
16739 (grub_iso9660_iterate_dir): Likewise.
16740 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
16741
16742 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
16743 LEN to grub_disk_addr_t and grub_size_t, respectively.
16744
16745 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
16746
16747 * fs/jfs.c (grub_jfs_read_file): Likewise.
16748
16749 * fs/minix.c (grub_jfs_read_file): Likewise.
16750
16751 * fs/sfs.c (grub_jfs_read_file): Likewise.
16752
16753 * fs/ufs.c (grub_jfs_read_file): Likewise.
16754
16755 * fs/xfs.c (grub_jfs_read_file): Likewise.
16756
16757 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
16758 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
16759 respectively.
16760
16761 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
16762 BLKNR to -1 instead of returning GRUB_ERRNO.
16763 (grub_ext2_read_file): Change the types of SECTOR and
16764 LEN to grub_disk_addr_t and grub_size_t, respectively.
16765
16766 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
16767 LEN to grub_disk_addr_t and grub_size_t, respectively.
16768
16769 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
16770 grub_file_read.
16771
16772 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
16773 string. Do not cast SECTOR explicitly.
16774
16775 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
16776 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
16777 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
16778 grub_disk_addr_t and grub_size_t, respectively. If the sector is
16779 over 2TB and LBA mode is not supported, raise an error.
16780 (get_safe_sectors): New function.
16781 (grub_biosdisk_read): Use get_safe_sectors.
16782 (grub_biosdisk_write): Likewise.
16783
16784 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
16785 (grub_efidisk_write): Likewise.
16786
16787 * disk/loopback.c (delete_loopback): Cosmetic changes.
16788 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
16789 correctly.
16790 (grub_loopback_open): Likewise.
16791 (grub_loopback_read): Likewise. Also, change the type of POS to
16792 grub_off_t, and fix the usage of grub_memset.
16793
16794 * commands/i386/pc/play.c: Include grub/machine/time.h.
16795
16796 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
16797 print FILE->SIZE.
16798
16799 * commands/configfile.c: Include grub/env.h.
16800
16801 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
16802 GRUB_ERRNO directly instead. Change the type of POS to
16803 grub_off_t. Follow the coding standard.
16804
16805 * commands/blocklist.c: Include grub/partition.h.
16806 (grub_cmd_blocklist): Return an error if the underlying device is
16807 not a disk. Take the starting sector of a partition into account,
16808 if a partition is used.
16809
16810 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
16811 a length field.
16812 (lba_mode): Support 64-bit addresses.
16813 (chs_mode): Likewise.
16814 (copy_buffer): Adapted to the new offsets of a length field and a
16815 segment field.
16816 (blocklist_default_start): Allocate 64-bit space.
16817
16818 * boot/i386/pc/boot.S (force_lba): Removed.
16819 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 16820 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 16821 space.
16822 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
16823 is useless.
16824 (lba_mode): Refactored to support a 64-bit address. More size
16825 optimization.
16826 (setup_sectors): Likewise.
16827
53af98ad 168282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
16829
16830 * DISTLIST: Added include/grub/i386/linux.h. Removed
16831 include/grub/i386/pc/linux.h
16832
16833 * configure.ac (AC_INIT): Bumped to 1.94.
16834
16835 * config.guess: Updated from gnulib.
16836 * config.sub: Likewise.
16837 * install-sh: Likewise.
16838 * mkinstalldirs: Likewise.
16839
b4c1940a 168402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16841
16842 * conf/common.rmk (grub_modules_init.lst): Depended on
16843 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
16844 MODSRCFILES.
16845
16846 * genmk.rb (PModule::rule): Reverted the previous change.
16847
cfca1cfd 168482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
16849
16850 * conf/common.rmk (grub_modules_init.lst): Depends on
16851 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
16852 that the target does not exist before producing.
16853 (grub_modules_init.h): Remove the target before generating.
16854 (grub_emu_init.c): Likewise.
16855
16856 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
16857
aa6d7826 168582006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
16859
16860 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
16861 for the target-specific tests. Make sure that we also have the
16862 up-to-date target variables for those tests.
16863
26c607b9 168642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
16865
16866 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
16867 (PModule::rule): Likewise.
16868
0162321a 168692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
16870
16871 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
16872 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
16873 target-specific flags should be prefixed.
16874 (PModule::rule): Likewise.
16875
6c826348 168762006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
16877
16878 * configure.ac (CMP): Check if cmp is available explicitly.
16879
b977bf01 168802006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
16881
16882 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
16883 (target_cpu): New variable.
16884 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 16885
b977bf01 16886 * util/i386/pc/grub-install.in (host_cpu): Removed.
16887 (target_cpu): New variable.
16888 (pkglibdir): Use target_cpu instead of host_cpu.
16889
16890 * util/genmoddep.c: Removed.
f19dbdb7 16891
b977bf01 16892 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
16893 instead of GRUB_HOST_SIZEOF_VOID_P.
16894 * kern/dl.c: Likewise.
16895
16896 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
16897 ...
16898 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16899 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16900 (GRUB_TARGET_SIZEOF_LONG): ... this.
16901 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16902 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16903 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16904 to ...
16905 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16906 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16907 (GRUB_TARGET_SIZEOF_LONG): ... this.
16908 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16909 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16910 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16911 to ...
16912 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16913 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16914 (GRUB_TARGET_SIZEOF_LONG): ... this.
16915 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16916 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16917
16918 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
16919 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
16920 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
16921 instead of GRUB_HOST_SIZEOF_LONG.
16922 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
16923 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
16924 GRUB_CPU_WORDS_BIGENDIAN.
16925 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
16926 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
16927 grub_host_ssize_t.
16928
16929 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
16930 (genmoddep_SOURCES): Likewise.
16931 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
16932 (genmoddep_SOURCES): Likewise.
16933 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
16934 (genmoddep_SOURCES): Likewise.
16935 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
16936 Likewise.
16937 (genmoddep_SOURCES): Likewise.
16938
16939 * genmoddep.awk: New file.
16940
16941 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
16942 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
16943 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
16944 (PModule::rule): Likewise.
16945 (Program::rule): Likewise.
16946 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
16947 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
16948 respectively.
16949
16950 * configure.ac: Rewritten intensively to use host and target
16951 instead of build and host, respectively.
16952
16953 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
16954 (host_cpu): Removed.
16955 (target_cpu): New variable.
16956 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
16957 (BUILD_CC): Removed.
16958 (BUILD_CFLAGS): Likewise.
16959 (BUILD_CPPFLAGS): Likewise.
16960 (TARGET_CC): New variable.
16961 (TARGET_CFLAGS): Likewise.
16962 (TARGET_CPPFLAGS): Likewise.
16963 (TARGET_LDFLAGS): Likewise.
16964 (AWK): Likewise.
16965 (include): Use target_cpu instead of host_cpu.
16966 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 16967
b977bf01 16968 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
16969
f09771a1 169702006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
16971
16972 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
16973 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
16974 field 'false' to 'exec_on_false'.
16975 (grub_script_create_cmdif): Renamed argument names to reflect above
16976 changes.
16977
16978 * normal/execute.c (grub_script_execute_cmdif): Likewise.
16979
16980 * normal/script.c (grub_script_create_cmdif): Likewise.
16981
118f4fb3 169822006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
16983
16984 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
16985 top.
16986 (grub_hfsplus_btree_recptr): Likewise.
16987 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
16988 FILEBLOCK both to pass a block number and store next block
16989 number.
16990 (grub_hfsplus_read_block): Rewritten heavily to support an extent
16991 overflow file correctly. Specify errors appropriately, because
16992 fshelp expects that GRUB_ERRNO is set when fails. Reuse
16993 grub_hfsplus_btree_recptr to get the pointer to a found key.
16994 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
16995 is found.
16996
16997 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
16998 linux.mod.
16999 (_linux_mod_SOURCES): New variable.
17000 (_linux_mod_CFLAGS): Likewise.
17001 (_linux_mod_LDFLAGS): Likewise.
17002 (linux_mod_SOURCES): Likewise.
17003 (linux_mod_CFLAGS): Likewise.
17004 (linux_mod_LDFLAGS): Likewise.
17005
17006 * DISTLIST: Added loader/i386/efi/linux.c,
17007 loader/i386/efi/linux_normal.c and
17008 include/grub/i386/efi/loader.h.
17009
17010 * loader/i386/efi/linux.c: New file.
17011 * loader/i386/efi/linux_normal.c: Likewise.
17012 * include/grub/i386/efi/loader.h: Likewise.
17013
89a7d726 170142006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
17015
17016 * commands/blocklist.c: New file.
17017
17018 * DISTLIST: Added commands/blocklist.c.
17019
17020 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 17021 color for the background, and a darker color for the foreground.
89a7d726 17022 (grub_console_checkkey): Return READ_KEY.
17023 (grub_console_cls): Set the background to
17024 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
17025
17026 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
17027
17028 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
17029 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
17030
17031 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
17032 prototype.
17033
17034 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
17035 BG. The spec is wrong again.
17036
17037 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
17038 prototype.
17039 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
17040
17041 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
17042 commands/blocklist.c.
17043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 17044
89a7d726 17045 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
17046 (blocklist_mod_SOURCES): New variable.
17047 (blocklist_mod_CFLAGS): Likewise.
17048 (blocklist_mod_LDFLAGS): Likewise.
17049
75c8f258 170502006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
17051
17052 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
17053 duplication.
17054 (lba_mode): Use %eax more intensively to reduce the code size.
17055
da2eb181 170562006-05-20 Marco Gerards <marco@gnu.org>
17057
17058 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
17059
17060 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
17061 for `menuentry'.
17062 (script): Accept leading newlines.
17063 (newlines): New rule to describe 0 or more newlines.
17064 (commands): Accept `command' with trailing newline. Fixed the
17065 order in which arguments were passed to `grub_script_add_cmd'.
17066 Accept commands separated by newlines.
17067 (function): Changed to accept newlines.
17068 (menuentry) Rewritten.
17069
17070 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
17071 front of the list, instead of to the end.
17072
577b4050 170732006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
17074
17075 * util/i386/pc/grub-install.in (bindir): New variable.
17076 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
17077 Shaver <lbgwjl@gmail.com>.
17078
0d6e1189 170792006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
17080
17081 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
17082 grub/machine/linux.h
17083 * loader/i386/pc/linux.c: Likewise.
17084
17085 * include/grub/i386/pc/linux.h: Moved to ...
17086 * include/grub/i386/linux.h: ... here.
17087
17088 * include/grub/i386/linux.h (struct linux_kernel_params): New
17089 struct.
f19dbdb7 17090
31b86e9f 170912006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
17092
17093 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
17094 checking.
17095 (grub_video_vbe_blit_glyph): Likewise.
17096 (grub_video_vbe_blit_bitmap): Likewise.
17097 (grub_video_vbe_blit_render_target): Likewise.
17098
83b984de 170992006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
17100
17101 * configure.ac (--with-platform): Properly quote the square
17102 brackets.
17103
5f0413bd 171042006-05-08 Marco Gerards <marco@gnu.org>
17105
17106 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
17107 this...
17108 (kernel_elf_HEADERS): ...to this. Updated all users.
17109 (grubof_symlist.c): Renamed from this...
17110 (kernel_elf_symlist.c): ...to this. Updated all users.
17111 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17112 (grubof_SOURCES): Renamed from this...
17113 (kernel_elf_SOURCES): ...to this.
17114 (grubof_HEADERS): Renamed from this...
17115 (kernel_elf_HEADERS): ...to this.
17116 (grubof_CFLAGS): Renamed from this...
17117 (kernel_elf_CFLAGS): ...to this.
17118 (grubof_ASFLAGS): Renamed from this...
17119 (kernel_elf_ASFLAGS): ...to this.
17120 (grubof_LDFLAGS): Renamed from this...
17121 (kernel_elf_LDFLAGS): ...to this.
17122
17123 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
17124 this...
17125 (kernel_elf_HEADERS): ...to this. Updated all users.
17126 (grubof_symlist.c): Renamed from this...
17127 (kernel_elf_symlist.c): ...to this. Updated all users.
17128 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
17129 (grubof_SOURCES): Renamed from this...
17130 (kernel_elf_SOURCES): ...to this.
17131 (grubof_HEADERS): Renamed from this...
17132 (kernel_elf_HEADERS): ...to this.
17133 (grubof_CFLAGS): Renamed from this...
17134 (kernel_elf_CFLAGS): ...to this.
17135 (grubof_ASFLAGS): Renamed from this...
17136 (kernel_elf_ASFLAGS): ...to this.
17137 (grubof_LDFLAGS): Renamed from this...
17138 (kernel_elf_LDFLAGS): ...to this.
17139
17140 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
17141 `kernel.elf' instead of `grubof'.
17142
05568c2e 171432006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
17144
17145 Add --with-platform to configure. Use pkglibdir instead of
17146 pkgdatadir. This is reported by Roger Leigh.
17147
17148 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
17149 (host_vendor): Likewise.
17150 (host_os): Likewise.
17151 (pkgdatadir): Likewise.
17152 (platform): New variable.
17153 (pkglibdir): Likewise.
17154 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 17155
05568c2e 17156 * util/i386/pc/grub-install.in (datadir): Removed.
17157 (host_vendor): Likewise.
17158 (host_os): Likewise.
17159 (pkgdatadir): Likewise.
17160 (platform): New variable.
17161 (pkglibdir): Likewise.
17162 Use PKGLIBDIR instead of PKGDATADIR.
17163
17164 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
17165 instead of GRUB_DATADIR.
17166 (main): Likewise.
17167 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17168 (main): Likewise.
17169 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17170 (main): Likewise.
17171
17172 * configure.ac (--with-platform): New option.
17173 Use PLATFORM instead of HOST_VENDOR to specify a platform.
17174
17175 * Makefile.in: Include a makefile based on PLATFORM instead of
17176 HOST_VENDOR.
17177 (pkgdatadir): Not appended by the machine type.
17178 (pkglibdir): Appended by the machine type.
17179 (host_vendor): Removed.
17180 (platform): New variable.
17181 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
17182 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
17183 (uninstall): Likewise.
17184
4e93851c 171852006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
17186
17187 Use the environment context in the menu. Remove the commands
17188 "default" and "timeout", and use variables instead.
f19dbdb7 17189
4e93851c 17190 * normal/menu.c: Include grub/env.h.
17191 (print_entry): Cast TITLE to silence gcc.
17192 (get_timeout): New function.
17193 (set_timeout): Likewise.
17194 (get_entry_number): Likewise.
17195 (run_menu): Use a default entry, a fallback entry and a timeout
17196 in the environment variables "default", "fallback" and
17197 "timeout". Also, tweak the default entry if it is not within the
17198 current menu entries.
17199 (grub_menu_run): Use a fallback entry in the environment variable
17200 "fallback".
17201
17202 * normal/main.c (read_config_file): Do not initialize
17203 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
17204 NEWMENU->TIMEOUT.
17205 (grub_normal_execute): Use a data slot to store the menu.
17206
17207 * include/grub/normal.h (struct grub_menu): Removed default_entry,
17208 fallback_entry and timeout.
17209 (struct grub_menu_list): Removed.
17210 (grub_menu_list_t): Likewise.
17211 (struct grub_context): Likewise.
17212 (grub_context_t): Likewise.
17213 (grub_context_get): Likewise.
17214 (grub_context_get_current_menu): Likewise.
17215 (grub_context_push_menu): Likewise.
17216 (grub_context_pop_menu): Likewise.
17217 (grub_default_init): Likewise.
17218 (grub_default_fini): Likewise.
17219 (grub_timeout_init): Likewise.
17220 (grub_timeout_fini): Likewise.
17221
17222 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
17223 and timeout.mod.
17224 (normal_mod_SOURCES): Removed normal/context.c.
17225
17226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
17227 commands/default.c, commands/timeout.c and normal/context.c.
17228 (normal_mod_SOURCES): Removed normal/context.c.
17229
17230 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
17231 commands/timeout.c and normal/context.c.
17232 (normal_mod_SOURCES): Removed normal/context.c.
17233
17234 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
17235 commands/default.c, commands/timeout.c and normal/context.c.
17236 (normal_mod_SOURCES): Removed normal/context.c.
17237
17238 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
17239 timeout.mod.
17240 (default_mod_SOURCES): Removed.
17241 (default_mod_CFLAGS): Likewise.
17242 (default_mod_LDFLAGS): Likewise.
17243 (timeout_mod_SOURCES): Removed.
17244 (timeout_mod_CFLAGS): Likewise.
17245 (timeout_mod_LDFLAGS): Likewise.
17246
17247 * DISTLIST: Removed commands/default.c, commands/timeout.c and
17248 normal/context.c.
17249
17250 * commands/default.c: Removed.
17251 * commands/timeout.c: Likewise.
17252 * normal/context.c: Likewise.
17253
1eb9cc1d 172542006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
17255
17256 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
17257
385bd9c1 172582006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
17259
17260 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
17261 "next" to "prev" for readability.
17262 (struct grub_env_sorted_var): New struct.
17263 (grub_env_context): Renamed to ...
17264 (initial_context): ... this.
17265 (grub_env_var_context): Renamed to ...
17266 (current_context): ... this.
17267 (grub_env_find): Look only at CURRENT_CONTEXT.
17268 (grub_env_context_open): Rewritten to copy exported variables from
17269 previous context.
17270 (grub_env_context_close): Rewritten according to the new
17271 scheme. Also, add an assertion to prevent the initial context from
17272 removed.
17273 (grub_env_insert): Removed the code for the sorted list.
17274 (grub_env_remove): Likewise.
17275 (grub_env_export): Simply mark the variable with
17276 GRUB_ENV_VAR_GLOBAL.
17277 (grub_env_set): A cosmetic change for naming consistency.
17278 (grub_env_get): Likewise.
17279 (grub_env_unset): Likewise.
17280 (grub_env_iterate): Rewritten to sort variables within this
17281 function.
17282 (grub_register_variable_hook): Fixed for naming consistency. Call
17283 grub_env_find again, only if NAME is not found at the first time.
17284 (mangle_data_slot_name): New function.
17285 (grub_env_set_data_slot): Likewise.
17286 (grub_env_get_data_slot): Likewise.
17287 (grub_env_unset_data_slot): Likewise.
17288
17289 * include/grub/env.h (grub_env_var_type): New enum.
17290 (GRUB_ENV_VAR_LOCAL): New constant.
17291 (GRUB_ENV_VAR_GLOBAL): Likewise.
17292 (GRUB_ENV_VAR_DATA): Likewise.
17293 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
17294 "type".
17295 (grub_env_set): Replace VAR with NAME for consistency.
17296 (grub_register_variable_hook): Likewise.
17297 (grub_env_export): Specify the name of the argument.
17298 (grub_env_set_data_slot): New prototype.
17299 (grub_env_get_data_slot): Likewise.
17300 (grub_env_unset_data_slot): Likewise.
17301
7f362539 173022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17303
17304 Extend the loader so that GRUB can accept a loader which comes
17305 back to GRUB when a loaded image exits. Also, this change adds
17306 support for a chainloader on EFI.
f19dbdb7 17307
7f362539 17308 * term/efi/console.c: Include grub/misc.h.
17309 (grub_console_checkkey): Display a scan code on the top for
17310 debugging. This will be removed once the EFI port gets stable.
17311 Correct the scan code mapping.
17312
17313 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
17314 allocate memory from larger regions, in order to reduce the number
17315 of allocated regions. Otherwise, the MacOSX loader panics.
17316 (filter_memory_map): Avoid less than 1MB for compatibility with
17317 other loaders.
17318 (add_memory_regions): Allocate from the tail of a region, if
17319 possible, to avoid allocating a region near to 1MB, for the MacOSX
17320 loader.
17321
17322 * kern/efi/init.c (grub_efi_set_prefix): Specify
17323 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
17324
17325 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
17326 argument IMAGE_HANDLE and specify it to get a loaded image.
17327 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
17328 grub_efi_get_loaded_image.
fe6b695a 17329 (grub_efi_get_filename): Divide the length by the size of
7f362539 17330 grub_efi_char16_t.
17331 (grub_efi_get_device_path): New function.
17332 (grub_efi_print_device_path): Print End Device Path nodes. Divide
17333 the length by the size of grub_efi_char16_t for a file path device
17334 path node.
17335
17336 * kern/loader.c (grub_loader_noreturn): New variable.
17337 (grub_loader_set): Accept a new argument NORETURN. Set
17338 GRUB_LOADER_NORETURN to NORETURN.
17339 All callers changed.
17340 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
17341 grub_machine_fini.
17342
17343 * include/grub/efi/efi.h (grub_efi_get_device_path): New
17344 prototype.
17345 (grub_efi_get_loaded_image): Take an argument to specify an image
17346 handle.
17347
17348 * include/grub/loader.h (grub_loader_set): Added one more argument
17349 NORETURN.
17350
17351 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
17352 instead of grub_efi_open_protocol.
17353 (grub_efidisk_get_device_name): Likewise.
17354 (grub_efidisk_close): Print a newline.
17355 (grub_efidisk_get_device_handle): Fixed to use
17356 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
17357 GRUB_EFI_DEVICE_PATH_TYPE.
17358
17359 * disk/efi/efidisk.c (device_path_guid): Moved to ...
17360 * kern/efi/efi.c (device_path_guid): ... here.
17361
17362 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
17363 chain.mod.
17364 (kernel_mod_HEADERS): Added efi/disk.h.
17365 (_chain_mod_SOURCES): New variable.
17366 (_chain_mod_CFLAGS): Likewise.
17367 (_chain_mod_LDFLAGS): Likewise.
17368 (chain_mod_SOURCES): Likewise.
17369 (chain_mod_CFLAGS): Likewise.
17370 (chain_mod_LDFLAGS): Likewise.
17371
17372 * DISTLIST: Added include/grub/efi/chainloader.h,
17373 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
17374
17375 * include/grub/efi/chainloader.h: New file.
17376 * loader/efi/chainloader.c: Likewise.
17377 * loader/efi/chainloader_normal.c: Likewise.
17378
c0111d6e 173792006-04-30 Marco Gerards <marco@gnu.org>
17380
17381 * commands/configfile.c (grub_cmd_source): New function.
17382 (GRUB_MOD_INIT): Register the commands `source' and `.'.
17383 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
17384
df5341da 173852006-04-30 Marco Gerards <marco@gnu.org>
17386
17387 * normal/execute.c (grub_script_execute_cmd): Change the return
17388 type to `grub_err_t'. Correctly return the error.
17389 (grub_script_execute_cmdline): In case a command line is not a
17390 command or a function, try to interpret it as an assignment.
17391
f85934bd 173922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
17393
17394 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
17395 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
17396 skip a node whose name is obviously invalid as UTF-16,
17397 i.e. contains a NUL character. Stop the iteration when the last
17398 directory entry is found. Instead of using the return value of
17399 grub_hfsplus_btree_iterate_node, store the value in RET and use
17400 it, because the iterator can be stopped by the last directory
17401 entry.
17402
8f8a2cf8 174032006-04-30 Marco Gerards <marco@gnu.org>
17404
17405 * include/grub/env.h (grub_env_export): New prototype. Reported
17406 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
17407
a27e84ce 174082006-04-30 Marco Gerards <marco@gnu.org>
17409
17410 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
17411 size of the extents in a catalog file record.
17412
eaef0553 174132006-04-29 Marco Gerards <marco@gnu.org>
17414
17415 * commands/configfile.c (grub_cmd_configfile): Execute the
17416 configfile within its own context.
17417
17418 * include/grub/env.h (grub_env_context_open): New prototype.
17419 (grub_env_context_close): Likewise.
17420
17421 * kern/env.c (grub_env): Removed.
17422 (grub_env_sorted): Likewise.
17423 (grub_env_context): New variable.
17424 (grub_env_var_context): Likewise.
17425 (grub_env_find): Search both the active context and the global
17426 context.
17427 (grub_env_context_open): New function.
17428 (grub_env_context_close): Likewise.
17429 (grub_env_insert): Likewise.
17430 (grub_env_remove): Likewise.
17431 (grub_env_export): Likewise.
17432 (grub_env_set): Changed to use helper functions to avoid code
17433 duplication.
17434 (grub_env_iterate): Rewritten so both the current context and the
17435 global context are being used.
17436
17437 * normal/command.c (export_command): New function.
17438 (grub_command_init): Register the `export' function.
17439
7b455f4d 174402006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
17441
17442 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
17443 explicitly to suppress gcc's warnings.
17444 * fs/fat.c (grub_fat_find_dir): Likewise.
17445 (grub_fat_label): Likewise.
17446 * fs/xfs.c (grub_xfs_read_inode): Likewise.
17447 (grub_xfs_mount): Likewise.
17448 (grub_xfs_label): Likewise.
17449 * fs/affs.c (grub_affs_mount): Likewise.
17450 (grub_affs_label): Likewise.
17451 (grub_affs_iterate_dir): Likewise.
17452 * fs/sfs.c (grub_sfs_mount): Likewise.
17453 (grub_sfs_iterate_dir): Likewise.
17454 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
17455 * fs/hfs.c (grub_hfs_mount): Likewise.
17456 (grub_hfs_cmp_catkeys): Likewise.
17457 (grub_hfs_find_dir): Likewise.
17458 (grub_hfs_dir): Likewise.
17459 (grub_hfs_label): Likewise.
17460 * fs/jfs.c (grub_jfs_mount): Likewise.
17461 (grub_jfs_opendir): Likewise.
17462 (grub_jfs_getent): Likewise.
17463 (grub_jfs_lookup_symlink): Likewise.
17464 (grub_jfs_label): Likewise.
17465 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
17466 (grub_hfsplus_iterate_dir): Likewise.
17467 (grub_hfsplus_btree_iterate_node): Made static.
17468
17469 * util/grub-emu.c (prefix): New variable.
17470 (grub_machine_set_prefix): New function.
17471 (main): Do not set the environment variable "prefix" here. Only
17472 set PREFIX, which is used later by grub_machine_set_prefix.
17473
17474 * include/grub/video.h: Do not include grub/symbol.h.
17475 (grub_video_register): Not exported. This symbol is not defined in
17476 the kernel.
17477 (grub_video_unregister): Likewise.
17478 (grub_video_iterate): Likewise.
17479 (grub_video_setup): Likewise.
17480 (grub_video_restore): Likewise.
17481 (grub_video_get_info): Likewise.
17482 (grub_video_get_blit_format): Likewise.
17483 (grub_video_set_palette): Likewise.
17484 (grub_video_get_palette): Likewise.
17485 (grub_video_set_viewport): Likewise.
17486 (grub_video_get_viewport): Likewise.
17487 (grub_video_map_color): Likewise.
17488 (grub_video_map_rgb): Likewise.
17489 (grub_video_map_rgba): Likewise.
17490 (grub_video_fill_rect): Likewise.
17491 (grub_video_blit_glyph): Likewise.
17492 (grub_video_blit_bitmap): Likewise.
17493 (grub_video_blit_render_target): Likewise.
17494 (grub_video_scroll): Likewise.
17495 (grub_video_swap_buffers): Likewise.
17496 (grub_video_create_render_target): Likewise.
17497 (grub_video_delete_render_target): Likewise.
17498 (grub_video_set_active_render_target): Likewise.
17499
17500 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
17501 Undefined.
17502 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
17503
17504 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
17505 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17506 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17507 instead of $(srcdir)/genkernsyms.sh.
17508
17509 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
17510 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17511 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17512 instead of $(srcdir)/genkernsyms.sh.
17513
17514 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
17515 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17516 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17517 instead of $(srcdir)/genkernsyms.sh.
17518
17519 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
17520 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
17521 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
17522 instead of $(srcdir)/genkernsyms.sh.
17523
17524 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
17525 genkernsyms.sh.
17526
17527 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
17528 genkernsyms.sh.
17529 (gensymlist.sh): New target.
17530 (genkernsyms.sh): Likewise.
17531
17532 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
17533 genkernsyms.sh.in and gensymlist.sh.in.
17534
17535 * genkernsyms.sh: Removed.
17536 * gensymlist.sh: Likewise.
f19dbdb7 17537
7b455f4d 17538 * genkernsyms.sh.in: New file.
17539 * gensymlist.sh.in: Likewise.
17540
1885bb27 175412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17542
17543 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
17544 clobber "prefix", since we may have already set it manually.
17545
71538dff 175462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
17547
17548 * kern/misc.c (abort): New alias for grub_abort.
17549
2965c7cc 175502006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
17551
17552 A new machine-specific function "grub_machine_set_prefix" is
17553 defined. This is called after loading modules, so that a prefix
17554 initialization can use modules. Also, this change adds an
17555 intensive debugging feature for the memory manager via the
17556 configure option "--enable-mm-debug".
f19dbdb7 17557
2965c7cc 17558 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
17559 PART.LEN.
17560
17561 * kern/sparc64/ieee1275/init.c (abort): Removed.
17562 (grub_stop): Likewise.
17563 (grub_exit): New function.
17564 (grub_set_prefix): Renamed to ...
17565 (grub_machine_set_prefix): ... this.
17566 (grub_machine_init): Do not call grub_set_prefix.
17567
17568 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
17569 (grub_machine_set_prefix): ... this.
17570 (grub_machine_init): Do not call grub_set_prefix.
17571
17572 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
17573 (grub_machine_init): Do not set the prefix here.
17574
17575 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
17576
17577 * kern/efi/init.c: Include grub/mm.h.
17578 (grub_efi_set_prefix): New function.
17579
17580 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
17581 (grub_efi_get_filename): New function.
17582 (grub_print_device_path): Renamed to ...
17583 (grub_efi_print_device_path): ... this.
17584
17585 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
17586 [MM_DEBUG] (grub_realloc): Likewise.
17587 [MM_DEBUG] (grub_free): Likewise.
17588 [MM_DEBUG] (grub_memalign): Likewise.
17589 [MM_DEBUG] (grub_mm_debug): New variable.
17590 [MM_DEBUG] (grub_debug_malloc): New function.
17591 [MM_DEBUG] (grub_debug_free): New function.
17592 [MM_DEBUG] (grub_debug_realloc): New function.
17593 [MM_DEBUG] (grub_debug_memalign): New function.
17594
17595 * kern/misc.c (grub_abort): Print a newline to distinguish
17596 the message.
17597
17598 * kern/main.c (grub_main): Call grub_machine_set_prefix and
17599 grub_set_root_dev after loading modules. This is necessary when
17600 setting a prefix depends on modules.
17601
17602 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
17603 (grub_efi_print_device_path): ... this.
17604 (grub_efi_get_filename): New prototype.
17605 (grub_efi_set_prefix): Likewise.
17606
17607 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
17608 and grub/disk.h.
17609 (grub_efidisk_get_device_handle): New prototype.
17610 (grub_efidisk_get_device_name): Likewise.
17611
17612 * include/grub/mm.h: Include config.h.
17613 (MM_DEBUG): Removed.
17614 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
17615 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
17616 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
17617 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
17618 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
17619 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
17620 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
17621 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
17622 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
17623
17624 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
17625
17626 * disk/efi/efidisk.c: Include grub/partition.h.
17627 (iterate_child_devices): New function.
17628 (add_device): First, compare only last device path nodes, so that
17629 devices are sorted by the types.
17630 (grub_efidisk_get_device_handle): New function.
17631 (grub_efidisk_get_device_name): Likewise.
17632
17633 * configure.ac (--enable-mm-debug): New option to enable the
17634 memory manager debugging feature. This makes the binary much
17635 bigger, so is disabled by default.
17636
9cacaa17 176372006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
17638
17639 Use grub_abort instead of grub_stop, and grub_exit must be
17640 define in each architecture now. Also, this change adds support
17641 for EFI disks.
f19dbdb7 17642
9cacaa17 17643 * util/i386/pc/grub-probefs.c: Include grub/term.h.
17644 (grub_getkey): New function.
17645 (grub_term_get_current): Likewise.
17646
17647 * util/i386/pc/grub-setup.c: Include grub/term.h.
17648 (grub_getkey): New function.
17649 (grub_term_get_current): Likewise.
17650
17651 * util/misc.c (grub_stop): Renamed to ...
17652 (grub_exit): ... this.
17653
17654 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
17655 (grub_exit): ... this.
17656 (grub_machine_init): Use grub_abort instead of abort.
17657 (grub_stop): Removed.
17658
17659 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
17660 abort.
17661
17662 * kern/i386/pc/startup.S (grub_exit): New function.
17663 (cold_reboot): New label.
17664
17665 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
17666 (grub_efi_init): Call grub_efidisk_init.
17667 (grub_efi_fini): Call grub_efidisk_fini.
17668
17669 * kern/efi/efi.c: Include grub/mm.h.
17670 (grub_efi_console_control_guid): Renamed to ...
17671 (console_control_guid): ... this.
17672 (grub_efi_loaded_image_guid): Renamed to ...
17673 (loaded_image_guid): ... this.
17674 (grub_efi_locate_handle): New function.
17675 (grub_efi_open_protocol): Likewise.
17676 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
17677 GRUB_EFI_CONSOLE_CONTROL_GUID.
17678 (grub_efi_exit): Removed.
17679 (grub_stop): Likewise.
17680 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
17681 (grub_exit): New function.
17682 (grub_print_device_path): Likewise.
17683
17684 * kern/rescue.c (grub_rescue_cmd_exit): New function.
17685 (grub_enter_rescue_mode): Register "exit".
17686
17687 * kern/misc.c (grub_real_dprintf): A cosmetic change.
17688 (grub_abort): New function.
17689
17690 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
17691
17692 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
17693
17694 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
17695
17696 * include/grub/efi/efi.h (grub_efi_exit): Removed.
17697 (grub_print_device_path): New prototype.
17698 (grub_efi_locate_handle): Likewise.
17699 (grub_efi_open_protocol): Likewise.
17700
17701 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
17702 * disk/efi/efidisk.c: Likewise.
17703
17704 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
17705
17706 * include/grub/efi/console_control.h
17707 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
17708
17709 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
17710 last 8 bytes as an array.
17711 (GRUB_EFI_DISK_IO_GUID): New macro.
17712 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
17713 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
17714 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
17715 grub_uint8_t.
17716 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
17717 (struct grub_efi_device_path): Rename the member "sub_type" to
17718 "subtype".
17719 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
17720 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
17721 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
17722 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
17723 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
17724 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
17725 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
17726 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
17727 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
17728 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
17729 (struct grub_efi_pci_device_path): New structure.
17730 (grub_efi_pci_device_path_t): New type.
17731 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
17732 (struct grub_efi_pccard_device_path): New structure.
17733 (grub_efi_pccard_device_path_t): New type.
17734 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
17735 (struct grub_efi_memory_mapped_device_path): New structure.
17736 (grub_efi_memory_mapped_device_path_t): New type.
17737 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
17738 (struct grub_efi_vendor_device_path): New structure.
17739 (grub_efi_vendor_device_path_t): New type.
17740 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
17741 (struct grub_efi_controller_device_path): New structure.
17742 (grub_efi_controller_device_path_t): New type.
17743 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
17744 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
17745 (struct grub_efi_acpi_device_path): New structure.
17746 (grub_efi_acpi_device_path_t): New type.
17747 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
17748 (struct grub_efi_expanded_acpi_device_path): New structure.
17749 (grub_efi_expanded_acpi_device_path_t): New type.
17750 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
17751 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
17752 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
17753 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
17754 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
17755 (struct grub_efi_atapi_device_path): New structure.
17756 (grub_efi_atapi_device_path_t): New type.
17757 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
17758 (struct grub_efi_fibre_channel_device_path): New structure.
17759 (grub_efi_fibre_channel_device_path_t): New type.
17760 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
17761 (struct grub_efi_1394_device_path): New structure.
17762 (grub_efi_1394_device_path_t): New type.
17763 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
17764 (struct grub_efi_usb_device_path): New structure.
17765 (grub_efi_usb_device_path_t): New type.
17766 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
17767 (struct grub_efi_usb_class_device_path): New structure.
17768 (grub_efi_usb_class_device_path_t): New type.
17769 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
17770 (struct grub_efi_i2o_device_path): New structure.
17771 (grub_efi_i2o_device_path_t): New type.
17772 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
17773 (struct grub_efi_mac_address_device_path): New structure.
17774 (grub_efi_mac_address_device_path_t): New type.
17775 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
17776 (struct grub_efi_ipv4_device_path): New structure.
17777 (grub_efi_ipv4_device_path_t): New type.
17778 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
17779 (struct grub_efi_ipv6_device_path): New structure.
17780 (grub_efi_ipv6_device_path_t): New type.
17781 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
17782 (struct grub_efi_infiniband_device_path): New structure.
17783 (grub_efi_infiniband_device_path_t): New type.
17784 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
17785 (struct grub_efi_uart_device_path): New structure.
17786 (grub_efi_uart_device_path_t): New type.
17787 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
17788 (struct grub_efi_vendor_messaging_device_path): New structure.
17789 (grub_efi_vendor_messaging_device_path_t): New type.
17790 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
17791 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
17792 (struct grub_efi_hard_drive_device_path): New structure.
17793 (grub_efi_hard_drive_device_path_t): New type.
17794 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
17795 (struct grub_efi_cdrom_device_path): New structure.
17796 (grub_efi_cdrom_device_path_t): New type.
17797 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
17798 (struct grub_efi_vendor_media_device_path): New structure.
17799 (grub_efi_vendor_media_device_path_t): New type.
17800 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
17801 (struct grub_efi_file_path_device_path): New structure.
17802 (grub_efi_file_path_device_path_t): New type.
17803 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
17804 (struct grub_efi_protocol_device_path): New structure.
17805 (grub_efi_protocol_device_path_t): New type.
17806 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
17807 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
17808 (struct grub_efi_bios_device_path): New structure.
17809 (grub_efi_bios_device_path_t): New type.
17810 (struct grub_efi_disk_io): New structure.
17811 (grub_efi_disk_io_t): New type.
17812 (struct grub_efi_block_io_media): New structure.
17813 (grub_efi_block_io_media_t): New type.
17814 (struct grub_efi_block_io): New structure.
17815 (grub_efi_block_io_t): New type.
17816
17817 * include/grub/misc.h (grub_stop): Removed.
17818 (grub_exit): New prototype.
17819 (grub_abort): Likewise.
17820
17821 * include/grub/disk.h (enum grub_disk_dev_id): Added
17822 GRUB_DISK_DEVICE_EFIDISK_ID.
17823
17824 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
17825 disk/efi/efidisk.c.
17826 (kernel_syms.lst): Remove the target if an error occurs.
17827
49986a9f 178282006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
17829
17830 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
17831 as it was simply too buggy.
17832
970d3b8a 178332006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
17834
17835 * kern/misc.c (grub_lltoa): New function.
17836 (grub_vsprintf): Added support for the long long suffix,
17837 i.e. "ll".
17838
ff04ec24 178392006-04-20 Hollis Blanchard <hollis@penguinppc.org>
17840
17841 * Makefile.in (LDFLAGS): Add variable.
17842 (LD): Remove variable.
17843 * configure.ac: Add -m32 to LDFLAGS.
17844 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
17845 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
17846 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
17847 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
17848 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
17849 variables.
17850 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
17851 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
17852 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
17853
37e5e1a4 178542006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
17855
17856 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
17857 length for unknown glyph.
17858
c352d8dd 178592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
17860
2eab1c0d 17861 Add support for pre-loaded modules into the EFI port.
f19dbdb7 17862
2eab1c0d 17863 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
17864 completely. Accept one more argument DIR. The caller has changed.
17865
17866 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
17867
17868 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
17869 (grub_efi_loaded_image_guid): New variable.
17870 (grub_efi_get_loaded_image): New function.
17871 (grub_arch_modules_addr): Likewise.
17872
17873 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
17874 prototype.
17875
17876 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
17877 (struct grub_efi_loaded_image): New structure.
17878 (grub_efi_loaded_image_t): New type.
17879
178802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17881
c352d8dd 17882 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
17883 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
17884 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
17885
6d01d6b4 178862006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
17887
17888 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
17889
976a4ea0 178902006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
17891
17892 * DISTLIST: Added include/grub/efi/console.h,
17893 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
17894 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17895
17896 * include/grub/efi/console.h: New file.
17897 * include/grub/efi/time.h: Likewise.
17898 * include/grub/i386/efi/kernel.h: Likewise.
17899 * kern/efi/init.c: Likewise.
17900 * kern/efi/mm.c: Likewise.
17901 * term/efi/console.c: Likewise.
f19dbdb7 17902
976a4ea0 17903 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
17904 (grub_stop): Removed.
17905 (grub_get_rtc): Likewise.
17906 (grub_machine_init): Simply call grub_efi_init.
17907 (grub_machine_fini): Call grub_efi_fini.
17908
17909 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
17910 (grub_efi_output_string): Removed.
17911 (grub_efi_stall): New function.
17912 (grub_stop): Likewise.
17913 (grub_get_rtc): Likewise.
17914
17915 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
17916 (grub_efi_stall): New prototype.
17917 (grub_efi_allocate_pages): Likewise.
17918 (grub_efi_free_pages): Likewise.
17919 (grub_efi_get_memory_map): Likewise.
17920 (grub_efi_mm_init): Likewise.
17921 (grub_efi_mm_fini): Likewise.
17922 (grub_efi_init): Likewise.
17923 (grub_efi_fini): Likewise.
17924
17925 * include/grub/i386/efi/time.h: Do not include
17926 grub/symbol.h. Include grub/efi/time.h.
17927 (GRUB_TICKS_PER_SECOND): Removed.
17928 (grub_get_rtc): Likewise.
17929
17930 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
17931 Added padding. The EFI spec is buggy.
17932 (GRUB_EFI_BLACK): New macro.
17933 (GRUB_EFI_BLUE): Likewise.
17934 (GRUB_EFI_GREEN): Likewise.
17935 (GRUB_EFI_CYAN): Likewise.
17936 (GRUB_EFI_RED): Likewise.
17937 (GRUB_EFI_MAGENTA): Likewise.
17938 (GRUB_EFI_BROWN): Likewise.
17939 (GRUB_EFI_LIGHTGRAY): Likewise.
17940 (GRUB_EFI_BRIGHT): Likewise.
17941 (GRUB_EFI_DARKGRAY): Likewise.
17942 (GRUB_EFI_LIGHTBLUE): Likewise.
17943 (GRUB_EFI_LIGHTGREEN): Likewise.
17944 (GRUB_EFI_LIGHTCYAN): Likewise.
17945 (GRUB_EFI_LIGHTRED): Likewise.
17946 (GRUB_EFI_LIGHTMAGENTA): Likewise.
17947 (GRUB_EFI_YELLOW): Likewise.
17948 (GRUB_EFI_WHITE): Likewise.
17949 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
17950 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
17951 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
17952 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
17953 (GRUB_EFI_BACKGROUND_RED): Likewise.
17954 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
17955 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
17956 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
17957 (GRUB_EFI_TEXT_ATTR): Likewise.
17958
17959 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
17960 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17961 (kernel_mod_HEADERS): Added efi/time.h.
17962
83709125 179632006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
17964
17965 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
17966 include/grub/efi/api.h, include/grub/efi/console_control.h,
17967 include/grub/efi/efi.h, include/grub/efi/pe32.h,
17968 include/grub/i386/efi/time.h, kern/efi/efi.c,
17969 kern/i386/efi/init.c, kern/i386/efi/startup.S,
17970 and util/i386/efi/grub-mkimage.c.
17971
17972 * Makefile.in (RMKFILES): Added i386-efi.rmk.
17973
17974 * genmk.rb (PModule#rule): Do not export symbols if
17975 #{prefix}_EXPORTS is set to "no".
17976
17977 * conf/i386-efi.mk: New file.
17978 * conf/i386-efi.rmk: Likewise.
17979 * include/grub/efi/api.h: Likewise.
17980 * include/grub/efi/console_control.h: Likewise.
17981 * include/grub/efi/efi.h: Likewise.
17982 * include/grub/efi/pe32.h: Likewise.
17983 * include/grub/i386/efi/time.h: Likewise.
17984 * kern/efi/efi.c: Likewise.
17985 * kern/i386/efi/init.c: Likewise.
17986 * kern/i386/efi/startup.S: Likewise.
17987 * util/i386/efi/grub-mkimage.c: Likewise.
17988
179892006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 17990
17991 * include/grub/script.h: Include <grub/parser.h> and
17992 "grub_script.tab.h".
17993 (struct grub_lexer_param): New struct.
17994 (struct grub_parser_param): Likewise.
17995 (grub_script_create_arglist): Pass the state in an argument.
17996 (grub_script_add_arglist): Likewise.
17997 (grub_script_create_cmdline): Likewise.
17998 (grub_script_create_cmdblock): Likewise.
17999 (grub_script_create_cmdif): Likewise.
18000 (grub_script_create_cmdmenu): Likewise.
18001 (grub_script_add_cmd): Likewise.
18002 (grub_script_arg_add): Likewise.
18003 (grub_script_lexer_ref): Likewise.
18004 (grub_script_lexer_deref): Likewise.
18005 (grub_script_lexer_record_start): Likewise.
18006 (grub_script_lexer_record_stop): Likewise.
18007 (grub_script_mem_record): Likewise.
18008 (grub_script_mem_record_stop): Likewise.
18009 (grub_script_malloc): Likewise.
18010 (grub_script_yylex): Likewise.
18011 (grub_script_yyparse): Likewise.
18012 (grub_script_yyerror): Likewise.
18013 (grub_script_yylex): Likewise.
18014 (grub_script_lexer_init): Return the state.
18015
18016 * normal/lexer.c (grub_script_lexer_state): Removed variable.
18017 (grub_script_lexer_done): Likewise.
18018 (grub_script_lexer_getline): Likewise.
18019 (grub_script_lexer_refs): Likewise.
18020 (script): Likewise.
18021 (newscript): Likewise.
18022 (record): Likewise.
18023 (recording): Likewise.
18024 (recordpos): Likewise.
18025 (recordlen): Likewise.
18026 (grub_script_lexer_init): Return the state instead of setting
18027 global variables.
18028 (grub_script_lexer_ref): Use the newly added argument for state
18029 instead of globals.
18030 (grub_script_lexer_deref): Likewise.
18031 (grub_script_lexer_record_start): Likewise.
18032 (grub_script_lexer_record_stop): Likewise.
18033 (recordchar): Likewise.
18034 (nextchar): Likewise.
18035 (grub_script_yylex2): Likewise.
18036 (grub_script_yylex): Likewise.
18037 (grub_script_yyerror): Likewise.
18038
18039 * normal/parser.y (func_mem): Removed variable.
18040 (menu_entry): Likewise.
18041 (err): Likewise.
18042 (%lex-param): New parser option.
18043 (%parse-param): Likewise.
18044 (script): Always return the AST.
18045 (argument): Pass the state around.
18046 (arguments): Likewise.
18047 (grubcmd): Likewise.
18048 (commands): Likewise.
18049 (function): Likewise.
18050 (menuentry): Likewise.
18051 (if_statement): Likewise.
18052 (if): Likewise.
18053
18054 * normal/script.c (grub_script_memused): Removed variable.
18055 (grub_script_parsed): Likewise.
18056 (grub_script_malloc): Added a state argument. Use that instead of
18057 global variables.
18058 (grub_script_mem_record): Likewise.
18059 (grub_script_mem_record_stop): Likewise.
18060 (grub_script_arg_add): Likewise.
18061 (grub_script_add_arglist): Likewise.
18062 (grub_script_create_cmdline): Likewise.
18063 (grub_script_create_cmdif): Likewise.
18064 (grub_script_create_cmdmenu): Likewise.
18065 (grub_script_add_cmd): Likewise.
18066 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 18067
e2a8c904 180682006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 18069
18070 * normal/command.c (grub_command_init): Remove the title command.
18071
18072 * normal/lexer.c (grub_script_yylex): Renamed from this...
18073 (grub_script_yylex2): ... to this.
18074 (grub_script_yylex): New function. Temporary
18075 introduced to filter some tokens.
18076 (grub_script_yyerror): Print a newline.
18077
18078 * normal/main.c (read_config_file): Output information about the
18079 lines that contain errors. Wait for a key after all lines have
18080 been processed. Don't return an empty menu.
18081
18082 * normal/parser.y (func_mem): Don't initialize.
18083 (menu_entry): Likewise.
18084 (err): New variable.
18085 (script): Don't return anything when an error was encountered.
18086 (ws, returns): Removed rules.
18087 (argument): Disabled concatenated variable support.
18088 (arguments): Remove explicit separators.
18089 (grubcmd): Likewise.
18090 (function): Likewise.
18091 (menuentry): Likewise.
18092 (if): Likewise.
18093 (commands): Likewise. Add error handling.
18094
18095 * normal/script.c (grub_script_create_cmdline): If
18096 `grub_script_parsed' is 0, assume the parser encountered an error.
18097
c9a86192 180982006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
18099
18100 * configure.ac: Add support for EFI. Fix the typo
18101 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
18102
70f3b243 181032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18104
18105 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
18106 foreign multibyte characters should be shown correctly.
18107
65f201ad 181082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
18109
18110 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
18111 calculation.
18112 (read_config_file): Made it to close file before returning.
18113
b4b93674 181142006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
18115
18116 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
18117 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
18118 video/i386/pc/vbefill.c.
18119
18120 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
18121 video/i386/pc/vbefill.c.
18122
18123 * include/grub/video.h (grub_video_blit_format): New enum.
18124 (grub_video_mode_info): Added new member blit_format.
18125 (grub_video_get_blit_format): New function prototype.
18126
18127 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
18128 function prototype.
18129 (grub_video_vbe_map_rgb): Likewise.
18130 (grub_video_vbe_unmap_color): Likewise.
18131
18132 * include/grub/i386/pc/vbeblit.h: New file.
18133
18134 * include/grub/i386/pc/vbefill.h: New file.
18135
18136 * video/video.c (grub_video_get_blit_format): New function.
18137 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
18138 (grub_video_vbe_map_rgb): Likewise.
18139 (grub_video_vbe_unmap_color): Likewise.
18140
18141 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
18142 optimized fills.
18143 (grub_video_vbe_blit_render_target): Changed to use more optimized
18144 blits.
18145 (grub_video_vbe_setup): Added detection for optimized settings.
18146 (grub_video_vbe_create_render_target): Likewise.
18147
18148 * video/i386/pc/vbeblit.c: New file.
18149
18150 * video/i386/pc/vbefill.c: New file.
18151
c2379b9c 181522006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
18153
18154 * font/manager.c (grub_font_get_glyph): Removed font fixup from
18155 here...
18156
18157 * util/unifont2pff.rb: ... and moved it to here. Improved argument
18158 parsing to support both hex and dec ranges. If filename was missing
18159 show usage information.
18160
bd0d7896 181612006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
18162
18163 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
18164 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
18165
18166 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
18167 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
18168 (video_mod_SOURCES): Added.
18169 (video_mod_CFLAGS): Likewise.
18170 (video_mod_LDFLAGS): Likewise.
18171 (gfxterm_mod_SOURCES): Likewise.
18172 (gfxterm_mod_CFLAGS): Likewise.
18173 (gfxterm_mod_LDFLAGS): Likewise.
18174 (videotest_mod_SOURCES): Likewise.
18175 (videotest_mod_CFLAGS): Likewise.
18176 (videotest_mod_LDFLAGS): Likewise.
18177 (vesafb_mod_SOURCES): Removed.
18178 (vesafb_mod_CFLAGS): Likewise.
18179 (vesafb_mod_LDFLAGS): Likewise.
18180 (vga_mod_SOURCES): Likewise.
18181 (vga_mod_CFLAGS): Likewise.
18182 (vga_mod_LDFLAGS): Likewise.
18183
18184 * commands/videotest.c: New file.
18185
18186 * font/manager.c (fill_with_default_glyph): Modified to use
18187 grub_font_glyph.
18188 (grub_font_get_glyph): Likewise.
18189 (fontmanager): Renamed from this...
18190 (font_manager): ... to this.
18191
18192 * include/grub/font.h (grub_font_glyph): Added new structure.
18193 (grub_font_get_glyph): Modified to use grub_font_glyph.
18194
18195 * include/grub/misc.h (grub_abs): Added as inline function.
18196
18197 * include/grub/video.h: New file.
18198
18199 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
18200 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
18201 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
18202 (grub_vbe_get_controller_info): Renamed from this...
18203 (grub_vbe_bios_get_controller_info): ... to this.
18204 (grub_vbe_get_mode_info): Renamed from this...
18205 (grub_vbe_bios_get_mode_info): ... to this.
18206 (grub_vbe_set_mode): Renamed from this...
18207 (grub_vbe_bios_set_mode): ... to this.
18208 (grub_vbe_get_mode): Renamed from this...
18209 (grub_vbe_bios_get_mode): ... to this.
18210 (grub_vbe_set_memory_window): Renamed from this...
18211 (grub_vbe_bios_set_memory_window): ... to this.
18212 (grub_vbe_get_memory_window): Renamed from this...
18213 (grub_vbe_bios_get_memory_window): ... to this.
18214 (grub_vbe_set_scanline_length): Renamed from this...
18215 (grub_vbe_set_scanline_length): ... to this.
18216 (grub_vbe_get_scanline_length): Renamed from this...
18217 (grub_vbe_bios_get_scanline_length): ... to this.
18218 (grub_vbe_set_display_start): Renamed from this...
18219 (grub_vbe_bios_set_display_start): ... to this.
18220 (grub_vbe_get_display_start): Renamed from this...
18221 (grub_vbe_bios_get_display_start): ... to this.
18222 (grub_vbe_set_palette_data): Renamed from this...
18223 (grub_vbe_bios_set_palette_data): ... to this.
18224 (grub_vbe_set_pixel_rgb): Removed.
18225 (grub_vbe_set_pixel_index): Likewise.
18226
18227 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
18228 from this...
18229 (grub_vbe_bios_get_controller_info): ... to this.
18230 (grub_vbe_get_mode_info): Renamed from this...
18231 (grub_vbe_bios_get_mode_info): ... to this.
18232 (grub_vbe_set_mode): Renamed from this...
18233 (grub_vbe_bios_set_mode): ... to this.
18234 (grub_vbe_get_mode): Renamed from this...
18235 (grub_vbe_bios_get_mode): ... to this.
18236 (grub_vbe_set_memory_window): Renamed from this...
18237 (grub_vbe_bios_set_memory_window): ... to this.
18238 (grub_vbe_get_memory_window): Renamed from this...
18239 (grub_vbe_bios_get_memory_window): ... to this.
18240 (grub_vbe_set_scanline_length): Renamed from this...
18241 (grub_vbe_set_scanline_length): ... to this.
18242 (grub_vbe_get_scanline_length): Renamed from this...
18243 (grub_vbe_bios_get_scanline_length): ... to this.
18244 (grub_vbe_set_display_start): Renamed from this...
18245 (grub_vbe_bios_set_display_start): ... to this.
18246 (grub_vbe_get_display_start): Renamed from this...
18247 (grub_vbe_bios_get_display_start): ... to this.
18248 (grub_vbe_set_palette_data): Renamed from this...
18249 (grub_vbe_bios_set_palette_data): ... to this.
18250 (grub_vbe_bios_get_controller_info): Fixed problem with registers
18251 getting corrupted after calling it. Added more pushes and pops.
18252 (grub_vbe_bios_set_mode): Likewise.
18253 (grub_vbe_bios_get_mode): Likewise.
18254 (grub_vbe_bios_get_memory_window): Likewise.
18255 (grub_vbe_bios_set_scanline_length): Likewise.
18256 (grub_vbe_bios_get_scanline_length): Likewise.
18257 (grub_vbe_bios_get_display_start): Likewise.
18258 (grub_vbe_bios_set_palette_data): Likewise.
18259
18260 * normal/cmdline.c (cl_set_pos): Refresh the screen.
18261 (cl_insert): Likewise.
18262 (cl_delete): Likewise.
18263
18264 * term/gfxterm.c: New file.
18265
18266 * term/i386/pc/vesafb.c: Removed file.
18267
18268 * video/video.c: New file.
18269
18270 * video/i386/pc/vbe.c (real2pm): Added new function.
18271 (grub_video_vbe_draw_pixel): Likewise.
18272 (grub_video_vbe_get_video_ptr): Likewise.
18273 (grub_video_vbe_get_pixel): Likewise
18274 (grub_video_vbe_init): Likewise.
18275 (grub_video_vbe_fini): Likewise.
18276 (grub_video_vbe_setup): Likewise.
18277 (grub_video_vbe_get_info): Likewise.
18278 (grub_video_vbe_set_palette): Likewise.
18279 (grub_video_vbe_get_palette): Likewise.
18280 (grub_video_vbe_set_viewport): Likewise.
18281 (grub_video_vbe_get_viewport): Likewise.
18282 (grub_video_vbe_map_color): Likewise.
18283 (grub_video_vbe_map_rgb): Likewise.
18284 (grub_video_vbe_map_rgba): Likewise.
18285 (grub_video_vbe_unmap_color): Likewise.
18286 (grub_video_vbe_fill_rect): Likewise.
18287 (grub_video_vbe_blit_glyph): Likewise.
18288 (grub_video_vbe_blit_bitmap): Likewise.
18289 (grub_video_vbe_blit_render_target): Likewise.
18290 (grub_video_vbe_scroll): Likewise.
18291 (grub_video_vbe_swap_buffers): Likewise.
18292 (grub_video_vbe_create_render_target): Likewise.
18293 (grub_video_vbe_delete_render_target): Likewise.
18294 (grub_video_vbe_set_active_render_target): Likewise.
18295 (grub_vbe_set_pixel_rgb): Remove function.
18296 (grub_vbe_set_pixel_index): Likewise.
18297 (index_color_mode): Remove static variable.
18298 (active_mode): Likewise.
18299 (framebuffer): Likewise.
18300 (bytes_per_scan_line): Likewise.
18301 (grub_video_vbe_adapter): Added new static variable.
18302 (framebuffer): Likewise.
18303 (render_target): Likewise.
18304 (initial_mode): Likewise.
18305 (mode_in_use): Likewise.
18306 (mode_list): Likewise.
18307
5f97350b 183082006-03-10 Marco Gerards <marco@gnu.org>
18309
18310 * configure.ac (AC_INIT): Bumped to 1.93.
18311
18312 * DISTLIST: Added `include/grub/hfs.h'.
18313
a3c5c6f8 183142006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
18315
18316 * boot/i386/pc/boot.S (general_error): Before looping, try INT
18317 18H, which might help the BIOS falling back to next boot media.
18318
6de53d26 183192006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
18320
18321 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
18322 Poe Chen <poe.poechen@gmail.com>.
18323
77c4a393 183242006-01-17 Marco Gerards <marco@gnu.org>
18325
18326 * include/grub/normal.h: Include <grub/script.h>.
18327 (grub_command_list): Removed struct.
18328 (grub_command_list_t): Removed type.
18329 (grub_menu_entry): Remove members `num' and `command_list'. Add
18330 members `commands' and `sourcecode'.
18331 * include/grub/script.h: Add inclusion guards.
18332 (grub_script_cmd_menuentry): New struct.
18333 (grub_script_execute_menuentry): New prototype.
18334 (grub_script_lexer_record_start): Likewise.
18335 (grub_script_lexer_record_stop): Likewise.
18336 * normal/execute.c (grub_script_execute_menuentry): New function.
18337 * normal/lexer.c (record, recording, recordpos, recordlen): New
18338 variables.
18339 (grub_script_lexer_record_start): New function.
18340 (grub_script_lexer_record_stop): Likewise.
18341 (recordchar): Likewise.
18342 (nextchar): Likewise.
18343 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
18344 2048 as the buffer size. Add the tokens `menuentry' and `@'.
18345 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
18346 (current_menu): New variable.
18347 (free_menu): Mainly rewritten.
18348 (grub_normal_menu_addentry): New function.
18349 (read_config_file): Rewritten.
18350 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 18351 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 18352 the menu entry.
18353 (run): Mainly rewritten.
18354 * normal/parser.y (menu_entry): New variable.
18355 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
18356 (menuentry): New rule.
18357 (command): Add `menuentry'.
18358 (if_statement): Allow additional returns before `fi'.
18359 * normal/script.c (grub_script_create_cmdmenu): New function.
18360
144f1f98 183612006-01-03 Marco Gerards <marco@gnu.org>
18362
18363 * INSTALL: GNU Bison is required.
18364 * configure.ac: Rewritten the test to detect Bison.
18365 * Makefile.in (YACC): New variable. Reported by Xun Sun
18366 <xun.sun.cn@gmail.com>.
18367
af4b2d89 183682006-01-03 Marco Gerards <marco@gnu.org>
18369
18370 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
18371 the HFS+ filesystem to filesystem blocks.
18372 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
18373 GCC warning is silenced.
18374
15643b71 183752006-01-03 Marco Gerards <marco@gnu.org>
18376
18377 * partmap/apple.c (apple_partition_map_iterate): Convert the data
18378 read from disk from big endian to host byte order.
18379
00905879 183802006-01-03 Hollis Blanchard <hollis@penguinppc.org>
18381
18382 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
18383 documentation.
18384 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
18385 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
18386 embedded HFS+ filesystem.
18387 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
18388 (grub_hfs_sblock): Move from here...
18389 * include/grub/hfs.h: To here... New file.
18390 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
18391 documentation.
18392 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
18393 New macros.
18394 (grub_hfsplus_volheader): Change type of member `magic' to
18395 `grub_uint16_t'.
18396 (grub_hfsplus_data): Add new member `embedded_offset'.
18397 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
18398 returned block.
18399 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
18400 Calculate the offset.
18401
8899bc3e 184022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18403
18404 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
18405 Removed.
18406 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
18407
ae8c0277 184082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18409
18410 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
18411 ENV->NAME is NULL after allocating ENV->VALUE.
18412
07084456 184132005-12-25 Marco Gerards <marco@gnu.org>
18414
18415 * kern/env.c (grub_env_set): Rewritten the error handling code.
18416
4750f5f1 184172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18418
18419 * geninit.sh: Made more robust, and more portable.
18420
50214199 184212005-12-25 Marco Gerards <marco@gnu.org>
18422
18423 Add support for Apple HFS+ filesystems.
f19dbdb7 18424
50214199 18425 * fs/hfsplus.c: New file.
18426
18427 * DISTLIST: Added `fs/hfsplus.c'.
18428
18429 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
18430 (hfsplus_mod_SOURCES): New variable.
18431 (hfsplus_mod_CFLAGS): Likewise.
18432 (hfsplus_mod_LDFLAGS): Likewise.
18433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
18434 (grub_setup_SOURCES): Likewise.
18435 (grub_mkdevicemap_SOURCES): Likewise.
18436 (grub_emu_SOURCES): Likewise.
18437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18438
18439 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
18440
18441 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
18442
befaed6c 184432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
18444
18445 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
18446 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
18447 include/grub/parser.h, include/grub/script.h, kern/parser.c,
18448 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
18449 normal/lexer.c, normal/parser.y, normal/script.c, and
18450 partmap/gpt.c.
18451 Removed kern/sparc64/cache.c.
18452
18453 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
18454 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
18455 grub_emu_init.c.
18456
18457 * configure.ac (AC_INIT): Bumped to 1.92.
18458
6a124103 184592005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
18460
18461 * kern/err.c (grub_error_push): Added new function to support error
18462 stacks.
18463 (grub_error_pop): Likewise.
18464 (grub_error_stack_items): New local variable to support error stacks.
18465 (grub_error_stack_pos): Likewise.
18466 (grub_error_stack_assert): Likewise.
18467 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
18468 stack depth.
18469 (grub_print_error): Added support to print errors from error stack.
18470
18471 * include/grub/err.h (grub_error_push): Added function prototype.
18472 (grub_error_pop): Likewise.
18473
be973c1b 184742005-12-09 Hollis Blanchard <hollis@penguinppc.org>
18475
18476 * configure.ac: Accept `powerpc64' as host_cpu.
18477 (amd64): Rename to `biarch32'.
18478
18479 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
18480 non-cacheline-aligned addresses.
18481
18482 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
18483 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
18484 if `size' is non-zero.
18485
b04216ab 184862005-12-03 Marco Gerards <mgerards@xs4all.nl>
18487
18488 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
18489 and `cd' to make sure the filename is not prefixed with a
18490 directory name.
18491 (pkgdata_MODULES): Add `gpt.mod'.
18492 (gpt_mod_SOURCES): New variable.
18493 (gpt_mod_CFLAGS): Likewise.
18494 (gpt_mod_LDFLAGS): Likewise.
18495
18496 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
18497
18498 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
18499 New macro.
18500
18501 * partmap/gpt.c: New file.
18502
18503 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
18504 GPT partition map is detected.
18505
41730ed9 185062005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
18507
18508 * commands/i386/pc/play.c: New file.
18509 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
18510 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
18511 macros.
f19dbdb7 18512
95dc3643 185132005-11-27 Marco Gerards <mgerards@xs4all.nl>
18514
18515 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
18516 ((unused))' to silence gcc warning.
18517
1569ec51 185182005-11-26 Hollis Blanchard <hollis@penguinppc.org>
18519
18520 * configure.ac: Correct `AC_PROG_YACC' test.
18521
9abde152 185222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18523
18524 * util/powerpc/ieee1275/grub-install.in: Run the mount point
18525 check before installing files.
18526
44b83271 185272005-11-22 Mike Small <smallm@panix.com>
18528
18529 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
18530 number regex so multidigit numbers are recognized correctly.
18531
185322005-11-22 Mike Small <smallm@panix.com>
18533
18534 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
18535 debugging message before attempting to claim memory.
18536 (grub_rescue_cmd_initrd): Add a claim debugging message and try
18537 multiple addresses in case of failure.
18538
9c12956b 185392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18540
18541 * term/tparm.c (get_space): Remove empty `if' statement.
18542
18543 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
18544
18545 * kern/parser.c (check_varstate): Rename `state' to 's'.
18546
aeaf81d9 185472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18548
18549 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
18550 variable definitions to the beginning of each function. Sort stack
18551 variables by size.
18552 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
18553 `buf' argument to `char *'.
18554
79bbb63f 185552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
18556
18557 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
18558 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18559 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 18560 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18561 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18562 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18563 configfile.mod, search.mod, gzio.mod and test.mod.
18564 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18565 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18566 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18567 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18568 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18569 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18570 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18571 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18572 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18573 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18574 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18575 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18576 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18577 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18578 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18579 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18580 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18581 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18582 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18583 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18584 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18585 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18586 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
18587
18588 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
18589 `grep --include'.
18590 (pkgdata_MODULES): Add test.mod.
18591
233b1628 185922005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18593
18594 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
18595 appending to variables with "+=".
18596 (PModule): Use full pathname to generate *.lst filenames.
18597
18598 * Makefile.in: Fixed list rules moved from genmk.rb.
18599 (.DELETE_ON_ERROR): New special target.
18600 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
18601
18602 * conf/i386-pc.rmk: Include conf/common.mk.
18603 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 18604 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 18605 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
18606 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
18607 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
18608 configfile.mod, search.mod, gzio.mod and test.mod.
18609 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
18610 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
18611 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
18612 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
18613 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
18614 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
18615 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
18616 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
18617 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
18618 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
18619 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18620 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18621 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
18622 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
18623 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
18624 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
18625 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18626 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
18627 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
18628 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
18629 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
18630 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
18631 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
18632 here...
18633 * conf/common.rmk: ... to here. New file.
18634
18635 * conf/common.mk: New file.
18636
16f820c8 186372005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
18638
18639 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
18640 (grub_script.tab.c): ... here.
18641
18642 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
18643 (grub_script.tab.c): ... here.
18644
18645 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
18646 (grub_script.tab.c): ... here.
18647
18648 * normal/command.c (grub_command_find): Fixed a memory leak of
18649 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
18650
63ba1554 186512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18652
18653 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
18654 "@" which marks the start of a comment on ARM.
18655 (VARIABLE): Likewise.
18656
7f67dc13 186572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18658
79bbb63f 18659 Add support for Linux/ADFS partition tables.
7f67dc13 18660
18661 * partmap/acorn.c: New file.
18662
18663 * include/grub/acorn_filecore.h: Likewise.
18664
18665 * DISTLIST: Added `partmap/acorn.c' and
18666 `include/grub/acorn_filecore.h'.
f19dbdb7 18667
7f67dc13 18668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18669 `partmap/acorn.c'.
18670 (pkgdata_MODULES): Add `acorn.mod'.
18671 (acorn_mod_SOURCES): New variable.
18672 (acorn_mod_CFLAGS): Likewise.
18673
18674 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18675 `partmap/acorn.c'.
18676 (pkgdata_MODULES): Add `acorn.mod'.
18677 (acorn_mod_SOURCES): New variable.
18678 (acorn_mod_CFLAGS): Likewise.
18679
18680 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
18681 (pkgdata_MODULES): Add `acorn.mod'.
18682 (acorn_mod_SOURCES): New variable.
18683 (acorn_mod_CFLAGS): Likewise.
18684 (acorn_mod_LDFLAGS): Likewise.
18685
18686 * include/types.h (grub_disk_addr_t): New typedef.
18687
6d099807 186882005-11-13 Marco Gerards <mgerards@xs4all.nl>
18689
18690 * geninit.sh: New file.
18691
18692 * geninitheader.sh: Likewise.
18693
18694 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
18695 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
18696 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
18697 * commands/configfile.c (grub_configfile_init)
18698 (grub_configfile_fini): Likewise.
18699 * commands/default.c (grub_default_init, grub_default_fini):
18700 Likewise.
18701 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
18702 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
18703 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
18704 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
18705 Likewise.
18706 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
18707 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
18708 Likewise.
18709 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 18710 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 18711 Likewise.
18712 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
18713 Likewise.
fe6b695a 18714 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 18715 Likewise.
18716 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
18717 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
18718 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
18719 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
18720 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
18721 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
18722 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
18723 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
18724 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
18725 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
18726 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
18727 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
18728 * partmap/amiga.c (grub_amiga_partition_map_init)
18729 (grub_amiga_partition_map_fini): Likewise.
18730 * partmap/apple.c (grub_apple_partition_map_init)
18731 (grub_apple_partition_map_fini): Likewise.
18732 * partmap/pc.c (grub_pc_partition_map_init)
18733 (grub_pc_partition_map_fini): Likewise.
18734 * partmap/sun.c (grub_sun_partition_map_init,
18735 grub_sun_partition_map_fini): Likewise.
18736 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
18737 Likewise.
18738
18739 * util/grub-emu.c: Include <grub_modules_init.h>.
18740 (main): Don't initialize and de-initialize any modules directly,
18741 use `grub_init_all' and `grub_fini_all' instead.
18742
18743 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
18744 `grub_vesafb_mod_init'.
18745 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
18746 all users.
18747 * term/i386/pc/vga.c (grub_vga_init): Renamed to
18748 `grub_vga_mod_init'. Updated all users.
18749 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 18750
6d099807 18751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
18752 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
18753 rules.
18754
18755 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
18756 Generate a function to initialize the module in utilities.
18757 Updated all callers.
18758 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
18759 initialize the module in utilities. Updated all callers.
18760
9046bcf0 187612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18762
18763 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
18764 escape sequence and a literal ^L to clear the screen.
18765
18766 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
18767 when returning from Open Firmware.
18768
d13ea639 187692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
18770
18771 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
18772 (grub_ofconsole_height): Likewise.
18773 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
18774 manually insert a '\n'.
18775 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
18776 `grub_ofconsole_height'. Return early if these are already set.
18777
a8fcf206 187782005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
18779
18780 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
18781 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
18782 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
18783 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
18784 and `normal/script.c'.
18785 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18786 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18787 (test_mod_SOURCES): New variable.
18788 (test_mod_CFLAGS): Likewise.
18789 (test_mod_LDFLAGS): Likewise.
18790 (pkgdata_MODULES): Add `test.mod'.
18791 (grub_script.tab.c): New rule.
18792 (grub_script.tab.h): Likewise.
18793
b6b32745 187942005-11-07 Marco Gerards <mgerards@xs4all.nl>
18795
18796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18797 `commands/test.c', `normal/execute.c', `normal/lexer.c',
18798 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18799 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18800 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
18801 (test_mod_SOURCES): New variable.
18802 (test_mod_CFLAGS): Likewise.
18803 (pkgdata_MODULES): Add `test.mod'.
18804 (grub_script.tab.c): New rule.
18805 (grub_script.tab.h): Likewise.
18806
daac212a 188072005-11-06 Marco Gerards <mgerards@xs4all.nl>
18808
18809 Add initial scripting support.
18810
18811 * commands/test.c: New file.
18812 * include/grub/script.h: Likewise.
18813 * normal/execute.c: Likewise.
18814 * normal/function.c: Likewise.
18815 * normal/lexer.c: Likewise.
18816 * normal/parser.y: Likewise.
18817 * normal/script.c: Likewise.
18818
18819 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 18820
daac212a 18821 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
18822 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
18823 `normal/function.c' and `normal/script.c'.
18824 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
18825 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 18826 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
18827 variables.
daac212a 18828 (pkgdata_MODULES): Add `test.mod'.
18829 (grub_script.tab.c): New rule.
18830 (grub_script.tab.h): Likewise.
18831
18832 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
18833
18834 * include/grub/normal.h (grub_test_init): New prototype.
18835 (grub_test_fini): Likewise.
f19dbdb7 18836
daac212a 18837 * normal/command.c: Include <grub/script.h>.
18838 (grub_command_execute): Rewritten.
f19dbdb7 18839
daac212a 18840 * util/grub-emu.c (main): Call `grub_test_init' and
18841 `grub_test_fini'.
18842
77500b2b 188432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18844
18845 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
18846 to 0.
18847 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
18848 there are no pending characters.
18849
e45deb9e 188502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18851
18852 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
18853 `grub_strndup' to drop device arguments. Replace unnecessary
18854 `grub_strndup' with `grub_strdup'.
18855
4ce32619 188562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
18857
18858 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
18859 `debug' environment variable has been set.
18860
188612005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 18862
4ce32619 18863 * Makefile.in (install-local): Use $(DATA).
18864 (uninstall): Likewise.
18865 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
18866 (sbin_UTILITIES): ... to here.
18867 (sbin_SCRIPTS): New variable.
18868 (grub_install_SOURCES): New variable.
18869 * util/powerpc/ieee1275/grub-install.in: New file.
18870 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
18871 variable.
18872 (add_segments): Call `grub_util_get_path'.
18873
25fe6f03 188742005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18875
18876 From Timothy Baldwin:
18877 * commands/ls.c (grub_ls_list_files): Close FILE with
18878 grub_file_close.
18879 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
18880
04ccf3ec 188812005-10-24 Marco Gerards <mgerards@xs4all.nl>
18882
18883 * include/grub/parser.h: New file.
18884
18885 * kern/parser.c: Likewise.
18886
18887 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
18888 (grub_setup_SOURCES): Likewise.
18889 (grub_probefs_SOURCES): Likewise.
18890 (grub_emu_SOURCES): Likewise.
18891 (kernel_img_HEADERS): Add `parser.h'.
18892
18893 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18894 (grub_emu_SOURCES): Add `kern/parser.c'.
18895 (grubof_SOURCES): Likewise.
18896
18897 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18898 (grubof_SOURCES): Add `kern/parser.c'.
18899
18900 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
18901
18902 * kern/misc.c (grub_split_cmdline): Removed function.
18903
18904 * kern/rescue.c: Include <grub/parser.h>.
18905 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
18906 of `grub_split_cmdline'.
18907
18908 * normal/command.c: Include <grub/parser.h>.
18909 (grub_command_execute): Use `grub_parser_split_cmdline' instead
18910 of `grub_split_cmdline'.
18911
18912 * normal/completion.c: Include <grub/parser.h>.
18913 (cmdline_state): New variable.
18914 (iterate_dir): End the filename with a quote depending on the
18915 command line state.
18916 (get_state): new function.
18917 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
18918 split the arguments and determine the current argument. When the
18919 argument string is not quoted, escape all spaces.
18920
6d8f4b0e 189212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18922
18923 * normal/sparc64/setjmp.S: New file.
18924
15cf03ed 189252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18926
18927 * include/grub/sparc64/libgcc.h: New file.
18928 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
18929 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
18930 normal/sparc64/setjmp.c.
18931
03e8661a 189322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18933
18934 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
18935 * kern/sparc64/cache.S: New file.
18936 * kern/sparc64/cache.c: Removed.
18937 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
18938 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
18939 -mtune=ultrasparc.
18940 (COMMON_LDFLAGS): Add -melf64_sparc.
18941 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
18942 (grubof_SOURCES): Use cache.S instead of cache.c.
18943 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
18944 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
18945 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
18946 commented though.
18947 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
18948 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
18949 (linux_mod_CFLAGS): Commented out.
18950 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
18951 out because module isn't built.
18952 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
18953 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
18954 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
18955 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
18956 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
18957 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18958 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18959 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
18960 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
18961 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
18962 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18963 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18964 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
18965 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
18966
34eeec8a 189672005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
18968
18969 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
18970 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
18971 longer, because HFS should not be used on PC.
18972
708367a3 189732005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18974
18975 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
18976 consistently within the loop.
18977
6fa1251a 189782005-10-15 Marco Gerards <mgerards@xs4all.nl>
18979
18980 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
18981 directory can not be read.
18982
4801580b 189832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18984
18985 * configure.ac (AC_INIT): Increase the version number to 1.91.
18986
18987 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
18988 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
18989 term/i386/pc/serial.c.
18990
219ad426 189912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18992
18993 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
18994 file size must be permitted.
18995
18996 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
18997 between %ah and %al.
18998
688e5699 189992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19000
19001 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
19002 grub_uint64_t.
19003 Call the hook with a NUL-terminated filename.
19004 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
19005 grub_cpu_to_be32.
19006
19007 * kern/term.c (cursor_state): New variable.
19008 (grub_term_set_current): Reset the cursor state on a new
19009 terminal.
19010 (grub_setcursor): Rewritten to use CURSOR_STATE.
19011 (grub_getcursor): New function.
19012
19013 * include/grub/term.h (grub_getcursor): New prototype.
19014
19015 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
19016 integers on ARM. Reported by Timothy Baldwin
19017 <T.E.Baldwin99@members.leeds.ac.uk>.
19018
bb34586c 190192005-10-11 Marco Gerards <mgerards@xs4all.nl>
19020
19021 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
19022 allocated.
19023 (grub_sfs_dir): Likewise.
19024
9a909877 190252005-10-09 Marco Gerards <mgerards@xs4all.nl>
19026
19027 Add support for the SFS filesystem.
19028
19029 * fs/sfs.c: New file.
19030
19031 * DISTLIST: Added `fs/sfs.c'.
19032
19033 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
19034 (grub_probefs_SOURCES): Likewise.
19035 (grub_emu_SOURCES): Likewise.
19036 (pkgdata_MODULES): Add `sfs.mod'.
19037 (sfs_mod_SOURCES): New variable.
19038 (sfs_mod_CFLAGS): Likewise.
19039 (sfs_mod_LDFLAGS): Likewise.
19040
19041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
19042 (pkgdata_MODULES): Add `sfs.mod'.
19043 (sfs_mod_SOURCES): New variable.
19044 (sfs_mod_CFLAGS): Likewise.
19045
19046 * util/grub-emu.c (main): Call `grub_sfs_init' and
19047 `grub_sfs_fini'.
19048
19049 * include/grub/fs.h (grub_sfs_init): New prototype.
19050 (grub_sfs_fini): Likewise.
19051
57bdbde3 190522005-10-07 Marco Gerards <mgerards@xs4all.nl>
19053
19054 Add support for the AFFS filesystem.
19055
19056 * fs/affs.c: New file.
19057
19058 * DISTLIST: Added `fs/affs.c'.
19059
19060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
19061 (grub_probefs_SOURCES): Likewise.
19062 (grub_emu_SOURCES): Likewise.
19063 (pkgdata_MODULES): Add `affs.mod'.
19064 (affs_mod_SOURCES): New variable.
19065 (affs_mod_CFLAGS): Likewise.
19066 (affs_mod_LDFLAGS): Likewise.
19067
19068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
19069 (pkgdata_MODULES): Add `affs.mod'.
19070 (affs_mod_SOURCES): New variable.
19071 (affs_mod_CFLAGS): Likewise.
19072
19073 * util/grub-emu.c (main): Call `grub_affs_init' and
19074 `grub_affs_fini'.
19075
19076 * include/grub/fs.h (grub_affs_init): New prototype.
19077 (grub_affs_fini): Likewise.
19078
047b67e0 190792005-10-01 Marco Gerards <mgerards@xs4all.nl>
19080
19081 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
19082
59b8208a 190832005-10-01 Marco Gerards <mgerards@xs4all.nl>
19084
19085 * configure.ac: Accept `x86_64' as host_cpu. In that case add
19086 `-m32' to CFLAGS.
19087
19088 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
19089 linking.
f19dbdb7 19090
59b8208a 19091 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
19092 (COMMON_LDFLAGS): New variable.
19093 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
19094 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
19095 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
19096 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
19097 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
19098 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
19099 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
19100 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
19101 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
19102 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
19103 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
19104 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
19105 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
19106 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
19107 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
19108 variables.
19109 (normal_mod_ASFLAGS): Add `-m32'.
19110
19111 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
19112 (grub_host_size_t, grub_host_ssize_t): New types.
19113 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 19114 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 19115 `GRUB_HOST_SIZEOF_VOID_P'.
19116
19117 * include/grub/kernel.h (struct grub_module_header): Type of
19118 member offset changed to `grub_host_off_t'. Type of member size
19119 changed to `grub_host_size_t'.
19120 (struct grub_module_info): Type of member offset changed to
19121 `grub_host_off_t'. Type of member size changed to
19122 `grub_host_size_t'.
19123
b4093103 191242005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
19125
19126 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 19127
b4093103 19128 * kern/i386/pc/startup.S (multiboot_header): New label.
19129 (multiboot_entry): Likewise.
19130 (multiboot_trampoline): Likewise.
19131
19132 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19133 Increased to 0x4A0.
19134
19135 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
19136 put parentheses after a question mark.
19137 [!GRUB_UTIL] (my_mod): New variable.
19138
19139 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
19140
b2499b29 191412005-09-28 Marco Gerards <mgerards@xs4all.nl>
19142
19143 Adds support for the XFS filesystem. Btrees are not supported
19144 yet.
19145
19146 * fs/xfs.c: New file.
19147
19148 * DISTLIST: Added `fs/xfs.c'.
19149
19150 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
19151 (grub_probefs_SOURCES): Likewise.
19152 (grub_emu_SOURCES): Likewise.
19153 (pkgdata_MODULES): Add `xfs.mod'.
19154 (xfs_mod_SOURCES): New variable.
19155 (xfs_mod_CFLAGS): Likewise.
19156
19157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
19158 (pkgdata_MODULES): Add `xfs.mod'.
19159 (xfs_mod_SOURCES): New variable.
19160 (xfs_mod_CFLAGS): Likewise.
19161
19162 * util/grub-emu.c (main): Call `grub_xfs_init' and
19163 `grub_xfs_fini'.
19164
19165 * include/grub/fs.h (grub_xfs_init): New prototype.
19166 (grub_xfs_fini): Likewise.
19167
f19dbdb7 19168
83d37a62 191692005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
19170
19171 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
19172 color modes, allow greater than 16 colors to be configured as
19173 a default palette.
19174
47d2d65e 191752005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
19176
19177 * normal/completion.c (complete_arguments): Add the qualifier
19178 const into OPTIONS.
19179
19180 From Omniflux <omniflux+lists@omniflux.com>:
19181 * include/grub/terminfo.h: New file.
19182 * include/grub/tparm.h: Likewise.
19183 * include/grub/i386/pc/serial.h: Likewise.
19184 * term/terminfo.c: Likewise.
19185 * term/tparm.c: Likewise.
19186 * term/i386/pc/serial.c: Likewise.
19187 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
19188 serial.mod.
19189 (terminfo_mod_SOURCES): New variable.
19190 (terminfo_mod_CFLAGS): Likewise.
19191 (serial_mod_SOURCES): Likewise.
19192 (serial_mod_CFLAGS): Likewise.
19193
48b671ff 191942005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
19195
19196 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
19197 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
19198 and kern/powerpc/ieee1275/cmain.c, respectively.
19199
19200 * boot/powerpc/ieee1275/crt0.S: Moved to ...
19201 * kern/powerpc/ieee1275/crt0.S: ... here.
19202
19203 * boot/powerpc/ieee1275/cmain.c: Moved to ...
19204 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 19205
48b671ff 19206 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
19207 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
19208 instead of boot/powerpc/ieee1275/crt0.S and
19209 boot/powerpc/ieee1275/cmain.c, respectively.
19210
19211 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
19212 sectors. It was not used anyway.
19213
09fc77a7 192142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19215
19216 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
19217 `unused parameter' warning.
19218
003789c7 192192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
19220
19221 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
19222 function.
19223 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
19224 getcharwidth.
19225
67f44c86 192262005-08-28 Marco Gerards <metgerards@student.han.nl>
19227
19228 * include/grub/normal.h (enum grub_completion_type): Added
19229 `GRUB_COMPLETION_TYPE_ARGUMENT'.
19230
19231 * normal/cmdline.c (print_completion): Handle
19232 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
19233 * normal/menu_entry.c (store_completion): Likewise.
19234
19235 * normal/completion.c (complete_arguments): New function.
19236 (grub_normal_do_completion): Call `complete_arguments' when the
19237 current words start with a dash.
19238
0b5abe02 192392005-08-27 Marco Gerards <metgerards@student.han.nl>
19240
19241 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
19242 `gzio.mod' instead of `io.mod').
19243
d9864ee1 192442005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
19245
19246 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
19247 (DISTDIRS): Added io and video.
19248 Rewrite the search routine to make an output consistently.
19249
19250 * DISTLIST: Added conf/sparc64-ieee1275.mk,
19251 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
19252 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
19253 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
19254 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
19255 util/powerpc/ieee1275/misc.c.
f19dbdb7 19256
d9864ee1 19257 * include/grub/gzio.h: New file.
19258 * io/gzio.c: Likewise.
f19dbdb7 19259
d9864ee1 19260 * kern/file.c (grub_file_close): Call grub_device_close only if
19261 FILE->DEVICE is not NULL.
19262
19263 * include/grub/mm.h [!NULL] (NULL): New macro.
19264
19265 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
19266
19267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
19268 (pkgdata_MODULES): Added gzio.mod.
19269 (gzio_mod_SOURCES): New variable.
19270 (gzio_mod_CFLAGS): Likewise.
19271
19272 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
19273 (pkgdata_MODULES): Added gzio.mod.
19274 (gzio_mod_SOURCES): New variable.
19275 (gzio_mod_CFLAGS): Likewise.
19276
19277 * commands/cat.c: Include grub/gzio.h.
19278 (grub_cmd_cat): Use grub_gzfile_open instead of
19279 grub_file_open.
f19dbdb7 19280
d9864ee1 19281 * commands/cmp.c: Include grub/gzio.h.
19282 (grub_cmd_cmp): Use grub_gzfile_open instead of
19283 grub_file_open.
19284
19285 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
19286 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
19287 grub_file_open.
19288 (grub_rescue_cmd_module): Likewise.
19289
fa46f4b5 192902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19291
19292 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
19293 kern/sparc64/ieee1275/init.c because it contains _start.
19294 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
19295
e9211b5d 192962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
19297
19298 * configure.ac: Add support for sparc64 host with ieee1275
19299 firmware.
19300 * configure: Generated from configure.ac.
19301 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
19302 instead of int.
19303 (grub_ofdisk_read): Likewise.
19304 (grub_ofdisk_open): Use %p to print pointer values, and cast the
19305 pointers as (void *) to remove a warning.
19306 (grub_ofdisk_close): Likewise.
19307 (grub_ofdisk_read): Likewise.
19308 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
19309 returns, so make it return void to remove a warning.
19310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
19311 Corresponding prototype change.
19312 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
19313 values, and cast the pointers as (void *) to remove a warning.
19314 (grub_mm_dump): Likewise.
19315 * conf/sparc64-ieee1275.mk: New file.
19316 * conf/sparc64-ieee1275.rmk: Likewise.
19317 * include/grub/sparc64/setjmp.h: Likewise.
19318 * include/grub/sparc64/types.h: Likewise.
19319 * include/grub/sparc64/ieee1275/console.h: Likewise.
19320 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19321 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19322 * include/grub/sparc64/ieee1275/time.h: Likewise.
19323 * kern/sparc64/cache.c: Likewise.
19324 * kern/sparc64/dl.c: Likewise.
19325 * kern/sparc64/ieee1275/init.c: Likewise.
19326 * kern/sparc64/ieee1275/openfw.c: Likewise.
19327
385c6a92 193282005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19329
19330 * util/console.c (grub_ncurses_putchar): If C is greater than
19331 0x7f, set C to a question mark.
19332 (grub_ncurses_getcharwidth): New function.
19333 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
19334 getcharwidth.
19335
19336 * normal/menu.c (print_entry): Made aware of Unicode. First,
19337 convert TITLE to UCS-4, and predict the cursor position by
19338 grub_getcharwidth.
19339
19340 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
19341 const to SRC.
19342 * kern/misc.c (grub_utf16_to_utf8): Likewise.
19343
16ccb8b1 193442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19345
19346 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
19347 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19348 grub_strcat.
19349
19350 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
19351 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
19352 grub_strcpy and grub_strlen. Take it into account that a space
19353 character is inserted as a delimiter.
19354
6a85ce79 193552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19356
19357 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 19358 invalid magic in the error.
6a85ce79 19359
19360 * commands/search.c: New file.
f19dbdb7 19361
6a85ce79 19362 * util/grub-emu.c (main): Call grub_search_init and
19363 grub_search_fini.
19364
19365 * kern/rescue.c (grub_rescue_print_disks): Removed.
19366 (grub_rescue_print_devices): New function.
19367 (grub_rescue_cmd_ls): Use grub_device_iterate with
19368 grub_rescue_print_devices instead of grub_disk_dev_iterate with
19369 grub_rescue_print_disks.
19370
19371 * kern/partition.c (grub_partition_iterate): Return the result of
19372 PARTMAP->ITERATE instead of GRUB_ERRNO.
19373
19374 * kern/device.c: Include grub/partition.h.
19375 (grub_device_iterate): New function.
19376
19377 * include/grub/partition.h (grub_partition_iterate): Return int
19378 instead of grub_err_t.
19379
19380 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
19381 prototype.
19382 [GRUB_UTIL] (grub_search_fini): Likewise.
19383
19384 * include/grub/device.h (grub_device_iterate): New prototype.
19385
19386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19387 commands/search.c.
19388 (pkgdata_MODULES): Added search.mod.
19389 (search_mod_SOURCES): New variable.
19390 (search_mod_CFLAGS): Likewise.
19391
19392 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
19393 (pkgdata_MODULES): Added search.mod.
19394 (search_mod_SOURCES): New variable.
19395 (search_mod_CFLAGS): Likewise.
19396
19397 * commands/ls.c (grub_ls_list_disks): Renamed to ...
19398 (grub_ls_list_devices): ... this, and use grub_device_iterate.
19399 All callers changed.
19400
19401 * DISTLIST: Added commands/search.c.
19402
ef095434 194032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
19404
19405 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
19406 conversion.
19407 (grub_getcharwidth): New function.
19408
19409 * kern/misc.c (grub_utf8_to_ucs4): New function.
19410
19411 * include/grub/term.h (struct grub_term): Added a new member
19412 "getcharwidth".
19413 (grub_getcharwidth): New prototype.
19414
19415 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
19416
19417 * term/i386/pc/console.c (map_char): New function. Segregated from
19418 grub_console_putchar.
19419 (grub_console_putchar): Use map_char.
19420 (grub_console_getcharwidth): New function.
19421 (grub_console_term): Specified grub_console_getcharwidth as
19422 getcharwidth.
19423
19424 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
19425 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
19426
19427 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
19428 GRUB_ERRNO.
19429 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
19430 on grub_strtoul completely.
19431 (write_char): Declare local variables in the beginning of the
19432 function.
19433 (grub_vesafb_getcharwidth): New function.
19434 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
19435 getcharwidth.
19436
1f0a95e4 194372005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
19438
19439 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
19440 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
19441 commands/i386/pc/vbetest.c.
19442
19443 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
19444 call grub_vbe_get_controller_info again, because the returned
19445 information is volatile.
19446 (grub_vbe_set_video_mode): Mostly rewritten.
19447 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
19448 grub_vbe_status_t correctly.
19449 (grub_vbe_get_video_mode_info): Likewise.
19450 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
19451 several if statements.
19452
19453 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
19454 * commands/i386/pc/vbeinfo.c: ... this.
19455
19456 * commands/i386/pc/vbe_test.c: Renamed to ...
19457 * commands/i386/pc/vbetest.c: ... this.
19458
19459 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
19460 ...
19461 (grub_cmd_vbeinfo): ... this. Save video modes before
19462 iterating. Skip a video mode, if it is not available, not enough
19463 information is given or it is monochrome. Show the memory
19464 model. Leave the interpretation of MODEVAR to grub_strtoul
19465 completely.
19466 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
19467 (GRUB_MOD_FINI): Likewise.
19468
19469 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
19470 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
19471 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
19472 duplicated grub_env_get. Leave the interpretation of MODEVAR to
19473 grub_strtoul completely.
19474 (real2pm): Removed.
19475 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
19476 (GRUB_MOD_FINI): Likewise.
19477
19478 * normal/misc.c: Include grub/mm.h.
19479
19480 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
19481 vbe_list_modes with vbetest.mod and vbeinfo.mod.
19482 (vbe_list_modes_mod_SOURCES): Removed.
19483 (vbe_list_modes_mod_CFLAGS): Likewise.
19484 (vbe_test_mod_SOURCES): Likewise.
19485 (vbe_test_mod_CFLAGS): Likewise.
19486 (vbeinfo_mod_SOURCES): New variable.
19487 (vbeinfo_mod_CFLAGS): Likewise.
19488 (vbetest_mod_SOURCES): Likewise.
19489 (vbetest_mod_CFLAGS): Likewise.
19490
992ffbbe 194912005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
19492
19493 * normal/misc.c: New file.
19494
19495 * DISTLIST: Added normal/misc.c.
f19dbdb7 19496
992ffbbe 19497 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
19498 DISK to HOOK. Call HOOK with DISK.
19499 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19500 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19501 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19502
19503 * normal/menu_entry.c (struct screen): Added a new member
19504 "completion_shown".
19505 (completion_buffer): New global variable.
19506 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
19507 (store_completion): New function.
19508 (complete): Likewise.
19509 (clear_completions): Likewise.
19510 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
19511 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
19512 a tab, call complete.
19513
19514 * normal/completion.c (disk_dev): Removed.
19515 (print_simple_completion): Likewise.
19516 (print_partition_completion): Likewise.
19517 (print_func): New global variable.
19518 (add_completion): Do not take the arguments WHAT or PRINT any
19519 longer. Added a new argument TYPE. Instead of printing directly,
19520 call PRINT_FUNC if not NULL.
19521 All callers changed.
19522 (complete_device): Use a local variable DEV instead of
19523 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
19524 (grub_normal_do_completion): Take a new argument HOOK. Do not
19525 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
19526 empty string, return NULL instead.
19527 All callers changed.
19528
19529 * normal/cmdline.c (print_completion): New function.
19530
19531 * kern/partition.c (grub_partition_iterate): Add an argument DISK
19532 to HOOK.
19533 All callers changed.
19534
19535 * kern/disk.c (grub_print_partinfo): Removed.
19536
19537 * include/grub/partition.h (struct grub_partition_map): Add a new
19538 argument DISK into HOOK of ITERATE.
19539 (grub_partition_iterate): Add a new argument DISK to HOOK.
19540
19541 * include/grub/normal.h (enum grub_completion_type): New enum.
19542 (grub_completion_type_t): New type.
19543 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
19544 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
19545 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
19546 (GRUB_COMPLETION_TYPE_FILE): Likewise.
19547 (grub_normal_do_completion): Added a new argument HOOK.
19548 (grub_normal_print_device_info): New prototype.
19549
19550 * include/grub/disk.h (grub_print_partinfo): Removed.
19551
19552 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
19553 (normal_mod_SOURCES): Likewise.
19554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19555 (normal_mod_SOURCES): Likewise.
19556
19557 * commands/ls.c (grub_ls_list_disks): Use
19558 grub_normal_print_device_info instead of grub_print_partinfo. Free
19559 PNAME.
19560 (grub_ls_list_files): Use grub_normal_print_device_info instead of
19561 duplicating the code.
19562
0bd41162 195632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19564
19565 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 19566 follow GCS more precisely.
19567 * commands/i386/pc/vbe_test.c: Likewise.
19568 * include/grub/i386/pc/vbe.h: Likewise.
19569 * term/i386/pc/vesafb.c: Likewise.
19570 * video/i386/pc/vbe.c: Likewise.
0bd41162 19571
6323696a 195722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
19573
19574 * DISTLIST: Added term/i386/pc/vesafb.c
19575 DISTLIST: Added video/i386/pc/vbe.c
19576 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
19577 DISTLIST: Added commands/i386/pc/vbe_test.c.
19578 * commands/i386/pc/vbe_list_modes.c: New file.
19579 * commands/i386/pc/vbe_test.c: Likewise.
19580 * term/i386/pc/vesafb.c: Likewise.
19581 * video/i386/pc/vbe.c: Likewise.
19582 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
19583 (grub_vbe_probe) Added prototype.
19584 (grub_vbe_set_video_mode) Likewise.
19585 (grub_vbe_get_video_mode) Likewise.
19586 (grub_vbe_get_video_mode_info) Likewise.
19587 (grub_vbe_set_pixel_rgb) Likewise.
19588 (grub_vbe_set_pixel_index) Likewise.
19589 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
19590 (pkgdata_MODULES): Added vesafb.mod.
19591 (pkgdata_MODULES): Added vbe_list_modes.mod.
19592 (pkgdata_MODULES): Added vbe_test.mod.
19593 (vbe_mod_SOURCES): Added.
19594 (vbe_mod_CFLAGS): Likewise.
19595 (vesafb_mod_SOURCES): Likewise.
19596 (vesafb_mod_CFLAGS): Likewise.
19597 (vbe_list_modes_mod_SOURCES): Likewise.
19598 (vbe_list_modes_mod_CFLAGS): Likewise.
19599 (vbe_test_mod_SOURCES): Likewise.
19600 (vbe_test_mod_CFLAGS): Likewise.
19601
0a74e62f 196022005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
19603
0a74e62f 19604 * normal/command.c (grub_command_execute): If INTERACTIVE is
19605 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
19606 CMDLINE. Disable the pager if INTERACTIVE is true.
19607 All callers are changed.
19608
19609 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
19610 before reading a config file.
19611 * normal/main.c (read_config_file): Even if a command is not
19612 found, register it if it is within an entry.
19613
19614 * util/grub-emu.c: Include sys/types.h and unistd.h.
19615 (options): Added --hold.
19616 (struct arguments): Added a new member "hold".
19617 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
19618 missing.
19619 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
19620 cleared by a debugger, if it is not zero.
19621
19622 * include/grub/normal.h (grub_command_execute): Add an argument
19623 INTERACTIVE.
19624
e51f85ae 196252005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
19626
19627 * DISTLIST: Added include/grub/i386/pc/vbe.h.
19628
e9c6f39b 196292005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
19630
19631 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
19632 program with another one, because the old one didn't detect a bug
19633 in gcc-3.4. Always use regparm 2, because the new test is still
19634 not enough for gcc-4.0. Someone must investigate a simple test
19635 case which detects a bug in gcc-4.0.
19636
8de3495c 196372005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
19638
19639 * DISTLIST: Added normal/completion.c.
19640
19641 * normal/completion.c: New file.
f19dbdb7 19642
8de3495c 19643 * term/i386/pc/console.c (grub_console_getwh): New function.
19644 (grub_console_term): Assign grub_console_getwh to getwh.
19645
19646 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
19647 function is defined in normal/completion.c as
19648 grub_normal_do_completion.
19649 (grub_cmdline_get): Use grub_normal_do_completion instead of
19650 grub_tab_complete.
19651
19652 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
19653 returns non-zero, otherwise return 0.
19654 (grub_partition_iterate): First, probe the partition map. Then,
19655 call ITERATE only for this partition map.
19656
19657 * kern/misc.c (grub_strncmp): Rewritten.
19658
19659 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
19660 returns non-zero. Otherwise return 0.
19661
19662 * include/grub/partition.h (grub_partition_map_iterate): Return
19663 int instead of void.
19664
19665 * include/grub/normal.h (grub_normal_do_completion): New prototype.
19666
19667 * include/grub/misc.h (grub_strncmp): Change the type of N to
19668 grub_size_t.
19669
19670 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
19671 of void.
19672
19673 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 19674 unsigned explicitly before comparing it with I.
8de3495c 19675
19676 * kern/main.c (grub_env_write_root): Add the attribute unused into
19677 VAR.
19678
19679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19680 normal/completion.c.
19681 (normal_mod_SOURCES): Likewise.
19682 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19683 (normal_mod_SOURCES): Likewise.
19684
19685 * normal/command.c (grub_iterate_commands): If ITERATE returns
19686 non-zero, return one immediately.
19687
e85e144b 196882005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
19689
19690 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
19691 * kern/i386/pc/startup.S: Updated Global Descriptor table's
19692 descriptions.
19693 (grub_vbe_get_controller_info): New function.
19694 (grub_vbe_get_mode_info): Likewise.
19695 (grub_vbe_set_mode): Likewise.
19696 (grub_vbe_get_mode): Likewise.
19697 (grub_vbe_set_memory_window): Likewise.
19698 (grub_vbe_get_memory_window): Likewise.
19699 (grub_vbe_set_scanline_length): Likewise.
19700 (grub_vbe_get_scanline_length): Likewise.
19701 (grub_vbe_set_display_start): Likewise.
19702 (grub_vbe_get_display_start): Likewise.
19703 (grub_vbe_set_palette_data): Likewise.
19704 * include/grub/i386/pc/vbe.h: New file.
19705
c46153d2 197062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19707
19708 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19709 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
19710 * DISTLIST: Likewise.
19711 * kern/ieee1275/of.c: Moved to ...
19712 * kern/ieee1275/ieee1275.c: ... here.
19713
0cb90c45 197142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19715
19716 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
19717 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
19718 Pass 0 as `end' parameter to grub_strtoul().
19719
a19fb360 197202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
19721
19722 * include/grub/powerpc/ieee1275/console.h: Do not include
19723 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
19724 ifdef.
19725 (grub_console_cur_color): Remove i386-specific prototype.
19726 (grub_console_real_putchar): Likewise.
19727 (grub_console_checkkey): Likewise.
19728 (grub_console_getkey): Likewise.
19729 (grub_console_getxy): Likewise.
19730 (grub_console_gotoxy): Likewise.
19731 (grub_console_cls): Likewise.
19732 (grub_console_setcursor): Likewise.
19733 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
19734 Include <grub/machine/console.h>.
19735 * term/ieee1275/ofconsole.c: Likewise.
19736
4ac9bd04 197372005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
19738
19739 * Makefile.in (LIBLZO): New variable.
19740
19741 * configure.ac: Check for LZO version 2.
19742
19743 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
19744 lzo/lzo1x.h instead of lzo1x.h.
19745
19746 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
19747 of -llzo.
19748
19749 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
19750 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
19751
19752 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
19753 copying the data from PARTITION to P.
19754
f4917dfd 197552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19756
19757 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
19758 negative, unload the module.
19759
19760 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
19761 map is "pc_partition_map" but not "pc".
19762 (usage): Fix the description. The options are --boot-image and
19763 --core-image but not --boot-file or --core-file.
19764 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
19765 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
19766 DEFAULT_DIRECTORY.
19767
19768 * util/i386/pc/grub-install.in: Do not specify --boot-file or
19769 --core-file. Specify INSTALL_DEVICE as an argument.
19770
19771 * util/console.c: Include config.h.
19772 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
19773 [HAVE_NCURSES_H]: Include ncurses.h.
19774 [HAVE_CURSES_H]: Include curses.h.
19775 [!A_NORMAL] (A_NORMAL): Defined as zero.
19776 [!A_STANDOUT] (A_STANDOUT): Likewise.
19777
19778 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
19779 -lncurses.
19780 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
19781
19782 * configure.ac: Check for curses libraries and headers.
19783
19784 * Makefile.in (LIBCURSES): New variable.
19785
19786 * genmk.rb (Script::rule): Set the executable bits.
19787
19788 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
19789 name of the PC partition map is "pc_partition_map" but not "pc".
19790
0e143073 197912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19792
19793 * util/i386/pc/grub-install.in (grub_probefs): New variable.
19794 (modules): Likewise.
19795 (usage): Added descriptions for --modules and --grub-probefs.
19796 Handle --modules and --grub-probefs. Save the arguments in MODULES
19797 and GRUB_PROBEFS, respectively.
19798 Auto-detect a filesystem module against GRUBDIR. If the result is
19799 empty and modules are not specified explicitly, abort the
19800 installation. Add the result to MODULES.
19801
19802 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
19803 disk/powerpc/ieee1275/ofdisk.c,
19804 include/grub/powerpc/ieee1275/init.h and
19805 term/powerpc/ieee1275/ofconsole.c.
19806 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
19807 term/ieee1275/ofconsole.c.
19808
19809 * include/grub/powerpc/ieee1275/console.h: Resurrected.
19810
19811 * COPYING: Upgraded to the latest version. Only the address of the
19812 FSF office has changed.
f19dbdb7 19813
efd6e6d5 198142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
19815
19816 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
19817 kern/ieee1275.c with kern/ieee1275/of.c.
19818
19819 * kern/ieee1275.c: Moved to ...
19820 * kern/ieee1275/of.c: ... here.
19821
8ceafda2 198222005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
19823
19824 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 19825 readability.
8ceafda2 19826
19827 * config.guess: Updated to the latest version from gnulib.
19828 * config.sub: Likewise.
19829 * install.sh: Likewise.
19830 * mkinstalldirs: Likewise.
19831
19832 * include/grub/console.h: Removed. This file is arch-specific. Do
19833 not put this in include/grub.
19834
19835 * include/grub/i386/pc/console.h: Resurrected.
19836
19837 * util/console.c: Include grub/machine/console.h instead of
19838 grub/console.h.
19839 * util/grub-emu.c: Likewise.
19840
267f6cd9 198412005-08-04 Marco Gerards <metgerards@student.han.nl>
19842
19843 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
19844 hardcoded value.
f19dbdb7 19845
267f6cd9 19846 From Vincent Pelletier <subdino2004@yahoo.fr>
19847 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
19848 Redefined to use grub_getwh.
19849 (grub_term): New member named getwh.
19850 (grub_getwh): New prototype.
19851 * kern/term.c (grub_getwh): New function.
19852 * term/i386/pc/console.c (grub_console_getwh): New function.
19853 (grub_console_term): New member `getwh'.
19854 * term/i386/pc/vga.c (grub_vga_getwh): New function.
19855 (grub_vga_term): New member `getwh'.
0b5abe02 19856 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 19857 grub_ssize_t.
19858 (grub_ofconsole_getw): New function.
19859 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
19860 (grub_ofconsole_term): New field named getwh and new initial
19861 value.
19862
3be7266d 198632005-08-03 Hollis Blanchard <hollis@penguinppc.org>
19864
19865 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
19866 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
19867 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
19868 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
19869 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
19870 of <grub/machine/ieee1275.h>.
19871 * commands/ieee1275/reboot.c: Likewise.
19872 * boot/powerpc/ieee1275/ieee1275.c: Move ...
19873 * kern/ieee1275.c: ... to here. All users updated. Change all
19874 parameter structs to use new type `grub_ieee1275_cell_t'.
19875 * term/powerpc/ieee1275/ofconsole.c: Move ...
19876 * term/ieee1275/ofconsole.c: ... to here. All users updated.
19877 * disk/powerpc/ieee1275/ofdisk.c: Move ...
19878 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
19879 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
19880 to return int.
19881 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
19882 Remove unused prototypes. All users updated.
19883 * include/grub/powerpc/ieee1275/console.h: Removed.
19884 * include/grub/powerpc/ieee1275/ieee1275.h: Define
19885 `grub_ieee1275_cell_t'.
19886 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
19887 Cast comparisons with -1 to the correct type.
19888 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
19889 type to match `grub_ieee1275_entry_fn'.
19890
8b5f3938 198912005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
19892
19893 * DISTLIST: Added util/i386/pc/grub-probefs.c.
19894
19895 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
19896 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
19897 partmap/sun.c.
19898 (grub_probefs_SOURCES): New variable.
19899
19900 * util/i386/pc/grub-probefs.c: New file.
19901
19902 * util/i386/pc/grub-setup.c (main): Call
19903 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
19904 grub_hfs_init and grub_jfs_init to initialize the system. Call
19905 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
19906 grub_pc_partition_map_fini to finish the system.
19907
ea409713 199082005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
19909
19910 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
19911 function.
19912 (grub_multiboot_load_elf32): Likewise.
19913 (grub_multiboot_is_elf64): Likewise.
19914 (grub_multiboot_load_elf64): Likewise.
19915 (grub_multiboot_load_elf): Likewise.
19916 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
19917 an ELF32 or ELF64 file.
19918 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
19919
19920 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
19921 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
19922 NULL before calling FS->LABEL.
19923 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
19924 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
19925 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
19926 before calling FS->LABEL.
19927
141a288b 199282005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
19929
19930 * util/i386/pc/grub-install.in (datadir): New variable.
19931 (libdir): Removed.
19932 (pkgdatadir): New variable.
19933 (pkglibdir): Removed.
19934
0d5f8a54 199352005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
19936
19937 * DISTLIST: Added util/i386/pc/grub-install.in.
19938
19939 * util/i386/pc/grub-install.in: New file.
19940
19941 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
19942 (grub_install_SOURCES): Likewise.
19943
19944 * genmk.rb: Added support for scripts.
19945 (Script): New class.
19946 (scripts): New variable.
19947
19948 * Makefile.in (install-local): Install sbin_SCRIPTS by
19949 INSTALL_SCRIPT.
19950 (uninstall): Remove sbin_SCRIPTS.
19951
19952 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
19953 device, try to get a GRUB device by
19954 grub_util_biosdisk_get_grub_dev.
19955 Free DEST_DEV.
19956
19957 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
19958 description for --device-map.
19959
5f968e1e 199602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
19961
19962 Change the semantics of variable hooks. They now return strings
19963 instead of error values.
f19dbdb7 19964
5f968e1e 19965 * util/i386/pc/grub-setup.c: Include grub/env.h.
19966 (setup): Use grub_device_set_root instead of grub_env_set.
19967
19968 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
19969 grub_env_get instead of grub_device_set_root and
19970 grub_device_get_root, respectively.
19971
19972 * kern/main.c (grub_env_write_root): New function.
19973 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
19974 grub_env_set instead of grub_device_set_root.
19975
19976 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
19977 many variables.
19978 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
19979 rather than calling ENV->WRITE_HOOK afterwards.
19980 (grub_env_get): Return the result of ENV->READ_HOOK rather than
19981 passing a pointer of a pointer.
19982 (grub_register_variable_hook): Change the types of "read_hook" and
19983 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
19984 respectively.
19985 Allocate the default empty string on the heap, because this string
19986 may be freed later.
19987
19988 * kern/device.c: Include grub/env.h.
19989 (grub_device_set_root): Removed.
19990 (grub_device_get_root): Likewise.
19991 (grub_device_open): Use grub_env_get instead of
19992 grub_device_get_root.
19993
19994 * include/grub/env.h (grub_env_read_hook_t): New type.
19995 (grub_env_write_hook_t): Likewise.
19996 (grub_env_var): Change the types of "read_hook" and "write_hook"
19997 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
19998 (grub_register_variable_hook): Likewise.
19999
20000 * include/grub/device.h (grub_device_set_root): Removed.
20001 (grub_device_set_root): Likewise.
20002
20003 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
20004 make sure that DIRNAME terminates with '/', so that
20005 grub_fat_find_dir will fail if PATH is not a directory.
20006
20007 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
20008 from DIRNAME.
20009 Use the qualifier auto for print_files and print_files_long.
20010 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
20011 as a regular file.
20012 Put a newline only if there is no error.
20013 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
20014 used.
20015
896f0afd 200162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
20017
20018 * kern/partition.c (grub_partition_probe): Initialize PART to
20019 NULL. Otherwise, when no partition map is registered, this returns
20020 a garbage.
20021
b28b81b2 200222005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
20023
20024 * partmap/apple.c (apple_partition_map_iterate): Check if POS
20025 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
20026 valid.
20027
5f3607e0 200282005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
20029
20030 * commands/ls.c (grub_ls_list_disks): Print the filesystem
20031 information on each device, if it does not have partitions. Print
20032 "Device" instead of "Disk", because this function is not specific
20033 to disk devices.
20034
20035 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
20036 static to ensure that it is put on the memory rather than a
20037 register.
20038
502c87e8 200392005-07-17 Yoshinori Okuji <okuji@enbug.org>
20040
20041 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
20042 (grub_cat_init): Likewise.
20043 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
20044 (options): Likewise.
20045 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20046 (grub_configfile_init): Likewise.
20047 * font/manager.c (GRUB_MOD_INIT): Likewise.
20048 * commands/help.c (GRUB_MOD_INIT): Likewise.
20049 (grub_help_init): Likewise.
20050 * normal/command.c (grub_command_init): Likewise.
20051 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
20052 * disk/loopback.c (grub_loop_init): Likewise.
20053 (GRUB_MOD_INIT): Likewise.
20054 * commands/ls.c (grub_ls_init): Likewise.
20055 (GRUB_MOD_INIT): Likewise.
20056 (options): Likewise.
20057 * commands/boot.c (grub_boot_init): Likewise.
20058 (GRUB_MOD_INIT): Likewise.
20059 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
20060 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
20061 (GRUB_MOD_INIT): Likewise.
20062 * commands/cmp.c (grub_cmp_init): Likewise.
20063 (GRUB_MOD_INIT): Likewise.
20064
20065 * normal/arg.c: Use <> instead of "" to include header files.
20066 (SHORT_ARG_HELP): New macro.
20067 (SHORT_ARG_USAGE): Likewise.
20068 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
20069 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
20070 descriptions.
20071 (find_short): Check if C is 'h' or 'u' explicitly.
20072 (grub_arg_show_help): Use space characters instead of tabs. Treat
20073 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
20074 are shown with --help and --usage only if they are not used for
20075 the command itself.
20076 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
20077 'h' and 'u'.
20078
20079 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
20080 const into "longarg". Change the type of "shortarg" to int.
20081
f806d18e 200822005-07-17 Yoshinori Okuji <okuji@enbug.org>
20083
20084 * boot/i386/pc/boot.S (boot_drive_check): New label.
20085
20086 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
20087 macro.
20088
20089 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
20090 which do not pass a boot drive correctly. Copied from GRUB Legacy.
20091
e293232b 200922005-07-17 Yoshinori Okuji <okuji@enbug.org>
20093
20094 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
20095 When turning off Gate A20, skip the check and return immediately,
20096 because this is not fatal usually.
20097
ebedfd00 200982005-07-17 Yoshinori Okuji <okuji@enbug.org>
20099
20100 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
20101 be 0x7C00 instead of 0x8000.
20102
20103 * boot/i386/pc/pxeboot.S: Rewritten.
20104
20105 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
20106 EXT_C.
20107 (gate_a20_check_state): Read a byte from 0x108000. Invert the
20108 result.
20109
654fc59f 201102005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
20111
20112 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
20113 robustness. This routine now supports a BIOS call and System
20114 Control Port A to modify the gate A20.
20115
20116 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20117 Increased to 0x440.
20118
09f9923f 201192005-07-12 Hollis Blanchard <hollis@penguinppc.org>
20120
20121 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
20122 device path and resulting ihandle.
20123 (grub_ofdisk_close): dprintf the ihandle being closed.
20124 (grub_ofdisk_read): dprintf function parameters.
20125 * kern/mm.c (grub_mm_init_region): Likewise.
20126 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
20127 (grub_linux_boot): dprintf the Linux entry point, initrd address and
20128 size, and boot arguments.
20129 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
20130 before loading into memory.
20131 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
20132 before loading into memory.
20133
7ef504d8 201342005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
20135
20136 * kern/mm.c: Added much documentation.
20137 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
20138 8, set to 5 instead of 8.
20139
e0f050c2 201402005-07-10 Yoshinori Okuji <okuji@enbug.org>
20141
20142 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
20143
20144 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
20145 (grub_mkdevicemap_SOURCES): New variable.
20146
20147 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
20148 lib/device.c of GRUB Legacy.
20149
7224189a 201502005-07-10 Yoshinori Okuji <okuji@enbug.org>
20151
20152 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
20153 instead of PATH is NULL.
20154
68c864eb 201552005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
20156
20157 * commands/cmp.c (BUFFER_SIZE): New macro.
20158 (grub_cmd_cmp): Close the right file at the right time. Compare
20159 only data just read. Don't report files of different size as
20160 identical. Dynamically allocate buffers. Move variable
20161 declarations at the beginning of function.
20162
e6f3e614 201632005-07-09 Yoshinori Okuji <okuji@enbug.org>
20164
20165 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
20166 reverse.
20167
f8f1559a 201682004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
20169
20170 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
20171 when backspace is pressed at beginning of line.
20172
39c9d41d 201732005-07-03 Yoshinori Okuji <okuji@enbug.org>
20174
20175 * DISTLIST: Added genfslist.sh.
20176
20177 * normal/main.c (fs_module_list): New variable.
20178 (autoload_fs_module): New function.
20179 (read_fs_list): Likewise.
20180 (grub_normal_execute): Call read_fs_list.
20181
20182 * kern/fs.c (grub_fs_autoload_hook): New variable.
20183 (grub_fs_probe): Added support for auto-loading.
20184
20185 * include/grub/normal.h (struct grub_fs_module_list): New struct.
20186 (grub_fs_module_list_t): New type.
20187
20188 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
20189 (grub_fs_autoload_hook): New prototype.
20190
20191 * genfslist.sh: New file.
f19dbdb7 20192
39c9d41d 20193 * genmk.rb: Added a rule to generate a filesystem list.
20194
121c1d83 201952005-06-30 Marco Gerards <metgerards@student.han.nl>
20196
20197 * configure.ac: Fix the test for cross-compiling.
20198
20199 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
20200 define GRUB_UTIL anymore.
20201
20202 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
20203 so this function works on other systems than just big endian.
20204 (load_modules): Likewise.
20205 (add_segments): Likewise.
20206
e75d76e1 202072005-06-23 Hollis Blanchard <hollis@penguinppc.org>
20208
20209 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
20210 contains `l' modifier, get a long from va_arg().
20211
50b5a0a7 202122005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
20213
20214 * kern/mm.c (grub_free): If the next free block which is being
20215 merged is the first free block, set the first block to the block
20216 being freed.
20217 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
20218
89371b20 202192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20220
20221 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
20222 `grub_ieee1275_chosen'.
20223
168d6e58 202242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
20225
20226 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
20227 (grub_ieee1275_chosen): New variable.
20228 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
20229 `chosen'.
20230 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
20231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20232 Rename first argument to `phandle' for consistency.
20233 (grub_ieee1275_get_property_length): Likewise.
20234 (grub_ieee1275_next_property): Likewise. Change type of first argument
20235 to grub_ieee1275_phandle_t.
20236 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
20237 Move export next to declaration.
20238 (grub_ieee1275_chosen): New variable.
20239 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
20240 Correct cosmetic typo.
20241 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
20242 `grub_ieee1275_chosen'.
20243 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
20244 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
20245 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
20246 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
20247 `grub_ieee1275_chosen'.
20248
ca5baa3f 202492005-05-10 Hollis Blanchard <hollis@penguinppc.org>
20250
20251 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
20252 /chosen/bootargs.
20253 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
20254 /chosen/bootargs as "variable=value" pairs.
20255
708b345f 202562005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
20257
20258 * include/grub/misc.h (grub_dprintf): New macro.
20259 (grub_real_dprintf): New prototype.
20260 (grub_strword): Likewise.
20261 (grub_iswordseparator): Likewise.
20262 * kern/misc.c (grub_real_dprintf): New function.
20263 (grub_strword): Likewise.
20264 (grub_iswordseparator): Likewise.
20265
f4c5e67c 202662005-04-30 Hollis Blanchard <hollis@penguinppc.org>
20267
20268 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
20269 (roundup): Remove macro.
20270 (grub_ieee1275_flags): Make static.
20271 (grub_ieee1275_realmode): Remove.
20272 (grub_ieee1275_test_flag): New function.
20273 (grub_ieee1275_set_flag): Likewise.
20274 (find_options): Rename to `grub_ieee1275_find_options'; update
20275 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
20276 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
20277 (cmain): New prototype.
20278 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
20279 `grub_ieee1275_flags' directly.
20280 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
20281 machine/biosdisk.h.
20282 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
20283 Don't include grub/machine/init.h.
20284 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
20285 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20286 Remove prototype.
20287 (grub_ieee1275_realmode): Likewise.
20288 (grub_ieee1275_flag): New enum.
20289 (grub_ieee1275_test_flag): New prototype.
20290 (grub_ieee1275_set_flag): New prototype.
20291 * include/grub/powerpc/ieee1275/init.h: Remove file.
20292 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
20293 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
20294 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
20295 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
20296 comment.
20297 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
20298 `grub_ieee1275_test_flag'.
20299 (grub_ieee1275_encode_devname): Likewise.
20300
ed16607e 203012005-04-21 Hollis Blanchard <hollis@penguinppc.org>
20302
20303 * include/grub/powerpc/ieee1275/ieee1275.h
20304 (grub_ieee1275_encode_devname): New prototype.
20305 (grub_ieee1275_get_filename): Likewise.
20306 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
20307 function.
20308 (grub_set_prefix): Likewise.
20309 (grub_machine_init): Call grub_set_prefix.
20310 * kern/powerpc/ieee1275/openfw.c: Fix typos.
20311 (grub_parse_type): New enum.
20312 (grub_ieee1275_get_devargs): New function.
20313 (grub_ieee1275_get_devname): Likewise.
20314 (grub_ieee1275_parse_args): Likewise.
20315 (grub_ieee1275_get_filename): Likewise.
20316 (grub_ieee1275_encode_devname): Likewise.
20317
be369920 203182005-03-30 Marco Gerards <metgerards@student.han.nl>
20319
20320 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
20321 `grub_loader_unset'.
20322
a5ce3a4a 203232005-03-26 Hollis Blanchard <hollis@penguinppc.org>
20324
20325 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
20326 instead of grub_ieee1275_interpret.
20327 (grub_halt_init): New function.
20328 (grub_halt_fini): Likewise.
20329 (GRUB_MOD_INIT): Correct message grammar.
20330 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
20331 instead of grub_ieee1275_interpret.
20332 (grub_reboot_init): New function.
20333 (grub_reboot_fini): Likewise.
20334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
20335 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
20336 util/i386/pc/misc.c with commands/ieee1275/halt.c,
20337 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
20338 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
20339 function.
20340 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
20341 Add prototype.
20342 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
20343 prototype.
20344 (grub_halt): Likewise.
20345 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
20346 (cmain): Remove __attribute__((unused)).
20347 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
20348 (grub_heap_len): Likewise.
20349 (grub_machine_fini): New function.
20350 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
20351 (grub_halt): Likewise.
20352 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
20353 function.
20354 * util/powerpc/ieee1275/misc.c: New file.
20355
0058f771 203562005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20357
20358 * DISTLIST: New file.
20359 * gendistlist.sh: Likewise.
f19dbdb7 20360
0058f771 20361 * Makefile.in (COMMON_DISTFILES): Removed.
20362 (BOOT_DISTFILES): Likewise.
20363 (CONF_DISTFILES): Likewise.
20364 (DISK_DISTFILES): Likewise.
20365 (FS_DISTFILES): Likewise.
20366 (INCLUDE_DISTFILES): Likewise.
20367 (KERN_DISTFILES): Likewise.
20368 (LOADER_DISTFILES): Likewise.
20369 (TERM_DISTFILES): Likewise.
20370 (UTIL_DISTFILES): Likewise.
20371 (DISTFILES): Likewise.
20372 (uninstall): Uninstall files in $(pkgdata_DATA).
20373 (DISTLIST): New target.
20374 (distdir): Use the contents of the file DISTLIST to get a list of
20375 distributed files.
20376
46b3b8a5 203772005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
20378
20379 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
20380 descriptor. This is ported from GRUB Legacy.
20381
20382 * gencmdlist.sh: Added an extra semicolon to make it work with
20383 old sed versions. Reported by Robert Bihlmeyer
20384 <robbe@orcus.priv.at>.
20385
5822ff87 203862005-03-08 Yoshinori Okuji <okuji@enbug.org>
20387
20388 Automatic loading of commands is supported.
f19dbdb7 20389
5822ff87 20390 * normal/main.c (read_command_list): New function.
20391 (grub_normal_execute): Call read_command_list.
20392
20393 * normal/command.c (grub_register_command): Return zero or CMD.
20394 Allocate CMD->NAME from the heap.
20395 Initialize CMD->MODULE_NAME to zero.
20396 Find the same name as well. If the same command is found and it is
20397 a dummy command, overwrite members. If it is not a dummy command,
20398 return zero.
20399 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
20400 (grub_command_find): If a dummy command is found, load a module
20401 and retry to find a command only once.
20402
20403 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
20404 make sure that each command is loaded.
20405
20406 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
20407 macro.
20408 (struct grub_command): Remove const from the member `name'.
20409 Add a new member `module_name'.
20410 (grub_register_command): Return grub_command_t.
20411
20412 * commands/help.c (grub_cmd_help): Call grub_command_find to make
20413 sure that each command is loaded.
20414
20415 * genmk.rb (PModule::rule): Specify a module name without the
20416 suffix ".mod" to gencmdlist.sh.
20417
7b1f4b57 204182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20419
20420 * gencmdlist.sh: New file.
f19dbdb7 20421
7b1f4b57 20422 * genmk.rb (PModule::rule): Generate a rule for a command list.
20423 Clean command.lst.
20424 Generate command.lst from $(COMMANDFILES).
20425
20426 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
20427 (DATA): Added $(pkgdata_DATA).
20428 (install-local): Install files in $(pkgdata_DATA).
20429
062aaf39 204302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
20431
20432 * term/i386/pc/vga.c (debug_command): Removed.
20433 (GRUB_MOD_INIT): Do not register the command "debug".
20434
20435 From Hollis Blanchard:
20436 * commands/configfile.c: New file.
20437 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20438 commands/configfile.c.
20439 (pkgdata_MODULES): Added configfile.mod.
20440 (configfile_mod_SOURCES): New variable.
20441 (configfile_mod_CFLAGS): Likewise.
20442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
20443 commands/configfile.c.
20444 (pkgdata_MODULES): Added configfile.mod.
20445 (configfile_mod_SOURCES): New variable.
20446 (configfile_mod_CFLAGS): Likewise.
20447 * util/grub-emu.c (main): Call grub_configfile_init and
20448 grub_configfile_fini.
20449 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
20450 prototype.
20451 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 20452
cee01aa6 204532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20454
20455 * normal/arg.c (grub_arg_show_help): Do not show the bug report
20456 address.
20457
20458 * commands/help.c (grub_cmd_help): Do not print newlines after
20459 the last command in print_command_help.
20460
93f3a1d8 204612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
20462
20463 * commands/default.h: New file.
20464 * commands/timeout.h: Likewise.
20465 * normal/context.c: Likewise.
f19dbdb7 20466
93f3a1d8 20467 * util/misc.c: Do not include sys/times.h.
20468 Include sys/time.h and grub/machine/time.h.
20469 (grub_get_rtc): Rewritten with gettimeofday.
20470
20471 * util/grub-emu.c (main): Call grub_default_init and
20472 grub_timeout_init before grub_normal_init, and call
20473 grub_timeout_fini and grub_default_fini after grub_main.
20474
20475 * util/console.c (grub_ncurses_checkkey): Return the read
20476 character or -1.
20477
20478 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
20479 timeouts.
20480
20481 * normal/main.c (read_config_file): Push MENU. If this fails,
20482 print an error and wait for a user input.
20483 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
20484 If a menu is empty or an error occurs, pop MENU.
20485 (grub_normal_execute): Pop and free MENU after grub_menu_run
20486 returns.
20487
20488 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
20489
20490 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
20491 include time.h.
20492 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20493 without GRUB_UTIL.
20494 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
20495 time.h.
20496 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
20497 without GRUB_UTIL.
20498
20499 * include/grub/normal.h (struct grub_menu_list): New struct.
20500 (grub_menu_list_t): New type.
20501 (struct grub_context): New struct.
20502 (grub_context_t): New type.
20503 (grub_register_command): Got rid of EXPORT_FUNC.
20504 (grub_unregister_command): Likewise.
20505 (grub_context_get): New prototype.
20506 (grub_context_get_current_menu): Likewise.
20507 (grub_context_push_menu): Likewise.
20508 (grub_context_pop_menu): Likewise.
20509 [GRUB_UTIL] (grub_default_init): Likewise.
20510 [GRUB_UTIL] (grub_default_fini): Likewise.
20511 [GRUB_UTIL] (grub_timeout_init): Likewise.
20512 [GRUB_UTIL] (grub_timeout_fini): Likewise.
20513
20514 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
20515 commands/timeout.c and normal/context.c.
20516 (pkgdata_MODULES): Added default.mod and timeout.mod.
20517 (normal_mod_SOURCES): Added normal/context.c.
20518 (default_mod_SOURCES): New variable.
20519 (default_mod_CFLAGS): Likewise.
20520 (timeout_mod_SOURCES): Likewise.
20521 (timeout_mod_CFLAGS): Likewise.
20522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
20523 conf/i386-pc.rmk.
20524 (pkgdata_MODULES): Added default.mod and timeout.mod.
20525 (normal_mod_SOURCES): Added normal/context.c.
20526 (default_mod_SOURCES): New variable.
20527 (default_mod_CFLAGS): Likewise.
20528 (timeout_mod_SOURCES): Likewise.
20529 (timeout_mod_CFLAGS): Likewise.
20530
20531 * Makefile.in (all-local): Added $(MKFILES).
20532
4ed2e1dd 205332005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
20534
20535 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
20536 (grub_emu_SOURCES): Likewise.
20537 (pkgdata_MODULES): Add `sun.mod'.
20538 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20540 `partmap/sun.c'.
20541 (pkgdata_MODULES): Add `sun.mod'.
20542 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
20543 * include/grub/partition.h (grub_sun_partition_map_init): New
20544 prototype.
20545 (grub_sun_partition_map_fini): Likewise.
20546 * partmap/sun.c: New file.
20547 * util/grub-emu.c (main): Initialize and de-initialize the sun
20548 partitionmap support.
20549
4d4e372e 205502005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
20551
20552 This implements an Emacs-like menu entry editor.
f19dbdb7 20553
4d4e372e 20554 * normal/menu_entry.c: New file.
f19dbdb7 20555
4d4e372e 20556 * util/console.c (grub_ncurses_putchar): Translate some Unicode
20557 characters to ASCII.
20558 (saved_char): New variable.
20559 (grub_ncurses_checkkey): Rewritten completely.
20560 (grub_ncurses_getkey): Likewise.
20561 (grub_ncurses_init): Call raw instead of cbreak.
20562
20563 * normal/menu.c (print_entry): Do not put a space.
20564 (init_page): Renamed to ...
20565 (grub_menu_init_page): ... this. All callers changed.
20566 (edit_menu_entry): Removed.
20567 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
20568
20569 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
20570
20571 * kern/misc.c (grub_vprintf): Call grub_refresh.
20572
20573 * normal/menu.c (DISP_LEFT): Renamed to ...
20574 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
20575 * normal/menu.c (DISP_UP): Renamed to ...
20576 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
20577 * normal/menu.c (DISP_RIGHT): Renamed to ...
20578 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
20579 * normal/menu.c (DISP_DOWN): Renamed to ...
20580 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
20581 * normal/menu.c (DISP_HLINE): Renamed to ...
20582 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
20583 * normal/menu.c (DISP_VLINE): Renamed to ...
20584 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
20585 * normal/menu.c (DISP_UL): Renamed to ...
20586 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
20587 * normal/menu.c (DISP_UR): Renamed to ...
20588 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
20589 * normal/menu.c (DISP_LL): Renamed to ...
20590 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
20591 * normal/menu.c (DISP_LR): Renamed to ...
20592 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
20593 * normal/menu.c (TERM_WIDTH): Renamed to ...
20594 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
20595 * normal/menu.c (TERM_HEIGHT): Renamed to ...
20596 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
20597 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
20598 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
20599 * normal/menu.c (TERM_MARGIN): Renamed to ...
20600 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
20601 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
20602 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
20603 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
20604 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
20605 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
20606 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
20607 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
20608 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
20609 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
20610 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
20611 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
20612 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
20613 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
20614 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
20615 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
20616 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
20617 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
20618 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
20619 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
20620 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
20621 All callers changed.
20622
20623 * include/grub/normal.h: New prototype.
20624
20625 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20626 normal/menu_entry.c.
20627 (normal_mod_SOURCES): Likewise.
20628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20629 (normal_mod_SOURCES): Likewise.
20630
e6b92c8a 206312005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
20632
20633 * include/grub/normal.h (grub_halt_init): New prototype.
20634 (grub_halt_fini): Likewise.
20635 (grub_reboot_init): Likewise.
20636 (grub_reboot_fini): Likewise.
20637
20638 * util/grub-emu.c: Include signal.h.
20639 (main_env): New global variable.
20640 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
20641 catch C-c.
20642 (grub_machine_fini): New function.
20643 (main): Call grub_halt_init and grub_reboot_init before
20644 grub_main, and grub_reboot_fini and grub_halt_fini after it.
20645 Call setjmp with MAIN_ENV to go back afterwards.
20646 Call grub_machine_fini right before return.
20647
20648 * include/grub/util/misc.h: Include setjmp.h.
20649 (main_env): New prototype.
20650
20651 * include/grub/kernel.h (grub_machine_fini): New prototype.
20652 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
20653 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
20654
20655 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
20656 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
20657 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 20658
e6b92c8a 20659 * util/i386/pc/misc.c: New file.
f19dbdb7 20660
e6b92c8a 20661 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20662 util/i386/pc/misc.c, commands/i386/pc/halt.c and
20663 commands/i386/pc/reboot.c.
20664
c642636f 206652005-02-14 Guillem Jover <guillem@hadrons.org>
20666
20667 * include/grub/dl.h (grub_dl_check_header): New prototype.
20668 (grub_arch_dl_check_header): Change return type to grub_err_t,
20669 remove size parameter and export function. Update all callers.
20670 * kern/dl.c (grub_dl_check_header): New function.
20671 (grub_dl_load_core): Use `grub_dl_check_header' instead of
20672 `grub_arch_dl_check_header'. Check ELF type. Check if sections
20673 are inside the core.
20674 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
20675 independent ELF header checks.
20676 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
20677 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
20678 `grub_dl_check_header' instead of explicit checks. Check for the
20679 ELF type.
20680 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
20681 `grub_dl_check_header' instead of explicit checks. Remove arch
20682 specific ELF header checks.
20683
e6b92c8a 20684 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
20685 argument SIZE.
20686
5eabe94b 206872005-02-13 Hollis Blanchard <hollis@penguinppc.org>
20688
20689 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
20690 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
20691
1b14a681 206922005-02-12 Hollis Blanchard <hollis@penguinppc.org>
20693
20694 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 20695 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 20696 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 20697 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 20698 * partmap/amiga.c (amiga_partition_map_iterate): Return
20699 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
20700 * partmap/apple.c (apple_partition_map_iterate): Likewise.
20701
aca108aa 207022005-02-01 Guillem Jover <guillem@hadrons.org>
20703
20704 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
20705 help info.
20706
c9f9c556 207072005-01-31 Marco Gerards <metgerards@student.han.nl>
20708
20709 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
20710 Removed prototype.
20711 (grub_rescue_cmd_linux): New prototype.
20712 (grub_rescue_cmd_initrd): Likewise.
20713 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
20714 `bi_rec'.
20715 (grub_linux_release_mem): Release the memory for the initrd.
20716 (grub_load_linux): Renamed from this...
20717 (grub_rescue_cmd_linux): ...To this. Changed all callers.
20718 Changed `entry' not to be static. Loop over memory regions to
20719 find another one when the default fails.
20720 (grub_rescue_cmd_initrd): New function.
20721 (grub_linux_init): Remove function.
20722 (grub_linux_fini): Likewise.
20723 (GRUB_MOD_INIT): Register `initrd'.
20724 (GRUB_MOD_FINI): Unregister `initrd'.
20725 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
20726 Function removed.
20727 (grub_linux_normal_fini): Likewise.
20728 (GRUB_MOD_INIT): Register `initrd'.
20729 (GRUB_MOD_FINI): Unregister `initrd'.
20730
990cf3aa 207312005-01-31 Marco Gerards <metgerards@student.han.nl>
20732
20733 * commands/help.c: New file.
20734 * normal/arg.c (show_help): Renamed to...
20735 (grub_arg_show_help): ... this.
20736 * commands/i386/pc/halt.c: New file.
20737 * commands/i386/pc/reboot.c: Likewise.
20738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
20739 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
20740 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
20741 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
20742 variables.
20743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20744 `commands/help.c'.
20745 (pkgdata_MODULES): Add `help.mod'.
20746 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
20747 * grub/i386/pc/init.h (grub_reboot): New prototype.
20748 (grub_halt): Likewise.
20749 * include/grub/normal.h (grub_arg_show_help): New prototype.
20750 (grub_help_init): Likewise.
20751 (grub_help_fini): Likewise.
20752 * util/grub-emu.c (main): Initialize and deinitialize the help
20753 command.
20754
20755 * normal/cmdline.c (grub_cmdline_get): Doc fix.
20756
20757 * normal/command.c (grub_command_init): Fixed the description of
20758 the `set' and `unset' commands.
20759
207602005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 20761
20762 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
20763 function.
20764 * commands/ieee1275/halt.c: New file.
20765 * commands/ieee1275/reboot.c: Likewise.
20766 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
20767 `__attribute__ ((unused))'. Some GCS related fixed.
20768 (grub_suspend_init) [GRUB_UTIL]: Function removed.
20769 (grub_suspend_fini): Likewise.
20770 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
20771 and `halt.mod'.
20772 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
20773 (halt_mod_CFLAGS): New variables.
20774 * include/grub/powerpc/ieee1275/ieee1275.h
20775 (grub_ieee1275_interpret): New prototype.
20776
1ab09cc7 207772005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
20778
20779 * include/grub/misc.h (memmove): New prototype.
20780 (memcpy): Likewise.
20781
8b8cbdb2 207822005-01-22 Hollis Blanchard <hollis@penguinppc.org>
20783
20784 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
20785 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
20786
e3741a27 207872005-01-22 Marco Gerards <metgerards@student.han.nl>
20788
20789 * kern/misc.c (grub_strndup): Function rewritten.
20790
776bd780 207912005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
20792
20793 * normal/menu.c (TERM_WIDTH): Macro redefined.
20794 (TERM_TOP_BORDER_Y): Likewise.
20795 (draw_border): Replaced while-loop by a for-loop. Make the number
20796 of lines consistent with the number of lines displayed in
20797 print_entries. Added a margin below the rectangle.
20798 (print_entry): Make the entry fit in the rectangle.
20799 (print_entries): Display the scroll arrows next to the right
20800 border.
20801
78026bce 208022005-01-21 Marco Gerards <metgerards@student.han.nl>
20803
20804 * fs/minix.c (grub_minix_find_file): Reserve more space for
20805 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
20806 `grub_strncpy' to copy `path' into it.
20807
67bbaf0f 208082005-01-21 Marco Gerards <metgerards@student.han.nl>
20809
20810 Add the loopback device, a device via which files can be accessed
20811 as devices.
f19dbdb7 20812
67bbaf0f 20813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
20814 (pkgdata_MODULES): Add loopback.mod.
20815 (loopback_mod_SOURCES): New variable.
20816 (loopback_mod_CFLAGS): Likewise.
20817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20818 `disk/loopback.c'.
20819 (pkgdata_MODULES): Add loopback.mod.
20820 (loopback_mod_SOURCES): New variable.
20821 (loopback_mod_CFLAGS): Likewise.
20822 * disk/loopback.c: new file.
20823 * include/grub/normal.h (grub_loop_init): New prototype.
20824 (grub_loop_fini): New prototype.
20825 * util/grub-emu.c (main): Initialize and de-initialize loopback
20826 support.
20827 * include/grub/disk.h (grub_disk_dev_id): Add
20828 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
20829
6f1c18bd 208302005-01-20 Hollis Blanchard <hollis@penguinppc.org>
20831
20832 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
20833 function.
20834 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
20835 (suspend_mod_SOURCES): New variable.
20836 (suspend_mod_CFLAGS): Likewise.
20837 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
20838 New prototype.
20839 * commands/ieee1275/suspend.c: New file.
20840
b38551da 208412005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
20842
20843 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 20844 ((unused))' to `__attribute__ ((used))'.
b38551da 20845 (GRUB_MOD_FINI): Likewise.
20846 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
20847 * genmk.rb (PModule): Assign space to common symbols when linking
20848 modules.
20849
777aff39 208502005-01-20 Marco Gerards <metgerards@student.han.nl>
20851
20852 * include/grub/mm.h (grub_mm_init_region): Change the type of the
20853 `unsigned' arguments to `grub_size_t'.
20854 (grub_malloc): Likewise.
20855 (grub_realloc): Likewise.
20856 (grub_memalign): Likewise.
20857 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
20858 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
20859 * util/misc.c (grub_malloc): Likewise.
20860 (grub_realloc): Likewise.
20861 * kern/mm.c (get_header_from_pointer): Change the casts to
20862 `unsigned' into a cast to `grub_size_t'.
20863
20864 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
20865 point to `currnode' when `currnode' is changed.
20866
20867 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
20868 Schottelius <nico-linux@schottelius.org>.
20869
d0ff18e1 208702005-01-09 Hollis Blanchard <hollis@penguinppc.org>
20871
20872 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
20873 (note_path): Remove variable.
20874 (GRUB_IEEE1275_NOTE_NAME): New macro.
20875 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
20876 (grub_ieee1275_note_hdr): New structure.
20877 (grub_ieee1275_note_desc): Likewise.
20878 (grub_ieee1275_note): Likewise.
20879 (load_note): Remove `dir' argument. All callers updated. Remove
20880 `note_img' and `path'. Do not load a file from `note_path'.
20881 Initialize a struct grub_ieee1275_note and write that to `out'.
20882 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
20883
4ca7004c 208842005-01-05 Marco Gerards <metgerards@student.han.nl>
20885
20886 * util/misc.c (grub_util_read_image): Revert last change. It
20887 called `grub_util_read_at', which seeks from the beginning of the
20888 file.
20889
0b412211 208902005-01-04 Hollis Blanchard <hollis@penguinppc.org>
20891
20892 * TODO: Add note about endianness in grub-mkimage.
20893 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
20894 section.
20895 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
20896 (grub_mkimage_SOURCES): New target.
20897 * include/grub/kernel.h (grub_start_addr): Remove variable.
20898 (grub_end_addr): Likewise.
20899 (grub_total_module_size): Likewise.
20900 (grub_kernel_image_size): Likewise.
20901 (GRUB_MODULE_MAGIC): New constant.
20902 (grub_module_info): New structure.
20903 (grub_arch_modules_addr): New prototype.
20904 (grub_get_end_addr): Remove prototype.
20905 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
20906 * include/grub/powerpc/ieee1275/kernel.h: New file.
20907 * include/grub/util/misc.h (grub_util_get_fp_size): New
20908 prototype.
20909 (grub_util_read_at): Likewise.
20910 (grub_util_write_image_at): Likewise.
20911 * kern/main.c (grub_get_end_addr): Remove function.
20912 (grub_load_modules): Call grub_arch_modules_addr instead of using
20913 grub_end_addr. Look for a grub_module_info struct in memory. Use
20914 the grub_module_info fields instead of calling grub_get_end_addr
20915 as loop conditions. Move grub_add_unused_region code here.
20916 (grub_add_unused_region): Remove function.
20917 * kern/i386/pc/init.c: Include grub/cache.h.
20918 (grub_machine_init): Remove call to grub_get_end_addr. Remove
20919 one call to add_mem_region.
20920 (grub_arch_modules_addr): New function.
20921 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
20922 (grub_total_module_size): Likewise.
20923 Include grub/machine/kernel.h.
20924 (grub_arch_modules_addr): New function.
20925 * util/grub-emu.c (grub_end_addr): Remove variable.
20926 (grub_total_module_size): Likewise.
20927 (grub_arch_modules_addr): New function.
20928 * util/misc.c: Include unistd.h.
20929 (grub_util_get_fp_size): New function.
20930 (grub_util_read_at): Likewise.
20931 (grub_util_write_image_at): Likewise.
20932 (grub_util_read_image): Call grub_util_read_at.
20933 (grub_util_write_image): Call grub_util_write_image_at.
20934 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
20935 additional memory in kernel_img for a struct grub_module_info.
20936 Fill in that grub_module_info.
20937 * util/powerpc/ieee1275/grub-mkimage.c: New file.
20938
458786f8 209392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20940
20941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
20942 New function.
20943 * include/grub/powerpc/ieee1275/ieee1275.h
20944 (grub_ieee1275_milliseconds): New prototype.
20945 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
20946 Change to 1000.
20947 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
20948 grub_ieee1275_milliseconds.
20949
ac507d1b 209502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20951
20952 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
20953 variable.
20954 (find_options): New function.
20955 (cmain): Call find_options.
20956 * include/grub/powerpc/ieee1275/ieee1275.h
20957 (grub_ieee1275_realmode): New extern variable.
20958 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
20959 grub_map if grub_ieee1275_realmode is false.
20960
6b8fd1c4 209612004-12-29 Marco Gerards <metgerards@student.han.nl>
20962
20963 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
20964 lines are inserted and make it work like readline. Reported by
20965 Vincent Pelletier <subdino2004@yahoo.fr>.
20966
8514a1e0 209672004-12-28 Marco Gerards <metgerards@student.han.nl>
20968
20969 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
20970
20971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
20972 `kern/powerpc/cache.S'.
20973
924b6140 209742004-12-27 Marco Gerards <metgerards@student.han.nl>
20975
20976 * genmk.rb: Handle the `Program' class in the main loop. Written
20977 by Johan Rydberg <jrydberg@gnu.org>.
20978 (Program): New class.
20979 (programs): New variable.
20980 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
20981 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
20982 instead of "grub/kernel.h". Include <grub/machine/init.h>.
20983 (help_arch): Function removed.
20984 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
20985 `powerpc/libgcc.h' and `loader.h'.
20986 (pkgdata_PROGRAMS): New variable.
20987 (sbin_UTILITIES): Variable removed.
20988 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
20989 (grubof_SOURCES): Variable re-defined so it only includes the
20990 core functionality.
20991 (grubof_CFLAGS): Remove `-DGRUBOF'.
20992 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
20993 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
20994 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
20995 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
20996 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
20997 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
20998 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
20999 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
21000 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
21001 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
21002 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21003 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
21004 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
21005 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
21006 (pc_mod_CFLAGS): New variables.
21007 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
21008 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
21009 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
21010 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
21011 Moved from here...
21012 * include/grub/i386/pc/init.h (grub_os_area_addr)
21013 (rub_os_area_size): ... to here.
21014 * include/grub/powerpc/ieee1275/ieee1275.h
21015 (grub_ieee1275_entry_fn): Export symbol.
21016 * include/grub/powerpc/ieee1275/init.h: New file.
21017 * include/grub/powerpc/libgcc.h: Likewise.
21018 * include/grub/cache.h: Likewise.
21019 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
21020 <hollis@penguinppc.org>.
21021 * kern/dl.c: Include <grub/cache.h>.
21022 (grub_dl_flush_cache): New function.
21023 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
21024 for this module.
21025 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
21026 (grub_console_init): Removed prototypes.
21027 (grub_machine_init): Don't initialize the modules anymore.
21028 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
21029 static.
21030 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
21031 Macro undef removed.
21032 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
21033 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
21034 relocation `R_PPC_REL32'. Return an error when the relocation is
21035 unknown.
21036 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
21037 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
21038 * util/misc.c (grub_arch_sync_caches): Likewise.
21039
e4b47e0c 210402004-12-19 Marco Gerards <metgerards@student.han.nl>
21041
21042 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
21043 `symlist.c', add `grubof_symlist.c'.
21044 (symlist.c): Variable removed.
21045 (grubof_HEADERS): Variable added.
21046 (grubof_symlist.c): New target.
21047 (kernel_syms.lst): Use `grubof_HEADERS' instead of
21048 `kernel_img_HEADERS'.
21049 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
21050 * kern/powerpc/dl.c: New file.
21051 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
21052 Function removed.
21053 (grub_arch_dl_relocate_symbols): Likewise.
21054 (grub_register_exported_symbols): Likewise.
21055
4ceb3636 210562004-12-13 Marco Gerards <metgerards@student.han.nl>
21057
21058 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
21059 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
21060 to fail instead. Reported by Vincent Pelletier
21061 <subdino2004@yahoo.fr>.
21062
21063 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
21064 it is not allocated. Reported by Vincent Pelletier
21065 <subdino2004@yahoo.fr>.
21066
21067 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
21068 output so the output looks better.
f19dbdb7 21069
3f1578fe 210702004-12-04 Marco Gerards <metgerards@student.han.nl>
21071
21072 Modulize the partition map support and add support for the amiga
21073 partition map.
f19dbdb7 21074
3f1578fe 21075 * commands/ls.c: Include <grub/partition.h> instead of
21076 <grub/machine/partition.h>.
21077 * kern/disk.c: Likewise.
21078 * kern/rescue.c: Likewise.
21079 * loader/i386/pc/chainloader.c: Likewise.
21080 * normal/cmdline.c: Likewise.
21081 * kern/powerpc/ieee1275/init.c: Likewise.
21082 (grub_machine_init): Call `grub_pc_partition_map_init',
21083 `grub_amiga_partition_map_init' and
21084 `grub_apple_partition_map_init'.
21085 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
21086 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
21087 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
21088 `partition.h' and `pc_partition.h'.
21089 (grub_setup_SOURCES): Remove
21090 `disk/i386/pc/partition.c'. Add `kern/partition.c',
21091 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21092 (grub_emu_SOURCES): Likewise.
21093 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
21094 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
21095 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
21096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21097 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
21098 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
21099 (grubof_SOURCES): Likewise.
21100 * disk/i386/pc/partition.c: File removed.
21101 * disk/powerpc/ieee1275/partition.c: Likewise.
21102 * include/grub/powerpc/ieee1275/partition.h: Likewise.
21103 * include/grub/i386/pc/partition.h: Likewise.
21104 * kern/partition.c: New file.
21105 * partmap/amiga.c: Likewise.
21106 * partmap/apple.c: Likewise.
21107 * partmap/pc.c: Likewise.
21108 * include/grub/partition.h: Likewise..
21109 * include/grub/pc_partition.h: Likewise.
21110 * util/grub-emu.c: Include <grub/partition.h> instead of
21111 <grub/machine/partition.h>.
21112 (main): Call `grub_pc_partition_map_init',
21113 `grub_amiga_partition_map_init' and
21114 `grub_apple_partition_map_init' and deinitialize afterwards.
21115 * util/i386/pc/biosdisk.c: Include `#include
21116 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21117 `<grub/machine/partition.h>'.
21118 * util/i386/pc/grub-setup.c: Likewise.
21119 * util/i386/pc/biosdisk.c: Likewise.
21120 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
21121 partition information in case of a PC partition.
21122 * util/i386/pc/grub-setup.c: Include `#include
21123 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
21124 `<grub/machine/partition.h>'.
21125 (setup): Only access the PC specific partition information in case
21126 of a PC partition.
21127
0ef4ced9 211282004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21129
0ef4ced9 21130 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
21131 (grub_longjmp): Likewise.
21132 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
21133 20.
21134 * normal/powerpc/setjmp.S: New file.
21135 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21136 `normal/powerpc/setjmp.S'.
21137 (grubof_CFLAGS): Add `-DGRUBOF'.
21138 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
21139 [GRUB_UTIL && !GRUBOF].
f19dbdb7 21140
19950e29 211412004-11-16 Marco Gerards <metgerards@student.han.nl>
21142
21143 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
21144 property named `name'. Correctly handle the error returned by
21145 `grub_ieee1275_finddevice' if a device can not be opened.
21146
a2fea427 211472004-11-02 Hollis Blanchard <hollis@penguinppc.org>
21148
21149 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
21150 `actual' for negativity.
21151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
21152 kern/fshelp.c.
21153
41ea0ea3 211542004-11-01 Marco Gerards <metgerards@student.han.nl>
21155
21156 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
21157 (PAGE_OFFSET): New macro.
21158 (CRTC_ADDR_PORT): Likewise.
21159 (CRTC_DATA_PORT): Likewise.
21160 (START_ADDR_HIGH_REGISTER): Likewise.
21161 (START_ADDR_LOW_REGISTER): Likewise.
21162 (GRAPHICS_ADDR_PORT): Likewise.
21163 (GRAPHICS_DATA_PORT): Likewise.
21164 (READ_MAP_REGISTER): Likewise.
21165 (INPUT_STATUS1_REGISTER): Likewise.
21166 (INPUT_STATUS1_VERTR_BIT): Likewise.
21167 (page): New variable.
21168 (wait_vretrace): New function.
21169 (set_read_map): Likewise.
21170 (set_start_address): Likewise.
21171 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
21172 the right page.
21173 (check_vga_mem): Take the page into account.
21174 (write_char): Likewise.
21175 (write_cursor): Likewise.
21176 (scroll_up): Likewise. Copy the page to the page that is not
21177 shown and switch between both pages.
21178 (grub_vga_putchar): Fix off by one error.
21179 (grub_vga_cls): Wait for the vertical retrace. Take the page into
21180 account.
21181
ad0bd20b 211822004-11-01 Marco Gerards <metgerards@student.han.nl>
21183
21184 Add support for iso9660 (including rockridge).
f19dbdb7 21185
ad0bd20b 21186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21187 (iso9660_mod_SOURCES): New variable.
21188 (iso9660_mod_CFLAGS): Likewise.
21189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
21190 * include/grub/fs.h (grub_iso9660_init): New prototype.
21191 * util/grub-emu.c (main): Call `grub_iso9660_init'.
21192 * fs/iso9660.c: New file.
21193
21194 * include/grub/misc.h (grub_strncat): New prototype.
21195 * kern/misc.c (grub_strncat): New function.
f19dbdb7 21196
ad0bd20b 21197 * fs/hfs.c (grub_hfs_mount): Translate the error
21198 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
21199 * fs/jfs.c (grub_jfs_mount): Likewise.
21200 * fs/ufs.c (grub_ufs_mount): Likewise.
21201
a5477a59 212022004-10-28 Hollis Blanchard <hollis@penguinppc.org>
21203
21204 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
21205 which initialized BAT registers.
21206 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
21207 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21208 Move from here...
21209 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
21210 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
21211 ... to here.
21212 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
21213 (grub_mapclaim): Likewise.
21214 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
21215 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
21216 hand.
21217
9304c1f8 212182004-10-19 Hollis Blanchard <hollis@penguinppc.org>
21219
21220 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
21221 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
21222 -ffreestanding and -msoft-float.
21223
86f4ae25 212242004-10-15 Hollis Blanchard <hollis@penguinppc.org>
21225
21226 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
21227 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
21228 set in grub_ieee1275_flags.
21229
38912228 212302004-10-14 Hollis Blanchard <hollis@penguinppc.org>
21231
21232 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
21233 prototype.
21234 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
21235 grub_console_init first.
21236 Change the memory range used for grub_ieee1275_claim and
21237 grub_mm_init_region.
21238 Print an error message if the claim fails.
21239 Include <grub/misc.h>.
21240
d1923dc8 212412004-10-13 Hollis Blanchard <hollis@penguinppc.org>
21242
21243 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
21244 Call grub_children_iterate for device nodes of type `scsi',
21245 `ide', or `ata'.
21246 (grub_ofdisk_open): Remove manual device alias resolution.
21247 Fix memory leak when device cannot be opened.
f19dbdb7 21248 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 21249 (grub_children_iterate): New prototype.
21250 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
21251 New function.
21252 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
21253 Return -1 if args.size was -1.
21254
4512e4f3 212552004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21256
21257 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
21258 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
21259 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
21260 Open Firmware's memory for it; claim memory from _start to _end.
21261 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
21262 (_end): New extern.
21263 (_start): Zero BSS from __bss_start to _end.
21264 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
21265 New extern.
21266 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
21267
4d61feb0 212682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
21269
ad0bd20b 21270 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
21271 -1 if args.base was -1.
4d61feb0 21272
026fa2f9 212732004-10-08 Hollis Blanchard <hollis@penguinppc.org>
21274
21275 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
21276 escape sequence instead of a literal ^L. Also call
21277 grub_ofconsole_gotoxy.
21278
9f2220ef 212792004-10-03 Hollis Blanchard <hollis@penguinppc.org>
21280
21281 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
21282 void * arguments to grub_addr_t. All callers updated. Also make
21283 the `result' argument optional.
21284 (grub_ieee1275_release): change void * arguments to grub_addr_t.
21285 All callers updated.
21286
8a572cd7 212872004-09-22 Hollis Blanchard <hollis@penguinppc.org>
21288
21289 * commands/ls.c (grub_ls_list_files): Use the string following the
21290 initial ')', if present, as the filesystem path.
21291 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
21292
21293 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
21294
18aa81f2 212952004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
21296
21297 Make the source code of the menu interface more readable.
f19dbdb7 21298
18aa81f2 21299 * normal/menu.c: Include grub/mm.h.
21300 (TERM_WIDTH): New macro.
21301 (TERM_HEIGHT): Likewise.
21302 (TERM_INFO_HEIGHT): Likewise.
21303 (TERM_MARGIN): Likewise.
21304 (TERM_SCROLL_WIDTH): Likewise.
21305 (TERM_TOP_BORDER_Y): Likewise.
21306 (TERM_LEFT_BORDER_X): Likewise.
21307 (TERM_BORDER_WIDTH): Likewise.
21308 (TERM_MESSAGE_HEIGHT): Likewise.
21309 (TERM_BORDER_HEIGHT): Likewise.
21310 (TERM_NUM_ENTRIES): Likewise.
21311 (TERM_FIRST_ENTRY_Y): Likewise.
21312 (TERM_ENTRY_WIDTH): Likewise.
21313 (TERM_CURSOR_X): Likewise.
21314 (draw_border): Use macros instead of magic numbers.
21315 (print_entry): Likewise.
21316 (print_entries): Likewise.
21317 (run_menu): Likewise. Also, handle the key 'e'.
21318 (run_menu_entry): Ignore empty command lines.
21319 (print_message): Added a new argument EDIT. If EDIT is true,
21320 print a different message.
21321 (init_page): Likewise.
21322 (edit_menu_entry): New function. Not implemented yet.
21323
b47efe30 213242004-09-17 Marco Gerards <metgerards@student.han.nl>
21325
21326 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
21327 can be loaded from normal mode.
f19dbdb7 21328
b47efe30 21329 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
21330 `multiboot.mod'.
21331 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
21332 (multiboot_mod_CFLAGS): New variables.
21333 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 21334 * loader/i386/pc/multiboot_normal.c: Likewise.
21335
b47efe30 21336 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
21337 attribute `unused'.
f19dbdb7 21338
b47efe30 21339 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
21340 `fdiro' to read the mode information from instead of `diro'.
21341
21342 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
21343 looking up a symlink.
21344
21345 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
21346 macro.
21347 * normal/command.c (grub_command_execute): Don't parse the
21348 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
21349 flags of the command.
21350
21351 * normal/menu.c (grub_menu_run): Fix typo.
21352
da75ac71 213532004-09-14 Hollis Blanchard <hollis@penguinppc.org>
21354
21355 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
21356
21357 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
21358 `y + 1' instead of `y - 1'.
21359
21360 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 21361
062b24c2 213622004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
21363
21364 From Hollis Blanchard <hollis@penguinppc.org>:
21365 * kern/misc.c (memmove): New alias for grub_memmove.
21366 (memcmp): New alias for grub_memcmp.
21367 (memset): New alias for grub_memset.
f19dbdb7 21368 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 21369 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 21370 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 21371 (grub_ieee1275_get_property): Likewise.
f19dbdb7 21372
8ddad845 213732004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
21374
21375 Added normal mode command `chainloader' as module chain.mod, which
21376 depends on normal.mod and _chain.mod.
f19dbdb7 21377
8ddad845 21378 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
21379 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
21380 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
21381 Deleted prototype.
21382 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
21383 but arguments parsing moved to ...
21384 (grub_chainloader_cmd): ... here. New function.
21385 * include/grub/i386/pc/chainloader.h: New file.
21386 * loader/i386/pc/chainloader_normal.c: Likewise.
21387
2c1f4ce3 213882004-09-11 Marco Gerards <metgerards@student.han.nl>
21389
21390 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
21391 (grub_mkimage_LDFLAGS): Likewise.
21392 (grub_emu_SOURCES): Likewise.
21393 (kernel_img_HEADERS): Added fshelp.h.
21394 * fs/ext2.c: Include <grub/fshelp.h>.
21395 (FILETYPE_REG): New macro.
21396 (FILETYPE_INO_REG): Likewise.
21397 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
21398 Changed all users.
21399 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
21400 all users.
21401 (grub_fshelp_node): New struct.
21402 (grub_ext2_data): Added member `diropen'. Changed member `inode'
21403 to a pointer.
21404 (grub_ext2_get_file_block): Removed function.
21405 (grub_ext2_read_block): New function.
21406 (grub_ext2_read_file): Replaced parameter `data' by `node'.
21407 This function was written.
21408 (grub_ext2_mount): Read the root inode. Create a diropen struct.
21409 (grub_ext2_find_file): Removed function.
21410 (grub_ext2_read_symlink): New function.
21411 (grub_ext2_iterate_dir): Likewise.
21412 (grub_ext2_open): Rewritten.
21413 (grub_ext2_dir): Rewritten.
21414 * include/grub/fshelp.h: New file.
21415 * fs/fshelp.c: Likewise.
21416
3c52136a 214172004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
21418
21419 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
21420 (print_message): Add a missing newline.
21421 (run_menu): Added timeout support.
21422 (run_menu_entry): New local function.
21423 (grub_menu_run): Added support for booting.
21424
21425 * kern/loader.c (grub_loader_is_loaded): New function.
21426
21427 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
21428 (grub_get_rtc): Exported.
21429
21430 * include/grub/i386/pc/time.h: Include grub/symbol.h.
21431 (grub_get_rtc): Exported.
21432
21433 * include/grub/normal.h (struct grub_command_list): Remove
21434 constant from the member `command'.
21435
21436 * include/grub/loader.h (grub_loader_is_loaded): Declared.
21437
21438 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
21439
21440 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
21441
aa033560 214422004-08-28 Marco Gerards <metgerards@student.han.nl>
21443
21444 Add support for the JFS filesystem.
21445
21446 * fs/jfs.c: New file.
21447 * include/grub/fs.h (grub_jfs_init): New prototype.
21448 (grub_jfs_fini): New prototype.
21449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
21450 (grub_emu_SOURCES): Likewise.
21451 (pkgdata_MODULES): Add jfs.mod.
21452 (jfs_mod_SOURCES): New variable.
21453 (jfs_mod_CFLAGS): Likewise.
21454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
21455 (grubof_SOURCES): Likewise.
21456 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
21457
21458 * fs/fat.c (grub_fat_find_dir): Convert the filename little
21459 endian to the host endian.
21460 (grub_fat_utf16_to_utf8): Move function from there...
21461 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 21462 the endianness of the source string anymore.
aa033560 21463 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
21464
94bc45af 214652004-08-24 Marco Gerards <metgerards@student.han.nl>
21466
21467 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
21468 (grub_boot_fini) [GRUB_UTIL]: Likewise.
21469 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
21470 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 21471
94bc45af 21472 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
21473 (grub_hfs_iterate_dir): Make the function static. Add prototypes
21474 for `node_found' and `it_dir'.
21475 (grub_hfs_dir): Add prototype for `dir_hook'.
21476
21477 * fs/minix.c (grub_minix_get_file_block): Add prototype for
21478 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
21479 and `indir32' to silence a gcc warning.
21480
21481 * include/grub/fs.h (grub_hfs_init): New prototype.
21482 (grub_hfs_fini): Likewise.
f19dbdb7 21483
21484
97543f08 214852004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
21486
21487 Each disk device has its own id now. This is useful to make use
21488 of multiple disk devices.
f19dbdb7 21489
97543f08 21490 * include/grub/disk.h (grub_disk_dev_id): New enum.
21491 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
21492 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
21493
21494 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
21495 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21496
21497 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
21498 GRUB_DISK_DEVICE_OFDISK_ID as an id.
21499
21500 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
21501 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
21502
21503 * include/grub/disk.h (struct grub_disk_dev): Added a new member
21504 "id" which is used by the cache manager.
21505
21506 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
21507 of just "GRUB".
21508
64372eb4 215092004-08-18 Marco Gerards <metgerards@student.han.nl>
21510
21511 * fs/hfs.c: New file.
21512 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
21513 (grub_emu_SOURCES): Likewise.
21514 (pkgdata_MODULES): Add hfs.mod.
21515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
21516 (grubof_SOURCES): Likewise.
21517 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
21518
21519 * include/grub/misc.h (grub_strncasecmp): Add prototype.
21520 * kern/misc.c (grub_strncasecmp): Add function.
21521
cc61b58f 215222004-08-14 Marco Gerards <metgerards@student.han.nl>
21523
21524 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
21525 with parentheses.
21526
21527 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
21528 (grub_ext2_dir): In case the directory entry type is unknown, read
21529 it from the inode.
21530
0ef123f6 215312004-08-02 Peter Bruin <pjbruin@dds.nl>
21532
21533 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
21534 grub_load_linux instead of grub_rescue_cmd_linux as second
21535 argument of grub_rescue_register_command.
21536
21537 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
21538
a447c5df 215392004-07-27 Marco Gerards <metgerards@student.han.nl>
21540
21541 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
21542 function.
21543 * commands/boot.c: Remove the check for `GRUB_UTIL'.
21544 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
21545 `loader/powerpc/ieee1275/linux.c',
21546 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
21547 * include/grub/powerpc/ieee1275/ieee1275.h
21548 (grub_ieee1275_release): New prototype.
21549 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
21550 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
21551 normal, boot, linux and linux_normal.
21552 * loader/powerpc/ieee1275/linux.c: New file.
21553 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21554
5a9e3546 215552004-07-12 Marco Gerards <metgerards@student.han.nl>
21556
21557 * normal/arg.c (grub_arg_parse): Correct error handling after
21558 reallocating the argumentlist (check if `argl' is not null instead
21559 of checking if `args' is not null).
21560 * kern/mm.c (grub_realloc): Return the same pointer when using the
21561 same region, instead of returning the header address.
21562
e15199cb 215632004-07-11 Marco Gerards <metgerards@student.han.nl>
21564
21565 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
21566 one block instead of two when looking for the initial partition.
21567 (grub_partition_probe): Initialize the local variable `p' with 0.
21568 Use base 10 for the grub_strtoul call.
21569 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
21570 need for one local variable.
21571 (grub_strtoul): Don't add the new value to `num', instead of that
21572 just assign it.
21573
020616c2 215742004-07-11 Marco Gerards <metgerards@student.han.nl>
21575
21576 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
21577 (pxeboot_img_SOURCES): New variable.
21578 (pxeboot_img_ASFLAGS): Likewise.
21579 (pxeboot_img_LDFLAGS): Likewise.
21580 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
21581 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
21582 <lode_leroy@hotmail.com>.
21583
6c51eb64 215842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21585
21586 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
21587 there was no input.
21588
cfb12aff 215892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21590
21591 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
21592 the history buffer logic.
21593
6eabba74 215942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
21595
21596 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
21597 (FILETYPE_INO_SYMLINK): New macros.
21598 (grub_ext2_find_file): Check if the node is a directory using the
21599 inode stat information instead of using the filetype in the
21600 dirent. Exclude the first character of an absolute symlink.
21601 (grub_ext2_dir): Mask out the filetype part of the mode member of
21602 the inode.
21603
66e19ef8 216042004-05-24 Marco Gerards <metgerards@student.han.nl>
21605
21606 Add support for UFS version 1 and 2. Add support for the minix
21607 filesystem version 1 and 2, both the variants with 14 and 30 long
21608 filenames.
f19dbdb7 21609
66e19ef8 21610 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
21611 fs/minix.c.
21612 (grub_emu_SOURCES): Likewise.
21613 (pkgdata_MODULES): Add ufs.mod and minix.mod.
21614 (ufs_mod_SOURCES): New variable.
21615 (ufs_mod_CFLAGS): Likewise.
21616 (minix_mod_SOURCES): Likewise.
21617 (minix_mod_CFLAGS): Likewise.
21618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
21619 fs/minix.c.
21620 (grubof_SOURCES): Likewise.
21621 * fs/ufs.c: New file.
21622 * fs/minix.c: New file.
21623 * include/grub/fs.h (grub_ufs_init): New prototype.
21624 (grub_ufs_fini): Likewise.
21625 (grub_minix_init): Likewise.
21626 (grub_minix_fini): Likewise.
21627 * util/grub-emu.c (main): Initialize and deinitialize UFS and
21628 minix fs.
21629
cc2e748a 216302004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
21631
21632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
21633 commands/ls.c, commands/terminal.c, commands/boot.c,
21634 commands/cmp.c and commands/cat.c.
21635 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
21636
21637 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
21638 "env.h"
21639
4b13b216 216402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21641
21642 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
21643 and grub_, respectively. Because the conversion is trivial and
21644 mechanical, I omit the details here. Please refer to the CVS
21645 if you need more information.
21646
6a142551 216472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21648
21649 * include/pupa: Renamed to ...
21650 * include/grub: ... this.
21651 * util/i386/pc/pupa-mkimage.c: Renamed to ...
21652 * util/i386/pc/grub-mkimage.c: ... this.
21653 * util/i386/pc/pupa-setup.c: Renamed to ...
21654 * util/i386/pc/grub-setup.c: ... this.
21655 * util/pupa-emu.c: Renamed to ...
21656 * util/grub-emu.c: ... this.
21657
e56cdf21 216582004-03-29 Marco Gerards <metgerards@student.han.nl>
21659
21660 Add support for the newworld apple macintosh (PPC). This has been
21661 tested on the powerbook 2000 only. It only adds support for
21662 generic ieee1275 functions, console and disk support. This should
21663 be easy to port to other architectures with support for Open
21664 Firmware.
f19dbdb7 21665
e56cdf21 21666 * configure.ac: Accept the powerpc as host_cpu. In the case of
21667 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
21668 specific tests are only executed while building for the i386.
21669 Inverse test for crosscompile.
21670 * genmk.rb (Utility): Allow assembler files.
21671 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
21672 * conf/powerpc-ieee1275.rmk: New file.
21673 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
21674 * disk/powerpc/ieee1275/partition.c: Likewise.
21675 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
21676 * include/pupa/powerpc/ieee1275/console.h: Likewise.
21677 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
21678 * include/pupa/powerpc/ieee1275/time.h: Likewise.
21679 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
21680 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
21681 * include/pupa/powerpc/ieee1275/loader.h
21682 * include/pupa/powerpc/setjmp.h: Likewise.
21683 * include/pupa/powerpc/types.h: Likewise.
21684 * kern/powerpc/ieee1275/init.c: Likewise.
21685 * kern/powerpc/ieee1275/openfw.c: Likewise.
21686 * term/powerpc/ieee1275/ofconsole.c: Likewise.
21687
21688 These files were written by Johan Rydberg
21689 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 21690
e56cdf21 21691 * boot/powerpc/ieee1275/cmain.c: New file.
21692 * boot/powerpc/ieee1275/crt0.S: Likewise.
21693 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
21694 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
21695
8c8cc205 216962004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
21697
21698 * Makefile.in: Update copyright.
21699 * genmodsrc.sh: Likewise.
21700 * gensymlist.sh: Likewise.
21701 * term/i386/pc/vga.c: Indent correctly.
21702
21703 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
21704 bugreporting address.
21705 * util/i386/pc/pupa-setup.c (usage): Likewise,
21706 (main): Call pupa_ext2_init and pupa_ext2_fini.
21707
f19dbdb7 21708 * fs/fat.c (log2): Renamed to ...
8c8cc205 21709 (fat_log2): ... this.
21710 All callers changed.
21711 * kern/misc.c (memcpy): Alias to pupa_memmove.
21712 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
21713 lvalue cast.
21714 * util/console.c (pupa_ncurses_fini): Return 0.
21715
21716 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
21717 Move fail label here.
21718 [__GNU__]: Don't warn when using stat.
21719 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
21720 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
21721 long int. Use strtol instead of strtoul.
f19dbdb7 21722
db1771cf 217232004-03-14 Marco Gerards <metgerards@student.han.nl>
21724
21725 * commands/boot.c: New file.
21726 * commands/cat.c: Likewise.
21727 * commands/cmp.c: Likewise.
21728 * commands/ls.c: Likewise.
21729 * commands/terminal.c: Likewise.
21730 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
21731 (pupa_register_command): Changed interface to match the new
21732 argument parser.
21733 (pupa_command_execute): Changed (almost rewritten) so it uses
21734 pupa_split_command. Added support for setting variables using the
21735 syntax `foo=bar'.
21736 (rescue_command): Changed to work with the new argument parser.
21737 (terminal_command): Moved from here to commands/terminal.c.
21738 (set_command): New function.
21739 (unset_command): New function.
21740 (insmod_command): New function.
21741 (rmmod_command): New function.
21742 (lsmod_command): New function.
21743 (pupa_command_init): Don't initialize the command terminal
21744 anymore. Initialize the commands set, unset, insmod, rmmod and
21745 lsmod.
21746 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
21747 (kernel_img_HEADERS): Add arg.h and env.h.
21748 (pupa_mkimage_LDFLAGS): Add kern/env.c.
21749 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
21750 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
21751 normal/arg.c.
21752 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
21753 terminal.mod.
21754 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
21755 (boot_mod_SOURCES): New variable.
21756 (terminal_mod_SOURCES): Likewise.
21757 (ls_mod_SOURCES): Likewise.
21758 (cmp_mod_SOURCES): Likewise.
21759 (cat_mod_SOURCES): Likewise.
21760
21761 * normal/arg.c: New file.
21762 * kern/env.c: Likewise.
21763 * include/pupa/arg.h: Likewise.
21764 * include/pupa/env.h: Likewise.
21765 * font/manager.c (font_command): Changed to match argument parsing
21766 interface changes.
21767 (PUPA_MOD_INIT): Likewise.
21768 * hello/hello.c (pupa_cmd_hello): Likewise.
21769 (PUPA_MOD_INIT): Likewise.
21770 * include/pupa/disk.h: Include <pupa/device.h>.
21771 (pupa_print_partinfo): New prototype.
21772 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
21773 (pupa_dl_get_prefix): Likewise.
21774 * include/pupa/misc.h: Include <pupa/err.h>.
21775 (pupa_isgraph): New prototype.
21776 (pupa_isdigit): Likewise.
21777 (pupa_split_cmdline): Likewise.
21778 * include/pupa/normal.h: Include <pupa/arg.h>.
21779 (pupa_command): Changed the prototype of the member `func' to
21780 match the argument parsing interface. Added member `options'.
21781 (pupa_register_command): Updated to match function.
21782 (pupa_arg_parse): New prototype.
21783 (pupa_hello_init) [PUPA_UTIL]: New prototype.
21784 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
21785 (pupa_ls_init) [PUPA_UTIL]: Likewise.
21786 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
21787 (pupa_cat_init) [PUPA_UTIL]: Likewise.
21788 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
21789 (pupa_boot_init) [PUPA_UTIL]: Likewise.
21790 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
21791 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
21792 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
21793 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
21794 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
21795 * kern/disk.c: Include <pupa/file.h>.
21796 (pupa_print_partinfo): New function.
21797 * kern/dl.c: Include <pupa/env.h>.
21798 (pupa_dl_dir): Variable removed.
21799 (pupa_dl_load): Use the environment variable `prefix' instead of
21800 the variable pupa_dl_dir.
21801 (pupa_dl_set_prefix): Function removed.
21802 (pupa_dl_get_prefix): Likewise.
21803 * kern/i386/pc/init.c: Include <pupa/env.h>.
21804 (pupa_machine_init): Use the environment variable `prefix' instead of
21805 using pupa_dl_set_prefix to set the prefix.
21806 * kern/main.c: Include <pupa/env.h>.
21807 (pupa_set_root_dev): Use the environment variable `prefix' instead of
21808 using pupa_dl_get_prefix to get the prefix.
21809 * kern/misc.c: Include <pupa/env.h>.
21810 (pupa_isdigit): New function.
21811 (pupa_isgraph): Likewise.
21812 (pupa_ftoa): Likewise.
21813 (pupa_vsprintf): Added support for printing values of the type
21814 `double'. Make it possible to format variable output when using
21815 formatting like `%1.2%f'.
21816 (pupa_split_cmdline): New function.
21817 * kern/rescue.c: Include <pupa/env.h>.
21818 (next_word): Removed function.
21819 (pupa_rescue_cmd_prefix): Likewise.
21820 (pupa_rescue_cmd_set): New function.
21821 (pupa_rescue_cmd_unset): New function.
21822 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
21823 split the command line instead of splitting it here. Added
21824 support for setting variables using the syntax `foo=bar'. Don't
21825 initialize the prefix command anymore. Initialized the set and
21826 unset commands.
21827 * normal/cmdline.c: Include <pupa/env.h>.
21828 (pupa_tab_complete): Added prototypes for print_simple_completion,
21829 print_partition_completion, add_completion, iterate_commands,
21830 iterate_dev, iterate_part and iterate_dir. Moved code to print
21831 partition information from here to kern/disk.c.
fe6b695a 21832 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 21833 * normal/main.c: Include <pupa/env.h>.
21834 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
21835 instead of using pupa_dl_get_prefix to get the prefix.
21836 * term/i386/pc/vga.c: Include <pupa/arg.h>.
21837 (check_vga_mem): Cast pointers to `void *' to silence a gcc
21838 warning.
21839 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
21840 (pupa_vga_setcolor): Declare unused variables with `__attribute__
21841 ((unused))' to silence a gcc warning.
21842 (pupa_vga_setcolor): Likewise.
21843 (debug_command): Changed to match argument parsing
21844 interface changes.
21845 * util/pupa-emu.c: Include <pupa/env.h>.
21846 (options): Added 0's for unused fields to silence a gcc warning.
21847 (argp): Likewise.
21848 (main): Use the environment variable `prefix' instead of using
21849 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
21850 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
21851 and terminal.
21852
21853 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
21854 * util/misc.c: Include <malloc.h>.
21855 (pupa_malloc): Rewritten so errors are correctly reported.
21856 (pupa_realloc): Likewise.
21857 (pupa_memalign): Likewise.
21858 (pupa_mm_init_region): Declare unused variables with
21859 `__attribute__ ((unused))' to silence a gcc warning.
21860 * normal/i386/setjmp.S: Remove tab at the end of the file to
21861 silence a gcc warning.
21862 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
21863 variables with `__attribute__ ((unused))' to silence a gcc
21864 warning.
21865 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
21866 local variable i unsigned to silence a gcc warning.
21867
21868 * kern/term.c: Include <pupa/misc.h>.
21869 (pupa_more_lines): New variable.
21870 (pupa_more): Likewise.
21871 (pupa_putcode): When the pager is active pause at the end of every
21872 screen.
21873 (pupa_set_more): New function.
21874 * include/pupa/term.h (pupa_set_more): New prototype.
21875
21876
3b1139cb 218772004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
21878
21879 Now this project is GRUB 2 rather than PUPA. The location of
21880 the CVS repository was moved to GRUB's.
f19dbdb7 21881
3b1139cb 21882 * configure.ac: Use bug-grub as the reporting address.
21883 Use GRUB instead of PUPA.
21884 Change the version number to 1.90.
21885
8367695c 218862004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
21887
21888 * genkernsyms.sh: Updated copyright information.
21889 * genmk.rb: Likewise.
21890 * genmodsrc.sh: Likewise.
21891 * gensymlist.sh: Likewise.
21892 * boot/i386/pc/boot.S: Likewise.
21893 * boot/i386/pc/diskboot.S: Likewise.
21894 * disk/i386/pc/biosdisk.c: Likewise.
21895 * disk/i386/pc/partition.c: Likewise.
21896 * font/manager.c: Likewise.
21897 * fs/ext2.c: Likewise.
21898 * fs/fat.c: Likewise.
21899 * include/pupa/boot.h: Likewise.
21900 * include/pupa/device.h: Likewise.
21901 * include/pupa/disk.h: Likewise.
21902 * include/pupa/dl.h: Likewise.
21903 * include/pupa/elf.h: Likewise.
21904 * include/pupa/err.h: Likewise.
21905 * include/pupa/file.h: Likewise.
21906 * include/pupa/font.h: Likewise.
21907 * include/pupa/fs.h: Likewise.
21908 * include/pupa/kernel.h: Likewise.
21909 * include/pupa/loader.h: Likewise.
21910 * include/pupa/misc.h: Likewise.
21911 * include/pupa/mm.h: Likewise.
21912 * include/pupa/net.h: Likewise.
21913 * include/pupa/normal.h: Likewise.
21914 * include/pupa/rescue.h: Likewise.
21915 * include/pupa/setjmp.h: Likewise.
21916 * include/pupa/symbol.h: Likewise.
21917 * include/pupa/term.h: Likewise.
21918 * include/pupa/types.h: Likewise.
21919 * include/pupa/i386/setjmp.h: Likewise.
21920 * include/pupa/i386/types.h: Likewise.
21921 * include/pupa/i386/pc/biosdisk.h: Likewise.
21922 * include/pupa/i386/pc/boot.h: Likewise.
21923 * include/pupa/i386/pc/console.h: Likewise.
21924 * include/pupa/i386/pc/init.h: Likewise.
21925 * include/pupa/i386/pc/kernel.h: Likewise.
21926 * include/pupa/i386/pc/linux.h: Likewise.
21927 * include/pupa/i386/pc/loader.h: Likewise.
21928 * include/pupa/i386/pc/memory.h: Likewise.
21929 * include/pupa/i386/pc/multiboot.h: Likewise.
21930 * include/pupa/i386/pc/partition.h: Likewise.
21931 * include/pupa/i386/pc/time.h: Likewise.
21932 * include/pupa/i386/pc/vga.h: Likewise.
21933 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
21934 * include/pupa/util/getroot.h: Likewise.
21935 * include/pupa/util/misc.h: Likewise.
21936 * include/pupa/util/resolve.h: Likewise.
21937 * kern/device.c: Likewise.
21938 * kern/disk.c: Likewise.
21939 * kern/dl.c: Likewise.
21940 * kern/err.c: Likewise.
21941 * kern/file.c: Likewise.
21942 * kern/fs.c: Likewise.
21943 * kern/loader.c: Likewise.
21944 * kern/main.c: Likewise.
21945 * kern/misc.c: Likewise.
21946 * kern/mm.c: Likewise.
21947 * kern/rescue.c: Likewise.
21948 * kern/term.c: Likewise.
21949 * kern/i386/dl.c: Likewise.
21950 * kern/i386/pc/init.c: Likewise.
21951 * kern/i386/pc/lzo1x.S: Likewise.
21952 * kern/i386/pc/startup.S: Likewise.
21953 * loader/i386/pc/chainloader.c: Likewise.
21954 * loader/i386/pc/linux.c: Likewise.
21955 * loader/i386/pc/multiboot.c: Likewise.
21956 * normal/cmdline.c: Likewise.
21957 * normal/command.c: Likewise.
21958 * normal/main.c: Likewise.
21959 * normal/menu.c: Likewise.
21960 * normal/i386/setjmp.S: Likewise.
21961 * term/i386/pc/console.c: Likewise.
21962 * term/i386/pc/vga.c: Likewise.
21963 * util/console.c: Likewise.
21964 * util/genmoddep.c: Likewise.
21965 * util/misc.c: Likewise.
21966 * util/pupa-emu.c: Likewise.
21967 * util/resolve.c: Likewise.
21968 * util/unifont2pff.rb: Likewise.
21969 * util/i386/pc/biosdisk.c: Likewise.
21970 * util/i386/pc/getroot.c: Likewise.
21971 * util/i386/pc/pupa-mkimage.c: Likewise.
21972 * util/i386/pc/pupa-setup.c: Likewise.
21973
e6eced71 219742004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
21975
21976 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
21977 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
21978 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
21979 reading and reset it after reading.
21980 (pupa_ext2_close): Return PUPA_ERR_NONE.
21981
21982 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
21983 Correct value.
21984 (struct linux_kernel_header): Add kernel_version and
21985 initrd_addr_max.
21986 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
21987 pupa_file_read succeeds.
21988 (pupa_rescue_cmd_initrd): Implement.
21989
5aded270 219902003-12-03 Marco Gerards <metgerards@student.han.nl>
21991
21992 * fs/ext2.c (pupa_ext2_label): New function.
21993 (pupa_ext2_fs): Added label.
21994 * fs/fat.c (pupa_fat_label): New function.
21995 (pupa_fat_fs): Added label.
21996 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
21997
21998 * kern/misc.c (pupa_strndup): New function.
21999 * include/pupa/misc.h (pupa_strndup): New prototype.
22000
22001 * include/pupa/normal.h: Include <pupa/err.h>.
22002 (pupa_set_history): New prototype.
22003 (pupa_iterate_commands): New prototype.
22004 * normal/cmdline.c: Include <pupa/machine/partition.h>,
22005 <pupa/disk.h>, <pupa/file.h>.
22006 (hist_size): New variable.
22007 (hist_lines): Likewise.
22008 (hist_end): Likewise.
22009 (hist_used): Likewise.
22010 (pupa_set_history): New function.
22011 (pupa_history_get): Likewise.
22012 (pupa_history_add): Likewise.
22013 (pupa_history_replace): Likewise.
22014 (pupa_tab_complete): Likewise.
22015 (pupa_cmdline_run): Added tab completion and history buffer. Tab
22016 completion shows partitionnames while completing partitions, this
22017 feature was suggested by Jeff Bailey.
22018 * normal/command.c (pupa_iterate_commands): New function.
22019 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
22020 (pupa_normal_init): Initialize history buffer.
22021 (PUPA_MOD_INIT): Likewise.
22022 (pupa_normal_fini): Free the history buffer.
22023 (PUPA_MOD_FINI): Likewise.
22024
22025 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
22026 key.
22027
22028 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
22029 * configure.ac [i386]: Check for regparam bug.
22030 (NESTED_FUNC_ATTR) [! i386]: Defined.
22031
1f7315a3 220322003-11-17 Marco Gerards <metgerards@student.han.nl>
22033
22034 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
22035 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
22036 (pupa_emu_SOURCES): New variable.
22037 (pupa_emu_LDFLAGS): Likewise.
22038 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
22039 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
22040 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
22041 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22042 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
22043 (pupa_jmp_buf): New typedef.
22044 (pupa_setjmp) [PUPA_UTIL]: New macro.
22045 (pupa_longjmp) [PUPA_UTIL]: Likewise.
22046 * include/pupa/term.h (struct pupa_term): New member `refresh'.
22047 (pupa_refresh): New prototype.
22048 * include/pupa/util/getroot.h: New file.
22049 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
22050 it.
22051 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
22052 (pupa_rescue_cmd_cat): Likewise.
22053 (pupa_rescue_cmd_ls): Likewise.
22054 (pupa_rescue_cmd_testload): Likewise.
22055 (pupa_rescue_cmd_lsmod): Likewise.
22056 * normal/cmdline.c (pupa_cmdline_get): Likewise.
22057 * normal/menu.c (run_menu): Likewise.
22058 * kern/term.c (pupa_cls): Likewise.
22059 (pupa_refresh): New function.
22060 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
22061 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
22062 * util/console.c: New file.
f19dbdb7 22063
1f7315a3 22064 * util/i386/pc/getroot.c: New file.
22065 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
22066 (pupa_putchar): New function.
22067 (pupa_refresh): Likewise.
22068 (xgetcwd): Function moved to ...
22069 (strip_extra_slashes): Likewise.
22070 (get_prefix): Likewise.
f19dbdb7 22071 * util/i386/pc/getroot.c: ... here.
1f7315a3 22072 (find_root_device): Function moved and renamed to...
22073 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
22074 Changed all callers.
22075 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
22076 and renamed to...
22077 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
22078 Changed all callers.
22079 * util/misc.c (pupa_memalign): New function.
22080 (pupa_mm_init_region): Likewise.
22081 (pupa_register_exported_symbols): Likewise.
22082 (pupa_putchar): Function removed.
22083 * util/pupa-emu.c: New file.
22084
9a5c1ade 220852003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
22086
22087 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
22088 (_multiboot_mod_SOURCES): New variable.
22089 (_multiboot_mod_CFLAGS): Likewise.
22090 * loader/i386/pc/multiboot.c: New file.
22091 * include/pupa/i386/pc/multiboot.h: Likewise.
22092 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
22093 (pupa_multiboot_real_boot): New function.
22094 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
22095 (pupa_multiboot_real_boot): New prototype.
22096 (pupa_rescue_cmd_multiboot): Likewise
22097 (pupa_rescue_cmd_module): Likewise.
22098
22099 * kern/loader.c (pupa_loader_set): Continue when
22100 pupa_loader_unload_func() fails.
22101 (pupa_loader_unset): New function.
22102 * include/pupa/loader.h (pupa_loader_unset): New prototype.
22103
22104 * kern/misc.c (pupa_stpcpy): New function.
22105 * include/pupa/misc.h (pupa_stpcpy): New prototype.
22106
8e72a9c0 221072003-11-12 Marco Gerards <metgerards@student.han.nl>
22108
22109 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
22110 for available extensions.
22111
22112 * include/pupa/i386/pc/time.h: New file.
22113 * kern/disk.c: Include <pupa/machine/time.h>.
22114 (PUPA_CACHE_TIMEOUT): New macro.
22115 (pupa_last_time): New variable.
22116 (pupa_disk_open): Flush the cache when there was a timeout.
22117 (pupa_disk_close): Reset the timer.
22118 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
22119 pupa_currticks.
22120 * util/misc.c: Include <sys/times.h>
22121 (pupa_get_rtc): New function.
22122
c4adbd32 221232003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
22124
22125 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
22126 as blocks.
22127 (pupa_ext2_get_file_block): Use blocks member.
22128
22129 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
22130 first block. Return -1 instead of pupa_errno on error.
22131
bfd30f06 221322003-10-27 Marco Gerards <metgerards@student.han.nl>
22133
22134 * README: In the pupa-mkimage example use _chain instead of chain
22135 and ext2 instead of fat.
22136 * TODO: Replace ext2fs with jfs as an example. Add an item for
22137 adding journal playback for ext2fs.
22138 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
22139 (pkgdata_MODULES): Added ext2.mod.
22140 (ext2_mod_SOURCES): New variable.
22141 (ext2_mod_CFLAGS): Likewise.
22142 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
22143 * include/pupa/misc.h (pupa_strncpy): New prototype.
22144 (pupa_strcat): Likewise.
22145 (pupa_strncmp): Likewise.
22146 * kern/misc.c (pupa_strcat): Enable function.
22147 (pupa_strncpy): New function.
22148 (pupa_strncmp): Likewise.
22149 * fs/ext2.c: New file.
f19dbdb7 22150
bfd30f06 22151 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
22152 when the read failed before retrying.
22153 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
22154 (_FILE_OFFSET_BITS): Likewise.
22155 * configure.ac: Added AC_SYS_LARGEFILE.
22156
98d15063 221572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22158
22159 * genmk.rb (PModule#rule): Make sure to get only symbol names
22160 from the output of nm.
22161 Reported by Robert Millan <zeratul2@wanadoo.es>.
22162
18d9c7cd 221632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
22164
22165 I forgot to check in these changes for a long time. This adds
22166 incomplete support for VGA console, and this is still very
22167 buggy. Also, a lot of consideration is required for I18N,
22168 UNICODE, and VGA font issues. Therefore, assume that this is
22169 such that "better than nothing".
f19dbdb7 22170
18d9c7cd 22171 * font/manager.c: New file.
22172 * include/pupa/font.h: Likewise.
22173 * include/pupa/i386/pc/vga.h: Likewise.
22174 * term/i386/pc/vga.c: Likewise.
22175 * util/unifont2pff.rb: Likewise.
22176
22177 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
22178 (pkgdata_MODULES): Added vga.mod and font.mod.
22179 (vga_mod_SOURCES): New variables.
22180 (vga_mod_CFLAGS): Likewise.
22181 (font_mod_SOURCES): Likewise.
22182 (font_mod_CFLAGS): Likewise.
22183
22184 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
22185
22186 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 22187 (struct pupa_term): Added init and fini.
18d9c7cd 22188 Changed the argument of putchar to pupa_uint32_t.
22189
22190 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
22191 (pupa_console_real_putchar): New prototype.
22192 (pupa_console_putchar): Removed.
22193 (pupa_console_checkkey): Exported.
22194 (pupa_console_getkey): Likewise.
22195
22196 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
22197 characters.
22198
22199 * kern/term.c (pupa_term_set_current): Rewritten.
22200 (pupa_putchar): Likewise.
22201 (pupa_putcode): New function.
22202
22203 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
22204 (pupa_console_real_putchar): ... this.
22205 (pupa_vga_set_mode): New function.
22206 (pupa_vga_get_font): Likewise.
22207
22208 * normal/command.c: Include pupa/term.h.
22209 (terminal_command): New function.
22210 (pupa_command_init): Register the command "terminal".
22211
22212 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
22213 (DISP_UP): Likewise.
22214 (DISP_RIGHT): Likewise.
22215 (DISP_DOWN): Likewise.
22216 (DISP_HLINE): Likewise.
22217 (DISP_VLINE): Likewise.
22218 (DISP_UL): Likewise.
22219 (DISP_UR): Likewise.
22220 (DISP_LL): Likewise.
22221 (DISP_LR): Likewise.
22222
22223 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 22224
977329f5 222252003-02-08 NIIBE Yutaka <gniibe@m17n.org>
22226
22227 * util/resolve.c (pupa_util_resolve_dependencies): BUG
22228 FIX. Reverse the path_list.
22229
22230 * include/pupa/normal.h: Export pupa_register_command and
22231 pupa_unregister_command.
22232
22233 * hello/hello.c (pupa_cmd_hello): New module.
22234 * conf/i386-pc.rmk: Added hello.mod.
22235
1f5ab428 222362003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
22237
22238 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 22239
1f5ab428 22240 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
22241 (compress_kernel): New variable.
22242 (generate_image): Heavily modified to support compressing a
22243 large part of the core image.
22244
22245 * util/misc.c (pupa_util_read_image): Fix a file descriptor
22246 leak.
22247 (pupa_util_load_image): New function.
22248
22249 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
22250 (pupa_compressed_size): New variable.
22251 (codestart): Enable Gate A20 here.
22252 Decompress the compressed part of the core image.
22253 Rearrange the code to put functions and variables which are
22254 required for initialization in the non-compressed part.
22255 Include lzo1x.S.
22256
22257 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
22258 here.
22259
22260 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
22261
f19dbdb7 22262 * include/pupa/i386/pc/kernel.h
1f5ab428 22263 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
22264 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
22265 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22266 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22267 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
22268
22269 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
22270
22271 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
22272 (Utility#rule): Likewise.
22273
22274 * configure.ac: Check if LZO is available.
22275
ce5bf700 222762003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
22277
22278 * include/pupa/normal.h: New file.
22279 * include/pupa/setjmp.h: Likewise.
22280 * include/pupa/i386/setjmp.h: Likewise.
22281 * normal/cmdline.c: Likewise.
22282 * normal/command.c: Likewise.
22283 * normal/main.c: Likewise.
22284 * normal/menu.c: Likewise.
22285 * normal/i386/setjmp.S: Likewise.
f19dbdb7 22286
ce5bf700 22287 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
22288 (pupa_rescue_cmd_initrd): Likewise.
22289
22290 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
22291 Likewise.
22292
22293 * kern/i386/pc/startup.S (translation_table): New variable.
22294 (translate_keycode): New function.
22295 (pupa_console_getkey): Call translate_keycode.
22296
22297 * kern/rescue.c (attempt_normal_mode): New function.
22298 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
22299 it failed, print a message.
22300
22301 * kern/mm.c (pupa_real_malloc): Print more information when a
22302 free magic is broken.
22303 (pupa_free): If the first free header is not free actually, set
22304 it to P.
22305
22306 * kern/main.c (pupa_load_normal_mode): Just load the module
22307 "normal".
22308 (pupa_main): Don't print the message
22309 "Entering into rescue mode..." here.
22310
22311 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
22312 Declared.
22313 (pupa_rescue_cmd_initrd): Likewise.
22314 (pupa_rescue_cmd_initrd): Likewise.
22315
22316 * include/pupa/symbol.h (FUNCTION): Specify the type.
22317 (VARIABLE): Likewise.
22318
22319 * include/pupa/err.h (pupa_err_t): Added
22320 PUPA_ERR_UNKNOWN_COMMAND.
22321
22322 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
22323 (pupa_dl_get_prefix): Likewise.
22324
22325 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
22326 Added _chain.mod and _linux.mod instead of chain.mod and
22327 linux.mod.
22328 (chain_mod_SOURCES): Renamed to ...
22329 (_chain_mod_SOURCES): ... this.
22330 (chain_mod_CFLAGS): Renamed to ...
22331 (_chain_mod_CFLAGS): ... this.
22332 (linux_mod_SOURCES): Renamed to ...
22333 (_linux_mod_SOURCES): ... this.
22334 (linux_mod_CFLAGS): Renamed to ...
22335 (_linux_mod_CFLAGS): ... this.
22336 (normal_mod_SOURCES): New variable.
22337 (normal_mod_CFLAGS): Likewise.
22338 (normal_mod_ASFLAGS): Likewise.
22339
223402003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
22341
22342 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
22343 possible.
22344
fe6b695a 22345 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 22346 recursively.
22347 (pupa_dl_unref): Unrefer depending modules recursively.
22348 Don't call pupa_dl_unload implicitly, because PUPA can crash if
22349 a module is unloaded before one depending on that module is
22350 unloaded.
22351 (pupa_dl_unload): Unload depending modules explicitly,
22352 if possible.
22353
c04da074 223542003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
22355
22356 * include/pupa/i386/pc/linux.h: New file.
22357 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 22358
c04da074 22359 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
22360 Removed.
22361 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
22362 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
22363 of PUPA_CHAINLOADER_BOOT_SECTOR.
22364
22365 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
22366 (pupa_linux_prot_size): New variable.
22367 (pupa_linux_tmp_addr): Likewise.
22368 (pupa_linux_real_addr): Likewise.
22369 (pupa_linux_boot_zimage): New function.
22370 (pupa_linux_boot_bzimage): Likewise.
22371
22372 * kern/i386/pc/init.c (struct mem_region): New structure.
22373 (MAX_REGIONS): New macro.
22374 (mem_regions): New variable.
22375 (num_regions): Likewise.
22376 (pupa_os_area_addr): Likewise.
22377 (pupa_os_area_size): Likewise.
22378 (pupa_lower_mem): Likewise.
22379 (pupa_upper_mem): Likewise.
22380 (add_mem_region): New function.
22381 (compact_mem_regions): Likewise.
22382 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
22383 the size of the conventional memory and that of so-called upper
22384 memory (before the first memory hole).
22385 Instead of adding each found region to free memory, use
22386 add_mem_region and add them after removing overlaps.
22387 Also, add only 1/4 of the upper memory to free memory. The rest
22388 is used for loading OS images. Maybe this is ad hoc, but this
22389 makes it much easier to relocate OS images when booting.
22390
22391 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
22392 (pupa_enter_rescue_mode): Don't register initrd and module.
22393
22394 * kern/mm.c: Include pupa/dl.h.
22395
22396 * kern/main.c: Include pupa/file.h and pupa/device.h.
22397
22398 * kern/loader.c (pupa_loader_load_module_func): Removed.
22399 (pupa_loader_load_module): Likewise.
22400
22401 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
22402 ``.o''.
22403
22404 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
22405 (pupa_linux_tmp_addr): Likewise.
22406 (pupa_linux_real_addr): Likewise.
22407 (pupa_linux_boot_zimage): Likewise.
22408 (pupa_linux_boot_bzimage): Likewise.
22409
22410 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
22411 (pupa_upper_mem): Likewise.
22412 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
22413 module is too dangerous.
22414
22415 * include/pupa/loader.h (pupa_os_area_addr): Declared.
22416 (pupa_os_area_size): Likewise.
22417 (pupa_loader_set): Remove the first argument. Loader doesn't
22418 manage modules or initrd any longer.
22419 (pupa_loader_load_module): Removed.
22420
22421 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
22422 (linux_mod_SOURCES): New variable.
22423 (linux_mod_CFLAGS): Likewise.
22424
a13f9237 224252003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
22426
22427 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
22428 the length of a blocklist correctly.
22429
22430 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
22431 Use ioctl only if the OS file is a block device.
22432 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
22433 not very useful for normal files.
22434
22435 * kern/main.c (pupa_set_root_dev): New function.
22436 (pupa_load_normal_mode): Likewise.
22437 (pupa_main): Call those above.
22438
22439 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
22440 pupa_uint16_t.
22441
22442 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
22443
a5ffe966 224442003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22445
22446 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
22447 (setup): Configure the installed partition information and the
22448 dl prefix.
22449
22450 * loader/i386/pc/chainloader.c (my_mod): New variable.
22451 (pupa_chainloader_unload): New function.
22452 (pupa_rescue_cmd_chainloader): Refer itself.
22453 (PUPA_MOD_INIT): Save its own module in MY_MOD.
22454
22455 * kern/i386/pc/startup.S (install_partition): Removed.
22456 (version_string): Likewise.
22457 (config_file): Likewise.
22458 (pupa_install_dos_part): New variable.
22459 (pupa_install_bsd_part): Likewise.
22460 (pupa_prefix): Likewise.
22461 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
22462
22463 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
22464 and pupa/misc.h.
22465 (make_install_device): New function.
22466 (pupa_machine_init): Set the dl prefix.
22467
22468 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
22469 (buf): Renamed to ...
22470 (linebuf): ... this.
22471 (pupa_rescue_cmd_prefix): New function.
22472 (pupa_rescue_cmd_insmod): Likewise.
22473 (pupa_rescue_cmd_rmmod): Likewise.
22474 (pupa_rescue_cmd_lsmod): Likewise.
22475 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
22476 rmmod and lsmod.
22477
22478 * kern/mm.c (pupa_memalign): If failed even after invalidating
22479 disk caches, unload unneeded modules and retry.
22480
22481 * kern/misc.c (pupa_memmove): New function.
22482 (pupa_memcpy): Removed.
22483 (pupa_strcpy): New function.
22484 (pupa_itoa): Made static.
22485
22486 * kern/dl.c (pupa_dl_iterate): New function.
22487 (pupa_dl_ref): Likewise.
22488 (pupa_dl_unref): Likewise.
22489 (pupa_dl_unload): Return if succeeded or not.
22490 (pupa_dl_unload_unneeded): New function.
22491 (pupa_dl_unload_all): Likewise.
22492 (pupa_dl_init): Renamed to ...
22493 (pupa_dl_set_prefix): ... this.
22494 (pupa_dl_get_prefix): New function.
22495
22496 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
22497 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
22498 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
22499 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
22500 (pupa_install_dos_part): Declared.
22501 (pupa_install_bsd_part): Likewise.
22502 (pupa_prefix): Likewise.
22503 (pupa_boot_drive): Likewise.
22504
22505 * include/pupa/types.h: Fix a typo.
22506
22507 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
22508 pupa_memmove.
22509 (pupa_memmove): Declared.
22510 (pupa_strcpy): Likewise.
22511
22512 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
22513 pupa_mod_init takes one argument, its own module.
22514 (pupa_dl_unload_unneeded): Declared.
22515 (pupa_dl_unload_all): Likewise.
22516 (pupa_dl_ref): Likewise.
22517 (pupa_dl_unref): Likewise.
22518 (pupa_dl_iterate): Likewise.
22519 (pupa_dl_init): Renamed to ...
22520 (pupa_dl_set_prefix): ... this.
22521 (pupa_dl_get_prefix): Declared.
22522
22523 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 22524 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 22525 unloaded.
22526 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
22527 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
22528
22529 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
22530 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
22531
012d7999 225322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22533
22534 * util/i386/pc/pupa-setup.c (setup): Define the internal
22535 function find_first_partition_start at the top level, because GCC
22536 3.0.x cannot compile internal functions in deeper scopes
22537 correctly.
22538 (find_root_device): Use lstat instead of stat.
22539 Don't follow symbolic links.
22540 Fix the path-constructing code.
22541
22542 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
22543 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
22544 by a BLKGETSIZE ioctl first, because block devices don't fill
22545 the member st_mode of the structure stat on Linux.
22546 [__linux__] (linux_find_partition): Use a temporary buffer
22547 REAL_DEV for the working space. Copy it to DEV before returning.
22548 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
22549 buffer cache consistent.
22550 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
22551 strncmp. The previous value was merely wrong.
22552 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
22553
22554 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
22555 FAT size is 12. The previous value was merely wrong.
22556
22557 * kern/main.c (pupa_main): Don't split the starting message from
22558 newlines.
22559
22560 * kern/term.c (pupa_putchar): Put CR after LF instead of before
22561 LF, because BIOS goes crazy about character attributes in this
22562 case.
22563
1cc73a62 225642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
22565
22566 * include/i386/pc/util/biosdisk.h: New file.
22567 * util/i386/pc/biosdisk.c: Likewise.
22568 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 22569
1cc73a62 22570 * Makefile.in (INCLUDE_DISTFILES): Added
22571 include/pupa/i386/pc/util/biosdisk.h.
22572 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
22573 directory util/i386/pc.
22574 (install-local): Added a rule for sbin_UTILITIES.
22575 (uninstall): Likewise.
22576
22577 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
22578
22579 * util/misc.c (xrealloc): New function.
22580 (pupa_malloc): Likewise.
22581 (pupa_free): Likewise.
22582 (pupa_realloc): Likewise.
22583 (pupa_stop): Likewise.
22584 (pupa_putchar): Likewise.
22585
22586 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
22587
22588 * include/pupa/util/misc.h (xrealloc): Declared.
22589
22590 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
22591 macro.
22592 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
22593 (PUPA_BOOT_MACHINE_BPB_END): ... this.
22594
22595 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
22596 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22597
22598 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
22599 way should be implemented.
22600 [PUPA_UTIL] (pupa_fat_fini): Likewise.
22601
22602 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
22603 the size of NAME for safety.
22604 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
22605 0x88.
22606
22607 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
22608 (pupa_setup_SOURCES): Likewise.
22609
22610 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
22611
08b70fe8 226122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22613
22614 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
22615 bunch of pushl's from pusha, because this destroys the return
22616 value.
22617
62ddcc8f 226182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
22619
22620 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
22621 This means that any missing prototypes could be fatal. Also, you
22622 must take care when writing assembly code. See the comments at
22623 the beginning of startup.S, for more details.
f19dbdb7 22624
62ddcc8f 22625 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
22626 compilation mechanism.
22627 (pupa_chainloader_real_boot): Likewise.
22628 (pupa_biosdisk_rw_int13_extensions): Likewise.
22629 (pupa_biosdisk_rw_standard): Likewise.
22630 (pupa_biosdisk_check_int13_extensions): Likewise.
22631 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
22632 (pupa_biosdisk_get_diskinfo_standard): Likewise.
22633 (pupa_get_memsize): Likewise.
22634 (pupa_get_mmap_entry): Likewise.
22635 (pupa_console_putchar): Likewise.
22636 (pupa_console_setcursor): Likewise.
22637 (pupa_getrtsecs): Use pushl instead of push.
22638
22639 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
22640 memory instead of the stack for a mmap entry, because some
22641 BIOSes may ignore the maximum size and overflow.
22642
22643 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
22644
22645 * genmk.rb (PModule#rule): Compile automatically generated
22646 sources with module-specific CFLAGS as well as other sources.
22647
9962ed99 226482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22649
22650 * configure.ac: Check ld.
22651 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
22652 respectively, before checking endianness and sizes.
22653
22654 * Makefile.in (LD): New variable.
f19dbdb7 22655
abdfc3c5 226562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22657
22658 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
22659
6a161fa9 226602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
22661
22662 * Changelog: New file.
22663